小型决策模型的有用角色
决策模型的价值在于压缩一个已经在别处做出的决策。这个模式很窄,值得直白说明:将某一步骤分类到一组已经定义好的结果中——继续、升级、拒绝、重新规划——并且分类在本地完成,处于一个无法承受往返托管模型的延迟预算之内。同样的模式也承接了高频、低风险的路由,否则这些路由会消耗一次前沿模型的调用。工具选择步骤、检索还是直接回答的选择、重试还是失败的分支:这些评估起来很便宜,但每一轮都发往上游则很昂贵。
这是一种真实的优化。它降低了尾部延迟,让常见路径不再依赖远程服务,并把昂贵的模型留给真正需要它的场景。这一切都不要求决策模型具有权威性。它要求决策模型是派生的。
这一区分之所以重要,是因为两种定位会产生不同的工程产物。如果模型是派生的,策略就独立存在,可以被检视。如果模型是权威的,策略就只以权重形式存在,想知道它说了什么,唯一的办法就是运行它。
抽象在哪里泄漏
有三种失败模式反复出现,它们是结构性的,而非偶然的。

概率闸门的不可组合性。 一个 99% 准确的闸门用一次,就是一个 99% 准确的闸门。一个 99% 准确的闸门用在一条长轨迹上,并不等于一条 99% 安全的轨迹。误差在独立步骤之间以乘法方式累积,而 agent 循环中的闸门并不总是独立的——早期的一次错误路由会改变后续每一步的输入分布。算术是无情的:一串每一步都以高概率正确的决策,仍然有相当的机会得到一个错误的最终状态。概率性输出无法组合成保证,再高的单步准确率也无法把它们变成保证。
审查下的不透明。 只以权重形式存在的策略,无法被对其负责的人审查、diff 或证明。审查者可以读一份允许列表。审查者无法读一个 checkpoint。当事故复盘问为什么 agent 用这个作用域调用了这个工具,答案分类器给它打了 0.87 不是一个能让审计者满意的答案,也不是一个能支撑修复的答案。
分层规则
确定性策略优先。作用域、出站允许列表、支出上限和工具契约,以可审查的产物表达——文件、记录、人类可读且 CI 任务可 diff 的配置。这些定义了被允许行动的空间。它们很无聊,而无聊正是重点:它们是可以被证明的那一层。
决策模型其次。它们在确定性层已经允许的选项之间做选择。它们不拓宽空间。它们不引入策略层尚未授权的工具、作用域或目的地。
检验标准只有一句话:模型能决定的任何事,都必须能表达为确定性层本可以决定的策略,只是更慢。 如果一个决策无法被写成规则——哪怕是复杂的规则,哪怕是引用状态的规则——那它就不是路由决策,而是策略变更,它属于上游,属于可以被审查的地方。
有一个具体机制可以让这一点落地。对每一个决策点,维护一个用代码实现相同结果空间的确定性回退。回退不需要同样好;它需要正确且可读。模型跑在热路径上。回退在影子中运行,接收相同输入,记录它本会给出的答案。比较两者的输出,并将分歧连同输入、g)改变。

每一次部署都需要一条影子路径。 确定性回退与模型并行运行,而不是取代模型。它的输出被记录下来。这不是调参目标——这是监控信号。分歧告诉你,模型相对于所声明的策略已经移动。它不告诉你模型错了,也不告诉你策略错了。它告诉你两者已经分离,需要由人来决定该改哪一个。
这个取舍是诚实的,值得点名。影子路径消耗算力和存储,并且要求确定性回退作为一等产物来维护,而不是一个桩。作为交换,系统获得了一个可审查的策略面、一个漂移信号,以及一条不会在事故中才第一次被写出来的降级模式。跳过这一步的团队以后会为此付出代价,通常表现为一次事故,其中没有人能重建策略原本应该是什么。
这排除了什么
它排除了那种把决策模型当作策略、端到端训练、把确定性层缩减为薄薄一层包装的定位。那种定位看起来活动部件更少。实际上是可审查的部件更少,这两者不是一回事。
它也排除了相反方向的过度纠正:因为小型模型不能托付策略,就完全拒绝使用它们。它们可以被托付路由,这正是它们的用途。失败不在模型。失败在于要求它成为规则所居之处。
压缩你已经写好的策略。把策略放在人类能读到的地方。当两者不一致时,把它当作信息,而不是当作需要调参消掉的噪声。
封面照片:Jakub Pabis / Pexels。
