AutoGen 是微软开发的 AI Agent 框架,核心思路独特:让多个 Agent 通过对话协作——互相质疑、补充、验证对方的输出。对于需要深度推理、多角度分析的复杂任务,这种模式往往比单个 Agent 更可靠。
这篇文章带你 30 分钟搭建第一个 AutoGen 多 Agent 系统。
安装
bash
pip install pyautogen
# 可选:用于代码执行的 Docker 沙箱(推荐生产环境)
pip install pyautogen[docker]核心模式:AssistantAgent + UserProxyAgent
AutoGen 最基础的模式:
- AssistantAgent:负责推理和生成回复
- UserProxyAgent:代理用户,负责执行代码、调用工具,控制对话流程
python
import autogen
llm_config = {
"model": "claude-sonnet-4-5",
"api_key": "your-anthropic-key",
"base_url": "https://api.anthropic.com/v1",
"api_type": "anthropic"
}
# 创建 AI 助手
assistant = autogen.AssistantAgent(
name="assistant",
llm_config=llm_config,
system_message="你是一个专注于代码质量和安全性的技术专家。"
)
# 创建用户代理(可以执行代码)
user_proxy = autogen.UserProxyAgent(
name="user_proxy",
human_input_mode="NEVER", # 全自动,不需要人工输入
max_consecutive_auto_reply=10,
code_execution_config={
"work_dir": "workspace",
"use_docker": False # 生产环境建议改为 True
}
)
# 开始对话
user_proxy.initiate_chat(
assistant,
message="用 Python 实现一个 LRU Cache,要求:线程安全,支持 TTL,写单元测试。"
)多 Agent 对话:让 Agent 互相辩论
AutoGen 真正的力量在于多个 Agent 的协作。以下是代码审查场景:
python
import autogen
llm_config = {"model": "claude-sonnet-4-5", "api_key": "your-key"}
# Agent 1:实现者
coder = autogen.AssistantAgent(
name="coder",
llm_config=llm_config,
system_message=