开发框架教程(6):AutoGen —— 微软的黑科技

**AutoGen** 是由**微软 (Microsoft)** 研究院推出的多智能体框架。与 CrewAI 类似,它也主打"多 Agent 对话",但它的技术底蕴更深,甚至支持 Agent 之间**互相写代码、运行代码**。

5分钟
2025-12-26
框架开发SDK开发框架教程(6):AutoGen

开发框架教程(6):AutoGen —— 微软的黑科技

1. 什么是 AutoGen?

AutoGen 是由微软 (Microsoft) 研究院推出的多智能体框架。与 CrewAI 类似,它也主打"多 Agent 对话",但它的技术底蕴更深,甚至支持 Agent 之间互相写代码、运行代码

最酷的特性:Human Proxy (人类代理)

AutoGen 有一个独特的 Agent 叫 UserProxyAgent

  • 它可以代表屏幕前的你。
  • 当其他 AI 遇到困难(比如代码运行报错),它会暂停,请求你输入指令。
  • 如果代码运行成功,它甚至可以自动把运行结果反馈给写代码的 AI,让 AI 继续做下一步。这实现了完全自主的编程闭环

2. 核心工作流:Conversable Agent

在 AutoGen 里,一切都是对话 (Conversation)

  • 两个 AI 之间的 API 调用 = 对话。
  • 人和 AI 的交互 = 对话。
  • 代码执行器的反馈 = 对话。

常见的双人转模式

通常我们需要两个 Agent:

  1. AssistantAgent (助手):负责动脑子,写代码,出方案。
  2. UserProxyAgent (执行者):负责作为"替身",在本地环境执行助手写的代码,或者询问真人的意见。

3. 实战:让 AutoGen 帮你画图

这个例子会让 AutoGen 自动写一个 Python 脚本画一张股票走势图,并保存下来。

# pip install pyautogen

from autogen import AssistantAgent, UserProxyAgent

config_list = [{"model": "gpt-4", "api_key": "YOUR_KEY"}]

# 1. 创建助手 (它负责写代码)
assistant = AssistantAgent(
    name="coder",
    llm_config={"config_list": config_list}
)

# 2. 创建用户代理 (它负责执行代码)
# human_input_mode="NEVER": 全自动模式,不问人,自己跑。
# code_execution_config: 允许在本地 Docker 或环境中跑代码。
user_proxy = UserProxyAgent(
    name="user_proxy",
    human_input_mode="NEVER",
    max_consecutive_auto_reply=10,
    code_execution_config={"work_dir": "coding", "use_docker": False} 
)

# 3. 发起任务
user_proxy.initiate_chat(
    assistant,
    message="请帮我写一个 Python 脚本,画出 NVDA (英伟达) 和 TSLA (特斯拉) 今年以来的股价对比图,并保存为 plot.png。"
)

运行过程

  1. coder 会写一段 python 代码。
  2. user_proxy 收到代码,自动在本地执行。
  3. 如果报错(比如没安装库),user_proxy 会把报错信息发回给 coder
  4. coder 看到报错,自我修正代码,再发过来。
  5. user_proxy 再次执行,成功生成图片。
  6. 任务结束。

4. 总结

AutoGen 是目前代码生成与自动执行领域最强的框架。如果你想做一个全自动写代码的项目(类似于 Devin 的简易版),AutoGen 是最佳起步点。

AI导航助手

Powered by DeepSeek

你好!我是AI导航助手,由DeepSeek驱动。

我可以帮你: • 推荐适合你的AI模型 • 解答AI相关问题 • 直接带你跳转到相关页面

试试点击下方问题,或直接输入你的问题!

快捷提问:

哪个AI模型最好?有免费的AI吗?写代码用哪个?API怎么接入?

点击按钮可直接跳转到相关页面