
AutoGen 多智能体框架指南3 步跑通 AgentChat搞懂多智能体协作【免费下载链接】autogenA programming framework for agentic AI项目地址: https://gitcode.com/GitHub_Trending/au/autogen如果你需要让 AI 不只是聊聊天而是能查网页、跑代码、互相讨论后给出答案微软开源的AutoGenA programming framework for agentic AI就是目前最完整的多智能体编排框架之一它把多个 AI 智能体如何分工、传消息、终止任务这件事做成了现成的组件你只需要定义每个智能体的角色和工具。下面用最短路径讲清楚它是什么、怎么跑起来、内部如何协作以及什么情况下值得用。什么场景下你会用到 AutoGen先不聊架构看三个真实场景对号入座写代码 审查的结对模式一个智能体Coder负责写代码另一个Reviewer负责挑错并给出修改意见两者轮替聊天直到任务完成。这是 AutoGen 文档里的经典示例见 python/docs/src/user-guide/。需要联网的助手给AssistantAgent接上一个 MCP 服务器比如 Playwright 浏览器工具它就能自己打开网页、抓取内容再回答官方 README 里就有一个数仓库贡献者人数的例子。把整个团队拖进网页里看效果不想写代码时可以用同仓库的 AutoGen Studiopip install autogenstudio在浏览器里组装和运行多智能体流程适合快速验证想法。如果你的需求只是单轮问答 调几个 API 工具一个带工具的 LLM 调用就够了不需要多智能体。多智能体的价值在于任务需要多步、多角色、有中间产物代码、草稿、检索结果并且可以反复迭代。整体图景三层包各管一摊AutoGen 的 Python 部分由三个包叠成从下到上职责清晰源码在 python/packages/autogen-corepython/packages/autogen-core/是地基定义智能体如何发消息、订阅话题并提供本地和跨进程的 gRPC 分布式运行时还支持 .NET 与 Python 互通仓库里的 dotnet/ 和 protos/ 就是 .NET 一侧。autogen-agentchatpython/packages/autogen-agentchat/是大多数人用的入口AssistantAgent等现成智能体加上各种团队team编排模式两三个对象就能跑起一次多智能体协作。autogen-extpython/packages/autogen-ext/是扩展库模型客户端autogen-ext[openai]、代码执行器、MCP 工具、记忆等都在这。一句话记忆core 管消息和进程agentchat 管角色和流程ext 管外部世界。日常开发你主要接触中间和上面两层。最快跑通步骤安装 15 行代码环境要求 Python 3.10 以上。如果本地没有仓库可用git clone https://gitcode.com/GitHub_Trending/au/autogen pip install -U autogen-agentchat autogen-ext[openai] export OPENAI_API_KEYsk-...下面这段是最小的单智能体示例创建一个基于 GPT 的助手发一句任务打印回复与 README.md 中的 Hello World 一致import asyncio from autogen_agentchat.agents import AssistantAgent from autogen_ext.models.openai import OpenAIChatCompletionClient async def main(): model_client OpenAIChatCompletionClient(modelgpt-4.1) agent AssistantAgent(assistant, model_clientmodel_client) print(await agent.run(taskSay Hello World!)) await model_client.close() asyncio.run(main())跑通它你就有了 AutoGen 的心跳一个智能体 模型客户端 系统提示 工具run(task...)负责跑完一整轮并返回最终消息。拆开来合作Agent、工具、Team 之间怎么分工单智能体是砖块AutoGen 的核心玩法是把砖块砌成墙。三个关键构件的关系是这样的1. 智能体Agent—— 干活的个体。位于 python/packages/autogen-agentchat/src/autogen_agentchat/agents/常用两个AssistantAgent模型驱动能根据system_message扮演专家角色可挂工具包括其他智能体。UserProxyAgent代表人类负责向用户要输入、或运行智能体产出的代码配合code_executor。2. 工具Tool—— 智能体的手脚。普通函数可以注册成工具更有意思的是AgentTool它把另一个智能体包装成工具——主智能体需要时调用相当于请数学专家出马from autogen_agentchat.tools import AgentTool math_tool AgentTool(math_agent, return_value_as_last_messageTrue) agent AssistantAgent(assistant, model_clientmodel_client, tools[math_tool], max_tool_iterations10)3. 团队Team—— 编排者。位于 python/packages/autogen-agentchat/src/autogen_agentchat/teams/决定谁在什么时候说话。最直观的RoundRobinGroupChat让成员轮流发言SelectorGroupChat则让一个选择器智能体动态决定下一个由谁接话from autogen_agentchat.teams import RoundRobinGroupChat from autogen_agentchat.conditions import TextMentionTermination team RoundRobinGroupChat( [coder, reviewer], termination_conditionTextMentionTermination(APPROVED), max_message_len100_000, ) result await team.run(task用 Python 写一个计算斐波那契数列的函数并自测) print(result.messages)协作时的数据流是任务进入 team → team 按规则轮流/选择器把消息派给下一个 agent → agent 调模型或工具生成新消息 → 循环直到满足终止条件比如出现 APPROVED、达到最大轮数→ team 返回完整消息列表。result.messages里的每一步都保留着方便你复盘和调试。要不要用它和朴素做法诚实对比直接用 LLM API 函数调用朴素做法代码最少延迟最低适合一个问题、几次工具调用、结束的场景。AutoGen 在这里纯属多余。自己写 while 循环管多个 agent能跑但消息传递、状态恢复、跨进程、可观测性都得自己造轮子。AutoGen 的 core 层把这些做成了基础设施尤其是当你以后想把 agent 拆到不同进程甚至不同语言Python/.NET里跑时现成的 gRPC 运行时参见 python/samples/core_grpc_worker_runtime/能省不少事。换用更新的框架有一点必须提前说明——AutoGen 官方已进入维护模式maintenance mode不再增加新特性Microsoft 建议新项目考虑其继任者 Microsoft Agent Framework具体见 README.md 顶部提示和迁移指南。但这不妨碍你它当前稳定可用、社区活跃大量现有系统就跑在上面且它沉淀的多智能体模式round-robin、selector、swarm、human-in-the-loop是行业通用语言学会了换个框架也用得上。结论短期做原型、学习多智能体模式、或维护存量项目AutoGen 值得用全新长期项目建议先评估官方继任框架再做决定。走向生产四个真正有用的点状态持久化与恢复AssistantAgent和 team 都实现了save_state()/load_state()把返回的 state 存起来进程重启后可以接着聊不会丢上下文。可观测性core 层内置 OpenTelemetry 埋点python/packages/autogen-core/src/autogen_core/_telemetry/可以把每次模型调用、工具调用接到 Jaeger 等后端追踪出问题时能看清哪个 agent 在哪一步说了什么。代码执行要隔离CodeExecutorAgent支持 Docker 容器执行 LLM 生成的代码生产环境务必用容器而不是本地直接exec。Studio 只做原型AutoGen Studio 官方明确标注不是生产级应用认证、安全要自己做正式服务还是用框架自己写。小结与下一步AutoGen 给多智能体开发提供了一套分层清晰的积木core 管消息和运行时agentchat 管角色和编排ext 接模型和工具——两三个对象就能搭出可运行、可追踪、可恢复的智能体团队这正是它从 Microsoft Research 走到今天仍然被广泛使用的原因。下一步建议先照最快跑通步骤把单智能体跑起来然后把示例从单个AssistantAgent升级成RoundRobinGroupChat里的 Coder Reviewer 两人组观察result.messages里的完整对话过程——看完这几条消息你就真正理解多智能体协作到底在协作什么了。更多模式选择器、swarm、人机协作可以继续翻 python/docs/src/user-guide/agentchat-user-guide/。【免费下载链接】autogenA programming framework for agentic AI项目地址: https://gitcode.com/GitHub_Trending/au/autogen创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考