AgentPool 编排中心
用一份 YAML 编排异构智能体,并统一接入 ACP、AG-UI 等协议。
按维度查看评分与理由
证据显示:项目提供ACP服务器,支持工具确认(README提到'bidirectional communication with tool confirmations'),但未详细说明权限模型或最小权限原则。依赖众多,但未提供安全审计或漏洞扫描证据。外部效果包括启动服务器、执行命令等,但未明确限制。回滚机制未提及。来源归属:作者信息明确,但发布者未经验证。扣分原因:缺乏具体的安全机制描述,权限控制不透明,回滚缺失。
证据显示:README和pyproject.toml描述一致,版本号明确,但未提供测试结果或CI状态。依赖众多且部分为自维护包,但未提供可用性保证。失败消息未在文档中说明。扣分原因:依赖可用性未验证,失败处理文档不足。
证据显示:面向开发者,提供多种使用场景(CLI、服务器、编程接口),支持多种代理类型和协议。能力边界通过YAML配置定义,但未明确限制。触发机制(triggers)有提及但细节不足。环境适配:支持多平台(Linux、macOS、Windows),但Python版本要求较高(>=3.13)。扣分原因:触发精度和边界描述不充分。
证据显示:README结构清晰,提供快速开始、配置示例、功能列表。安装说明简单(uv tool install)。命名稳定(agentpool)。示例丰富,但缺少FAQ。已知限制未明确列出。许可证为MIT,版本号明确,但无变更日志。维护责任:作者明确,但未说明维护政策。扣分原因:缺少FAQ、已知限制和变更日志。
证据显示:输出可用性高,提供多种输出格式(结构化输出、流式)。边际价值:解决多代理协调问题,提供统一接口。成本效益:依赖众多,安装复杂,但功能强大。扣分原因:成本效益未量化,依赖过多可能增加维护成本。
证据显示:README中的声明(如支持多种协议)与pyproject.toml中的依赖和入口点部分对应,但未提供独立验证。跨来源佐证:文档链接存在,但未提供测试结果或第三方评价。事实与推断分离:README区分了功能描述和示例,但未明确标注推断。扣分原因:缺乏独立验证和测试证据。
- 发布者身份未经验证,使用前应自行评估风险。
- 依赖众多且部分为自维护包,可能存在供应链风险。
- 未提供安全审计或漏洞扫描证据,权限控制细节不透明。
- 缺少回滚机制,配置变更可能难以恢复。
- Python版本要求较高(>=3.13),可能限制部署环境。
这个 Agent 能做什么,适合哪些场景?
AgentPool 是一个以 YAML 为中心的智能体编排项目,可配置原生 PydanticAI 智能体、Claude Code、Codex、ACP 智能体和 AG-UI 智能体。它通过统一接口提供委派、消息路由和共享上下文,并支持并行团队与顺序链式工作流。项目可作为 Python 库使用,也提供命令行运行、ACP、OpenCode、MCP、AG-UI 和 OpenAI API 服务器入口。原生智能体可运行提示、流式输出和多模态调用,配置还覆盖模型、工具、MCP 服务器、知识路径、连接、触发器和存储。它适合需要把多种已有智能体和客户端接入同一控制面的开发团队,而不是只需要单一聊天模型的场景。
先在 agents.yml 的 agents 中声明智能体类型及模型、工具和连接,例如 type: native、claude_code、codex、acp 或 agui。随后通过 agentpool run assistant "Hello!" 执行指定智能体,或以 agentpool serve-acp、serve-opencode、serve-mcp、serve-agui、serve-api 暴露配置中的智能体。Python 中可用 async with AgentPool("agents.yml") as pool 加载配置,再以 pool.get_agent("assistant") 获取智能体并调用 await agent.run(...) 或 agent.run_stream(...)。团队可用 & 并行运行,链路可用 | 顺序传递任务;原生协调者配置 subagent 工具后可委派给池中其他智能体。
- 使用 Zed、Toad 或其他 ACP 客户端的开发者,希望把统一配置的智能体作为带工具确认和会话管理的 ACP 服务使用。
- 同时使用 Claude Code、Codex 和 Goose 的工程团队,希望由一个原生 coordinator 将任务委派给不同执行器。
- 使用 OpenCode TUI/Desktop 的开发者,需要通过 serve-opencode 控制 AgentPool 智能体,并处理本地或 fsspec 远程文件系统。
- 构建自定义 AG-UI 前端的团队,需要将一个通过 URL 访问的 AG-UI 智能体与其他已配置智能体放入同一池中。
- 需要将现有调用方接到 OpenAI 兼容接口的团队,可用 serve-api 将池中的能力作为替代 API 入口。
这个 Agent 有哪些优点和局限?
- 用一份 YAML 可同时描述原生 PydanticAI、Claude Code、Codex、ACP 与 AG-UI 类型,减少多套集成配置。
- 同时提供 ACP、OpenCode、MCP、AG-UI 和 OpenAI API 服务入口,覆盖 IDE、TUI、前端和 API 调用边界。
- 团队并行模式、顺序链路与 subagent 委派均有明确配置或 API 形式。
- 支持流式运行、多模态输入、结构化输出、触发器及本地和远程文件抽象等附加能力。
- 示例未说明 Python 版本、供应商凭据配置、认证流程或各服务端口等部署细节。
- 外部智能体和模型依赖各自的运行环境、可用性及协议兼容性;材料未给出故障处理或降级行为。
- YAML 可配置范围较广,涉及模型、工具、连接、知识和存储,首次接入需要设计并维护配置。
- OpenCode 的远程文件系统依赖 fsspec,但材料未说明支持的后端、权限模型或隔离方式。
如何安装或部署这个 Agent?
安装示例为:
uv tool install agentpool创建 agents.yml:
agents:
assistant:
type: native
model: openai:gpt-4o
system_prompt: "You are a helpful assistant."所给材料未说明 Python 版本、供应商凭据的具体配置方式或环境变量名称。该示例使用 OpenAI 模型,因此运行前还需按所用模型供应商的要求准备访问凭据。
如何使用这个 Agent?
完成 agents.yml 后,运行首个请求:
agentpool run assistant "Hello!"启动 ACP 服务:
agentpool serve-acp agents.ymlPython 调用示例:
from agentpool import AgentPoolasync with AgentPool("agents.yml") as pool:
agent = pool.get_agent("assistant")
result = await agent.run("Hello")也可使用 agentpool serve-opencode config.yml、agentpool serve-mcp config.yml、agentpool watch --config agents.yml 或 agentpool history stats --group-by model。
这个 Agent 与同类方案有什么区别?
项目将自身定位为协议桥接层,而非 Claude Code、Codex、Goose 或单个 AG-UI 智能体的替代品:这些产品可被声明为池中的不同类型,并经 ACP、OpenCode 或 AG-UI 等统一接口访问。