用 AutoGen 跑通一个多 Agent 协作项目:30 分钟从安装到落地

AutoGen 之所以在 2024 到 2026 年间成为多 Agent 框架的事实标杆,关键不在 API 设计多精妙,而在于它把"多 Agent 协作"的样板代码从论文级压到了脚本级。实测 microsoft/autogen 仓库在本 session 拿到 59,743 颗星、累计推进日期 2026-04-15(CC-BY-4.0 许可)——但就在同一个时间窗,该项目已进入 maintenance mode,主线维护已迁向 Microsoft Agent Framework(12,131 颗星,推进日期 2026-07-15)。要在 30 分钟内跑通一个多 Agent 项目,必须先理解这条迁移路径,再选对入口。

一、为什么这条路径现在必须先讲清楚

AutoGen 在 2024-09 发布 v0.4 重写版后,核心团队在 2025 年宣布 v0.4+ 仓库迁移至 AG2(全称 AgentOS),原 microsoft/autogen 仓库进入 maintenance mode、仅做 bug fix 与安全更新。新工程应在 AG2(ag2ai/ag2 仓库,4,773 颗星,推进日期 2026-07-14,Apache-2.0)或 Microsoft Agent Framework 之间二选一。

这条信息容易被中文教程遗漏:README 写的是入门路径,但顶层维护状态决定了你半年后是否需要重写。本教程覆盖两套入口,你可以按团队约束任选其一。

二、30 分钟最小闭环(以 AG2 路径为例)

mermaid diagram

步骤 1:环境与安装(约 5 分钟)


python3 -m venv .venv && source .venv/bin/activate
pip install -U "autogen-agentchat" "autogen-ext[openai]"
# 或 AG2 路径
# pip install -U ag2[openai]

步骤 2:导出 API Key(以 OpenAI 为例,Anthropic / Ollama / Azure 走对应 autogen-ext 子包)


export OPENAI_API_KEY="sk-..."

步骤 3:写一个两 Agent 协作的脚本(约 10 分钟)


import asyncio
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

async def main() -> None:
    model_client = OpenAIChatCompletionClient(model="gpt-4.1")
    coder = AssistantAgent("coder", model_client=model_client,
        system_message="You write Python. Reply 'TERMINATE' when done.")
    reviewer = AssistantAgent("reviewer", model_client=model_client,
        system_message="You review code for security/performance. Reply 'TERMINATE' when done.")
    team = RoundRobinGroupChat(
        participants=[coder, reviewer],
        termination_condition=TextMentionTermination("TERMINATE"),
    )
    result = await team.run(task="Write a thread-safe LRU cache in 50 lines.")
    print(result)
    await model_client.close()

asyncio.run(main())

mermaid diagram

步骤 4:替换为更高级的协作模式(约 10 分钟)

RoundRobinGroupChat 换成 SelectorGroupChat,由 LLM 自身根据上下文决定下一发言者;再把 termination 改成 MaxMessageTermination(10) 或自定义 token 计数终止。这是从"会跑"到"能落地"的关键拐点

三、关键点

  • 选择入口比写代码重要。AutoGen v0.2 老 API 已标 deprecated;新代码直接走 autogen-agentchat(微软维护)或 ag2(社区维护,fork 节奏更快)。
  • GroupChat 选型三件套:RoundRobin(最稳,适合入门与原型)/ SelectorGroupChat(LLM 动态选,质量高但慢)/ Swarm(去中心化,适合并行子任务)。生产优先 Selector + cost ceiling。
  • 多 Agent 不是越多越好。两个 Agent 协作在"写 + 审"场景下通常优于 5 个 Agent 堆叠——边际 token 成本与决策噪声同时上升。
  • Terminate 必须显式。不写 termination_condition 会让对话无限循环,token 预算 5 分钟内烧光;推荐 TextMentionTermination + MaxMessageTermination 组合兜底。
  • 可观测是生产门槛。RoundRobinGroupChat.run_stream() 返回 BaseAgentEvent / BaseChatMessage,接 OpenTelemetry 比打印 stdout 实用 100 倍——下一篇教程会展开。

四、行业影响

多 Agent 协作从 2024 年的"论文概念"走到 2026 年的"工程选项",背后是 LLM 上下文窗口扩张与工具调用稳定性提升的复合结果。但 AG2 / Microsoft Agent Framework / CrewAI / LangGraph 多线并立也意味着框架锁定风险高——一个 Agent 接口半年后可能换名或废弃。生产选型应优先看 GitHub 活跃度与公司背书,而非 feature 数量。

据 HN id=46377537 讨论帖 58 颗星,Microsoft Agent Framework 在 2025-10 发布后被广泛视为 AutoGen 的"企业级接班人"——同公司同团队主推的迁移路径,意味着未来 12 个月内 learn.microsoft.com 上的迁移指南会持续更新,旧 AutoGen 项目的迁移成本相对可控。

五、结语

30 分钟跑通的,本质是一段对话循环;真正难的是上线后如何在真实业务里约束 Agent 的工具调用、控制 token 成本、保留审计日志。下一篇教程会展开 AG2 + OpenTelemetry + Prometheus 的可观测链路,把多 Agent 协作从 demo 推到生产。


参考资料:

官方文档

开源项目

行业报道

社区讨论

对比基准


本文由 AI 生成。内容基于公开资料整理,可能存在事实偏差,引用链接请以原始来源为准。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注