🏗️ 核心概念:你的AI团队
可以把AutoGen想象成一个虚拟的“AI团队”,每个Agent都是团队中拥有特定技能的角色,通过相互对话和协作来解决问题。AutoGen最新版本(v0.4)采用分层设计,你可以根据需要灵活使用:
- Core层:基础设施,如同“公司制度”,定义了Agent的底层通信机制。适合高级开发者构建自定义、可扩展的Agent系统。
- AgentChat层:高层API,如同“标准业务流程”,提供预设好的对话模式和Agent类型。最易用,初学者可通过它快速上手。
- Ext层:生态集成,如同“外部合作伙伴”,用于连接OpenAI、Azure等模型和各种工具。
- AutoGen Studio:可视化管理平台,提供无代码界面,让你能通过拖拽快速组建和测试AI团队。
🛠️ 第一步:搭建环境
- 准备Python环境:推荐使用
Conda创建虚拟环境,要求Python版本在3.8至3.13之间。
conda create -n autogen_env python=3.10 conda activate autogen_env- 安装AutoGen v0.4:在激活的环境中,通过
pip安装核心包。
pip install -U "autogen-agentchat" "autogen-ext[openai]"提示:也可安装社区发行版AG2。它曾用名AutoGen,API高度一致,但包名不同。使用AG2时,安装命令为:
pip install "ag2[openai]"。
- 配置大模型:通过环境变量安全地设置API密钥(以OpenAI为例)。
# macOS / Linux export OPENAI_API_KEY='你的OpenAI_API密钥' # Windows (CMD) set OPENAI_API_KEY=你的OpenAI_API密钥🚀 实战演练:创建你的第一个AI团队
动手实现一个由“主Agent”和“评审Agent”组成的团队,共同完成任务。创建一个 my_first_team.py 文件:
import asyncio from autogen_agentchat.agents import AssistantAgent from autogen_agentchat.teams import RoundRobinGroupChat from autogen_agentchat.conditions import TextMentionTermination from autogen_agentchat.ui import Console from autogen_ext.models.openai import OpenAIChatCompletionClient async def main(): # 1. 配置模型客户端(自动读取OPENAI_API_KEY环境变量) model_client = OpenAIChatCompletionClient(model="gpt-4o-mini") # 2. 创建主Agent primary_agent = AssistantAgent( name="Primary", model_client=model_client, system_message="你是一个乐于助人的AI助手。" ) # 3. 创建评审Agent critic_agent = AssistantAgent( name="Critic", model_client=model_client, system_message="提供建设性反馈。当你的反馈被采纳后,回复 'APPROVE'。" ) # 4. 定义终止条件:当评审Agent说“APPROVE”时停止 termination = TextMentionTermination("APPROVE") # 5. 创建团队,使用轮询策略 team = RoundRobinGroupChat( participants=[primary_agent, critic_agent], termination_condition=termination ) # 6. 启动团队执行任务 await Console(team.run_stream(task="用三句话解释什么是量子计算。")) if __name__ == "__main__": asyncio.run(main())- 运行代码:保存后运行
python my_first_team.py。你将看到两个Agent在控制台对话,协作完成任务。 - 代码解读:
- Agent:
AssistantAgent是预设好的AI助手,通过 system_message 定义角色。 - 团队:
RoundRobinGroupChat让Agent按轮次发言。 - 条件:
TextMentionTermination("APPROVE") 在出现“APPROVE”时结束对话。 - 运行:
Console(team.run_stream(...)) 启动并实时展示对话过程。
📚 进阶学习路线
- 观看视频:在YouTube上搜索官方入门课程,快速建立整体认知。
- 阅读文档:查阅微软官方文档,深入理解API、模式和最佳实践。
- 动手实践:完成Codecademy等平台的交互式教程,巩固基础知识。
- 构建项目:尝试实现“作者 + 评论家”等实用模式。
- 深入核心:探索工具调用、RAG、复杂对话模式(如GroupChat)及分布式部署。
💎 总结
你可以从用 AgentChat 快速构建一个AI团队开始,后续再根据需要深入学习 Core 层的自定义和扩展能力。
如果你在配置或开发中遇到困难,可以随时告诉我,我会尽力提供更具体的帮助。