<?xml version="1.0" encoding="utf-8" standalone="yes"?><?xml-stylesheet type="text/xsl" href="/rss.xsl"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>02 Multi Agent - Cygnus Tech Blog</title><link>https://cygnusyang.github.io/posts/01-ai-%E5%B7%A5%E5%85%B7%E4%B8%8E%E6%99%BA%E8%83%BD%E4%BD%93/01-openclaw/02-multi-agent/</link><description>技术 × 产品 × 机器人</description><generator>Hugo 0.160.1 & FixIt v0.4.6-20260517062719-ed8ec5c2</generator><language>zh-CN</language><managingEditor>ruohuyang@163.com (Cygnus Yang)</managingEditor><webMaster>ruohuyang@163.com (Cygnus Yang)</webMaster><lastBuildDate>Sat, 23 May 2026 00:00:00 +0800</lastBuildDate><atom:link href="https://cygnusyang.github.io/posts/01-ai-%E5%B7%A5%E5%85%B7%E4%B8%8E%E6%99%BA%E8%83%BD%E4%BD%93/01-openclaw/02-multi-agent/index.xml" rel="self" type="application/rss+xml"/><item><title>第08章 为什么你需要一个多智能体框架 —— 单智能体的困境</title><link>https://cygnusyang.github.io/posts/01-ai-%E5%B7%A5%E5%85%B7%E4%B8%8E%E6%99%BA%E8%83%BD%E4%BD%93/01-openclaw/02-multi-agent/08-why-you-need-multi-agent-framework/</link><pubDate>Sat, 23 May 2026 00:00:00 +0800</pubDate><author>ruohuyang@163.com (Cygnus Yang)</author><guid>https://cygnusyang.github.io/posts/01-ai-%E5%B7%A5%E5%85%B7%E4%B8%8E%E6%99%BA%E8%83%BD%E4%BD%93/01-openclaw/02-multi-agent/08-why-you-need-multi-agent-framework/</guid><description>&lt;p&gt;你是否有过这样的经历：&lt;/p&gt;
&lt;p&gt;用大模型帮你处理一个比较复杂的任务，一开始进展顺利，但是随着任务推进，模型开始&amp;quot;健忘&amp;quot;——前面已经讨论清楚的设计决策，后面又忘了，需要你反复提醒；改完了 A 部分，又把 B 部分改错了；想让它同时处理需求分析、代码编写、测试用例，结果每个部分都写得马马虎虎。&lt;/p&gt;
&lt;p&gt;如果你用过 Claude Code 或者其他 AI 编程助手，你一定深有体会。&lt;/p&gt;
&lt;h2 class="heading-element" id="单智能体的困境"&gt;&lt;span&gt;单智能体的困境&lt;/span&gt;
 &lt;a href="#%e5%8d%95%e6%99%ba%e8%83%bd%e4%bd%93%e7%9a%84%e5%9b%b0%e5%a2%83" class="heading-mark"&gt;
 &lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;当我们用大模型处理复杂任务时，我们默认都是&amp;quot;单智能体模式&amp;quot;——一个对话窗口，一个模型，从头到尾处理整个任务。这种方式在任务简单的时候工作得很好，但是当任务变得复杂，问题就来了：&lt;/p&gt;</description></item><item><title>第09章 sessions_spawn —— 多智能体协作的核心原语</title><link>https://cygnusyang.github.io/posts/01-ai-%E5%B7%A5%E5%85%B7%E4%B8%8E%E6%99%BA%E8%83%BD%E4%BD%93/01-openclaw/02-multi-agent/09-sessions-spawn-core-primitive/</link><pubDate>Sat, 23 May 2026 00:00:00 +0800</pubDate><author>ruohuyang@163.com (Cygnus Yang)</author><guid>https://cygnusyang.github.io/posts/01-ai-%E5%B7%A5%E5%85%B7%E4%B8%8E%E6%99%BA%E8%83%BD%E4%BD%93/01-openclaw/02-multi-agent/09-sessions-spawn-core-primitive/</guid><description>&lt;p&gt;OpenClaw 的多智能体协作不是靠“偷偷起一个线程”实现的，而是靠一个明确的会话工具：&lt;code&gt;sessions_spawn&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;当前源码里，它的职责很单纯：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;在隔离会话里启动一个子智能体运行，并在完成后把结果 announce 回请求方聊天渠道。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 class="heading-element" id="它到底生成了什么"&gt;&lt;span&gt;它到底生成了什么&lt;/span&gt;
 &lt;a href="#%e5%ae%83%e5%88%b0%e5%ba%95%e7%94%9f%e6%88%90%e4%ba%86%e4%bb%80%e4%b9%88" class="heading-mark"&gt;
 &lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;普通 sub-agent 的会话键长这样：&lt;/p&gt;</description></item><item><title>第10章 协作架构模式 —— 从 Master-Worker 到 Hub-and-Spoke</title><link>https://cygnusyang.github.io/posts/01-ai-%E5%B7%A5%E5%85%B7%E4%B8%8E%E6%99%BA%E8%83%BD%E4%BD%93/01-openclaw/02-multi-agent/10-collaboration-architecture-patterns/</link><pubDate>Sat, 23 May 2026 00:00:00 +0800</pubDate><author>ruohuyang@163.com (Cygnus Yang)</author><guid>https://cygnusyang.github.io/posts/01-ai-%E5%B7%A5%E5%85%B7%E4%B8%8E%E6%99%BA%E8%83%BD%E4%BD%93/01-openclaw/02-multi-agent/10-collaboration-architecture-patterns/</guid><description>&lt;p&gt;有了 &lt;code&gt;sessions_spawn&lt;/code&gt; 这个核心原语，我们就可以构建不同的多智能体协作架构。OpenClaw 并不强制你用某种特定模式，你可以根据任务特点选择最合适的模式。&lt;/p&gt;
