AgentPool 编排中心
用一份 YAML 编排异构智能体,并统一接入 ACP、AG-UI 等协议。
- Star 数
- ★ 200
- 最近更新
- 6 个月前
- License
- MIT
- 主语言
- Python
- FA 评分
- 44/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台Codex · Claude Code · OpenAI API · Claude API
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 中 · 需要几步配置
- 开始前需要
- 典型场景
- 使用 Zed、Toad 或其他 ACP 客户端的开发者,希望把统一配置的智能体作为带工具确认和会话管理的 ACP 服务使用。
- 不适合
- 只想用单一厂商代理、不愿维护 YAML 配置的用户
- 需要图形界面而非命令行与 YAML 的用户
这个 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?
安装示例为:
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 有哪些优点和局限?
- 用一份 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 与同类方案有什么区别?
项目将自身定位为协议桥接层,而非 Claude Code、Codex、Goose 或单个 AG-UI 智能体的替代品:这些产品可被声明为池中的不同类型,并经 ACP、OpenCode 或 AG-UI 等统一接口访问。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| AgentPool 编排中心 当前 | 44 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 200 | 6 个月前 | Python | Codex · Claude Code · OpenAI API · Claude API |
| MassGen 多智能体协作系统 | 51 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 1.1k | 4 个月前 | Python | Codex · Claude Code · OpenAI API · Claude API |
| Osaurus | 80 · 表现良好 | 桌面应用免费 + 模型费 | ★ 8.1k | 1 天前 | Swift | OpenAI API · Claude API |
| LycheeMemory | 52 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 1.1k | 3 个月前 | Python | Claude Code · OpenAI API |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示:项目提供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区分了功能描述和示例,但未明确标注推断。扣分原因:缺乏独立验证和测试证据。
- 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
- 发布者身份未经验证,使用前应自行评估风险。
- 依赖众多且部分为自维护包,可能存在供应链风险。
- 未提供安全审计或漏洞扫描证据,权限控制细节不透明。
- 缺少回滚机制,配置变更可能难以恢复。
- Python版本要求较高(>=3.13),可能限制部署环境。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。