AutoGen教程:微软出的开源多 Agent 框架——多个 AI Agent 协作完成复杂任务。
AutoGen 是微软推出的一款开源多智能体(Multi-Agent)协作框架,核心思路很简单:让多个 AI Agent 互相聊天、分工合作,一起完成一个复杂任务。你可以把它理解成一个“AI 团队调度器”——每个 Agent 有自己的角色(比如“写代码的”“查资料的”“审稿的”),它们通过对话机制协调工作,最终输出结果。
它本质上是一个 Python 库,不是独立软件,所以需要你写几行代码来定义 Agent 的角色和任务流程。支持接入 OpenAI、Claude 等主流大模型,也支持本地部署的开源模型(比如 Llama、Qwen)。因为是微软出品,文档和社区都比较完善,适合有一定编程基础的人使用。
AutoGen 的核心机制是 Agent 对话。你定义两个或多个 Agent,给它们设定身份和任务,然后让它们“开会讨论”。比如:
工作流程大致是:UserProxyAgent 发出指令 → AssistantAgent 调用 LLM 生成回答 → 如果涉及代码,UserProxyAgent 自动执行代码并返回结果 → AssistantAgent 根据结果继续迭代。整个过程不需要你手动干预。
更高级的用法是搭建多 Agent 群聊(GroupChat),比如让“数据分析师”“可视化工程师”“报告撰写员”三个 Agent 轮流发言,最终产出一份完整的分析报告。你只需要定义好每个 Agent 的 system prompt 和使用的模型即可。
以下是一个最简单的“两个 Agent 协作写 Python 代码”的例子,适合快速体验。
第一步:安装
pip install pyautogen
第二步:配置 LLM
AutoGen 需要连接大模型才能工作。如果你有 OpenAI 的 API Key,可以直接用。如果国内访问受限,可以用国产模型替代,比如通过智谱、百川等平台的 API(需自行申请 Key)。配置方式如下:
import autogen
config_list = [
{
"model": "gpt-4", # 替换为你的模型名
"api_key": "你的API Key",
"base_url": "你的API端点" # 国产模型需要指定这个
}
]
第三步:创建 Agent 并启动对话
# 创建助手 Agent
assistant = autogen.AssistantAgent(
name="助手",
llm_config={"config_list": config_list}
)
# 创建用户代理 Agent(模拟人类)
user_proxy = autogen.UserProxyAgent(
name="用户",
code_execution_config={"work_dir": "coding"},
human_input_mode="NEVER" # 完全自动化,不需要人工输入
)
# 发起任务
user_proxy.initiate_chat(
assistant,
message="写一个 Python 脚本,计算斐波那契数列的前20项,并打印出来。"
)
运行后,你会看到两个 Agent 在控制台“对话”:助手生成代码,用户代理执行代码,然后反馈结果。整个过程自动完成。
AutoGen 最适合那些需要“多步推理+工具调用”的任务,比如:
如果你只是简单问答,用 ChatGPT 就行,没必要上 AutoGen。它的价值在于“流程编排”——当任务需要多个步骤、需要调用外部工具(代码执行器、文件读写、API 请求)时,优势就出来了。
AutoGen 本身完全免费,MIT 开源协议,你可以随便用、随便改。但跑起来需要大模型,这部分有成本:
建议刚开始用小模型或国产免费额度试水,摸清 token 消耗规律后再决定是否升级。