lang: zh slug: autogen title: ‘AutoGen:58K+ 星星 — 多智能体框架深入探讨与 CrewAI’ description: ‘AutoGen(微软)是一个事件驱动的编程框架,用于构建多代理人工智能系统。 与 OpenAI、Azure、Ollama、Docker 和 VS Code 兼容。 涵盖安装、群聊设置、生产强化以及与替代方案的诚实比较。’ tags: [“ai-agent”, “automation”, “open-source”] date: 2026-05-19 00:00:00+08:00 lastmod: 2026-05-19 00:00:00+08:00 tech_stack: [] application_domain: Llm Frameworks source_version: ’' licensing_model: Open Source license_type: MIT file_size: ’' file_md5: ’' download_url: ’' backup_url: ’' github_repo: ‘https://github.com/microsoft/autogen' last_maintained: ‘2026-05-19’ draft: false categories: [’llm-frameworks’] featureImage: /images/articles/克劳德代码125k-星星.jpg aliases:- /帖子/autogen/

  • /资源/llm-frameworks/autogen-multi-agent-framework/
  • /posts/autogen-multi-agent-framework/ 常见问题解答:
  • 问:“AutoGen 是免费且开源的吗?” ‘是的。 AutoGen 是 Microsoft 在 MIT 许可下发布的开源框架,拥有超过 58,000 个 GitHub star。
  • q: ‘AutoGen 需要什么 Python 版本?’ a: ‘AutoGen 需要 Python 3.10 或更高版本。 您可以使用 pip install “autogen-agentchat” “autogen-ext[openai]” 安装会话层。
  • 问:“AutoGen GroupChat 中可以放置多少个客服人员?” a:“实际限制为 5 至 8 名特工。 除此之外,对话选择器很难有效地进行路由,令牌使用量激增,并且延迟变得令人望而却步; 对于较大的系统,分为多个按层次结构组成的群聊。
  • 问:“为什么 AutoGen 的运行成本比 LangGraph 或 CrewAI 更昂贵?” 答:“AutoGen”的对话模式在代理辩论和完善时触发每个任务 20 多个 LLM 调用,而 LangGraph 基于图形的执行则触发 2-8 个调用。 社区估计 AutoGen 每年 10,000 个决策的工作量为 1,200-1,460 美元,而 LangGraph 或 CrewAI 的工作量为 220-365 美元。
  • 问:“AutoGen 仍在开发中还是处于维护模式?” a: ‘AutoGen 处于维护模式。 它仍然收到错误修复和安全补丁,但微软已将主要开发转移到 Microsoft Agent Framework (MAF) 1.0,该框架于 2026 年 4 月正式发布。对于新建项目,请与 AutoGen 一起评估 MAF。 特征图片:/images/articles/autogen-58k-133740-1.jpg— ——{{< 资源信息 >}}## 介绍构建一个调用 API 的 AI 代理非常简单。 协调五个代理,进行辩论、编写代码、在 Docker 中执行代码,并在遇到困难时要求人们进行澄清——这就是大多数团队碰壁的地方。 微软的 AutoGen 诞生于微软研究院,现在拥有 58,196 个 GitHub 星,是最早通过对话优先架构解决这一问题的框架之一。 本 AutoGen 教程将逐步介绍安装框架、配置多代理群聊以及在生产中运行它,然后将其与 CrewAI、LangGraph 和 OpenAI Agents SDK 进行诚实的比较,以便您可以为您的工作负载选择正确的工具。## AutoGen 是什么?AutoGen 是一个用于构建多代理人工智能应用程序的开源编程框架。 它使开发人员能够定义通过结构化对话进行通信、在沙盒环境中执行代码以及与人类操作员协作的自主代理。 该框架与模型无关——它可以与 OpenAI GPT-4、Azure OpenAI、通过 Ollama 的本地模型以及任何与 OpenAI 兼容的端点配合使用。## AutoGen 的工作原理AutoGen 的架构分为四层:| Layer | Purpose | Entry Point | |——-|———|————-| | Core | Event-driven runtime for agent messaging and state | autogen-core | | AgentChat | High-level conversational agents built on Core | autogen-agentchat | | Extensions | Integrations with OpenAI, Docker, MCP, gRPC | autogen-ext | | Studio | Web UI for prototyping without writing code | autogenstudio |心理模型是代理之间的消息传递。 AssistantAgent 生成计划和代码。 UserProxyAgent 在本地或 Docker 中执行代码并将输出转发回来。 “GroupChatManager”根据选择策略(循环、自动选择或自定义)在参与者之间路由消息。
    AutoGen 架构
    图 1:AutoGen AgentChat 高级架构显示代理通过 GroupChatManager 进行通信。
    AutoGen 核心层
    *图 2:AutoGen 的分层架构 — Core 提供事件驱动的运行时,AgentChat 添加对话抽象,Extensions 提供工具集成,Studio 提供无代码 UI。*每个开发人员需要理解的关键概念:- 代理:具有 LLM 后端、系统消息和可选工具集的实体。
  • 对话:代理之间交换的一系列消息。
  • 群聊:由中央路由器管理的多代理对话。
  • 代码执行器:生成的代码安全运行的沙箱(本地或 Docker)。
  • 人机交互:系统暂停以等待人工批准的内置中断点。## 安装和设置AutoGen 需要 Python 3.10+。 安装路径取决于您需要的层。### 基本安装 (AgentChat)```` bas h
