# Agent 运行时环境 在基础层面,该框架提供了一个_运行时环境_,它能够: - 促进agents之间的通信 - 管理agents的身份和生命周期 - 强制执行安全和隐私边界 它支持两种类型的运行时环境:_独立式_和_分布式_。两种类型都提供了一套通用的API用于构建多agent应用,因此您可以在不改变agent实现的情况下切换类型。每种类型也可以有多个实现。 ## 独立式Agent运行时 独立式运行时适用于单进程应用场景,其中所有agents都使用相同的编程语言实现,并运行在同一个进程中。在Python API中,{py:class}`~autogen_core.SingleThreadedAgentRuntime`就是独立式运行时的一个示例。 下图展示了框架中的独立式运行时环境: ![独立式运行时](architecture-standalone.svg) 在此架构中,agents通过运行时环境进行消息通信,运行时环境负责管理agents的_生命周期_。 开发者可以通过使用提供的组件快速构建agents,这些组件包括: - _路由agent_ - AI模型_客户端_ - 用于AI模型的工具 - 代码执行沙箱 - 模型上下文存储等 开发者也可以从头开始实现自己的agents,或者使用其他库。 ## 分布式 Agent 运行时 分布式运行时适用于多进程应用场景,其中 agents 可能由不同编程语言实现并运行在不同机器上。 ![分布式运行时](../assets/architecture-distributed.svg) 如上图所示,分布式运行时由 _host servicer_ 和多个 _workers_ 组成: - host servicer 负责跨 workers 的 agents 间通信,并维护连接状态 - workers 运行 agents 并通过 _gateways_ 与 host servicer 通信 - workers 向 host servicer 注册其运行的 agents 并管理这些 agents 的生命周期 agents 的工作方式与独立运行时完全一致,开发者无需修改 agent 实现即可在两种运行时类型间切换。