A programming framework for agentic AI
56.3k
Stars
8.5k
Forks
513
Watchers
714
Issues
AutoGen 是一个用于创建多智能体 AI 应用的框架,这些智能体既可以自主行动,也可以与人类协作。
重要提示: 如果您是 AutoGen 的新用户,请查看 Microsoft Agent Framework。 AutoGen 将继续得到维护,并持续接收错误修复和关键安全补丁。 请阅读我们的 公告。
AutoGen 需要 Python 3.10 或更高版本。
# Install AgentChat and OpenAI client from Extensions
pip install -U "autogen-agentchat" "autogen-ext[openai]"
当前稳定版本可在 releases 中找到。如果您是从 AutoGen v0.2 进行升级,请参阅 迁移指南 获取有关如何更新代码和配置的详细说明。
# Install AutoGen Studio for no-code GUI
pip install -U "autogenstudio"
以下示例调用了 OpenAI API,因此您需要先创建一个账户并将您的 API key 导出为 export OPENAI_API_KEY="sk-..."。
创建一个使用 OpenAI GPT-4o 模型的助手智能体。查看 其他支持的模型。
import asyncio
from autogen_agentchat.agents import AssistantAgent
from autogen_ext.models.openai import OpenAIChatCompletionClient
async def main() -> None:
model_client = OpenAIChatCompletionClient(model="gpt-4.1")
agent = AssistantAgent("assistant", model_client=model_client)
print(await agent.run(task="Say 'Hello World!'"))
await model_client.close()
asyncio.run(main())
创建一个使用 Playwright MCP 服务器的网页浏览助手智能体。
# First run `npm install -g @playwright/mcp@latest` to install the MCP server.
import asyncio
from autogen_agentchat.agents import AssistantAgent
from autogen_agentchat.ui import Console
from autogen_ext.models.openai import OpenAIChatCompletionClient
from autogen_ext.tools.mcp import McpWorkbench, StdioServerParams
async def main() -> None:
model_client = OpenAIChatCompletionClient(model="gpt-4.1")
server_params = StdioServerParams(
command="npx",
args=[
"@playwright/mcp@latest",
"--headless",
],
)
async with McpWorkbench(server_params) as mcp:
agent = AssistantAgent(
"web_browsing_assistant",
model_client=model_client,
workbench=mcp, # For multiple MCP servers, put them in a list.
model_client_stream=True,
max_tool_iterations=10,
)
await Console(agent.run_stream(task="Find out how many contributors for the microsoft/autogen repository"))
asyncio.run(main())
警告:仅连接到受信任的 MCP 服务器,因为它们可能会在您的本地环境中执行命令或暴露敏感信息。
您可以使用 AgentTool 创建一个基础的多智能体编排设置。
import asyncio
from autogen_agentchat.agents import AssistantAgent
from autogen_agentchat.tools import AgentTool
from autogen_agentchat.ui import Console
from autogen_ext.models.openai import OpenAIChatCompletionClient
async def main() -> None:
model_client = OpenAIChatCompletionClient(model="gpt-4.1")
math_agent = AssistantAgent(
"math_expert",
model_client=model_client,
system_message="You are a math expert.",
description="A math expert assistant.",
model_client_stream=True,
)
math_agent_tool = AgentTool(math_agent, return_value_as_last_message=True)
chemistry_agent = AssistantAgent(
"chemistry_expert",
model_client=model_client,
system_message="You are a chemistry expert.",
description="A chemistry expert assistant.",
model_client_stream=True,
)
chemistry_agent_tool = AgentTool(chemistry_agent, return_value_as_last_message=True)
agent = AssistantAgent(
"assistant",
system_message="You are a general assistant. Use expert tools when needed.",
model_client=m
AutoGen 是一个用于构建多智能体 AI 应用的开发框架,支持智能体独立执行任务或与人类协作。它通过编排多个智能体协同工作,旨在简化复杂 AI 工作流的开发与部署,解决单一大模型难以处理的多步骤任务。
支持创建能够自主运行或与人类交互的多种类型智能体。 提供灵活的多智能体编排机制,实现复杂任务的自动化处理。 兼容多种大型语言模型,方便开发者根据需求切换底层 AI 引擎。 内置 MCP 服务器集成功能,使智能体能够调用外部工具和浏览器环境。 提供 AutoGen Studio 可视化原型设计工具,支持无需编写代码即可构建工作流。
适用于需要开发复杂 AI 应用的开发者和研究人员,特别是在自动化办公、复杂任务流程处理以及需要多模型协同解决问题的场景中表现优异。