新一代提示词工程 · 知识全景图面向有工程基础、提示词工程尚未系统化的工程师
显示设置

子 Agent 委派与返回契约

Sub-agent Delegation and Return Contract

PE-P-03内容已写满G09落地实践第 18 层

落地实践委派返回契约

一句话结论

委派要同时规定任务描述的五项自包含内容与返回结果的四项固定字段,并要求子 Agent 只回结论与依据、不回贴正文。

本页结构(可跳转)

M 主 Agent 把可独立完成的子任务交给子 Agent D 任务描述:五项自包含 目标 背景与约束 可用资源与工具 产出格式 失败时的处理方式 M->D 发出 R 返回契约:四项固定字段 结论 依据(可追溯到具体来源或步骤) 未解决项 置信度或不确定性说明 M->R 收回 N1 三条工程要点 ① 委派提示词模板化并版本化,使契约变更可被评审 ② 返回结果用固定字段,可被机械解析而非自然语言段落 N2 ③ 保留子 Agent 原始输出以便复核 避免只留摘要后无法追溯 ⇒ 契约可评审 · 结果可解析 · 过程可追溯
契约图:任务描述的五项自包含字段与返回结果的四项固定字段,以及模板化、可解析、可追溯三条工程要点。 (本站自制)

01为什么需要它

把子任务交出去并不等于把责任交出去。

适用边界

返回契约的收益在子任务过程冗长而结论简短时最大;若子任务结论本身就需要大量细节,过度压缩的返回契约会丢掉关键信息,此时应允许结构化地回传证据片段,而不是把篇幅上限当成铁律。

02机制说明

自包含的任务描述应写清五项:目标、背景与约束、可用资源与工具、产出格式、以及失败时的处理方式。

03何时该用 / 何时不该用

按场景对照:先看条件,再看该怎么做。
类别场景 / 条件(总结)具体做法(细节)
该用把可独立完成的子任务交给子 Agent 时任务描述必须自包含,并把产出格式与失败时的处理方式一并写进去。
该用子任务的结论要被主 Agent 机械使用时要求返回固定字段,而不是一段自然语言段落。
该用子任务过程冗长而结论简短时只要求回结论、依据、未解决项与置信度,原始输出留在子 Agent 侧备查。
不该用把线性任务拆成多路委派多 Agent 系统的 token 消耗远高于普通对话,只有可并行的独立子任务才值得拆。
不该用只保留摘要主 Agent 应保留原始输出以便复核,否则结论无法追溯。

04实验台

  1. filemarkdown

    查看代码
    # 委派单(任务描述:五项必须写全)
    
    - 目标:<一句话说清要交付什么>
    - 背景与约束:<相关事实、不可触碰的边界、口径>
    - 可用资源与工具:<能读哪些文件、能跑哪些命令、不能做什么>
    - 产出格式:<返回体的字段与顺序,见下>
    - 失败处理:<拿不到关键信息时报 partial,并写清缺什么>
    
    # 返回契约(子 Agent 只回这四项,不回贴正文)
    
    | 字段 | 含义 | 上限 |
    |---|---|---|
    | status | success / partial / failed | 三选一 |
    | summary | 结论摘要 | 不超过 200 字 |
    | evidence | 依据列表,每条带来源标识 | 不超过 5 条 |
    | open_items | 未解决项与不确定说明 | 逐条列出 |
    
    # 三条纪律
    
    1. 子 Agent 没有向用户发问的通道:任务里没写清的部分,要么按约定报 partial,要么在 open_items 里列出,不要自行补全。
    2. 不回贴正文:过程细节留在子 Agent 侧,主 Agent 只接收上面四个字段。
    3. 原始输出保留可查:主 Agent 需要复核时能取到子 Agent 的原始记录,而不是只有一份摘要。

    预期观察:读者得到一份可直接复用的委派单与返回契约:五项任务描述与四个返回字段一一对应;换第二个子任务时只需替换目标与产出格式,契约本身不动,因此两次委派的返回体可以直接比较。

  2. shellbash

    查看代码
    # 校验子 Agent 返回体的形状:字段齐全、有上限、正文没有被回贴
    python3 - <<'PY'
    import json, sys
    d = json.loads(sys.stdin.read())
    need = ("status", "summary", "evidence", "open_items")
    missing = [k for k in need if k not in d]
    assert not missing, "缺字段:%s" % missing
    assert d["status"] in ("success", "partial", "failed"), "status 取值越界"
    assert len(d["summary"]) <= 200, "summary 超上限(%d 字)" % len(d["summary"])
    assert len(d["evidence"]) <= 5, "evidence 条数超上限(%d)" % len(d["evidence"])
    assert all("source_id" in e for e in d["evidence"]), "evidence 缺来源标识"
    assert d["status"] == "success" or d["open_items"], "非 success 必须写出未解决项"
    print("返回体形状合格:字段齐全 / summary %d 字 / evidence %d 条"
          % (len(d["summary"]), len(d["evidence"])))
    PY

    预期观察:把一份返回体喂进这段校验:字段齐全、条数在上限内、来源标识逐条存在时打印合格行;把 summary 写成整段正文或漏掉 open_items 时断言失败并指出缺哪一项,于是返回契约从口头约定变成可执行的检查。