创建虚拟环境 #

python -m venv .venv 源 .venv/bin/activate

安装 AgentChat + OpenAI 扩展 #

pip install -U“autogen-agentchat”“autogen-ext[openai]” ### 完整安装所有扩展 bas h pip install -U“autogen-agentchat”“autogen-ext[openai,azure,docker,mcp]” ### 验证安装蟒蛇 导入 autogen_agentchat 打印(autogen_agentchat.__versio``` bas h pip install -U“autogen-agentchat”“autogen-ext[openai,azure,docker,mcp]”

tchat
.agents 导入 AssistantAgent
从 autogen_ext.models.openai 导入 OpenAIChatCompletionClient异步```
pytho
n
导入 autogen_agentchat
打印(autogen_agentchat.__version__)

model_client=OpenAIChatCompletionClient( 型号=“gpt-4o”, api_key=“你的``` pytho n 导入异步 从 autogen_agentchat.agents 导入 AssistantAgent 从 autogen_ext.models.openai 导入 OpenAIChatCompletionClient

异步 def main() -> 无: 代理 = 助理代理( 姓名=“助理”, model_client=OpenAIChatCompletionClient( 型号=“gpt-4o”, api_key=“YOUR_API_KEY” ), system_message=“你是一个有用的助手。” ) 结果=等待agent.run(任务=“说‘你好世界!’”) 打印(结果.消息[-1].内容)

asyncio.run(主())