&lt;p&gt;本文介绍四种常见的协作模式，我们会分析每种模式的优缺点，以及什么时候该用它。&lt;/p&gt;
&lt;h2 class="heading-element" id="四种常见协作模式"&gt;&lt;span&gt;四种常见协作模式&lt;/span&gt;
 &lt;a href="#%e5%9b%9b%e7%a7%8d%e5%b8%b8%e8%a7%81%e5%8d%8f%e4%bd%9c%e6%a8%a1%e5%bc%8f" class="heading-mark"&gt;
 &lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;h3 class="heading-element" id="1-master-worker-模式"&gt;&lt;span&gt;1. Master-Worker 模式&lt;/span&gt;
 &lt;a href="#1-master-worker-%e6%a8%a1%e5%bc%8f" class="heading-mark"&gt;
 &lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/a&gt;
&lt;/h3&gt;&lt;pre&gt;&lt;code&gt;%%{init: {&amp;#39;theme&amp;#39;:&amp;#39;base&amp;#39;,&amp;#39;themeVariables&amp;#39;: {&amp;#39;primaryColor&amp;#39;:&amp;#39;#f1f5f9&amp;#39;,&amp;#39;primaryBorderColor&amp;#39;:&amp;#39;#0f4c81&amp;#39;,&amp;#39;primaryTextColor&amp;#39;:&amp;#39;#0f172a&amp;#39;,&amp;#39;secondaryColor&amp;#39;:&amp;#39;#f1f5f9&amp;#39;,&amp;#39;secondaryBorderColor&amp;#39;:&amp;#39;#0f4c81&amp;#39;,&amp;#39;secondaryTextColor&amp;#39;:&amp;#39;#0f172a&amp;#39;,&amp;#39;tertiaryColor&amp;#39;:&amp;#39;#fbbf24&amp;#39;,&amp;#39;tertiaryBorderColor&amp;#39;:&amp;#39;#fbbf24&amp;#39;,&amp;#39;tertiaryTextColor&amp;#39;:&amp;#39;#0f172a&amp;#39;,&amp;#39;background&amp;#39;:&amp;#39;#f8fafc&amp;#39;,&amp;#39;fontFamily&amp;#39;:&amp;#39;Inter, system-ui, sans-serif&amp;#39;,&amp;#39;fontSize&amp;#39;:&amp;#39;14px&amp;#39;,&amp;#39;textColor&amp;#39;:&amp;#39;#0f172a&amp;#39;,&amp;#39;lineColor&amp;#39;:&amp;#39;#334155&amp;#39;,&amp;#39;edgeLabelBackground&amp;#39;:&amp;#39;#ffffff&amp;#39;,&amp;#39;actorBorderColor&amp;#39;:&amp;#39;#0f4c81&amp;#39;,&amp;#39;actorTextColor&amp;#39;:&amp;#39;#0f172a&amp;#39;,&amp;#39;actorFill&amp;#39;:&amp;#39;#f1f5f9&amp;#39;}}}%%
graph TD
 M[Master&amp;lt;br/&amp;gt;Coordinator] --&amp;gt; W1[Worker 1]
 M --&amp;gt; W2[Worker 2]
 M --&amp;gt; W3[Worker 3]
 W1 --&amp;gt; M
 W2 --&amp;gt; M
 W3 --&amp;gt; M&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;结构&lt;/strong&gt;：一个协调者（Master）把任务分解给多个工人（Workers），工人完成后把结果返回给协调者，协调者汇总结果。&lt;/p&gt;</description></item><item><title>第11章 隔离设计 —— 为什么每个子智能体需要独立会话</title><link>https://cygnusyang.github.io/posts/01-ai-%E5%B7%A5%E5%85%B7%E4%B8%8E%E6%99%BA%E8%83%BD%E4%BD%93/01-openclaw/02-multi-agent/11-isolation-design/</link><pubDate>Sat, 23 May 2026 00:00:00 +0800</pubDate><author>ruohuyang@163.com (Cygnus Yang)</author><guid>https://cygnusyang.github.io/posts/01-ai-%E5%B7%A5%E5%85%B7%E4%B8%8E%E6%99%BA%E8%83%BD%E4%BD%93/01-openclaw/02-multi-agent/11-isolation-design/</guid><description>&lt;p&gt;很多人第一次接触 &lt;code&gt;sessions_spawn&lt;/code&gt; 会有疑问：不就是让另一个 AI 干活吗，为什么非要搞个独立会话？直接在当前上下文调用不行吗？&lt;/p&gt;
&lt;p&gt;答案很简单：&lt;strong&gt;隔离带来健壮性&lt;/strong&gt;。没有隔离，多智能体协作很容易变成一团乱麻。&lt;/p&gt;
&lt;h2 class="heading-element" id="什么是隔离"&gt;&lt;span&gt;什么是隔离&lt;/span&gt;
 &lt;a href="#%e4%bb%80%e4%b9%88%e6%98%af%e9%9a%94%e7%a6%bb" class="heading-mark"&gt;
 &lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;OpenClaw 中，每次 &lt;code&gt;sessions_spawn&lt;/code&gt; 都会创建一个&lt;strong&gt;全新的独立会话&lt;/strong&gt;：&lt;/p&gt;</description></item><item><title>第12章 嵌套协作 —— 如何实现 Orchestrator-Worker 模式</title><link>https://cygnusyang.github.io/posts/01-ai-%E5%B7%A5%E5%85%B7%E4%B8%8E%E6%99%BA%E8%83%BD%E4%BD%93/01-openclaw/02-multi-agent/12-nested-collaboration/</link><pubDate>Sat, 23 May 2026 00:00:00 +0800</pubDate><author>ruohuyang@163.com (Cygnus Yang)</author><guid>https://cygnusyang.github.io/posts/01-ai-%E5%B7%A5%E5%85%B7%E4%B8%8E%E6%99%BA%E8%83%BD%E4%BD%93/01-openclaw/02-multi-agent/12-nested-collaboration/</guid><description>&lt;p&gt;前面我们说到，OpenClaw 默认 &lt;code&gt;maxSpawnDepth: 1&lt;/code&gt;，也就是主智能体可以 spawn 子智能体，但子智能体不能再 spawn 子子智能体。&lt;/p&gt;
&lt;p&gt;但是如果你打开 &lt;code&gt;maxSpawnDepth: 2&lt;/code&gt;，就可以支持&lt;strong&gt;两层嵌套&lt;/strong&gt;：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Depth 0: Main Hub (orchestrator)
 ↳ spawn Depth 1: Team Coordinator
 ↳ spawn Depth 2: Worker&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;这就是 &lt;strong&gt;Orchestrator-Worker 模式&lt;/strong&gt;（或者叫两层编排模式）。什么时候需要这个？本文来讲清楚。&lt;/p&gt;
&lt;h2 class="heading-element" id="什么场景需要嵌套"&gt;&lt;span&gt;什么场景需要嵌套&lt;/span&gt;
 &lt;a href="#%e4%bb%80%e4%b9%88%e5%9c%ba%e6%99%af%e9%9c%80%e8%a6%81%e5%b5%8c%e5%a5%97" class="heading-mark"&gt;
 &lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;你有一个比较大的任务，比如：&lt;strong&gt;调研 10 篇论文，总结它们的核心贡献&lt;/strong&gt;。&lt;/p&gt;</description></item><item><title>第13章 实践案例 —— 从零构建一个代码评审团队</title><link>https://cygnusyang.github.io/posts/01-ai-%E5%B7%A5%E5%85%B7%E4%B8%8E%E6%99%BA%E8%83%BD%E4%BD%93/01-openclaw/02-multi-agent/13-practical-case-code-review-team/</link><pubDate>Sat, 23 May 2026 00:00:00 +0800</pubDate><author>ruohuyang@163.com (Cygnus Yang)</author><guid>https://cygnusyang.github.io/posts/01-ai-%E5%B7%A5%E5%85%B7%E4%B8%8E%E6%99%BA%E8%83%BD%E4%BD%93/01-openclaw/02-multi-agent/13-practical-case-code-review-team/</guid><description>&lt;p&gt;前面五章我们讲完了理论：为什么需要多智能体、核心原语 &lt;code&gt;sessions_spawn&lt;/code&gt;、协作架构模式、隔离设计、嵌套协作。&lt;/p&gt;
&lt;p&gt;本章我们来做一个完整的实践案例：&lt;strong&gt;用 OpenClaw 构建一个自动化代码评审团队&lt;/strong&gt;。看完这个案例，你就可以照着做，构建自己的多智能体协作系统。&lt;/p&gt;
&lt;h2 class="heading-element" id="需求分析"&gt;&lt;span&gt;需求分析&lt;/span&gt;
 &lt;a href="#%e9%9c%80%e6%b1%82%e5%88%86%e6%9e%90" class="heading-mark"&gt;
 &lt;svg class="octicon octicon-link" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"&gt;&lt;path d="m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z"&gt;&lt;/path&gt;&lt;/svg&gt;
 &lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;我们想要一个这样的代码评审系统：&lt;/p&gt;</description></item></channel></rss>