周六晚上,一家老字号餐厅的后厨进入白热化状态。主厨一个人要面对几十张订单,既要洗菜、又要切配、还要同时看两口锅,手忙脚乱,顾客久等,差评一堆。老板痛定思痛,把后厨改造成一条流水线:有人专职切配,有人专职炒菜,有人专职做甜点,传菜员只负责把订单和菜品送到对应窗口,主厨只做“排菜”和“把关”。每位师傅都只擅长一两个拿手活,但整条班子一运转,出菜速度反而翻了几倍。这就是协作的力量——单个师傅能力有限,一个组织起来的分工体系却能扛住整条街的客流。 这篇文章要讲的SLM多Agent协同框架,就是把同样的思路用在“小语言模型”身上。单个SLM参数少、能力薄,干不了复杂的任务;但若按角色把多个SLM组织成一支“AI后厨班底”——有人拆解任务、有人执行计算、有人传递消息、有人审查结果——它们就能在手机、智能音箱、车载盒子这类资源有限的设备上,完成过去只有云端大模型才敢接的复杂活儿。接下来,我们就从后厨的视角,一步步拆解这套框架的设计要点。

岗位关联

掌握SLM多Agent协同设计,你就能在算力稀缺的端侧设备上搭建复杂的多智能体系统,摆脱对云端大模型的依赖,这是端侧AI与多Agent系统交叉方向的核心竞争力。

目录
  1. 可视化演示
  2. 角色分工设计
  3. 通信协议机制
  4. 任务分配策略
  5. 结果聚合机制
  6. 架构设计原则
  7. 资源受限适配
  8. AI 应用场景
  9. Python 演示
  10. 常见误区
  11. 面试题

可视化演示

展示小语言模型多Agent协同框架:编排器协调规划者、执行者、审查者三类角色,通过结构化通信协议实现任务分配与结果聚合。切换模式查看不同协作机制。

本节配有交互动效(进入视口后自动加载,约 3KB)。

多Agent协作架构 编排器(Orchestrator)负责任务分解、Agent调度与结果聚合 规划者制定计划、执行者完成任务、审查者校验质量 能力 = Σ Agent_i × 协作效率 多SLM协作弥补单模型能力不足

角色分工设计

后厨里没有谁是全能的。主厨不切菜,切配师傅不炒菜,传菜员不掌勺,品控师傅只检查不烹饪。每个人都只干自己最拿手的活,菜品质量才能稳定下来。SLM多Agent框架也遵循同样的逻辑:单靠一个“什么都会一点”的小模型,远不如把一个团队拆成明确角色、各守一摊来得可靠。

在SLM多Agent协同系统中,“角色分工”是最顶层的设计决策。一个典型的架构包含四种角色:决策者Agent负责拆解用户请求、决定子任务派发给谁;执行者Agent接收分配的任务,用自身的小模型能力完成具体子任务;协调者Agent维护整个系统的运行状态,同步各Agent进度,处理依赖关系;监督者Agent负责检查输出质量,过滤低质量或有害结果,防止“垃圾进垃圾出”。这四种角色既可以由同一个SLM通过不同提示词切换,也可以分配给多个独立的SLM实例。

如何判断一个任务该交给谁?我们可以用匹配度分数来量化。

这就像主厨在菜单上勾选“这道菜归哪个师傅”:川菜找川菜师傅,甜品找甜品师傅。角色分工的价值,就是让每个Agent永远只做自己最擅长的菜。

P(Ai,Tj)=∑k=1mwk×fk(Ai,Tj)\displaystyle P(A_i, T_j) = \sum_{k=1}^{m} w_k \times f_k(A_i, T_j)
这个公式用来计算“让 Agent i 去执行任务 j 到底合不合适”,分数越高,越应该把任务派给它。
  1. 匹配度定义$P(A_i, T_j)$ 表示第 $i$ 个 Agent 执行第 $j$ 个任务的匹配度分数,值越高表示越合适。
    P(Ai,Tj)\displaystyle P(A_i, T_j)
  2. 能力的加权求和$\sum_{k=1}^{m}$ 对 $m$ 种能力逐项累加,每一项是能力权重 $w_k$ 与能力函数 $f_k$ 的乘积。
    ∑k=1mwk×fk(Ai,Tj)\displaystyle \sum_{k=1}^{m} w_k \times f_k(A_i, T_j)
  3. 能力函数取值$f_k(A_i, T_j)$ 在 Agent 擅长该能力时返回 1,不擅长时返回 0,$w_k$ 表示该能力对任务的重要程度。
    fk(Ai,Tj)∈{0,1}\displaystyle f_k(A_i, T_j) \in \{0, 1\}