mcr.microsoft.com/autogen/python:最新
````## 与流行工具集成### OpenAI / Azure OpenAIAutoGen 的 AgentChat 对 OpenAI 和 Azure 端点使用“OpenAIChatCompletionClient”:````蟒蛇
从 autogen_ext.models.openai 导入 OpenAIChatCompletionClient# OpenAI 直接
openai_client = OpenAIChatCompletionClient(
型号=“gpt-4o”,
api_key="sk-..."
)# Azure OpenAI
azure_client = OpenAIChatCompletionClient(
型号=“gpt-4o”,
base_url =“https://YOUR_RESOURCE.openai.azure.com/openai/deploy``bash
导出 OPENAI_API_KEY="sk-..."
python hello_agent.py
```
rsion
="2024-12-01-预览"
)
````### Ollama(当地模特)````蟒蛇
来自 autogen_ext.models.openai impo```
bas
h
# 拉取官方镜像
docker pull mcr.microsoft.com/autogen/python:最新

# 使用您的 API 密钥运行
docker run -it \
-e OPENAI_API_KEY="$OPENAI_API_KEY" \
-v“$(pwd)/工作空间:/工作空间”\
mcr.microsoft.com/autogen/python:最新
```js
o
n
"json_output": False,
“家庭”:“未知”
}
)
````### Docker 代码执行````蟒蛇
从 autogen_ext.code_executors.docker 导入 DockerCommandLineCodeExecutor
从 autogen_agentchat.agents 导入 CodeExecutorAgent# 创建一个基于Docker的代码执行器
执行器 = DockerCommandLineCodeExecutor(
图像=“python:3.12-slim”,
work_dir="./coding_workspace",
超时=60,
````蟒蛇
从 autogen_ext.models.openai 导入 OpenAIChatCompletionClient

# OpenAI 直接
openai_client = OpenAIChatCompletionClient(
型号=“gpt-4o”,
api_key="sk-..."
)

# Azure OpenAI
azure_client = OpenAIChatCompletionClient(
型号=“gpt-4o”,
base_url =“https://YOUR_RESOURCE.openai.azure.com/openai/deployments/YOUR_DEPLOYMENT”,
api_key="YOUR_AZURE_KEY",
api_version="2024-12-01-预览"
)
``y:````蟒蛇
从 autogen_ext.tools.mcp 导入 McpWorkbench工作台 = McpWorkbench(
server_params={"command": "npx", "args": ["-y", "@modelcontextprotocol/server-filesystem", "."]}
)# MCP 服务器中的工具可供代理使用
````## 基准/实际用例### 任务完成基准2026 年研究的独立基准显示了 AutoGen 在标准化代理任务上的表现:| 基准| AutoGen |```
pytho
n
从 autogen_ext.models.openai 导入 OpenAIChatCompletionClient

local_client = OpenAIChatCompletionClient(
模型=“llama3.1:8b”,
base_url =“http://localhost:11434/v1”,
api_key="占位符",
模型信息={
“愿景”:错误,
“function_calling”:正确,
“json_output”:假,
“家庭”:“未知”
}
)
```` | 不适用 | 基于浏览器的 Web 任务 |
| 复杂推理(3-5 个工具)| 68% | 71% | **76%** | 中等复杂度的管道任务 |资料来源:[开放代理规范技术报告](https://arxiv.org/html/2510.04173v3)、[Magentic-One Paper](https://arxiv.org/pdf/2411.04468v1)、[多代理框架评估](https://arxiv.org/html/2604.16646v1)![f```
pytho
n
的基准比较
从 autogen_ext.code_executors.docker 导入 DockerCommandLineCodeExecutor
从 autogen_agentchat.agents 导入 CodeExecutorAgent

# 创建一个基于Docker的代码执行器
执行器 = DockerCommandLineCodeExecutor(
图像=“python:3.12-slim”,
work_dir="./coding_workspace",
超时=60,
stop_container=真
)

code_agent = CodeExecutorAgent(
名称=“代码执行者”,
code_executor=执行者
)
``平均延迟(复杂)|
|----------|-----------------|---------------------|------------------------|
| 郎图| $220–$365 | 180 毫秒 | 1.2秒|
| 船员人工智能 | $220–$365 | 220 毫秒 | 1.5秒|
| AutoGen | $1,200–$1,460 | 2.1秒| 5.8秒|AutoGen 的较高成本源于其对话模式:随着代理的辩论和完善,每个任务都会触发 20 多个 LLM 调用,而 LangGraph 基于图形的执行则需要 2-8 个调用。### 当 AutoGen 获胜时AutoGen 在特定场景中优于替代方案:- **多主体研究**:Age```
bas
h
# 从市场安装(搜索“AutoGen”)
# 或者通过 CLI
代码 --install-extension microsoft.autogen
``表明 AutoGen 所需的代码比单代理系统少 3 倍,人工干预也更少。 
- **迭代代码细化**:Coder + Executor 循环通过连续的 er```
pytho
n
生成工作代码
从 autogen_ext.tools.mcp 导入 McpWorkbench

工作台 = McpWorkbench(
server_params={"command": "npx", "args": ["-y", "@modelcontextprotocol/server-filesystem", "."]}
)

# MCP 服务器中的工具可供代理使用
````硬化### 使用自定义选择器进行群聊````蟒蛇
导入异步
从 autogen_agentchat.agents 导入 AssistantAgent
从 autogen_agentchat.teams 导入 GroupChat、RoundRobinGroupChat
从 autogen_agentchat.conditions 导入 MaxMessageTermination、TextMentionTermination
从 autogen_ext.models.openai 导入 OpenAIChatCompletionClient异步 def main():
model_client = OpenAIChatCompletionClient(model="gpt-4o")# 定义专业代理
研究员 = 助理特工(
姓名=“研究员”,
模型_客户端=模型_客户端,
system_message="您是一名研究分析师。收集事实和数据。"
)作家 = 助理代理(
名称=“作家”,
模型_客户端=模型_客户端,
system_message="您是一名技术作家。创建清晰的文档。"
)审阅者 = AssistantAgent(
姓名=“审稿人”,
模型_客户端=模型_客户端,
system_message="您是一名编辑。检查内容的准确性和清晰度。"
“当内容良好时,回复‘已批准’。”
)# 终止:20条消息后或审阅者批准后停止
终止 = MaxMessageTermination(max_messages=20) | TextMentionTermination(“已批准”)# 循环群聊
团队 = RoundRobinGroupChat(
参与者=[研究员、作家、审稿人],
终止条件=终止
)result = wait team.run(task="写一篇量子计算的一段总结。")
对于 result.messages 中的消息:
print(f"[{msg.source}]: {msg.content[:100]}...")asyncio.run(主())
````### 基于选择器的群聊(动态路由)````蟒蛇
从 autogen_agentchat.teams 导入 SelectorGroupChat
从 autogen_agentchat.conditions 导入 MaxMessageTermination# SelectorGroupChat 使用 LLM 来决定接下来由哪个代理发言
团队 = SelectorGroupChat(
参与者=[研究员、作家、审稿人],
模型_客户端=模型_客户端,
Termination_condition=MaxMessageTermination(max_messages=15),
allow_repeated_speaker=False # 防止同一代理连续发言两次
)
````### 自定义工具集成````蟒蛇
从 autogen_core.tools 导入 FunctionTool
从 autogen_agentchat.agents 导入 AssistantAgentdef search_knowledge_base(查询: str) -> str:
"""搜索内部知识库。"""
# 这里是你的搜索逻辑
return f“'{query}'的结果:...”search_tool = FunctionTool(search_knowledge_base, description="搜索公司知识库")代理 = 助理代理(
名称=“kb_助理”,
模型_客户端=模型_客户端,
工具=[搜索工具],
system_message="使用 search_knowledge_base 工具回答问题。"
)
````### 长时间运行```
pytho
n
的状态持久性
导入异步
从 autogen_agentchat.agents 导入 AssistantAgent
从 autogen_agentchat.teams 导入 GroupChat、RoundRobinGroupChat
从 autogen_agentchat.conditions 导入 MaxMessageTermination、TextMentionTermination
从 autogen_ext.models.openai 导入 OpenAIChatCompletionClient

异步 def main():
model_client = OpenAIChatCompletionClient(model="gpt-4o")

# 定义专业代理
研究员 = 助理特工(
姓名=“研究员”,
模型_客户端=模型_客户端,
system_message="您是一名研究分析师。收集事实和数据。"
)

作家 = 助理代理(
名称=“作家”,
模型_客户端=模型_客户端,
system_message="您是一名技术作家。创建清晰的文档。"
)

审阅者 = AssistantAgent(
姓名=“审稿人”,
模型_客户端=模型_客户端,
system_message="您是一名编辑。检查内容的准确性和清晰度。"
“当内容良好时,回复‘已批准’。”
)

# 终止:20条消息后或审阅者批准后停止
终止 = MaxMessageTermination(max_messages=20) | TextMentionTermination(“已批准”)

# 循环群聊
团队 = RoundRobinGroupChat(
参与者=[研究员、作家、审稿人],
终止条件=终止
)

result = wait team.run(task="写一篇量子计算的一段总结。")
对于 result.messages 中的消息:
print(f"[{msg.source}]: {msg.content[:100]}...")

asyncio.run(主())
```---------|---------|--------|------------------------|----------------
---|
| **GitHub 之星** | 58,196 | 〜47,700 | 〜30,700 | 〜25,500 |
| **架构** | 消息传递/对话| 基于角色的团队 | 有向状态图| 显式切换 |
| **学习曲线** | 中等| 低| 高| 低|
| **多代理模型** | 带选择器的 GroupChat | 顺序/分层 | 图节点+边| 代理移交 |
| **检查点** | 手动保存/加载| 有限公司| 原生(时间旅行)| 上下文变量 |
| **代码执行** | Docker 沙箱(内置)| 需要定制工具 | 需要自定义节点| 需要定制工具 |
| **人在环路** | 原生支持 | 基本 | 本机(中断)| 基本 |
| **可观察性** | 对话痕迹 | CrewAI 可观测性 | 朗史密斯(本地人)| OpenAI 追踪 |
| **模型支持** | 20+ 提供商 | 15+ 提供商 | 浪链80+ | 仅限 OpenAI |
| **代币效率** | 20-35% 管理费用 | 10-18% 管理费用 | 15-25% 管理费用 | 5-10% 管理费用 |
| **生产准备** | 中等| 中高| 高| 中高|
| **最适合** | 研究、辩论、代码生成 | 业务工作流程、原型设计 | 有状态的生产工作流程 | OpenAI 原生应用程序 |### AutoGen 与 CrewAI**AutoGen** 将代理视为对话参与者。 代理们进行辩论,质疑彼此的结论,并迭代寻找解决方案。 这使得它非常适合研究任务和复杂的调试,其中紧急行为会有所帮助。 **CrewAI** 将代理视为具有角色的员工(“研究员”、“作家”、“编辑”)。 任务流经预定义的管道。 CrewAI 是 fas```
pytho
n
从 autogen_agentchat.teams 导入 SelectorGroupChat
从 autogen_agentchat.conditions 导入 MaxMessageTermination

# SelectorGroupChat 使用 LLM 来决定接下来由哪个代理发言
团队 = SelectorGroupChat(
参与者=[研究员、作家、审稿人],
模型_客户端=模型_客户端,
Termination_condition=MaxMessageTermination(max_messages=15),
allow_repeated_speaker=False # 防止同一代理连续发言两次
)
``小姐。 对于需要审计跟踪的受监管行业,LangGraph 胜出。 对于探索性研究,AutoGen 获胜。### AutoGen 与 OpenAI Agents SDK**OpenAI Agents SDK** 是供应商锁定的,但与 OpenAI 的 API 深度集成。 如果您仅在 GPT-4 上运行并且需要最少的设置,那么这是务实的选择。 当您需要本地模型(通过 Ollama)、Azure OpenAI 故障转移或多模型策略时,AutoGen 的模型无关设计会带来回报。## 限制 / 诚实如```
pytho
n
从 autogen_core.tools 导入 FunctionTool
从 autogen_agentchat.agents 导入 AssistantAgent

def search_knowledge_base(查询: str) -> str:
"""搜索内部知识库。"""
# 这里是你的搜索逻辑
return f“'{query}'的结果:...”

search_tool = FunctionTool(search_knowledge_base, description="搜索公司知识库")

代理 = 助理代理(
名称=“kb_助理”,
模型_客户端=模型_客户端,
工具=[搜索工具],
system_message="使用 search_knowledge_base 工具回答问题。"
)
```,生态系统是Python优先的。 TypeScript 和 Java 团队会发现 LangGraph(JS 支持)或语义内核(.NET)更自然。4. **严格的合规性要求**:AutoGen 缺乏相当于 LangSmith 的时间旅行调试的内置审计跟踪。 您必须实现自己的日志记录和重放基础设施。5. **维护模式注意事项**:Microsoft 已将主要开发转移到 **Microsoft Agent Framework 1.0**(2026 年 4 月正式发布)。 AutoGen 本身仍在维护中——错误修复和安全补丁仍在继续,但主要的新功能已交付给 MAF。 对于```
pytho
n
从 autogen_agentchat.teams 导入 GroupChat
从 autogen_core 导入 CancellationToken

# 序列化对话状态
状态 = 等待 team.save_state()

# 保存到Redis/数据库
导入 json
将 open("team_state.json", "w") 作为 f:
json.dump(状态, f)

# 稍后:恢复并恢复
将 open("team_state.json") 作为 f:
状态 = json.load(f)
等待 team.load_state(状态)
result = wait team.run(task="从我们上次停下的地方继续。")
```
r
新的生产部署,对两者进行评估。**问:如何使用 Llama 或 Mistral 等本地模型运行 AutoGen?**使用 Ollama 或任何兼容 OpenAI 的本地服务器。 将“OpenAIChatCompletionClient”中的“base_url”设置为本地端点(例如“http://localhost:11434/v1”)。 提供一个“model_info”字典,以便 AutoGen 了解模型的功能(视觉、函数调用、JSON 输出)。**问:AutoGen 代理可以安全地执行代码吗?**是的,通过“DockerCommandLineCodeExecutor”。 全部生成```
pytho
n
从 autogen_ext.code_executors.docker 导入 DockerCommandLineCodeExecutor
导入临时文件

# 始终使用 Docker 来处理不受信任的代码
使用 tempfile.TemporaryDirectory() 作为 work_dir:
执行器 = DockerCommandLineCodeExecutor(
图像=“python:3.12-slim”,
工作目录=工作目录,
超时=30,
bind_mounts={"src": "/safe", "target": "/workspace"}
)

code_executor = CodeExecutorAgent(
名称=“沙箱”,
code_executor=执行者
)
# 代理运行容器内的所有代码
```
t
s
通过 `run_stream()` 进行流式传输:````蟒蛇
team.run_stream(task="Explain Kubernetes") 中的消息异步:
if message.source == "助理":
打印(消息.内容,结束=“”,刷新= True)
````流式传输是按消息(而不是按令牌)进行的,因此粒度比原始 OpenAI 流式传输更粗。**问:如何调试出现问题的多代理对话?**启用详细日志记录并保存对话状态:````蟒蛇
# 在每条消息发生时打印它
团队 = RoundRobinGroupChat(
参与者=[代理1,代理2],
Termination_condition=终止```
pytho
n
从 autogen_core 导入 TRACE_LOGGER_NAME
导入日志记录

# 启用 AutoGen 的内部跟踪
logging.getLogger(TRACE_LOGGER_NAME).setLevel(logging.DEBUG)

# 与您的 OTLP 收集器集成
从 opentelemetry 导入跟踪
从 opentelemetry.exporter.otlp.proto.grpc.trace_exporter 导入 OTLPSpanExporter

跟踪器=trace.get_tracer(“autogen.生产”)
“n-the-loop 支持使其成为研究任务、迭代代码生成和工作流程的最强选择,在这些工作流程中,紧急代理辩论比严格的管道产生更好的结果。同样的灵活性在生产规模上也成为了一种负担。 每个任务 20 多个 LLM 调用、有限的检查点和维护模式状态意味着 2026 年大多数企业团队应该在致力于任务关键型系统的 AutoGen 之前评估 LangGraph(用于有状态工作流程)或 CrewAI(用于基于角色的自动化)。**行动项目:**1. 使用 `pip install "autogen-agentchat" "autogen-ext[openai]"` 安装 AutoGen AgentChat
2. 使用上面的代码示例为您的用例构建一个 3 代理 GroupChat
3. 使用相同的提示测量 LangGraph 和 CrewAI 的令牌使用情况和延迟
4. 加入 [AutoGen Discord](https://aka.ms/autogen-discord) 以获得社区支持
5. 关注 dibi8.com Telegram 群组,每周进行人工智能工程深度探讨







## 推荐的托管和基础设施在将上述任何工具部署到生产环境之前,您需要坚实的基础设施。 dibi8实际使用和推荐的两个选项:- **{< aff "digitalocean" "footer-cta-legacy" "DigitalOcean" >}}** — 200 美元免费赠金,为期 60 天,覆盖全球 14 个以上区域。 运行开源人工智能工具的独立开发者的默认选项。 
- **{< aff "htstack" "footer-cta-legacy" "HTStack" >}}** — 从中国大陆低延迟访问的香港 VPS。 这与托管 dibi8.com 的 IDC 是同一个 IDC——在生产中经过了实际考验。*附属链接 - 它们不会花费您额外的费用,并且有助于保持 dibi8.com 的运行。*## 资料来源和进一步阅读- [AutoGen 官方文档](https://microsoft.github.io/autogen/stable/)
- [AutoGen GitHub 存储库](https://github.com/microsoft/autogen)
- [AutoGen AgentChat API 参考](https://microsoft.github.io/autogen/stable/reference/python/autogen_agentchat.html)
- [Magentic-One:AutoGen 的多面手多智能体系统](https://arxiv.org/pdf/2411.04468v1)
- [开放代理规范基准测试结果](https://arxiv.org/html/2510.04173v3)
- [多Agent框架评估研究](https://arxiv.org/html/2604.16646v1)
- [CrewAI 文档](https://docs.crewai.com/)
- [LangGraph 文档](https://langchain-ai.github.io/langgraph/)
- [OpenAI Agents SDK 文档](https://platform.openai.com/docs/guides/agents)
- [AutoGen 与 CrewAI:2026 基准指南](https://dev.to/kunpeng-ai-2026/autogen-vs-crewai-a-compressive-benchmark-and-selection-guide-for-2026-2nh1)
````蟒蛇
team.run_stream(task="Explain Kubernetes") 中的消息异步:
if message.source == "助理":
打印(消息.内容,结束=“”,刷新= True)
``````蟒蛇
# 在每条消息发生时打印它
团队 = RoundRobinGroupChat(
参与者=[代理1,代理2],
终止条件=终止
)
result = wait team.run(task="调试任务", max_turns=10)
对于 result.messages 中的消息:
print(f"{msg.source} -> {msg.content[:200]}")

💬 留言讨论