The architecture of Joule Agents is designed to create a seamless interaction between users, applications, and various agents. At its core, Joule serves as the central hub, facilitating communication and functionality across different components. Users interact directly with Joule, which then connects to Joule Functions/Connectivity, enabling the exchange of information and capabilities.
Joule integrates with two types of agents: content-based agents and code-based agents. Content-based agents primarily handle data from applications, using the agent runtime to efficiently process and manage tasks. These agents interact with Joule to ensure that user requests are fulfilled, and that necessary content is delivered.
On the other hand, we will soon have code-based agents, which will be supported by frameworks like Autogen and Langagraph. These agents will focus on specific functions within LoB applications. In coming updates, an Agent SDK will provide the necessary support for these agents, facilitating their development, integration, and specialized operations within the broader system.
The architecture also includes Agent services that ensure the robustness and reliability of the Joule system. These services encompass testing and benchmarking to assess performance, guardrails, and policies to maintain security and compliance, as well as metering and explainability to provide insights into agent activity and performance. Additionally, monitoring and lifecycle management services ensure ongoing oversight and maintenance of the system, allowing for adjustments and improvements as needed.
Key features of the architecture include:
- Managed Agent Runtime: Providing a standardized environment for AI agents.
- Bi-directional Connectivity: Ensuring seamless user experience and interaction between Joule and Agent Runtime.
- Joule Functions as a Tools Library: Offering a growing collection of business functions for agents.
- Shared Agent Services: Addressing common operational requirements for both managed and custom AI agents.
Overall, this architecture provides a comprehensive framework that supports efficient user interaction, application integration, and the effective deployment of agents, ensuring a cohesive and streamlined operational experience.