通信协议机制

后厨高峰期最怕传菜员对所有厨师喊“这个菜是谁的?”每个人都被打断,切配的手一抖,炒菜的火候就过了。所以餐厅规定了一套喊话格式:“五号桌宫保鸡丁”只有炒锅师傅响应,“三号桌蒸鱼”只有蒸锅师傅接。统一的喊话方式,就是后厨的通信协议。

Agent之间也一样。通信协议要回答三个问题:消息长什么样?消息怎么送达?谁优先送达?在SLM多Agent框架中,消息通常采用结构化的JSON格式,至少包含发送者、接收者、消息类型和载荷内容四个字段。路由方式主要有四种:广播适合一对多通知,比如决策者向所有执行者广播任务;轮询是接收方每隔一段时间主动查询消息队列,实现简单但实时性一般;令牌传递让一个令牌在环形网络里按顺序流转,只有拿到令牌的Agent才允许发言,从物理上避免消息冲突;优先级通道则为紧急消息开辟一条“快车道”,让高优任务插队。

通信不可能永远成功,所以协议还要考虑可靠重试。一条消息发一次可能会丢,重试 $n$ 次后到达的概率是多少?

传菜员喊一次没应就再喊一次,只要重复足够多次,厨师总能听到。通信协议的意义,就是让“喊话”既有格式可依,又有可靠的兜底。

Rmsg=1−(1−p)n\displaystyle R_{msg} = 1 - (1-p)^n
这是“传菜员喊了三遍,厨师至少听到一遍”的概率。
  1. 单次成功率$p$ 表示一条消息单次发送成功的概率,例如网络状况良好时 $p=0.7$。
    p\displaystyle p
  2. 连续失败概率$1-p$ 是单次失败的概率,$(1-p)^n$ 是连续失败 $n$ 次的概率,值越小说明重试越有效。
    (1−p)n\displaystyle (1-p)^n
  3. 重试总成功率用 $1$ 减去连续失败概率,得到重试 $n$ 次后消息至少成功一次的总概率,这是衡量通信可靠性的关键指标。
    1−(1−p)n\displaystyle 1 - (1-p)^n

任务分配策略

主厨不会把所有凉菜都堆给一个师傅。他扫一眼每个人的排队数量,手头活儿少的师傅优先接新菜单。任务分配的本质,就是“能力匹配”和“负载均衡”的双重博弈。

在SLM多Agent架构中,任务分配的目标有三个:做得好、做得快、别累垮。能力匹配是硬约束,任务优先发给技能项命中的Agent;负载均衡用于防止某一个Agent的推理队列过长;动态调度在运行过程中根据实时负载持续微调;失败重试则在某Agent执行失败后把任务转交给下一个合适的Agent。

整体完工时间由谁决定?答案是系统里最慢的那个环节。设 Agent i 当前队列负载为 $L_i$,新任务预估耗时 $a_i$,则全体完工时间可以表示为:

主厨只要盯着最忙的那个师傅,保证他的排队不超阈值,整条出菜线就稳了。

Tmakespan=max⁡i(Li+ai)\displaystyle T_{makespan} = \max_{i} \left( L_i + a_i \right)
系统总完成时间 = 所有Agent中“已有负载 + 新任务耗时”的最大值,也就是瓶颈师傅的完工时间。
  1. 单个Agent总耗时$L_i$ 表示 Agent i 队列中已有任务的预估总耗时,$a_i$ 是新任务的执行时间,两者相加是它要承担的总时间。
    Li+ai\displaystyle L_i + a_i
  2. 瓶颈最大耗时$\max_{i}$ 对全体 Agent 取最大值,这个最大值就是系统的最慢环节,也叫完工时间。
    max⁡i(Li+ai)\displaystyle \max_{i} \left( L_i + a_i \right)
  3. 最小化目标任务分配算法的目标,就是通过合理安排新任务归属,让这个最大值尽可能小。
    min⁡max⁡i(Li+ai)\displaystyle \min \max_{i} \left( L_i + a_i \right)

结果聚合机制

一道菜出锅前,主厨会亲自尝一口、看看色泽,还会让身边的师傅互相打量一眼。确认没跑味,才肯走菜。多个Agent分别给出答案之后,同样需要一个“走菜”环节——把零散结果聚合成一个可信的最终答案。

