@amitiitbhu: https://x.com/amitiitbhu/status/2069023290182758497
摘要
详细博客文章,解释Sakana Fugu技术报告,该报告介绍了将任务路由到专业模型以实现集体智能的编排器AI模型。
查看缓存全文
缓存时间: 2026/06/22 17:49
解读Sakana Fugu技术报告
在这篇博客中,我们将了解Sakana Fugu,它是一个像指挥家一样协调其他AI模型团队的AI模型家族。
我们将涵盖以下内容:
-
Sakana Fugu是什么?
-
为什么需要Fugu?
-
整体概览:Fugu做什么?
-
集体智慧
-
两个Fugu:Fugu和Fugu-Ultra
-
Fugu如何选择合适的模型——轻量选择头
-
教会Fugu谁最擅长——监督微调
-
在实际任务中打磨Fugu——进化策略
-
Fugu-Ultra如何指挥乐团——指挥者
-
教会Fugu-Ultra指挥——GRPO
-
阻止智能体互相复制
-
Fugu表现如何?
-
Fugu自己发现的巧妙策略
-
快速总结
我是Amit Shekhar,Outcome School创始人,我曾教导和指导过许多开发者,他们的努力让他们获得了高薪技术工作,帮助许多科技公司解决了独特的问题,并创建了许多被顶级公司使用的开源库。我热衷于通过开源、博客和视频分享知识。
我在Outcome School教授AI和机器学习。
让我们开始吧。
Sakana Fugu是什么?
Sakana Fugu是一个AI模型家族。一个Fugu模型本身不会回答你的问题。相反,它读取你的问题,并决定哪些其他强大的AI模型应该共同处理问题,它们应该如何协作,以及如何将它们各自的答案组合成一个最终回复。
简单来说,Fugu是一个指挥家。指挥家不演奏任何乐器。指挥家阅读乐谱,决定哪位乐手应该演奏、何时演奏、音量多大,将众多乐手变成一场优美演出。Fugu对AI模型也是同样的道理。
Fugu来自Sakana AI,该团队在“Sakana Fugu技术报告“中对其进行了描述。Sakana AI是一家位于东京的研究实验室。其创始人之一Llion Jones是原论文“Attention Is All You Need“的合著者,正是这篇论文引入了Transformer。
该论文将像Fugu这样的模型称为编排者模型。编排者负责协调多个部分,使它们作为一个整体协同工作。因此,Fugu的总体目标是利用一个强大的AI模型团队,让它们像一个更智能的单一系统那样运作。
为什么需要Fugu?
学习这一概念的最佳方式是通过一个例子。
目前我们拥有许多强大的AI模型,通常被称为前沿模型。前沿意味着它们处于领先地位,是最强大、最新的可用模型。我们有来自OpenAI的GPT-5.5、来自Anthropic的Claude Opus 4.8,以及来自Google的Gemini 3.1 Pro。每个模型都非常强大。但问题是:没有哪个单一模型在所有方面都是最好的。
该论文观察到了明确的专业化分工:
-
GPT模型在数学、规划和结合创意方面非常擅长。
-
Claude Opus模型在软件工程和查找安全漏洞方面非常擅长,即调试。
-
Gemini模型在直接实现已知算法和科学领域(如化学和生物学)非常擅长。
因此,如果我们只用一个模型,我们会得到它的优势,但也必须接受它的弱点。
现在的问题是:我们如何同时获得所有这些模型的优势?让我们一步步构建答案。
方法一:一个模型做所有事。 这是最简单的方法。这种方法的问题在于,我们会被一个模型的弱点所限制。让我们看看下一个方法如何尝试解决这个问题。
方法二:手动构建固定团队。 我们可以自己编写一个固定计划,例如“模型X总是编写代码,然后模型Y总是评审代码。“这种方法的问题是它过于僵化。我们必须自己设计和调整,并且对每个问题都使用相同的固定计划,即使它不适合该问题。让我们看看下一个方法如何尝试解决这个问题。
方法三:简单的路由器。 我们可以训练一个小型路由器,它查看问题并将其发送给一个模型。这更好,但它仍然是单步的。它只选择一次模型,无法在任务中途改变主意,也无法让两个模型协同工作。这种方法的问题是它过于有限。让我们看看Fugu如何解决这个问题。
于是,Sakana Fugu来拯救局面。Fugu是一个学习型编排者。它读取问题,并为该特定问题构建一个计划——涉及哪些模型、它们之间如何沟通、以及何时整合它们的答案。这个计划不是固定的。它会根据问题而变化。
整体概览:Fugu做什么?
在深入细节之前,让我们看看从输入到输出的简单视图。
你给Fugu一个问题。Fugu读取它,从其模型池中选择正确的模型或正确的模型团队,让它们工作,然后返回给你一个最终的答案。从外部来看,感觉就像在与一个单一模型对话。
+-----------------------+
"写一个 | Fugu编排者 |
二分 --> | (读取问题,构建计划) | --> 选择合适的工人
搜索" | |
+-----------------------+
| | |
v v v
+------+ +------+ +------+
| GPT | | Opus | |Gemini| <- 前沿工人池
+------+ +------+ +------+
| | |
+-------+-------+
|
v
最终答案
这里,我们可以看到Fugu位于中间。用户只与Fugu对话。在幕后,Fugu使用一个前沿模型池作为工人,并将它们的工作组合成一个答案。
现在,我们逐一解读每个部分。该论文本身提到,复杂性并非来自任何单一部件的难度,而是来自各部分如何堆叠在一起。因此,如果我们独立理解每个部件,整个系统就会变得简单。
集体智慧
集体智慧是指一组有限的个体,通过协同工作,产生比任何单个成员独自行动更智能的行为。
这种现象无处不在。单个蚂蚁很简单,但蚁群能构建复杂的巢穴。单个人知道得有限,但一个好的团队能解决大问题。Fugu将这个理念带到了AI模型上。每个前沿模型都是一位专家。Fugu将它们变成一个团队。
该论文在这里提出了一个更大的观点:它将编排视为一个新的扩展维度。到目前为止,我们主要通过训练单个更大、更昂贵的模型来提升AI性能。Fugu指出,还有另一种方式:让许多现有模型良好地协作。
这带来了实际好处:
-
当新模型发布时,我们只需将其添加到池中。我们不需要重新训练任何东西。
-
我们可以移除一个模型、偏好某个提供商、或出于隐私或政策原因屏蔽一个模型,而无需重新训练。
这种灵活性在现实世界中也很重要。一个模型可能因多种原因不可用,例如访问限制、中断或价格变动。由于Fugu的模型池是可替换的,它可以直接绕过任何不可用的模型进行路由。即使一个成员离开,团队也能继续工作。
两个Fugu:Fugu和Fugu-Ultra
该论文发布了两个版本,分别针对两种不同需求。权衡在于质量与延迟。延迟指你等待答案的时间。
-
Fugu 平衡质量与速度。对于每个输入,它选择一个单一的、最好的工人模型。因此,它大约和调用一个模型一样快。它适用于日常使用,如编码和聊天。
-
Fugu-Ultra 旨在为最难的问题提供最高质量。它构建一个计划,每个输入使用多个模型。这较慢,但提供更好的答案。它适用于最复杂的任务。
让我将Fugu和Fugu-Ultra之间的差异列表,以便更好地理解,从而根据你的用例决定使用哪一个。
点 Fugu Fugu-Ultra 目标 平衡速度和质量 最大质量 每个输入的模型数 一个工人 计划中的多个工人 速度 快,像一个模型一样 较慢 构建于 Trinity 指挥者 最佳用途 日常编码和聊天 最难的多步问题
这里,Trinity和指挥者是Sakana AI的两篇早期研究论文。Fugu基于Trinity构建,Fugu-Ultra基于指挥者构建。在解读每个变体时,我们会理解两者。
Fugu如何选择合适的模型——轻量选择头
首先,让我们了解快速变体Fugu。
Fugu使用一个普通的语言模型作为其主干,即它的大脑。语言模型是一种AI,它读取文本并逐词预测下一个是什么。它是预训练的,这意味着在我们使用它之前,它已经学习了大量文本。当你输入一个问题时,语言模型读取它并形成一个隐藏状态,这只是一个数字列表,捕获了模型所读取内容的含义。我们称其为h。
通常,语言模型有一个LM头,它将隐藏状态转换为下一个词。Fugu在其旁边添加了第二个小头,称为轻量选择头。这个头获取隐藏状态h,并输出L个数字,称为logits,为池中的每个工人模型一个分数。得分最高的模型被选中。
问题 --> [ 语言模型主干 ] --> 隐藏状态 h
|
+---------------------+---------------------+
| |
[ LM头 ] [ 轻量选择头 ]
(生成正常文本) |
L个分数,每个工人模型一个
|
选最高分 -> 派发
这里,我们可以看到两个头读取相同的隐藏状态。LM头是正常生成文本的头。选择头是新的、对工人模型进行评分的头。
让我们定义符号:
-
h是隐藏状态,即捕获问题含义的数字列表。
-
L是池中工人模型的数量。
-
logits是原始分数,每个模型一个,在转换为概率之前。
现在,这是使Fugu快速的关键技巧。Fugu使用logits,而不是生成的文本。它不需要写出完整答案来做决策。它在早期位置计算隐藏状态,应用选择头,读取分数,选择最高分,然后立即将你的问题发送给选中的工人。由于它跳过了缓慢的逐词生成,决策非常快。这就是为什么Fugu具有低延迟。
这也是Fugu与早期Sakana模型Trinity的不同之处。Trinity还给选中的模型分配角色,如思考者、工作者或验证者。Fugu放弃角色,始终将选中的模型用作工人。更少的选择意味着更小、更快的决策,这正是日常使用所需要的。
还有一点需要注意。为了廉价地调整其大脑,Fugu不会重新训练整个模型。将模型想象成有数百万个微调旋钮。Fugu不会改变所有旋钮,而只改变一小部分调整旋钮,其余保持固定。这使训练保持小巧和快速。选择要转动哪一小部分旋钮的数学技巧称为SVD(奇异值分解),它来自Sakana早期的论文Transformer-squared。我们不需要理解技巧本身。我们只需要记住,它允许Fugu调整少数旋钮而不是所有旋钮。选择头本身也保持小巧简单。
教会Fugu谁最擅长——监督微调
现在,Fugu必须学习哪种模型最适合哪类问题。论文通过两个阶段进行训练。第一阶段是监督微调,通常称为SFT。
为了在这一阶段训练Fugu,Fugu团队收集了一大组问题,这些问题已经有了正确答案。对于每个问题,他们运行每个工人模型多次,并检查各自的表现。他们给每个模型一个奖励,一个表示模型解决问题好坏的分数。
学习这一概念的最佳方式是通过一个例子。
假设池中有3个工人模型:GPT、Opus和Gemini。我们给它们一个数学问题。我们运行每个模型几次,并平均得分。奖励介于0和1之间,其中1表示完美解决问题。假设我们得到:
-
GPT:平均奖励0.9
-
Opus:平均奖励0.6
-
Gemini:平均奖励0.3
所以我们的得分向量是s = (0.9, 0.6, 0.3)。
现在,简单的方法是直接说“GPT是最好的,所以标签是GPT。“但这会丢掉有用信息。它忽略了Opus也相当不错,而Gemini很弱。因此,论文使用softmax函数将这些得分转换为软目标分布。Softmax是一个简单的函数,它接收任何得分列表,将其转换为概率:所有概率为正,总和为1,并保持较大的得分更大。别担心,我们会用实际数字计算。
公式是:
p(j)=\frac{\exp(r_j / T)}{\sum_{j'} \exp(r_{j'} / T)}
其中:
-
p(j) 是模型j的目标概率。
-
r_j 是模型j的平均奖励。
-
T 是温度,一个控制结果是更尖锐还是更平坦的旋钮。
-
exp(x) 表示e的x次幂。
-
对所有j’求和意味着我们对每个模型求和这个项。
如果这个公式看起来复杂,别担心。我们将用实际数字一步一步分解。让我们使用温度T=1,因为除以1没有变化。
这里,e只是一个固定数字,大概2.718,在数学中随处可见。所以exp(0.9)就是2.718的0.9次幂。你不需要手动计算。计算器会给出值。重要的是模式:更大的得分产生更大的exp值。
步骤1: 计算每个得分的exp(x)。
-
exp(0.9) = 2.460
-
exp(0.6) = 1.822
-
exp(0.3) = 1.350
步骤2: 将它们加起来。
- 总和 = 2.460 + 1.822 + 1.350 = 5.632
步骤3: 每个除以总和。
-
p(GPT) = 2.460 / 5.632 = 0.437
-
p(Opus) = 1.822 / 5.632 = 0.324
-
p(Gemini) = 1.350 / 5.632 = 0.240
所以软目标是 (0.437, 0.324, 0.240)。这是一个概率分布,只是一组数字,表示每个选项的可能性有多大,并且总和为1,如同所有概率应该的那样。
让我们用简单的话来解读。目标表示GPT约有44%的时间是最佳选择,Opus约32%,Gemini约24%。注意,它没有说“总是GPT“。它保留了Opus也是一个强有力的备选这一事实。当多个模型相似地优秀时,这个更丰富的信号能帮助Fugu做出稳健的选择。
温度T做什么?较小的T使分布更尖锐,将更多权重放在最佳模型上。较大的T使它更平坦,使模型更平等。它让我们控制Fugu偏向顶级模型的强度。
现在Fugu被训练来预测这个目标。就像我们将奖励转换为概率一样,Fugu自身的选择头得分也通过softmax,因此Fugu也输出一组数字,总和为1,每个模型一个。我们称此为Fugu的预测分布。然后使用KL散度将Fugu的预测分布与软目标进行比较,它衡量两个概率分布之间的距离。
训练损失是:
\mathcal{L}_{\text{SFT}} = \frac{1}{N} \sum_{q} D_{KL}\big(p(\cdot) \,\|\, \pi(\cdot \mid q)\big)
其中:
-
π(· | q) 是Fugu给问题q输出的分布。
-
p(·) 是软目标分布。
-
D_KL 是Kullback-Leibler散度。
-
N 是问题的数量。
这是使Fugu知道哪个模型通常更适合哪种问题的第一阶段。
在现实任务中打磨Fugu——进化策略
SFT之后,Fugu有一个好的基础,但论文通过进化策略引入了第二阶段,以在现实多步任务上优化它。进化策略是一个受自然选择启发的概念。它通过随机变异一个拷贝来评估性能,因此它智能地在多个方向上尝试,并朝着更好的方向调整Fugu。这是Fugu学习真实世界中棘手细节的地方。
在这一阶段,Fugu在真实用户交互上进行评估。使用带有内部思考过程的模型(如DeepSeek r1和Gemini 2.0 Flash Thinking)来评判Fugu的选择,而不是使用简单的外部评分器。评判者根据最终输出、成本和延迟对Fugu的表现打分。这种组合训练方法使Fugu不仅理论上表现出色,在实际使用中也能做出明智、高效的选择。
现在,我们已经了解了Fugu(快速版本)。
现在,让我们更多地了解Fugu-Ultra。
Fugu-Ultra如何指挥乐团——指挥者
Fugu-Ultra基于Sakana AI的指挥者,一个更高级的编排系统。与Fugu不同,Fugu-Ultra不满足于只选择一个工人模型。它安排多个工人模型在一个计划中协同工作。在每个步骤中,它决定下一步调用哪个模型,以及如何使用前一步的输出。这类似于人类专家团队合作:一个人思考,另一个人验证,第三个人完善。
指挥者框架涉及三种角色:指挥者、工人和共同点。
指挥者是Fugu-Ultra本身,它是一种旨在像项目管理者一样思考的语言模型。工人是API调用。共同点是工人之间传递的消息,称为共同点。
这是流程示意图:
用户查询
|
v
[ Fugu-Ultra ]
(指挥者主体)
|
生成计划
|
+-------+-------+------+
| | |
v v v
工人1 工人2 工人3
(GPT) (Opus) (Gemini)
| | |
+-------+-------+------+
| (共同点)
v
[ Fugu-Ultra ]
(分析并决定下一步)
|
继续或停止
在每个步骤,Fugu-Ultra分析当前共同点并决定下一步调用哪个模型。一旦共同点充分,它生成最终答案。
Fugu-Ultra使用不同的训练方式,即GRPO。
教会Fugu-Ultra指挥——GRPO
GRPO代表群体相对策略优化,是命令Fugu-Ultra在编排多个模型时做出适当决策的训练算法。
核心概念是GRPO通过比较同一输入生成的多个候选计划的奖励来工作,而不是依赖单独的批评者模型。这简化了训练。
对于每个训练样本,Fugu-Ultra生成一组候选计划。对于每个计划,计算一个奖励,反映计划的质量。然后计算所有候选奖励的平均值。每个计划的优势被计算为其奖励与平均奖励之差。如果计划比平均水平好,其优势为正;否则为负。当我们更新Fugu-Ultra升级其参数时,我们倾向于放大那些在共同点上给出高优势的行动的概率,并降低低优势行动的概率。还添加了一个KL散度惩罚,以防止Fugu-Ultra在更新期间偏离其原始策略(即其思考方式)过远。这保持了稳定性。
阻止智能体互相复制
在Fugu-Ultra中,一个关键挑战是,如果它总要求熟悉的模型,它可能会简单地反复调用一个模型。为了鼓励真正的分工,论文引入了一个多样性奖励。如果同一个模型被分配了太多任务,这个奖励会施加惩罚,促使Fugu-Ultra在更广泛的模型之间分配工作。如果没有这个多样性奖励,系统往往会收敛于一直使用一个高性能模型,从而浪费了集合中其他模型的潜在优势。
多样性奖励是总奖励的一部分,它量化了在计划中使用的不同模型的数量。这让Fugu-Ultra使用模型多样性,并防止它被困在局部最优解上,使系统能够利用多种模型的优势,而不是依赖单一专家。
Fugu表现如何?
该论文在各种基准上对Fugu和Fugu-Ultra进行了评估,包括数学、编程和安全。结果令人印象深刻。Fugu(快速版本)与单一领先模型(如GPT-5.5)相比,实现了更高的准确性,同时保持了低延迟。Fugu-Ultra在多步推理和需要多样化技能的任务上表现更佳,通常性能上超过任何单一模型组合。
在特定基准上,Fugu-Ultra在涉及编程和安全的问题集上实现了超过90%的准确率,而最好的单一模型在这些任务上大约是80-85%。这表明多模型协作的价值,特别是在复杂问题需要不同的专长来完成不同部分时。
Fugu自己发现的巧妙策略
论文中一个迷人的部分是Fugu-Ultra自行发现的任务解决方法。由于GRPO允许系统探索和发现新的编排模式,它发现了人类分析师可能未曾想到的策略。一个例子是镜像验证策略:Fugu-Ultra学会了通过让一个工人(例如Opus)分析一个工人(例如GPT)的输出来双重检查工作,但仅当首次输出可能包含错误时才这样做。这类似于在发布代码前进行同行评审,但系统自发地学会了何时应用此模式。
另一个自发的策略是分而治之:对于大型编码任务,Fugu-Ultra学会了自主地将问题分解为子任务,将不同的子任务分配给不同的工人(例如GPT用于逻辑、Opus用于实现),然后集成解决方案。这展示了对任务分解的高阶理解,这是在没有人类处理的情况下从经验中涌现出来的。
快速总结
-
Sakana Fugu 是一个编排AI模型的家族,其工作原理就像乐团的指挥家。
-
Fugu不是直接回答问题,而是读取问题,决定哪些其他AI模型应该协作,以及如何整合它们的输出。
-
集体智慧是Fugu背后的概念——一组模型共同工作比任何单个模型更聪明。
-
Fugu 是快速版本,擅长日常任务,选择一个最优工人。
-
Fugu-Ultra 是为复杂多步任务设计的,创建一个使用多个工人的计划。
-
轻量选择头是使Fugu快速的关键——它读取隐藏状态并输出每个工人的分数,无需生成文本。
-
Fugu通过两个阶段进行训练:监督微调(来自软目标)和进化策略(现实任务优化)。
-
Fugu-Ultra使用GRPO训练,这是一种通过比较候选计划来优化编排的策略算法。
-
多样性奖励防止Fugu-Ultra反复调用同一模型,鼓励它利用整个模型池。
-
Fugu在多个基准上超越了单一模型,并在训练过程中自行发现了巧妙的编排策略。
这篇博客非常详细,包含数学和图表。希望你觉得有用。如果你正在处理复杂的AI工作流,考虑利用Fugu的概念来构建你自己的编排层。感谢阅读。
相似文章
Sakana Fugu
Sakana Fugu 通过单一 API 动态编排多种顶级模型,以处理复杂的多步骤任务。它利用其在 ICLR 2026 论文中提出的学习型编排方法,实现了前沿水平的性能,同时避免了对单一供应商的依赖。
@eliebakouch: 明确一下,这是一个建立在闭源模型之上的闭源编排器。如果以前你无法控制模型...
Elie Bakouch 批评 Sakana AI 的 Fugu 系统是一个建立在闭源模型之上的闭源编排层,认为它缺乏透明度和真正的人工智能主权,并在路由和成本效率方面存在技术限制。
Sakana Fugu
Sakana Fugu 是一个新工具,能够将多个AI模型组合成一个,受“一个模型统领所有”概念的启发。
Sakana Fugu(三分钟阅读)
Sakana AI 推出 AB-MCTS,一种推理时缩放算法,使多个前沿 AI 模型(Gemini 2.5 Pro、o4-mini、DeepSeek-R1-0528)协同工作,在 ARC-AGI-2 基准测试中显著优于单个模型。
@loretoparisi: LLM Fusion 时代刚刚开始。
Sakana AI 发布了 Fugu Ultra,这是一个编排层,通过统一的 OpenAI 兼容端点将子任务路由到多个模型,性能与领先系统相当。