AutoGen 多智能体框架实战:3 步跑通一个会分工的 Agent 团队
【免费下载链接】autogenA programming framework for agentic AI项目地址: https://gitcode.com/GitHub_Trending/au/autogen
AutoGen 是微软开源的多智能体框架:把一个大任务拆给多个 LLM 智能体分工完成,各自带工具、互相通信,必要时插入人工确认。读完本文,你能装好依赖、跑通第一个 Agent、搭起一个会自己分派任务的协作团队。
单 Agent 跑长任务,为什么会掉链子
上周帮朋友做简历筛选自动化:读 PDF、打分、写评语。用单 Agent 写循环,第三轮起它把自己第一轮给出的分数忘了,输出越跑越偏。问题不在模型,在结构:一个上下文塞不下"读文件 + 打分 + 写评语"三件事的完整状态。
多智能体框架的思路是把角色拆开:读文件的只管读,打分的只看摘要。上下文各自干净,出错也能定位到具体环节,而不是对着一个大 prompt 抓瞎。
AutoGen 是什么:比单 Agent 封装多了一层分工
AutoGen 是微软开源的多智能体框架,要求 Python 3.10+。和直接封装 OpenAI API 的差别在于:Agent 间通信、按条件选人发言、团队终止判断这些"协作基础设施"它都内置了,你只写业务提示词。对比偏"单 Agent + 工具链"的方案,AutoGen 的默认形态是多个 Agent 组团队干活。
仓库分两层:底层autogen-core提供运行时和消息机制,上层autogen-agentchat提供开箱即用的 Agent 与团队。写业务基本只用上层。
🔧 核心能力:四个值得先知道的设计
预置三种团队模式,不用手写调度循环
SelectorGroupChat由 LLM 决定下一句该谁接,RoundRobinGroupChat固定顺序轮流,Swarm靠 Agent 显式转交。覆盖绝大多数分工场景,直接实例化即可,更多玩法在 python/samples/ 里。
工具接入有标准姿势
Agent 构造参数里传tools就能挂本地函数;要接外部工具服务器,autogen-ext内置 MCP 客户端,Playwright 这类浏览器工具也能直接挂载。
🎛 Studio 提供无代码调试台
autogenstudio是随仓库发布的 GUI:浏览器里配模型、加 Agent、连团队,点 Run 就能看到每轮谁在说话。调提示词阶段用它比反复改代码快,源码在 python/packages/autogen-studio/。
人工确认是内建能力
团队运行中可以插入人工审批,不用自己写暂停逻辑,适合审核、下单这类必须人点头的环节。
🚀 上手路径:3 步跑通协作团队
- 装依赖,一条命令装好核心和 OpenAI 客户端:
pip install -U "autogen-agentchat" "autogen-ext[openai]"- 设置
OPENAI_API_KEY环境变量,然后建一个两 Agent 的选型团队:
import asyncio from autogen_agentchat.agents import AssistantAgent from autogen_agentchat.teams import SelectorGroupChat from autogen_ext.models.openai import OpenAIChatCompletionClient async def main() -> None: client = OpenAIChatCompletionClient(model="gpt-4o") planner = AssistantAgent("planner", model_client=client) reviewer = AssistantAgent("reviewer", model_client=client) team = SelectorGroupChat([planner, reviewer], model_client=client) print(await team.run(task="写一首四句短诗,再逐句点评意象")) await client.close() asyncio.run(main())- 运行后看输出:planner 先写诗,selector 判断该 reviewer 接话,任务完成后团队自动终止。想加角色,往列表里多塞一个实例即可。
想通读示例,clone 仓库https://gitcode.com/GitHub_Trending/au/autogen后翻python/samples/,里面有 FastAPI、GraphRAG、流式输出等现成样例。
🐛 经验与坑:调试先开追踪,再怀疑模型
踩坑排序第一的,是"不知道哪句是它瞎说的"。AutoGen 团队每轮消息都走 tracing,官方 notebook python/docs/src/user-guide/tracing.ipynb 能把 span 导出到 Jaeger,精确看到每次模型调用的完整输入输出。排查顺序建议:先开 Console 打印每轮发言 → 再开 tracing 看完整 prompt → 最后才动提示词。多数"模型变笨"的诡异行为,查下来都是上一条消息格式不对。
另外提醒:仓库 README 标注 AutoGen 已进入维护模式,不再新增特性。选新项目时建议同时评估其官方继任方案,但现有教程和 API 都还有效。
下一步去哪看
一句话总结:Agent 是带工具的角色,团队是带分派规则的通信环,你写提示词,它管协作。接下来三件事:
- 通读官方用户指南,重点看 agentchat-user-guide 章节,路径
python/docs/src/user-guide/ - 翻
SelectorGroupChat源码,理解 selector 怎么选人,目录python/packages/autogen-agentchat/src/autogen_agentchat/teams/ - 拿 python/samples/agentchat_fastapi/ 把团队包成 Web 服务,接到自己的产品里
【免费下载链接】autogenA programming framework for agentic AI项目地址: https://gitcode.com/GitHub_Trending/au/autogen
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考