结果聚合要解决两件事:谁说了算?意见矛盾怎么办?常用的机制有四种。投票表决是最直接的方式,少数服从多数;加权融合更进一步,每个Agent按置信度或历史准确率拥有不同权重,权重高者的意见更算数;管道接力适合顺序型任务,比如一个Agent负责检索、下一个Agent负责总结、再下一个负责润色;冲突消解负责兜底,当不同Agent的答案严重冲突时,要么选置信度最高的,要么直接返回“不确定”让用户澄清。

多个Agent各自的投票如何合并成最终答案?加权投票的数学表达如下:

几个师傅都说“咸了”,那这道菜就真的咸了;只有一个人说咸、其他人沉默,那就按多数人的感受上菜。结果聚合,就是把个体判断升级为团队判断。

Y=arg⁡max⁡c∑i=1nwi×1(yi=c)\displaystyle Y = \arg\max_{c} \sum_{i=1}^{n} w_i \times \mathbb{1}(y_i = c)
每个Agent投一票,按权重计分,得分最高的类别就是团队的最终答案。
  1. 单个Agent的答案$y_i$ 是第 $i$ 个 Agent 给出的答案,可以是分类标签,也可以是生成内容的主题类别。
    yi\displaystyle y_i
  2. 指示函数计票$\mathbb{1}(y_i = c)$ 是二值函数,当 Agent i 的答案恰为类别 $c$ 时取 1,否则取 0,相当于一张选票。
    1(yi=c)\displaystyle \mathbb{1}(y_i = c)
  3. 加权投票与胜出$\sum_{i=1}^{n} w_i \times \mathbb{1}(y_i = c)$ 对全体 Agent 加权计票,再用 $\arg\max_{c}$ 选出加权票数最高的类别作为最终答案。
    arg⁡max⁡c∑i=1nwi×1(yi=c)\displaystyle \arg\max_{c} \sum_{i=1}^{n} w_i \times \mathbb{1}(y_i = c)

架构设计原则

后厨的动线决定了出菜效率:备菜区、炒菜区、出菜口互不交叉,一个灶台坏了,其他灶台照常烧。多Agent系统也一样,角色和通信方式定好之后,还需要几条顶层架构原则来保证整个团队长期稳定。

第一条是去中心化。不要把所有控制逻辑放在一个Agent身上,否则它一旦崩溃全系统瘫痪。第二条是模块化插拔。每个Agent最好是独立模块,换掉一个执行者不必改动其他组件。第三条是协议标准化。消息格式公开统一,不同Agent之间才能自由互操作,新Agent也能即插即用。第四条是故障隔离。某个Agent出错时,错误应该被限制在局部,而不是沿消息链扩散传染。

这四条原则最终都指向一个量化目标——系统可用性。假设每个Agent的可用性为 $A_i$,系统只要有任意一个Agent存活就能继续运行,那么整体可用性为:

哪怕一个师傅临时请假,只要其他师傅还在灶台上,后厨就能继续出菜。架构设计给系统的“余量”,就是它在意外面前的底气。

Asys=1−∏i=1n(1−Ai)\displaystyle A_{sys} = 1 - \prod_{i=1}^{n} (1 - A_i)
所有Agent同时挂掉的概率越小,系统整体就越可靠。
  1. 单个Agent不可用概率$1 - A_i$ 是第 $i$ 个 Agent 发生故障的概率,可用性越高,故障率越低。
    1−Ai\displaystyle 1 - A_i
  2. 全体同时故障$\prod_{i=1}^{n}$ 把所有 Agent 的故障率连乘,得到它们同时全部故障的概率。
    ∏i=1n(1−Ai)\displaystyle \prod_{i=1}^{n} (1 - A_i)
  3. 系统可用性用 $1$ 减去联合故障概率,得到系统至少有一个 Agent 可用的总可用性,它比任何一个单点都高。
    1−∏i=1n(1−Ai)\displaystyle 1 - \prod_{i=1}^{n} (1 - A_i)

资源受限适配

小店后厨就一张案板、两口灶,但照样能出菜单上的每一道菜。秘诀是什么?提前把复杂菜式的半成品备好,高峰时快速组合出餐。SLM要跑在手机、智能音箱、车载盒子上,同样得精打细算。

资源受限适配有四个常用手段。模型量化把模型权重从32bit浮点数压成8bit整数,内存占用直接缩到四分之一;内存调度通过分时复用和按需加载,保证多个Agent不打架;算力分摊利用多核CPU或NPU并行执行不同Agent的推理任务;离线运行依赖本地权重和缓存,断网也照常服务。这套组合拳,让“微型后厨”也能撑起整张菜单。

