主要内容
AutoGen 的哲学很简单:多个有不同能力和人格的 agent 围绕一个任务互相对话,协作产出结果。AgentChat 层覆盖了完整生命周期:agent loop、工具集成、终止条件、HITL。GroupChat 支持 round-robin、selector、magentic 等不同发言策略。Code execution 是一等公民:你可以让 agent 写代码、在 Docker / Jupyter 里真跑一下、把输出带回对话。研究圈非常喜欢它,微软 Magentic-One、GAIA benchmark 的很多 SOTA 方案都基于 AutoGen。
核心关注点
让多个 agent 像研究团队一样自由对话。它关心"怎么把会议开好",而不是"怎么把流程固化成图"。
安装与 hello world
from autogen_agentchat.agents import AssistantAgent
from autogen_agentchat.teams import RoundRobinGroupChat
from autogen_agentchat.conditions import TextMentionTermination
from autogen_ext.models.openai import OpenAIChatCompletionClient
client = OpenAIChatCompletionClient(model="gpt-4o")
writer = AssistantAgent(
name="writer",
model_client=client,
system_message="你是一个技术作者,写出有来源支撑的 claim。",
)
critic = AssistantAgent(
name="critic",
model_client=client,
system_message="你审查 writer 的 claim。满意时回复 APPROVE。",
)
team = RoundRobinGroupChat(
[writer, critic],
termination_condition=TextMentionTermination("APPROVE"),
)
await team.run(task="写一段关于 harness engineering 的 200 字介绍")关键 API / 概念
AssistantAgent主力 agent 类,绑定 model_client、system_message、tools。
RoundRobinGroupChat / SelectorGroupChat两种团队发言策略:轮流 vs 由 LLM 选择下一个发言者。
UserProxyAgentHITL 节点,让人工介入对话;可以批准、拒绝、修改。
CodeExecutor支持 DockerCommandLineCodeExecutor、LocalCommandLineCodeExecutor 等。
适用场景
研究原型 · 论文复现
agent 辩论、多视角评审(writer-reviewer-critic)、新 prompting 技术的快速验证。
自动化代码生成闭环
coder agent 写代码 → executor 跑 → critic 读报错 → 循环直到通过。
多学科问答 / 决策支持
医学 + 法律 + 财务 agent 协作回答跨领域问题,适合 case study 型任务。
什么时候别用
- 严苛 SLA 的生产服务:对话范式本质不确定,难保证 P99
- 需要精确分支控制:图结构框架更合适
vs 相邻选项
vs LangGraph
AutoGen 对话驱动,LangGraph 图驱动。前者适合"探索",后者适合"执行"。
vs CrewAI
两个都用"团队"比喻,但 AutoGen 更技术化 / 学术化,CrewAI 更产品化。