AutoGen 多智能体协作框架实战:GroupChatManager 使用详解
前言
在之前的入门教程中,我们了解了 AutoGen 框架中 AssistantAgent 和 UserProxyAgent 之间的基础对话协作模式。这种单对单的交互适合简单的问答或代码生成任务。然而,在实际的复杂应用场景中,单一角色往往难以胜任需要多步骤、多领域知识协同的任务。
本文将深入探讨 AutoGen 中的 GroupChat(群聊)和 GroupChatManager(群聊管理器)功能。通过构建包含不同角色的代理群体(如管理员、程序员、产品经理),我们可以模拟真实的团队协作流程,让 AI 自动完成从需求分析到代码实现再到文档生成的完整工作流。
环境准备与安装
在使用 GroupChat 功能前,请确保已安装 AutoGen 库及其依赖。由于 AutoGen 处于快速迭代期,建议参考官方文档获取最新 API 说明。
1. 安装 AutoGen
pip install pyautogen~=0.1.0 -q -U
2. 配置 LLM
AutoGen 支持多种大语言模型后端。我们需要定义一个配置文件列表来指定模型参数。
import autogen
# 配置 LLM 参数
config_list = [
{
'model': 'gpt-3.5-turbo',
'api_key': 'YOUR_API_KEY_HERE' # 请替换为实际有效的 API Key
}
]
llm_config={
"seed": 42, # 设置随机种子以保证结果可复现
"config_list": config_list,
"temperature": 0.7 # 控制生成的创造性
}
构建多角色 Agent
在群聊场景中,每个 Agent 都应有明确的职责。我们将构建以下三个角色:
- UserProxyAgent: 充当人类管理员,负责接收用户指令并执行代码。
- Coder Assistant: 负责编写和执行代码逻辑。
- PM Assistant: 扮演产品经理,负责创意构思和文案撰写。
1. 用户代理 (UserProxy)
这是与外部世界交互的入口。关键配置在于 work_dir 和 human_input_mode。
user_proxy = autogen.UserProxyAgent(
name="User_proxy",
system_message="A human admin.", # 系统提示词设定为人类管理员
code_execution_config={
"last_n_messages": 2,
:
},
human_input_mode=
)