但压缩是有代价的。量化前后的数值差异,会直接影响模型输出质量。我们定义量化误差为:

菜谱从精装版变成口袋本,关键配料和火候比例还在,端上来的菜味道就差不了太远。资源受限适配,就是用工程手段把“味道损失”控制到最低。

E=∥x−Q(x)∥2\displaystyle E = \left\| x - Q(x) \right\|^2
量化前后的向量差平方和,误差越小,压缩后的模型越接近原版。
  1. 量化前后差值$x$ 是原始模型的激活向量,$Q(x)$ 是经过量化再反量化的近似向量,两者相减得到损失。
    x−Q(x)\displaystyle x - Q(x)
  2. 平方范数误差$\left\| \cdot \right\|^2$ 对差向量的每个分量求平方和,把多维误差压缩成单一数值,误差越大说明量化越激进。
    ∥x−Q(x)∥2\displaystyle \left\| x - Q(x) \right\|^2
  3. 量化目标设计方案的目标是在内存约束下让 $E$ 尽量接近 0,使量化后的模型行为与原模型保持一致。
    E→0\displaystyle E \to 0

AI 应用场景

智能家居离线语音助理

阶段:端侧多Agent协作推理与任务执行

解决的问题:家中断网时,智能音箱无法调用云端大模型。单个端侧SLM既要听懂方言口音,又要理解设备控制语义,还要处理多轮对话,经常顾此失彼。多Agent分工后,每个SLM只负责一个窄环节,任务被拆解为“语音识别→意图解析→设备控制→结果复核”流水线。

具体案例:住户对音箱说“把客厅灯调暗一半,空调设到26度”。执行者Agent A完成语音转文字,执行者Agent B解析出“灯→亮度50%”“空调→26℃”两条指令,决策者Agent将指令分别派发给对应设备驱动模块,监督者Agent核对设备状态变化与用户意图是否一致,最终聚合输出“已为您调整”。

工业产线边缘质检

阶段:多Agent协作感知与结果聚合

解决的问题:产线上单个SLM只能识别一种瑕疵,精度不够且极易漏检。多个SLM各管一项检测指标,再由聚合Agent综合判断,既降低了单个模型的参数量,又提升了整体检出率。

具体案例:手机外壳质检线上,Agent A 检测划痕,Agent B 检测色差,Agent C 检测装配缝隙。三个Agent分别输出“合格/不合格”及置信度,协调者Agent收集结果后做加权投票:两个及以上判不合格则整机下线,否则放行。监督者Agent每隔一小时抽查聚合结果,防止某个Agent因数据漂移而失准。

Python 演示

python78 行
import randomfrom collections import Counter  class Agent:    def __init__(self, name, role, skills):        self.name = name        self.role = role        self.skills = set(skills)        self.load = 0        self.mailbox = []     def receive(self, task):        self.mailbox.append(task)     def respond(self, task):        if task["type"] in self.skills:            return self.name, task["type"], 0.9        if random.random() < 0.2:            return self.name, "guess", 0.3        return self.name, "none", 0.0  def dispatch(agents, task):    best = None    score = -1.0    for agent in agents:        s = 1.0 if task["type"] in agent.skills else 0.0        s -= agent.load * 0.05        if s > score:            score = s            best = agent    return best  def aggregate(results, lead_name):    votes = Counter()    total = 0.0    for name, answer, conf in results:        if answer == "none" or conf <= 0:            continue        weight = conf + (0.5 if name == lead_name else 0.0)        votes[answer] += weight        total += weight    if not votes:        return "none", 0.0    top = votes.most_common(1)[0]    return top[0], top[1] / total  def main():    agents = [        Agent("chief", "coordinator", ["plan", "route"]),        Agent("worker_a", "executor", ["parse", "fetch"]),        Agent("worker_b", "executor", ["classify"]),        Agent("supervisor", "supervisor", ["verify"]),    ]    tasks = [        {"type": "parse", "text": "turn on light"},        {"type": "classify", "text": "cat photo"},        {"type": "plan", "text": "go to station"},    ]    for task in tasks:        lead = dispatch(agents, task)        print("ASSIGN {} -> {}".format(task["type"], lead.name))        results = []        for agent in agents:            agent.receive(task)            results.append(agent.respond(task))        answer, conf = aggregate(results, lead.name)        print("RESULT {} conf={:.0%}".format(answer, conf))        for agent in agents:            if agent.name == lead.name:                agent.load += 1  if __name__ == "__main__":    main()
目的:搭建一个含四个角色的SLM多Agent协作原型,演示任务分配(能力匹配+负载扣减)和结果聚合(加权投票)的核心逻辑。
  1. class Agent:定义一个Agent类,封装名字、角色(coordinator/executor/supervisor)、技能集合、当前负载和消息邮箱。
  2. def respond(self, task):Agent对任务作答:命中技能返回0.9置信度的答案,否则有20%概率随机猜一个低置信度答案,其余返回"none"。
  3. def dispatch(agents, task):任务分配函数:匹配技能得1分,再减去负载乘以0.05的惩罚项,得分最高者接单。
  4. s = 1.0 if task["type"] in agent.skills else 0.0能力匹配的硬编码逻辑:擅长该类型任务就加分,不然不加。
  5. def aggregate(results, lead_name):结果聚合函数:对每个有效答案按置信度加权,领衔Agent额外加0.5权重。
  6. weight = conf + (0.5 if name == lead_name else 0.0)权重设计:执行者本身置信度越高权重越大,被选中的主导Agent再加成。
  7. top = votes.most_common(1)[0]取加权票数最高的答案作为团队最终结果。
  8. agent.load += 1每次任务完成后给接单Agent增加负载,让后续分配自动避开热点。

