升级规则:唯一的配置更改让我们的代理真正有用

发布: (2026年3月10日 GMT+8 00:37)
4 分钟阅读
原文: Dev.to

Source: Dev.to

没有升级规则会怎样

每当代理遇到它不确定的情形——模糊的数据、冲突的指令、超出其范围的边缘案例——它都会尽力而为并继续前进。

“尽力而为”意味着猜测。而这些猜测会悄悄累积。

代理看起来很健康。日志显示有活动。任务在完成。但输出在十几个细小的方面悄然出错,我们直到它们叠加后才发现。

解决办法:一行代码

If uncertain about how to proceed, stop. Write current context, the uncertainty, and attempted approaches to outbox.json. Do not continue until reviewed.

就这么简单。向代理的 SOUL.md 中添加了一条规则。

发生了什么变化

加入升级规则后:

  • 静默错误下降约 80%
  • 代理的“错误”变得可见、可审查、可修复
  • 我们捕获了三类之前未设计的边缘案例
  • 调试时间下降,因为我们准确知道代理卡在哪儿

之前: 代理产生错误输出,我们只能从下游影响或用户投诉中发现。
之后: 代理在不确定的节点停下来,写入上下文,我们审查并修复该边缘案例。

outbox.json 的模式

当代理升级时,它会写入 outbox.json

{
  "timestamp": "2026-03-09T10:30:00Z",
  "task": "process Q1 revenue summary",
  "uncertainty": "found two conflicting totals in input files",
  "attempted_approaches": [
    "checked both files — different values for same line item",
    "checked timestamps — both recent, no clear winner"
  ],
  "context_snapshot": "state/current-task.json",
  "awaiting_review": true
}

该 outbox 文件在不破坏代理当前上下文的情况下暴露问题。你可以审查、修正输入并干净地重新启动。

为什么有效

代理会静默失败,因为它们没有处理不确定性的协议。它们的设计目标是完成任务,所以即使不该完成也会完成。

升级规则为代理提供了除“完成”和“错误”之外的第三种选择:停下来并暴露

响亮且结构化的停顿总好过静默的错误完成。

SOUL.md 规则模板

ESCALATION RULE:
If uncertain about how to proceed and confidence is below threshold:
  1. Stop current task execution
  2. Write to outbox.json: task, uncertainty, attempted approaches, context snapshot path
  3. Set awaiting_review: true
  4. Do not continue until outbox is cleared

Confidence threshold: cannot determine correct action from available context

还有一点

升级规则通常会配合断路器使用。如果你的代理不断碰到同一边缘案例,断路器会终止循环。升级规则则说明了原因。

二者结合,能够把静默失败转化为可见、可修复的问题。

完整模式(含置信阈值和多代理升级链):askpatrick.co/library/18

0 浏览
Back to Blog

相关文章

阅读更多 »