news 2026/4/15 23:46:32

【智能体开发】【开发工具】【入门】3.Microsoft AutoGen入门

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【智能体开发】【开发工具】【入门】3.Microsoft AutoGen入门
🏗️ 核心概念:你的AI团队

可以把AutoGen想象成一个虚拟的“AI团队”,每个Agent都是团队中拥有特定技能的角色,通过相互对话和协作来解决问题。AutoGen最新版本(v0.4)采用分层设计,你可以根据需要灵活使用:

  • Core层:基础设施,如同“公司制度”,定义了Agent的底层通信机制。适合高级开发者构建自定义、可扩展的Agent系统。
  • AgentChat层:高层API,如同“标准业务流程”,提供预设好的对话模式和Agent类型。最易用,初学者可通过它快速上手。
  • Ext层:生态集成,如同“外部合作伙伴”,用于连接OpenAI、Azure等模型和各种工具。
  • AutoGen Studio:可视化管理平台,提供无代码界面,让你能通过拖拽快速组建和测试AI团队。
🛠️ 第一步:搭建环境
  1. 准备Python环境:推荐使用Conda创建虚拟环境,要求Python版本在3.8至3.13之间。
conda create -n autogen_env python=3.10 conda activate autogen_env
  1. 安装AutoGen v0.4:在激活的环境中,通过pip安装核心包。
pip install -U "autogen-agentchat" "autogen-ext[openai]"

提示:也可安装社区发行版AG2。它曾用名AutoGen,API高度一致,但包名不同。使用AG2时,安装命令为:​​pip install "ag2[openai]"​​。

  1. 配置大模型:通过环境变量安全地设置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(...))​​ 启动并实时展示对话过程。
📚 进阶学习路线
  1. 观看视频:在YouTube上搜索官方入门课程,快速建立整体认知。
  2. 阅读文档:查阅微软官方文档,深入理解API、模式和最佳实践。
  3. 动手实践:完成Codecademy等平台的交互式教程,巩固基础知识。
  4. 构建项目:尝试实现“作者 + 评论家”等实用模式。
  5. 深入核心:探索工具调用、RAG、复杂对话模式(如GroupChat)及分布式部署。
💎 总结

你可以从用 ​​AgentChat​​​ 快速构建一个AI团队开始,后续再根据需要深入学习 ​​Core​​ 层的自定义和扩展能力。

如果你在配置或开发中遇到困难,可以随时告诉我,我会尽力提供更具体的帮助。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/15 23:45:55

Synergy软件跨平台安装与多设备协同配置指南(附详细步骤)

1. Synergy软件能做什么? 如果你和我一样,桌面上摆着两台甚至三台电脑,每次工作都要在不同键盘鼠标之间来回切换,那Synergy绝对是你的救星。这个神奇的工具能让你用一套键鼠控制多台设备,就像它们是一台电脑的不同显示…

作者头像 李华
网站建设 2026/4/15 23:45:03

山东大学软件学院创新实训——个人博客(三)

日期:2026 年 4 月 6 日——4 月 12 日项目:绘画 AI 博弈小游戏 —— 人机对抗绘画猜词与心理解读系统本周目标与产出本周完成了游戏数据库较为完整的设计与实现,对上周的models.py草稿文件进行了修改和完善,包括:✅ 7…

作者头像 李华
网站建设 2026/4/15 23:44:11

03-数据同步方案详解

数据同步方案详解 本章导读 数据同步是分布式系统中保证数据一致性的核心机制,无论是数据库主从复制、多数据中心同步,还是异构数据源集成,都离不开可靠的数据同步方案。本章将深入探讨同步复制、异步复制、增量同步、双向同步等关键技术。 学习目标: 目标1:掌握同步复制和…

作者头像 李华
网站建设 2026/4/15 23:44:10

Labelme标注转YOLO格式,我踩过的那些坑(附完整代码与避坑指南)

Labelme标注转YOLO格式:从报错到解决方案的完整实战指南 第一次尝试将Labelme标注的JSON文件转换为YOLO格式时,我本以为这会是个简单的过程——毕竟网上有现成的转换脚本。但现实给了我一记响亮的耳光:编码错误、路径问题、环境崩溃接踵而至。…

作者头像 李华
网站建设 2026/4/15 23:41:44

vlan+电路聚合

VLAN(虚拟局域网)原理与作用原理: VLAN通过逻辑划分广播域,将物理网络划分为多个虚拟子网。基于端口、MAC地址或协议类型划分,不同VLAN间的通信需通过三层设备(如路由器或三层交换机)。作用&…

作者头像 李华
网站建设 2026/4/15 23:33:46

基于EMD-KPCA-PINN多变量时序预测 (多输入单输出) 基于经验模态分解-核主成分分析-物理信息神经网络的多变量时序预测附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

作者头像 李华