SCOPE本章边界
本章只讨论什么时候值得从单 Agent 升级到受控委派,以及 manager-as-tool、handoff、权限继承、trace merge 的边界。它不把多 Agent 当默认解法。
30 SEC面试开口版
我会先把单 Agent 做稳,再做多 Agent。第一版不做 swarm,而做单层委派:主 Agent 负责拆任务和最后综合,子 Agent 拿到自包含 goal、必要 context、受限 toolsets、独立预算和 trace id。子 Agent 不继承完整历史,不获得比父 Agent 更多的权限,最后只回传结构化摘要和轻量 tool trace。这样能并行,但不会把系统复杂度放飞。
理解与记忆 · 术语、解析、关联知识点
| 专业术语 | Delegation:父 Agent 把一个自包含子任务交给受控子 Agent 执行。 delegateTask:把子 Agent 当特殊工具调用的结构化接口。 Context Isolation:子 Agent 只拿任务必需上下文,不复制父 Agent 全量历史。 Toolset:子 Agent 可用工具集合。 Budget Isolation:父子 Agent 分别有轮次、token、时间和成本预算。 Trace Merge:把子任务轨迹归并回父任务,保留因果关系和证据链。 |
| 为什么这样回答 | 多 Agent 面试最容易答成“多个专家一起讨论”。30 秒版先降温:先说不做 swarm,先做单层委派,突出控制权、权限和证据回流,比泛泛说“并行提升效率”更像生产系统。 |
| 小白解析 | 多 Agent 不是把一群人拉进群聊就会变聪明。更像项目经理把三个明确工单派给三个人:每个人只看到自己要做的材料,只能用被批准的工具,最后交付结论和证据。项目经理负责综合和兜底。 |
| 关联知识点 | learn-agent 的 Delegation Runtime 强调 delegate 是一种特殊工具,父级保留控制权;Deep Agents subagents 强调 context quarantine;OpenAI Agents SDK 区分 manager-as-tool 和 handoff;Guga 早期更适合单层委派和小并发上限。 |
1 MIN一分钟口语版
多 Agent 的本质不是多几个模型一起聊天,而是把复杂任务拆成隔离、可预算、可审计的工作单元。我会从 tool-calling 形态开始:父 Agent 把子 Agent 当成一种特殊工具调用。delegateTask 里传 goal、context、toolsets、max iterations、timeout 和 trace id。子 Agent 有自己的 history 和预算,工具权限等于父权限和用户指定权限的交集,再减掉危险工具。结果回流时,不回传完整 transcript,而是结构化 summary、证据、状态、用量和轻量 trace。这样能并行,也能避免上下文污染、递归委派和成本爆炸。
理解与记忆 · 术语、解析、关联知识点
| 专业术语 | Tool-calling Multi-agent:中心化协作,父 Agent 把子 Agent 当工具调用。 Handoff:去中心化交接,当前活跃 Agent 把对话控制权交给另一个 Agent。 Task Package:子任务包,包含 goal、scope、context、tools、budget、output contract。 Permission Bridge:子 Agent 的权限请求回流给父 Agent 和用户确认。 Result Contract:子 Agent 返回 claim、evidence、confidence、open questions、usage 等结构化结果。 Join / Review:父 Agent 合并、复核和采纳子结果的阶段。 |
| 为什么这样回答 | 1 分钟版要把协作拆成数据流:拆任务、建任务包、隔离执行、回传证据、父级审阅。这样能主动回答权限放大、上下文污染、成本失控和结果伪造这些追问。 |
| 小白解析 | 如果让三个助手自由聊天,他们可能越聊越偏、互相复述、还不知道谁负责。更稳的方式是:主助手写清楚任务、材料、工具、截止时间和交付格式;子助手做完只交结论和证据;主助手再检查证据有没有对上。 |
| 关联知识点 | Anthropic 建议优先使用简单可组合模式,不要过早堆复杂 agentic system;OpenAI Agents SDK 支持 agent-as-tool 与 handoff;AutoGen teams 需要 termination condition;learn-agent 明确父子 trace、scope、result contract 和失败回收。 |
FLOW委派闭环
委派是受控工具调用
COMPARE别人怎么设计
LangChain multi-agent
LangChain 把 multi-agent 分成 tool calling 和 handoffs。Tool calling 是中心化的,主 Agent 把子 Agent 当工具调用;handoff 是去中心化的,当前活跃 Agent 可以交接控制权。工程上我会先选 tool calling,因为更可控。
Claude Code
Claude Code 有普通 subagent、coordinator mode、swarm teammate 三层。它很强,但复杂度也高:sidechain、mailbox、权限桥、team file、任务列表都要维护。它适合产品后期,不适合 MVP 第一版。
DeerFlow
DeerFlow 的 Lead 到 Sub 单层委派更适合作为第一版。子 Agent 看不到完整对话,只收到一条自包含任务说明,这反而减少无关上下文污染。
Hermes
Hermes 的 delegate_task 设计很工程化:最多 3 个并发子 Agent,工具集等于父级可用工具和用户指定工具的交集,再减掉 delegate、clarify、memory 等黑名单工具。
GUGA我是怎么设计的
- 一个统一入口delegateTask(goal, context, toolsets, maxIterations, traceId)。不要为每种子 Agent 写一套特殊链路。
- 上下文隔离子 Agent 不拿父 Agent 完整历史,只拿和任务相关的 compact context。父只接收 summary、status、duration、usage、toolTrace。
- 权限继承子 Agent 工具集 = 父级可用工具 ∩ 用户指定工具集 - blocked tools。子 Agent 永远不能获得比父更多的能力。
- 预算隔离父子各有 IterationBudget。子 Agent 消耗不能把父 Agent 拖死;父 Agent 也能设置 timeout 和 max concurrent。
- Trace 贯穿每个 delegated run 有 parent_run_id、trace_id、task_index。调试时能从父结果追到子 Agent 的事件账本。
DETAIL我会怎么控制复杂度
| 设计点 | 第一版取舍 | 原因 |
|---|---|---|
| 嵌套深度 | 默认单层 | 防递归、成本失控和权限链混乱。 |
| 并发数 | 默认 3 | 够用,也容易定位问题。 |
| 通信方式 | 父发任务,子回摘要 | 不做自由聊天,避免消息风暴。 |
| 工具权限 | 交集 + 黑名单 | 权限边界简单,可解释。 |
| 结果回流 | 结构化 JSON | 父 Agent 综合时不吃下完整 transcript。 |
PROBLEM我遇到的问题和优化
问题
- 如果子 Agent 继承完整历史,它会被无关上下文干扰,还会浪费大量 token。
- 多个子 Agent 同时写文件,会出现路径冲突和 patch 互相覆盖。
- 子 Agent 如果可以继续 delegate,很容易形成递归树,成本和调试都爆炸。
- 权限请求从子 Agent 发起,用户却只看到父 Agent,会有 UX 断裂。
优化
- 任务描述必须自包含,不让子 Agent 猜父上下文。
- 路径作用域工具做冲突检测,冲突时降级串行。
- blocked tools 固定包含 delegateTask、clarify、memory、危险外部消息工具。
- 所有子 Agent 权限请求回流给父 Agent 的 permission bridge。
REVISION什么时候值得委派
| 问题 | 如果答案是否定的 |
|---|---|
| 子任务能否独立验证? | 不要委派,父 Agent 很难审阅结果。 |
| 共享临时状态是否很少? | 不要委派,上下文同步成本会吞掉收益。 |
| 能否并行或专业化? | 不能并行时,强模型多跑几轮可能更稳。 |
| 父级审阅成本是否低于单 Agent 多轮成本? | 否则多 Agent 只是把延迟、费用和 trace 复杂度放大。 |
manager-as-tool 是父级保留控制权;handoff 是活跃 agent 转移,适合客服/专家转接。OpenAI SDK 中 handoff 与 function tool guardrail 的 pipeline 不完全一样,权限和审计仍要在 host/runtime 统一落账。
INTERVIEW两个 subagent 高强度追问整合版
面试官:什么时候需要多 Agent?什么时候不该用?第二层追问:为什么不直接让一个强模型多跑几轮?
我:我会看任务能不能拆成独立、可验证、低共享状态的子任务。比如并行读不同模块、分别调研几个方案、安全审查和性能审查可以拆;如果任务需要连续推理、共享大量临时状态、或者单 Agent 已经能稳定完成,我不会拆。多 Agent 的收益是隔离和并行,不是“模型数量越多越聪明”。拆分收益必须大于协调成本、上下文损耗和父级审阅成本。
理解与记忆 · 背后工程点
背后工程点:多 Agent 是不确定任务的并行治理,不是默认升级。
专业术语:
Task Decomposition 是任务拆分;
Coordination Cost 是协作和汇总成本;
Shared State 是多个执行体共同依赖的状态;
Verification Surface 是子任务结果可验证的证据面;
Single-agent Baseline 是单 Agent 基线。
为什么这样回答:先讲“不该用”的边界,能显示你不会用多 Agent 装饰架构。资深判断是先有单 Agent 基线,再证明拆分收益。
小白解析:不是每件事都适合多人做。写一封短邮件,一个人更快;同时检查三个模块,三个人可能更快。关键是能不能清楚分工。
关联知识点:Anthropic 强调从简单模式开始;learn-agent Delegation Runtime 说委派要保留控制权;Deep Agents subagents 主要价值是隔离上下文。
面试官:manager-as-tool 和 handoff 你怎么选?第二层追问:用户对话场景和后台任务场景一样吗?
后台任务、代码修复、调研汇总,我优先 manager-as-tool,因为父 Agent 保留控制权,适合审计和综合。用户对话里的专家转接,比如客服转技术支持,可以用 handoff,因为活跃 Agent 需要直接和用户互动。两者可以共存,但权限和 trace 不一样:tool-calling 是父级调用子任务,handoff 是控制权转移,必须记录 handoff span、当前 agent、可见上下文和返回条件。
理解与记忆 · 背后工程点
背后工程点:协作形态要匹配控制权边界。
专业术语:
Manager-as-tool 是父 Agent 把子 Agent 当工具调用;
Handoff 是对话控制权交接;
Active Agent 是当前直接响应用户的 Agent;
Handoff Span 是交接轨迹;
Return Condition 是交接返回条件。
为什么这样回答:这能把主流方案讲清楚,不把所有多 Agent 都混成一个模式。
小白解析:一种是经理派人查资料,最后经理汇报;另一种是客服把你转给技术同事,技术同事直接跟你说话。
关联知识点:OpenAI Agents SDK 区分 agents as tools 和 handoffs;LangChain multi-agent 也区分 tool calling 与 handoffs。
面试官:请现场设计 delegateTask 的 schema。第二层追问:哪些字段少了会出生产事故?
我会让 delegateTask 至少包含 task_id、role、goal、scope、context_refs、allowed_tools、blocked_tools、budget、timeout、output_contract、parent_trace_id、risk_level 和 abort_signal。少了 scope,子 Agent 会查错范围;少了 output_contract,父 Agent 只能收到作文;少了 trace id,出了问题追不回证据;少了 allowed/blocked tools,就可能权限放大;少了 budget 和 timeout,就容易无限循环。
理解与记忆 · 背后工程点
背后工程点:委派接口是运行时 contract,不是 prompt 字符串。
专业术语:
Task Package 是结构化子任务包;
Context Ref 是上下文证据引用;
Output Contract 是结果格式要求;
Abort Signal 是取消信号;
Risk Level 是任务风险等级。
为什么这样回答:schema 能证明你把多 Agent 当工程接口,而不是“给另一个模型发消息”。字段越具体,越能抗追问。
小白解析:派工单不能只写“你帮我看看”。要写清楚目标、范围、能用什么工具、什么时候停、最后交什么。
关联知识点:learn-agent 00-18 把 delegation 做成特殊工具;OpenAI agent-as-tool 也强调工具描述和输出格式影响路由质量。
面试官:为什么子 Agent 不能继承父 Agent 全量历史?第二层追问:如果它缺上下文答错怎么办?
全量历史会带来三类问题:成本高、噪声多、权限边界混乱。子 Agent 应该拿 delegated context:目标、必要约束、相关文件或 artifact 引用、最近失败事实、输出 contract。缺上下文不是靠复制全部历史解决,而是靠任务包 scope、read-back refs 和子 Agent 的 clarifying result。父 Agent 可以补发更小的上下文包,不能把整段父会话倾倒过去。
理解与记忆 · 背后工程点
背后工程点:子任务上下文是投影,不是父上下文复制。
专业术语:
Context Quarantine 是上下文隔离;
Delegated Context 是专门投影给子任务的上下文;
Read-back Ref 是需要细节时回读的证据引用;
Clarifying Result 是子 Agent 返回“缺少信息”的结构化结果;
Noise Budget 是可接受噪声预算。
为什么这样回答:多 Agent 的价值之一就是隔离噪声。你要说明缺上下文时怎么补,而不是把隔离原则放弃。
小白解析:让审计同事看所有公司聊天记录不现实,也不安全。给他审计所需材料,不够再补。
关联知识点:Deep Agents subagents 强调主 Agent 不吃掉子任务工具噪声;Guga context 投影思想同样适用于 delegated context。
面试官:子 Agent 的权限怎么算?如果父 Agent 能写文件,子 Agent 默认也能写吗?第二层追问:用户看到权限请求时怎么知道是谁要做?
子 Agent 权限只能是父权限、用户指定权限和角色策略的交集,再减掉 blocked tools。写文件、联网、发消息、生产变更这种高风险动作要通过 permission bridge 冒泡到父任务和用户。审批 UI 要展示子 Agent 身份、目标、工具、路径、命令、风险、授权期限和回滚方式。不能让用户只看到“Agent 要写文件”,却不知道是哪个子任务、为什么写。
理解与记忆 · 背后工程点
背后工程点:权限继承必须单调收缩,审批要保留子任务身份。
专业术语:
Permission Intersection 是权限交集;
Blocked Tools 是禁止工具列表;
Permission Bridge 是子权限请求回父级的桥;
Delegated Identity 是子 Agent 身份;
Approval Scope 是授权范围和期限。
为什么这样回答:多 Agent 容易权限放大。把身份、目标和工具展示出来,才能让 HITL 有意义。
小白解析:项目经理能进机房,不代表所有外包同事都能进。外包要进,必须说明是谁、进去干什么、多久。
关联知识点:learn-agent 00-18 强调子 Agent 权限不能自动拥有父级全部能力;Deep Agents 支持 per-subagent tools 和 permissions。
面试官:子 Agent 做了危险操作,父 Agent 要不要二次确认?第二层追问:如果子 Agent 已经有权限,为什么还要回父级?
高风险副作用要回父级和用户确认,即使子 Agent 有局部权限。原因是父 Agent 持有全局目标、风险上下文和用户交互入口。比如删除文件、发外部消息、改生产配置,子 Agent 可以提出 action proposal,但 permission bridge 要展示影响范围和回滚方式,由父级协调确认。低风险只读操作可以自动执行,高风险写操作必须有 action-level gate。
理解与记忆 · 背后工程点
背后工程点:子 Agent 提出高风险动作,不等于可以直接执行。
专业术语:
Action Proposal 是动作申请;
Action-level Gate 是动作级审批;
Impact Scope 是影响范围;
Rollback Path 是回滚路径;
Global Objective 是父任务全局目标。
为什么这样回答:多 Agent 权限最怕“局部授权变全局事故”。高风险动作回父级,是为了保留用户可见控制面。
小白解析:实习生可以建议删一个文件,但主管要看影响范围再决定。
关联知识点:Guga 工具运行时强调模型只提出意图、runtime 执行权限;Deep Agents HITL 也围绕具体动作审批。
面试官:子 Agent 回来的结果如果是错的、编的、或者证据不全,父 Agent 怎么发现?第二层追问:父 Agent 是投票还是审阅?
父 Agent 不是投票器,是审阅者。子结果必须结构化返回 claims、evidence_refs、confidence、changed_files、unknowns、open_questions 和 verification status。父 Agent 要抽查关键 evidence,冲突时回源读取 artifact 或重新运行验证。多个子 Agent 结论不一致时,不按多数票,而按证据强度、新鲜度和任务目标裁决;缺证据的结论只能作为 hypothesis。
理解与记忆 · 背后工程点
背后工程点:多 Agent 可靠性来自结果协议和父级证据审阅。
专业术语:
Claim 是子 Agent 提出的结论;
Evidence Ref 是证据引用;
Unknowns 是未确认事项;
Synthesis Review 是父级综合审阅;
Hypothesis 是待验证假设。
为什么这样回答:“多个模型互相确认”不是可靠性。真正可靠的是证据可查、置信度可解释、父级可复核。
小白解析:三个同事都说“没问题”不够。你要看他们查了什么材料,证据是不是同一份,漏洞有没有遗漏。
关联知识点:learn-agent 的 result contract 要求 structured output;OpenAI tracing 可以记录 handoff/tool span,支撑父级审阅。
面试官:如果多个子 Agent 给出互相矛盾的结论,父 Agent 怎么裁决?第二层追问:会不会陷入来回追问?
父 Agent 先比较证据,不比较角色声望或多数票。看 evidence 的来源、时间、新鲜度、是否可复现、是否覆盖同一 scope。如果冲突影响关键决策,父 Agent 创建 targeted verification task,比如重跑测试或读同一个文件,而不是让子 Agent 继续辩论。为了防止来回追问,要有 max review rounds 和 stop reason:resolved、insufficient_evidence、need_human。
理解与记忆 · 背后工程点
背后工程点:冲突裁决靠证据和验证任务,不靠 Agent 互辩。
专业术语:
Evidence Ranking 是证据排序;
Targeted Verification 是定向验证;
Review Round 是审阅轮次;
Stop Reason 是停止原因;
Need Human 是需要人工判断。
为什么这样回答:这能避免多 Agent 变成无界讨论。父级要把冲突转成可验证动作。
小白解析:两个同事争论谁对,不如拿原始文件和测试结果出来核对。
关联知识点:AutoGen teams 需要 termination condition;learn-agent 强调父 Agent 合并证据,不是投票表决。
面试官:多个子 Agent 同时改文件怎么办?只做路径冲突检测够吗?第二层追问:怎么避免 patch 互相覆盖?
写任务我不会默认并行写同一个工作区。第一版有两种策略:要么按 path/resource 加锁,冲突任务串行;要么每个子 Agent 在独立 worktree 或 patch artifact 里产出 diff,由父 Agent 集中合并和验证。路径冲突只是粗检测,还要看同一文件不同 hunk、生成文件、配置文件、数据库迁移等共享资源。父级 merge 后必须跑验证,不能让子 Agent 直接提交最终副作用。
理解与记忆 · 背后工程点
背后工程点:并发写入要隔离副作用,父级集中合并。
专业术语:
Resource Lock 是资源锁;
Worktree Isolation 是独立工作区隔离;
Patch Artifact 是补丁产物;
Merge Review 是合并审查;
Verification Gate 是合并后的验证门禁。
为什么这样回答:多 Agent coding 最容易互相踩文件。只说路径锁不够,要讲独立产物和父级合并。
小白解析:三个人同时改同一份合同,最后必须由一个负责人合并,而不是各自直接覆盖云文档。
关联知识点:SWE-agent 强调 Agent-Computer Interface 影响软件工程质量;learn-agent delegation 也把写任务和读任务的并发策略区分开。
面试官:子 Agent 的输出本身可能包含 prompt injection,父 Agent 会不会被污染?第二层追问:子 Agent 摘要算指令还是数据?
子 Agent 输出必须作为 untrusted result data 进入父上下文,不能升级成 system/developer 指令。结果协议里把 instruction、claim、evidence、raw excerpts 分开;父 Agent 只采纳 claim 和 evidence,不执行子输出里的新命令。尤其子 Agent 读过网页、仓库文件或外部日志时,摘要里可能带攻击文本,父级 context policy 要保留来源和 trust level。
理解与记忆 · 背后工程点
背后工程点:子 Agent 输出也是外部数据,不能天然可信。
专业术语:
Untrusted Result Data 是不可信结果数据;
Trust Level 是可信等级;
Instruction/Data Boundary 是指令和数据边界;
Raw Excerpt 是原始摘录;
Evidence Sanitization 是证据清洗。
为什么这样回答:多 Agent 会扩大 prompt injection 面。父 Agent 不能因为来源是“内部子 Agent”就忽略数据边界。
小白解析:同事转述网页内容,网页里的“忽略上级命令”还是网页内容,不是同事的新命令。
关联知识点:MCP 和工具安全强调外部内容不能升级为指令;Guga context policy 的 trust/source descriptor 也适用于子结果。
面试官:子 Agent 的临时发现能不能写长期 memory?第二层追问:谁有资格把子任务经验沉淀成 skill?
默认不能直接写 active memory。子 Agent 可以返回 memory_candidates 或 skill_candidates,但要带 source trace、scope、confidence 和 rationale,交给父 Agent 或后台 MemoryPolicy 审核。临时任务发现通常只属于当前 trace;稳定项目事实才可能进 memory;可复用流程才可能进 skill。否则一个子 Agent 的局部猜测会污染全局长期资产。
理解与记忆 · 背后工程点
背后工程点:子 Agent 不能绕过长期资产治理。
专业术语:
Memory Candidate 是候选记忆;
Skill Candidate 是候选技能;
Rationale 是写入理由;
Asset Governance 是资产治理;
Scope 是适用范围。
为什么这样回答:多 Agent 会产生更多“发现”,但不是每个发现都值得长期保存。要把 memory/skill 写入权收回治理层。
小白解析:临时工发现一个小技巧,可以写进报告,但不能直接改公司操作手册。
关联知识点:learn-agent memory governance 强调候选账本;Hermes background review 把 memory 和 skill 创建放到后台治理。
面试官:多 Agent 的 trace 怎么设计?第二层追问:用户说“这个结论从哪来”,你怎么追到子任务证据?
父子 trace 要有 parent_run_id、child_run_id、task_id、task_index、causation_id、trace_id。父 trace 里记录 delegation proposed、started、child tool events summary、completed、failed、joined;子 trace 保存完整事件。父上下文只注入摘要和 evidence refs,但开发者可以从 evidence ref 追到子 trace 的具体工具、文件和输出。没有 trace merge,多 Agent 出错时只剩一句“某个子 Agent 说的”。
理解与记忆 · 背后工程点
背后工程点:父子轨迹要保留因果链,摘要回流不等于证据丢失。
专业术语:
parent_run_id 是父运行编号;
child_run_id 是子运行编号;
Causation Id 是因果关系编号;
Trace Merge 是轨迹归并;
Evidence Ref 是可追溯证据引用。
为什么这样回答:多 Agent 让问题定位更难,trace 设计是承重能力。必须能从最终结论追到子任务事实。
小白解析:最终报告里写“安全同事确认过”,还要能点进去看到他看了哪些文件、跑了哪些检查。
关联知识点:learn-agent 00-18 和 00-19 都强调 sub-agent trace 归并;OpenAI tracing 记录 handoff span 和 tool span。
面试官:多 Agent 恢复时,已完成的子任务要不要重跑?第二层追问:有副作用的子任务如何去重?
默认不重跑已完成子任务,而是从 child trace 和 artifact 恢复结果。恢复时父级先读取 task ledger:哪些 completed、failed、cancelled、in_progress。completed 的结果带 evidence refs 和 output hash;有副作用的子任务要有 idempotency key、effect log 和 confirmation event。只有结果缺失、artifact 损坏或环境变化要求重验时,才创建新的 verification task,而不是重放旧副作用。
理解与记忆 · 背后工程点
背后工程点:恢复依赖任务账本和幂等语义,不能重跑副作用。
专业术语:
Task Ledger 是子任务账本;
Output Hash 是结果指纹;
Idempotency Key 是幂等键;
Effect Log 是副作用日志;
Verification Task 是重新验证任务。
为什么这样回答:恢复是生产级多 Agent 的硬问题。重跑子任务可能重复写文件、发请求或浪费成本。
小白解析:快递已经发出,系统恢复时不能再发一次。应该查发货记录和物流单号。
关联知识点:Guga replay 默认不重跑 provider、tool 或 mutating hook;learn-agent durable execution 也区分诊断回放和真实重试。
面试官:子 Agent 失败、超时、爆 token、或者循环调用时,父任务怎么办?第二层追问:失败一个子任务是否等于整体失败?
不一定。子任务失败要分类:validation failure、capability failure、runtime failure、contract failure、timeout、budget_exceeded、unsafe。父 Agent 根据子任务重要性决定降级、重派、缩小 scope、串行执行或直接阻塞。比如调研任务失败一个来源可以继续综合;负责唯一验证的子任务失败,就不能标完成。父任务要有 partial result handling,不要让一个低价值子任务拖死整体。
理解与记忆 · 背后工程点
背后工程点:子任务失败是可分类事件,不应默认等于父任务失败。
专业术语:
Failure Taxonomy 是失败分类;
Partial Result 是部分结果;
Budget Exceeded 是预算耗尽;
Unsafe 是安全拦截;
Fallback Path 是降级路径。
为什么这样回答:这能体现可靠性。复杂任务不可能所有子任务都完美,父级要知道如何降级和继续。
小白解析:一个同事没查到资料,不代表项目失败;但唯一负责验收的人没验过,就不能说项目完成。
关联知识点:learn-agent delegation 有 validation/capability/runtime/contract failure;Agent eval 应测失败恢复率。
面试官:子 Agent 能不能再委派子 Agent?第二层追问:如果允许递归,怎么防止树爆炸?
MVP 我会禁止递归委派,或者默认 max_depth=1。后续如果允许,也必须有全局预算、深度限制、并发限制、角色 allowlist、任务去重、循环检测和父级批准。子 Agent 不能自己扩张组织结构,delegate 工具通常放在 blocked tools。递归委派的风险是成本爆炸、trace 难读、权限链混乱和责任不清。
理解与记忆 · 背后工程点
背后工程点:递归委派是高风险能力,第一版应关闭。
专业术语:
max_depth 是最大委派深度;
Global Budget 是父子共享总预算;
Loop Detection 是循环检测;
Role Allowlist 是允许角色列表;
Delegation Tree 是委派树。
为什么这样回答:这体现复杂度控制。先单层,等 trace、权限、预算成熟再考虑递归。
小白解析:你让一个同事帮忙,不代表他可以再招十个人,还都花你的预算。
关联知识点:Hermes 和 learn-agent 的工程取舍都偏向单层受控委派;swarm 适合后期而非 MVP。
面试官:多 Agent 会不会更贵更慢?第二层追问:怎么证明并行收益大于成本?
会,所以我会先做单 Agent baseline。只有任务可并行、共享状态少、结果可验证,才拆。指标包括 wall-clock time、token cost、工具调用次数、父级返工率、冲突率、成功率和人工接管率。读任务可以 fan out,写任务要谨慎 converge。并行不是越多越好,默认并发数要小,比如 3;最慢子任务拖住整体时,允许 partial synthesis 和取消低价值子任务。
理解与记忆 · 背后工程点
背后工程点:多 Agent 价值要用基线和指标证明。
专业术语:
Wall-clock Time 是用户等待时间;
Parent Rework Rate 是父级返工率;
Conflict Rate 是结果或写入冲突率;
Fan out 是并行分发;
Partial Synthesis 是基于部分结果综合。
为什么这样回答:面试官会攻击成本。你要先承认代价,再给出评测和并发控制。
小白解析:请三个人干活会更快,但工资更高、沟通更多。要算清楚是不是值得。
关联知识点:Anthropic 提醒 agentic system 会以成本和延迟换表现;AutoGen teams 需要 termination condition 控制无界对话。
面试官:多 Agent 的产品体验怎么做?用户怎么知道它们在干什么,怎么取消某个子任务?
我会展示父任务 timeline 和子任务列表:每个子任务有目标、状态、当前工具、耗时、预算、权限请求和关键发现。用户可以取消单个子任务、暂停全部、查看证据摘要、批准或拒绝高风险动作。界面上不要展示所有子 transcript,而是展示结构化进度和可追溯证据;完整 transcript 放 trace,开发者需要时再打开。
理解与记忆 · 背后工程点
背后工程点:多 Agent 产品化要让用户理解、控制和接管并行任务。
专业术语:
Task Timeline 是任务事件线;
Child Task Status 是子任务状态;
Cancellation Propagation 是取消传播;
Evidence Summary 是证据摘要;
Permission Request 是权限请求。
为什么这样回答:生产系统不只后端能跑,还要用户能看懂并控制。多 Agent 黑盒会降低信任。
小白解析:你请了三个人办事,应该看到每个人在做什么,可以叫停某个人,而不是等最后一个大结论。
关联知识点:Guga 的事件账本和 UI 投影能支持 timeline;OpenAI tracing 和 AutoGen teams 都显示协作需要可观测性。
面试官:多 Agent 怎么评测?第二层追问:如果成功率上升但成本翻倍,算好吗?
我会和单 Agent baseline 比:任务成功率、验证通过率、wall-clock time、token 成本、工具错误率、子任务失败率、父级返工率、冲突率、人工接管率。成功率上升但成本翻倍不一定值得,要看任务价值和 SLA。还要做 trace-based eval:拆分是否合理、子 Agent 是否拿到必要 context、父级是否正确采纳证据、是否忽略 unknowns。
理解与记忆 · 背后工程点
背后工程点:多 Agent eval 要评过程、成本和协作质量。
专业术语:
Baseline 是对照基线;
SLA 是服务水平目标;
Trace-based Eval 是基于轨迹的评测;
Join Quality 是父级合并质量;
Unknown Handling 是未解问题处理。
为什么这样回答:多 Agent 常见假象是“看起来更努力”。用指标比较才能判断值不值得。
小白解析:多请两个人让成功率高 1%,但花费翻倍,未必划算。要看任务重要程度。
关联知识点:Anthropic 建议用 eval 证明复杂 agentic system 增益;learn-agent trace analysis 可检查 delegation join failure。
面试官:角色定义长期会漂移。今天的 security-reviewer 和下个月的 security-reviewer 不是同一个行为,怎么治理?
角色要版本化,放在 registry 里,包含 name、description、prompt version、allowed tools、output schema、eval cases 和 owner。每次角色改动跑 conformance tests,保证输出字段、拒绝边界、权限和典型任务表现没回归。trace 里记录 role version。这样子 Agent 不是一段随手写的 prompt,而是可测试、可替换、可回滚的能力定义。
理解与记忆 · 背后工程点
背后工程点:子 Agent 角色是版本化能力,不是散落 prompt。
专业术语:
Role Registry 是角色注册表;
Prompt Version 是提示词版本;
Output Schema 是输出结构;
Conformance Test 是契约一致性测试;
Owner 是角色维护负责人。
为什么这样回答:多 Agent 系统后期难维护,角色漂移会导致路由和结果不稳定。版本化和测试是治理手段。
小白解析:“安全审查员”这个岗位要有岗位说明书和考核标准,不能每周换一种工作方式。
关联知识点:AutoGen teams 和 Deep Agents 都用 agent definitions;Guga 插件/能力注册表思路可扩展到 Agent roles。
面试官:如果让你做多 Agent MVP,最小范围是什么?第二层追问:哪些能力先不做?
MVP 我做单层 delegateTask、并发上限 2 或 3、只读或 patch artifact 优先、父级集中审阅、结构化 result contract、trace merge、权限交集。先不做 swarm、自由聊天、递归委派、跨 Agent 共享 memory、自动生产写入和复杂角色市场。先把“派得出去、收得回来、查得到证据、停得下来”跑稳,再扩展手动 handoff、多层队列或 marketplace。
理解与记忆 · 背后工程点
背后工程点:多 Agent MVP 要先压控制面,不追求炫技。
专业术语:
MVP 是最小可用版本;
Concurrency Limit 是并发上限;
Patch Artifact 是补丁产物;
Trace Merge 是轨迹归并;
Swarm 是更自由的多 Agent 协作形态。
为什么这样回答:这能收束整章。先单层、受控、可审计,是从单 Agent 过渡到多 Agent 的稳妥路径。
小白解析:先做一个能派单、收单、验单的小团队系统,别第一天就做大型组织协同平台。
关联知识点:Hermes delegate_task 和 learn-agent Delegation Runtime 都偏单层受控;Anthropic 也建议先从简单模式做起。
PRINCIPLE我总结的核心范式
多 Agent 的核心不是“多几个脑子”,而是“把复杂任务拆成隔离、可预算、可审计的工作单元”。能用单 Agent 做完就别拆;要拆,就让协作协议比模型自由发挥更强。