AutoGen攻略:微软出的开源多 Agent 框架——多个 AI Agent 协作完成复杂任务。
AutoGen 是微软研究院推出的开源多 Agent 框架,核心思想是让多个 AI Agent 像团队成员一样协作,通过对话与任务分配完成复杂工作流。每个 Agent 可以拥有不同角色(如程序员、审查员、数据分析师),配备独立的大模型、工具和记忆系统。
它适合三类用户:
如果你完全不会编程,或者只想用图形界面拖拽配置,AutoGen 目前不适合你。
步骤1:安装环境
# 建议使用 Python 3.9-3.11
python -m venv autogen_env
source autogen_env/bin/activate # Windows: autogen_env\Scripts\activate
pip install pyautogen
步骤2:配置大模型
创建 OAI_CONFIG_LIST 文件(JSON格式),配置你可用的大模型 API。国内用户可配置通义千问、DeepSeek 等兼容 OpenAI 接口的模型。
[
{
"model": "gpt-4",
"api_key": "your-api-key"
}
]
步骤3:运行第一个双 Agent 对话
import autogen
# 创建两个 Agent
assistant = autogen.AssistantAgent(
name="助手",
llm_config={"config_list": autogen.config_list_from_json("OAI_CONFIG_LIST")}
)
user_proxy = autogen.UserProxyAgent(
name="用户代理",
human_input_mode="NEVER",
code_execution_config={"work_dir": "coding"}
)
# 发起任务
user_proxy.initiate_chat(
assistant,
message="写一个 Python 脚本,计算斐波那契数列前20项"
)
运行后观察:Agent 会自动生成代码、执行、检查结果。这就是多 Agent 协作的雏形。
核心模式:GroupChat(群聊)
让多个 Agent 在群聊中协作,适用于复杂任务拆分。
# 定义三个专业 Agent
planner = autogen.AssistantAgent(
name="规划师",
system_message="你负责将任务拆解为可执行的步骤",
llm_config=llm_config
)
coder = autogen.AssistantAgent(
name="程序员",
system_message="你只负责编写 Python 代码,不执行",
llm_config=llm_config
)
executor = autogen.UserProxyAgent(
name="执行者",
human_input_mode="NEVER",
code_execution_config={"work_dir": "coding"}
)
# 组建群聊
groupchat = autogen.GroupChat(
agents=[planner, coder, executor],
messages=[],
max_round=12
)
manager = autogen.GroupChatManager(groupchat=groupchat)
# 启动任务
executor.initiate_chat(
manager,
message="从某个网页抓取最新新闻标题,并生成摘要"
)
实战建议:
system_message,定义其职责边界max_round 限制对话轮次,防止死循环注册自定义工具
from autogen import register_function
def search_web(query: str) -> str:
# 调用你的搜索 API
return f"搜索结果:{query}"
# 将工具注册到 Agent
register_function(
search_web,
caller=assistant,
executor=user_proxy,
description="搜索互联网获取最新信息"
)
持久化记忆
使用 ConversableAgent 的 memory 参数,或自行实现向量数据库存储对话历史,让 Agent 记住长期上下文。
完全免费部分:
可能产生的费用:
省钱建议:
max_round 和 max_tokens,避免无谓消耗如果你觉得 AutoGen 门槛太高,可以考虑:
Dify(开源,有 GUI 工作流编辑器)
适合:非程序员,想用拖拽方式搭建 AI 工作流
短板:多 Agent 协作能力弱于 AutoGen
Coze(扣子)(字节跳动出品,免费)
适合:快速搭建 Bot,内置插件市场
短板:数据隐私受平台限制
n8n + AI 节点(开源自动化工具)
适合:已有自动化流程需求,只需简单 AI 能力
短板:AI 深度协作能力有限
LangChain(另一个多 Agent 框架)
适合:已有 Python 基础,需要更丰富的工具链集成
短板:抽象层级更高,学习曲线更陡
选择建议: