AutoGen:多 Agent 协作
AutoGen 是微软开源的多 Agent 对话框架,允许开发者定义多个具备不同角色的 AI Agent,让它们通过消息互相协作完成编码、分析或规划等复杂任务。它把「单个提示」升级为「角色协同」,适合需要多步推理的场景。
它是什么
AutoGen 的核心是 Agent 与对话群:
- AssistantAgent:负责推理与生成内容。
- UserProxyAgent:代表用户执行代码或转发消息。
- 群聊(GroupChat):多个 Agent 轮流发言协作。
- 可挂接工具与代码执行器,形成闭环。
为什么用多 Agent
- 把大问题拆给不同角色,各司其职更可控。
- 让模型互相校验,减少单点错误。
- 配合代码执行,可自动运行并修正程序。
怎么用
声明两个 Agent 并开启对话:
from autogen import AssistantAgent, UserProxyAgent
assistant = AssistantAgent("assistant", llm_config={"model": "gpt-4o"})
user = UserProxyAgent("user", code_execution_config={"work_dir": "coding"})
user.initiate_chat(assistant, message="写一个求斐波那契数列的函数并运行。")
注意点
- 多 Agent 会增加 token 消耗,注意成本控制。
- 自动执行代码存在风险,应在隔离环境运行。
- 角色设计不当可能导致循环或无效协作,需调试。
小结
AutoGen 用多 Agent 协作把复杂任务拆解为角色对话,配合代码执行形成自动化闭环。它是构建可协作 AI 系统的有力框架,使用时重视成本与安全。
参考与延伸阅读
- AutoGen 官方文档站。已核验。https://microsoft.github.io/autogen/
- AutoGen GitHub 仓库。已核验。https://github.com/microsoft/autogen
本文累计阅读 — 次