Pydantic Collab
用 Pydantic AI 编排可验证拓扑的多智能体协作。
- Star 数
- ★ 33
- 最近更新
- 2 个月前
- License
- MIT
- 主语言
- Python
- FA 评分
- 48/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台OpenAI API · Claude API
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 低 · 几分钟可跑通
- 开始前需要
- 典型场景
- 支持运营团队要把客户邮件依次分类、判断紧急程度并起草回复时,可使用 PipelineCollab 串联 Triager 与 Responder。
- 不适合
- 需要开箱即用托管服务或独立部署的团队
- 希望不依赖 Pydantic AI 与云模型厂商的团队
- 需要生产级身份与权限管控的场景
这个 Agent 能做什么,适合哪些场景?
pydantic-collab 是一个 Python 多智能体编排库,以 Pydantic AI 为基础,让应用通过 Collab、CollabAgent 及预置协作拓扑定义团队。它提供 PipelineCollab、StarCollab 和 MeshCollab,也支持在 Collab 中显式声明 agent_calls 与 agent_handoffs。一次运行可在 AgentMemory 中共享上下文,并通过读取或读写权限控制各 Agent 对记忆的访问。应用调用 run_sync 后会得到包含 output、final_agent、execution_path 和 usage 的结果对象;执行流可打印,拓扑可显示或保存为图片。它是嵌入 Python 应用的库,文档未说明独立服务、托管部署方式或命令行运行器。
开发者创建 CollabAgent,填写 name、system_prompt,并可配置 agent_calls、agent_handoffs 和 memory;随后用 Collab 或 PipelineCollab、StarCollab、MeshCollab 组装协作图。Collab 会按定义让 Agent 通过工具调用咨询其他 Agent,或通过 handoff 将控制权移交给另一 Agent,并在运行期间传递配置允许的对话、思考内容和交接信息。应用通过 collab.run_sync("Query") 执行任务,可传入 deps;返回的 result 提供最终输出、最终 Agent、执行路径和 token 使用统计。可用 @collab.tool_plain 注册异步函数工具并限制其可用 Agent;visualize_topology 可打开图像或将拓扑写入 PNG 文件。
- 支持运营团队要把客户邮件依次分类、判断紧急程度并起草回复时,可使用 PipelineCollab 串联 Triager 与 Responder。
- 事件响应团队需要由首响应人、调查员和沟通撰稿人持续共享事故背景时,可为各 CollabAgent 配置同一个 AgentMemory。
- 产品负责人组织工程、设计和支持专家审查功能规格,并最终汇总 go/no-go 建议时,可使用 StarCollab。
- 供应商评估中安全、工程和法务审查彼此需要补充意见时,可使用 MeshCollab 让各角色相互咨询。
- 代码审查负责人需咨询安全和性能专家,再将最终结论交给摘要撰写人时,可在 Collab 中显式设置 agent_calls、agent_handoffs 和 final_agent。
如何安装或部署这个 Agent?
运行 pip install pydantic-collab。需要 Python 与 Pydantic AI;使用模型时还需要在所选模型提供方的 Pydantic AI 运行环境中完成凭据配置,但文档没有给出凭据名称或环境变量。若要生成拓扑图,运行 pip install pydantic-collab[viz] 安装可视化依赖。
如何使用这个 Agent?
创建 PipelineCollab(agents=[CollabAgent(name="Triager", system_prompt="..."), CollabAgent(name="Responder", system_prompt="...")], model="anthropic:claude-sonnet-4-5"),然后调用 result = collab.run_sync("用户输入") 并读取 result.output。也可将模型设为示例中的 openai:gpt-5.2-pro 或 openai:gpt-4o-mini。如需运行仓库示例,文档给出的命令是 uv run --env-file .env examples/01_simple_chain.py。
这个 Agent 有哪些优点和局限?
- 内置 Pipeline、Star 和 Mesh 三种拓扑,同时允许用
agent_calls与agent_handoffs精确定义自定义协作关系。 - AgentMemory 支持跨 Agent 的运行期共享上下文,并可为单个 Agent 设置
r或rw访问权限。 - 结果对象提供
execution_path、final_agent和usage,且可用print_execution_flow()查看执行流。 - 可通过
@collab.tool_plain将异步 Python 函数注册为工具,并限制工具仅向指定 Agent 开放。 - 包含拓扑验证与可选图像可视化,便于检查和展示协作结构。
- 核心实现依赖 Pydantic AI,采用该库需要接受其模型配置与运行时集成方式。
- 文档示例使用 Anthropic 和 OpenAI 模型,但未说明凭据配置、模型提供方故障处理或重试策略。
- 多 Agent 运行受
max_handoffs(默认 10)和max_agent_call_depth(默认 3)约束,复杂流程可能需要调整限制。 - 拓扑图片需要额外安装
pydantic-collab[viz]。 - 没有记录独立部署服务、托管运行环境或生产级身份与权限管理方案。
这个 Agent 与同类方案有什么区别?
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| Pydantic Collab 当前 | 48 · 缺口较多 | 代码库 / SDK免费 + 模型费 | ★ 33 | 2 个月前 | Python | OpenAI API · Claude API |
| Marvin – Python AI 开发框架 | 53 · 缺口较多 | 代码库 / SDK免费 + 模型费 | ★ 6.2k | 12 天前 | Python | OpenAI API |
| Continuous Claude | 46 · 缺口较多 | Agent 插件 / 技能免费 + 模型费 | ★ 3.9k | 9 个月前 | Python | Claude Code |
| Swarm(实验性教学框架) | 58 · 缺口较多 | 代码库 / SDK免费 + 模型费 | ★ 22k | 6 个月前 | Python | OpenAI API |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
README 展示可配置的记忆读写权限、交接上下文和执行深度/次数限制,支持一定程度的最小权限与数据流控制(least_privilege=2,data_flow_transparency=2)。框架定位为无人介入的多代理工作流,示例直接运行模型和注册工具,没有确认或审批步骤,因此 user_confirmation=1、external_effects=1;虽提到限制上下文,却未说明敏感数据保护、日志保留或密钥处理,sensitive_data_handling=1。pyproject 固定了依赖的兼容范围,CI 有只读仓库权限,但未见漏洞审计或安全更新策略,dependency_security=1;没有回滚机制说明,rollback=0。README、项目配置和许可证提供项目归属线索,但发布者未获验证且维护/发布责任不明确,source_attribution=1。
AGENTS.md 的架构说明、README 的功能介绍与测试样本中的记忆及上下文控制主题大体一致,self_consistency=2;但部分示例只说明调用形式,不能据此确认所有宣称行为。核心依赖有版本范围且提供 uv.lock 的使用指引,但锁文件内容未包含在证据中,dependency_availability=1。材料展示执行限制和少量测试错误断言,但没有足够的面向用户失败消息策略或错误恢复说明,failure_messages=1。
README 覆盖流水线、星型、网状和自定义协作等常见场景,并有工具、依赖和可视化示例,audience_and_scenarios=2;拓扑、交接与工具调用、上下文传递边界及部分限制有说明,capability_boundaries=2。触发范围主要靠用户阅读文档后自行采用,未提供清晰的适用/不适用判断或集成触发规则,trigger_precision=1。Python 版本、安装命令、可选功能和同步/异步调用有说明,environment_fit=2。
README、项目配置和贡献指南给出较清晰的模块与文档入口,information_architecture=2;提供 pip 安装、可选 viz 安装及 uv 示例命令,install_notes=2。包、模块和示例命名一致,naming_stability=2;README 有拓扑、配置和结果示例以及使用场景,但未见 FAQ,examples_and_faq=2。执行上限有所说明,但安全、兼容和已知局限没有系统列举,known_limitations=1。MIT 许可证文本完整,license=3。动态版本来源可定位到包初始化文件,但没有变更日志,versioning_changelog=1。贡献指南说明 PR 内容与审查期望,但未明确维护者或支持责任,maintenance_responsibility=1。
结果对象展示最终输出、终结代理、执行路径、用量和流程图,且有完整工作流示例,output_usability=2。将多个代理组织成可验证拓扑并控制交接和上下文是明确的附加能力,marginal_value=2;但材料没有运行成本、模型调用开销或节省成本的量化说明,cost_benefit=1。
功能声明能在 README、项目配置和相应测试主题中找到对应线索,claim_traceability=2;文档、测试样本和包配置对架构、依赖及上下文控制提供了一定交叉印证,cross_source_corroboration=2。AGENTS.md 混合架构描述、开发指引和产品能力陈述,未总是区分实现事实与文档自述,且材料不足以独立核实徽章及覆盖率声明,fact_inference_separation=1。
- 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
- 示例面向无人介入的代理协作;运行前应审查代理可用工具、共享记忆内容、交接上下文和模型服务的数据处理方式。
- 证据包未包含锁文件、完整源码或完整测试;覆盖率徽章和测试声明不能视为本次静态审查已验证。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
0.2.1 v0.2.1
发布说明摘录
Features: - Collab Can now be initialized with CollabAgents without description - README.md updated with more relevant and different examples - Added Tests for 99% Code Coverage and code coverage check in the CI.在 GitHub 查看 ↗ -
0.2.0 v0.2.0
发布说明摘录
Added: * AgentMemory Option - You can define a memory that agents can see and add to based on their permissions, which they can share with each other or just save for later runs of themselves. * You can now Initialize Agents directly through CollabAgent. Instead of doing CollabAgent(Agent('openai', sys...)) you can now do CollabAgent('openai..', name='..', system_prompt='...', agent_calls=(...))在 GitHub 查看 ↗ -
0.1.2 v0.1.2
常见问题
它支持哪些模型提供方?
anthropic:claude-sonnet-4-5、openai:gpt-5.2-pro 和 openai:gpt-4o-mini 模型配置。Agent 是协作还是完全移交任务?
agent_calls 用于咨询:调用者保持控制权;agent_handoffs 用于移交:调用者停止,由接收者继续。共享记忆能否限制访问?
memory 可使用字典形式,例如 {"notes": "rw", "config": "r"},分别表示读写与只读。如何避免协作流程无限递归?
max_handoffs 和 max_agent_call_depth;文档给出的默认值分别为 10 和 3。框架本身的费用如何?
谢谢反馈,我们会据此改进页面。