05证据

主张官方把多 Agent 的成本量级写了出来:普通对话的四倍、多 Agent 约十五倍,因此委派不能按普通对话的成本预期来用。

分级official

来源S-0006 https://www.anthropic.com/engineering/multi-agent-research-system

原文

展开原文关键句 原文截断
agents typically use about 4× more tokens than chat interactions, and multi-agent systems use about 15× more tokens than chats.

主张官方把「为某个 Agent 隔离上下文」列为上下文工程的既定策略,说明子 Agent 的上下文隔离不是实现细节,而是可设计的一层。

分级official

来源S-0019 https://docs.cloud.google.com/architecture/choose-design-pattern-agentic-ai-system

原文

展开原文关键句 原文截断
Context engineering includes strategies such as isolating context for a specific agent, persisting information across multiple steps, or compressing large amounts of data to improve efficiency.

主张官方把提示词链、路由、并行、编排者—工作者与生成者—评估者列为五种既定编排模式,其中编排者—工作者正是委派与汇总的模式化形态,因此委派与返回可以在事前写成固定路径。

分级official

来源S-0005 https://www.anthropic.com/engineering/building-effective-agents

原文

展开原文关键句 原文截断
Prompt chaining ... Routing ... Parallelization (Sectioning / Voting) ... Orchestrator-workers ... Evaluator-optimizer.

主张官方结构化输出以 schema 加严格模式约束解码,使输出可被机械解析,返回契约的固定字段应走同一条路,而不是靠自然语言约定。

分级official

来源S-0014 https://developers.openai.com/api/docs/guides/structured-outputs

原文

展开原文关键句 原文截断
response_format: { type: "json_schema", json_schema: { name: "math_reasoning", strict: true, schema: { ... "additionalProperties": false } } }

06术语

术语子 Agent 委派与返回契约 Sub-agent Delegation and Return Contract

界定主 Agent 向子 Agent 交付的自包含任务描述与其必须回传的结构化结果约定,二者共同决定委派是否可被验证。

相关节点—

术语子 Agent 上下文隔离 Sub-agent Context Isolation

界定让子 Agent 在独立上下文中完成子任务、只把结论回传主 Agent,以避免主上下文被过程细节污染。

相关节点—

术语编排者—工作者 Orchestrator–Workers

界定由编排者拆解任务并把子任务分派给多个工作者,最后汇总结果的编排模式。

相关节点—

07失效模式

08在本站知识结构中的位置

所属分组
G09落地实践
依赖深度
第 18 层(同层节点彼此无先后约束)
前置PE-P-02→PE-P-03 本节点→后继PE-P-04

在 交互全景图 中定位本节点。