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

把本章的大件横过来看:模型只负责产生下一步与决定调哪个工具;能不能调、在哪跑、结果存哪、下轮看什么、派谁干、怎么跨轮——全是 Runtime 的事。

📝 本节和前面几节的关系

本章倒数第二节,把 PTC、Subagent、Sandbox、持续任务、Extensions 横过来摆一张表。

一、两行归模型

就这两件——模型的能力边界很窄,它只会生成 Token(0.1 就说过)。

二、六件事归 Runtime

三、回到那句等式

Model + Harness = Agent——本章就是把这句等式的右边展开。

把六件事摆在桌上,就明白为什么【换个模型】不等于【换个 Agent】:六件事一件都没动。

四、学这一章的目的

不是记住插件名,是拿到一张分工表:出问题先看是哪一格。

五、动手 Demo:Runtime 到底多做了什么

同一件事,两边各干什么:

rows = [("产生下一步", "全部", "-"), ("决定调哪个工具", "全部", "-"),
        ("能不能调", "-", "审批+沙箱+规则"), ("在哪跑", "-", "沙箱+策略"),
        ("结果存哪", "-", "事件流水"), ("下轮看什么", "-", "上下文装配"),
        ("派谁来干", "说需求", "提供者+后台模式"), ("跨轮推进", "-", "目标+驱动")]
for a, m, r in rows:
    print("  %-14s 模型: %-6s Runtime: %s" % (a, m, r))

实跑输出:

--------------------------------------------------------------------
Runtime 到底多做了什么
--------------------------------------------------------------------
  同一件事,两边各干什么:

  一件事             模型的份           Runtime 的份
  ------------------------------------------------------------------
  产生下一步         全部               —
  决定调哪个工具     全部(给理由)     —
  能不能调           —                  审批 + 沙箱 + 规则
  在哪跑             —                  沙箱提供者 + 策略
  结果存哪           —                  会话事件流水(append-only)
  下轮看什么         —                  上下文装配(投影 + 压缩)
  派谁来干           说需求             Subagent 提供者 + 后台模式
  跨轮推进           —                  目标 + 跨轮驱动
  ------------------------------------------------------------------

  八行里模型只占两行——**Runtime 多做的,就是这六件事**。

八行里模型只占两行——这就是 Harness 存在的理由。 换个模型,这六件事一件都没动——换模型不等于换 Agent。 出问题先看是哪一格:这张表就是排查表。

30 秒实验

  1. 默写模型的份与 Runtime 的份,各几条。
  2. 拿一个你遇到的 Agent 问题,判断它落在哪一格。
  3. 想想为什么【换个模型】解决不了上下文装配的问题。

常见误区

  1. 错误:Agent 的能力主要来自模型。——纠正:模型只做两件事——产生下一步、选工具。
  2. 错误:换个更强的模型,Agent 就变强了。——纠正:六件事一件没动——换模型不等于换 Agent。
  3. 错误:这张分工表是总结,没什么用。——纠正:它是排查表——出问题先定位到格。
自测三问(点开对答案) 1. 模型在表里占几行? —— **两行**:产生下一步、决定调哪个工具。 2. Runtime 管哪六件事? —— 能不能调、在哪跑、结果存哪、下轮看什么、派谁来干、跨轮推进。 3. 这张表有什么用? —— **排查表**——出问题先定位到格,而不是先怀疑模型。

相关笔记