代理运行环境#
在基础层面,该框架提供了一个运行时环境,它促进了代理之间的通信,管理它们的身份和生命周期,并强制执行安全和隐私边界。
它支持两种类型的运行时环境:独立和分布式。 这两种类型都提供了一组通用的API,用于构建多代理应用程序, 因此您可以在不更改代理实现的情况下在它们之间切换。 每种类型也可以有多个实现。
独立代理运行时#
独立运行时适用于单进程应用程序,其中所有代理都在相同的编程语言中实现并在同一进程中运行。在 Python API 中,独立运行时的一个示例是 SingleThreadedAgentRuntime
。
下图展示了框架中的独立运行时。
在这里,代理通过运行时进行消息通信,而运行时管理代理的生命周期。
开发者可以通过使用提供的组件快速构建代理,包括路由代理、AI模型客户端、AI模型工具、代码执行沙盒、模型上下文存储等。他们也可以从头开始实现自己的代理,或者使用其他库。
分布式代理运行时#
分布式运行时适用于多进程应用程序,其中代理可以用不同的编程语言实现,并在不同的机器上运行。
如上图所示,一个分布式运行时包含一个主机服务和多个工作节点。主机服务促进跨工作节点的代理之间的通信,并维护连接状态。工作节点运行动态代理,并通过网关与主机服务通信。它们向主机服务通告它们所运行和管理的代理的生命周期。
代理的工作方式与独立运行时相同,因此开发者可以在两种运行时类型之间切换,而无需更改他们的代理实现。