常见误区

误区既然单个小模型能力弱,那开一百个也一样弱,不如直接上一个云端大模型,省心又强大。多Agent只是花架子。

正解这个想法忽略了一个关键事实——任务可以被拆解。单个SLM干不了“语音识别+意图理解+设备控制”的全链路,但每个环节只抽一个窄任务时,小模型完全能胜任。就像切配师傅不会炒菜,但切菜比大厨还快。多个SLM按流水线协作,能完成超出单个模型能力边界的复杂任务,而且功耗、延迟、隐私都优于调用云端大模型。

为何常见:人们习惯把模型能力等同于参数规模,忽略了系统架构设计和任务拆解也能成倍放大系统的整体能力。

误区启动好几个SLM实例,把用户的问题抛给它们,让它们在对话框里你一言我一语地“讨论”出答案,这就是多Agent协作。

正解无组织的自由对话必然产生混乱:谁先说?听谁的?消息格式不统一,Agent之间根本无法解析对方输出。真正的多Agent协同需要严格的角色分工、结构化的消息格式和明确的聚合机制。后厨里传菜员不能对着全厨房喊“菜来了”,必须喊“五号桌宫保鸡丁交给炒锅师傅”。

为何常见:Agent这个词让人天然联想到“自由对话”,忽略了工业级系统设计中对秩序和结构的依赖。

误区让所有Agent随时交换所有信息,沟通越多协作越紧密,系统应该更聪明。

正解通信是有成本的——每条消息都要占用带宽、消耗内存、增加推理时间。盲目高频通信会让系统陷入“闲聊”,甚至造成消息风暴。好的协同框架会设计合理的通信频率、精简消息内容,并用广播、令牌、优先级等机制控制通信开销。不是话越多越好,而是该说的时候说、不该说的时候闭嘴。

为何常见:直觉上“多沟通”总是好的,但资源受限的端侧场景下,通信开销直接挤占推理资源,反思这一点需要工程视角。

误区既然多Agent框架这么强,那我所有任务都让四五个Agent一起上,肯定比单个模型效果好。

正解多Agent协作会引入通信延迟、聚合误差和系统复杂度。对于“2+2等于几”这类简单任务,单Agent一步就能答对,强行协作反而降低了效率。好的系统会先评估任务复杂度:简单任务走单Agent快车道,复杂任务才启用协作班组。就像后厨小炒单锅单出,宴席才全班人马。

为何常见:学会一个框架后容易“手里拿着锤子,看什么都像钉子”,过度设计是工程师的常见冲动。

面试题

Q1. 在SLM多Agent协同中,负责把大任务拆解并派发给其他Agent的角色是?

单选题 · easy

  • A.决策者Agent(拆解分派)← 正确答案
  • B.执行者Agent(具体干活)
  • C.监督者Agent(质量把关)
  • D.协调者Agent(状态同步)

答案:A。决策者Agent负责拆解用户请求并决定子任务派发给谁,类似主厨排菜。执行者只管执行,监督者管质量,协调者管状态同步。选B就混淆了“规划”与“执行”两层职责。

