🐳 第七章 从Tool Call到Agent Runtime
📄 一句话概括

派活之前先回答三问:谁来做(provider)、做完还能不能接着聊(backgroundMode)、能往下派几层(maxDepth)——三个字段、三个实测取值。

📝 本节和前面几节的关系

上一节说实现可以换,这一节说委派这件事必须先定三件事。

一、三问对应三个字段

三问都答得出,委派才有确定的形状。

二、continuable 与 one-shot 的分工

实测里 codex 与 claude-code 都是 one-shot——外部实现的收敛性恰好用这个模式表达。

三、为什么要有 maxDepth

子代理还能再派子代理——没有层数上限,递归可能失控。

交给 provider-managed=由实现自己管,回扣 7.3.1:实现的事归实现,能力层不替它拿主意。

四、顺带一个隔离分组

实测 delegation 是一个 cordis:group,带 isolate: workflowEngine: true。

子任务的工作流引擎自成一套,不复用主会话的——两边的编排互不干扰(5.3 讲过这种格子的画法)。

五、动手 Demo:委派子任务要先回答三个问题

三个问题、三个字段:

qa = [("谁来做", "provider", "spawn / fork / codex / claude-code"),
      ("能接着聊吗", "backgroundMode", "continuable / one-shot"),
      ("能派几层", "maxDepth", "provider-managed")]
for q, f, v in qa:
    print("  %-12s %-16s %s" % (q, f, v))
print()
print("  delegation 组: isolate workflowEngine = true")

实跑输出:

--------------------------------------------------------------------
委派子任务要先回答三个问题
--------------------------------------------------------------------

  问题                   配置里对应什么     实测取值
  -----------------------------------------------------------------------------
  谁来做                 provider           spawn / fork / codex / claude-code
  做完还能不能接着聊     backgroundMode     continuable / one-shot
  能往下派几层           maxDepth           provider-managed
  -----------------------------------------------------------------------------

  continuable:子代理干完还能继续被追问,适合长任务。
  one-shot:一次交活,交完就结束,适合一次性审查。

  另外实测 `delegation` 是一个**隔离分组**(isolate 里有
  workflowEngine)——子任务的工作流引擎自成一套,不与主会话互串。

三问答完,委派才有确定形状——否则全靠实现自己猜。 continuable 与 one-shot 的分工,本质是【要不要来回】。 maxDepth 交给实现管——能力层不替实现拿主意。

30 秒实验

  1. 给你的一个子任务回答这三问,写出三个字段的取值。
  2. 举一个必须用 continuable 的例子和一个必须用 one-shot 的例子。
  3. 想想为什么隔离组要单独隔离 workflowEngine。

常见误区

  1. 错误:子代理就是一个函数,传个参数就行。——纠正:三问各有字段——谁来做、能不能接着聊、能派几层。
  2. 错误:one-shot 是能力不足。——纠正:它是收敛性表达——一次交活的场景正需要它。
  3. 错误:层数限制写在能力层最省事。——纠正:交给 provider-managed——实现的事归实现。
自测三问(点开对答案) 1. 委派的三个问题是什么? —— 谁来做(provider)、做完能不能接着聊(backgroundMode)、能派几层(maxDepth)。 2. continuable 与 one-shot 各适合什么? —— continuable 适合长任务与来回确认;one-shot 适合一次性审查与批量重写。 3. delegation 分组隔离了什么? —— `workflowEngine`——**子任务的工作流引擎自成一套**。

相关笔记