【智能体开发】【开发工具】【入门】3.Microsoft AutoGen入门
·
🏗️ 核心概念:你的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 层的自定义和扩展能力。
如果你在配置或开发中遇到困难,可以随时告诉我,我会尽力提供更具体的帮助。
更多推荐


所有评论(0)