核心框架35k+ · since 2023 · Python / .NET

AutoGen

by Microsoft

Conversational multi-agent · research first, scales up

微软的多 agent 对话框架,让多个 AI 像团队一样"开会"解决问题。

主要内容

AutoGen 的哲学很简单:多个有不同能力和人格的 agent 围绕一个任务互相对话,协作产出结果。AgentChat 层覆盖了完整生命周期:agent loop、工具集成、终止条件、HITL。GroupChat 支持 round-robin、selector、magentic 等不同发言策略。Code execution 是一等公民:你可以让 agent 写代码、在 Docker / Jupyter 里真跑一下、把输出带回对话。研究圈非常喜欢它,微软 Magentic-One、GAIA benchmark 的很多 SOTA 方案都基于 AutoGen。

核心关注点

让多个 agent 像研究团队一样自由对话。它关心"怎么把会议开好",而不是"怎么把流程固化成图"。

对话范式代码执行一等公民研究 / 学术友好AutoGen Studio GUI多角色协作

安装与 hello world

$ pip install autogen-agentchat autogen-ext[openai]
hello-world.py
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 选择下一个发言者。

UserProxyAgent

HITL 节点,让人工介入对话;可以批准、拒绝、修改。

CodeExecutor

支持 DockerCommandLineCodeExecutor、LocalCommandLineCodeExecutor 等。

适用场景

01

研究原型 · 论文复现

agent 辩论、多视角评审(writer-reviewer-critic)、新 prompting 技术的快速验证。

02

自动化代码生成闭环

coder agent 写代码 → executor 跑 → critic 读报错 → 循环直到通过。

03

多学科问答 / 决策支持

医学 + 法律 + 财务 agent 协作回答跨领域问题,适合 case study 型任务。

什么时候别用

  • 严苛 SLA 的生产服务:对话范式本质不确定,难保证 P99
  • 需要精确分支控制:图结构框架更合适

vs 相邻选项

vs LangGraph

AutoGen 对话驱动,LangGraph 图驱动。前者适合"探索",后者适合"执行"。

vs CrewAI

两个都用"团队"比喻,但 AutoGen 更技术化 / 学术化,CrewAI 更产品化。