Q2. 以下哪种通信方式适合一对多通知全部Agent?

单选题 · easy

  • A.令牌传递
  • B.串行单播
  • C.广播发送← 正确答案
  • D.点对点握手

答案:C。广播是一对多高效通知方式,决策者通知所有执行者时最合适。令牌传递用于避免冲突,单播和点对点都是一对一通信,效率上无法一次覆盖所有Agent。

Q3. 设Agent A负载为5,新任务预估耗时2;Agent B负载为1,新任务预估耗时3。按“最小化最大完成时间”应选谁?

单选题 · mid

  • A.选择A,总耗时更短
  • B.选择B,最大完成时间为4← 正确答案
  • C.选择A,完成时间为7
  • D.两者完成时间相同

答案:B。A的最大完成时间为max(5,5+2)=7,B的最大完成时间为max(1,1+3)=4。选B时系统整体完工时间更短,符合“最小化最大完成时间”的目标,所以应选B。

Q4. 加权投票中,两个Agent权重分别为0.8和0.2,回答分别为“猫”和“狗”,最终结果是?

单选题 · mid

  • A.狗,因为权重不能决定答案
  • B.猫,因为权重更高者胜出← 正确答案
  • C.猫狗混合答案
  • D.无法判断需要多数

答案:B。加权投票按权重计票,“猫”得0.8分,“狗”得0.2分,猫的加权票数更高。权重代表Agent的可信度,高权重Agent的意见理应占更大比重,所以最终结果是猫。

Q5. 以下哪些做法有利于SLM多Agent系统的可靠性与扩展性?

多选题 · mid

  • A.消息格式标准化← 正确答案
  • B.模块化插拔设计← 正确答案
  • C.去中心化部署← 正确答案
  • D.全部任务集中调度

答案:ABC。标准化让新Agent即插即用,模块化让组件可独立替换,去中心化避免单点故障,都提升可靠性和扩展性。而“全部任务集中调度”会形成单点瓶颈和单点故障,与可靠性目标相悖。

Q6. 两个Agent可用性分别为0.9和0.8,用公式 $A_{sys} = 1 - \prod (1-A_i)$ 计算系统可用性为?

单选题 · hard

  • A.0.72
  • B.0.85
  • C.0.98← 正确答案
  • D.1.70

答案:C。代入公式:1-(1-0.9)×(1-0.8)=1-0.1×0.2=0.98。系统只要至少一个Agent存活就能工作,因此整体可用性 0.98 高于任一单点。A是两者同时可用的概率,B是平均数,D超过1不可能。

Q7. 资源受限设备上部署SLM,最有效控制内存并保留语义能力的方法是?

单选题 · hard

  • A.8bit模型量化← 正确答案
  • B.无限长上下文
  • C.同时部署多个大模型
  • D.提高采样温度参数

答案:A。8bit量化把参数从32bit压到8bit,内存降为四分之一,语义能力损失有限。无限上下文和多模型部署恰恰增加内存压力,采样温度只影响生成随机性,与内存无关。

Q8. 关于SLM多Agent通信协议,下列说法正确的有?

多选题 · hard

  • A.令牌传递避免消息冲突← 正确答案
  • B.广播适合一对多通知← 正确答案
  • C.轮询方式实时性最高
  • D.优先级通道保障紧急任务← 正确答案

答案:ABD。令牌传递保证同一时刻只有一个发送者,从机制上杜绝冲突;广播天然适合一对多通知;优先级通道让紧急消息插队。轮询有固定询问间隔,紧急消息必须等下一次轮询,实时性反而不高,所以C错误。

Q9. 监督者Agent的主要职责是?

单选题 · easy

  • A.输出质量与安全把关← 正确答案
  • B.生成最终答案
  • C.解析用户输入
  • D.管理历史消息

答案:A。监督者类似后厨品控师傅,负责检查Agent输出是否合格,防止错误或有害结果流出。生成答案是决策者和执行者的职责,解析输入是入口模块的事,管理历史消息属于协调者范畴。

Q10. 以下哪些属于多Agent结果聚合的正确机制?

多选题 · mid

  • A.多数投票表决← 正确答案
  • B.置信度加权融合← 正确答案
  • C.管道接力精炼← 正确答案
  • D.取最后Agent结果

答案:ABC。投票表决、加权融合、管道接力都能有效聚合多个Agent的输出,各自适用于不同场景。只取最后一个Agent的结果会丢失前面所有Agent的信息,且最后一个Agent未必最可靠,不属于正确的聚合机制。