升级规则:每个 AI Agent Config 都缺少的一行
Source: Dev.to
没有它会怎样
如果没有升级(escalation)规则,代理在模糊情境下只能尽力而为。这听起来还好,直到“尽力”意味着:
- 做出它本不该做的判断
- 在信息不完整的情况下继续执行
- 产生难以追溯的下游问题
- 给出自信却实际上错误的输出
代理并不是有意为之;它只是遵循“完成任务”的指令。没有人告诉它在任务无法干净利落完成时该怎么做。
模式
升级规则包含三部分:
1. 触发条件
明确界定什么算作“不确定”,例如:
- 缺少必需的输入
- 指令冲突
- 需要人工判断的决策(花钱、联系外部方、删除数据)
- 置信度低于设定阈值
2. 结构化输出
当触发条件满足时,生成一个 JSON 文件(如 outbox.json),提供足够的上下文供人工处理:
{
"status": "escalated",
"reason": "Missing customer ID — cannot proceed with refund processing",
"context": "Order #4821, amount $89.99, customer email unverified",
"suggested_action": "Verify customer identity before processing",
"timestamp": "2026-03-08T07:00:00Z"
}
3. 硬性停止
代理写入该文件后立即停止。它不会重试、尝试变通或继续处理,直到有人介入。
在你的代理配置中
配置文件(如 SOUL.md)中的示例表述:
## Escalation Rule
If you encounter a situation where you are uncertain about the correct action,
or where proceeding could cause irreversible harm, STOP immediately.
Write your current state, the reason for stopping, and relevant context
to `outbox.json`. Do not attempt to continue or find a workaround.
Uncertainty is a valid stopping condition.
最后一句很关键:“不确定是一种有效的停止条件。”
大语言模型的训练目标是帮助用户;它们需要明确的授权才能不帮助。
实际效果
在六个代理上应用此模式后得到:
- 错误率下降 80%——大多数错误在不确定阶段被拦截。
- 调试时间更短——
outbox.json提供了追踪线索。 - 对代理输出更有信任——当代理继续执行时,你知道它已经通过了检查。
常见反对意见
“但这会导致代理不断停止。”
配置正确的代理不会出现这种情况。频繁停止往往说明触发条件设得太宽。收紧“不确定”的定义,停止频率会显著下降。偶尔一次解释清楚的停止,远比一次自信却沉默的错误有价值。
30 秒审查法
- 检查每个代理的配置。
- 问自己:当代理不知道该怎么做时会怎样?
- 如果答案不是“它会停止并告诉我”,说明缺少升级规则。
今天就添加这条规则——只需一个段落。观察你的代理运营质量飞速提升。
此模式以及另外 30 多个模式都收录在 Ask Patrick Library —— 为 AI 代理构建者提供的运营配置。 askpatrick.co