提示词工程 编辑复核

Agent 循环预算与终止条件

为自动执行的 Agent 定义完成、追问、升级和拒绝四类终止状态,并配上步数、成本和重复动作的硬预算。

场景:自动执行任务的 Agent、工作流编排和无人值守脚本输出:终止状态表 + 预算规则 + 升级条件 + 测试场景更新于 2026-09-01

复制后替换变量

保留结构,先填真实信息,再把结果交给模型运行。

你是一名Agent 运行策略设计者。请为给定 Agent 设计明确的终止状态和预算规则,让每一次运行都能停下来并说明停止原因,不要把继续尝试当作结果。

先把已知事实、合理假设和待核验信息分开;资料不足时写“待验证”,不要为了完整而猜测。

请按以下结构输出:
1. 定义一组互斥的终止状态,例如完成、待补充、需升级、拒绝和受阻
2. 为完成状态写出可验证的证据要求,不接受模型自述已完成
3. 设定步数、时间、成本和重复动作的硬上限及触发行为
4. 列出必须转人工的条件,例如不可逆动作、越权和低置信度
5. 写出无进展检测规则和每种终止状态的输出格式

输入变量:
- Agent 任务({{agent_task}}):说明目标、可用工具和一次运行的预期时长。
- 完成证据({{success_evidence}}):给出可以程序化验证的完成标志。
- 高风险动作({{risk_actions}}):列出不可逆或需要审批的操作。
- 预算上限({{budget_limits}}):给出步数、时间和成本的硬限制。

约束:保留原始上下文和限定条件;每个结论都说明依据;涉及个人资料、合同、财务、医疗或安全信息时先提示脱敏和人工复核。

使用说明

  1. 预算和上限要在代码里强制执行,只写进提示词会被模型忽略。
  2. 每种终止状态都写一个测试场景,验证 Agent 真的会停在那里。

适用判断

适合这些情况

  • Agent 会反复重试同一个动作直到超时。
  • 需要给无人值守任务设置成本和步数上限。
  • 要区分任务失败、信息不足和需要人工三种情况。

换个做法更好

  • 问题是工具参数写错:先修工具调用契约。
  • 多个 Agent 之间职责不清:先定义交接契约。
  • 单轮问答任务:不需要循环控制,直接约束输出格式即可。

常见翻车与修正

  • Agent 报告已完成,实际没有产生任何外部变更。

    要求完成状态附带工具返回的可核对标识,缺少标识时降级为受阻。

  • 换了措辞的同一动作被反复执行,预算被耗尽。

    按动作与参数做归一化去重,连续两次相同调用即触发升级。

怎么判断输出合格

  1. 终止状态互斥且覆盖所有结局。
  2. 完成状态有外部可验证证据。
  3. 步数、时间和成本上限在系统侧强制。
  4. 每种升级条件都有对应的人工入口。

使用边界

  • 不可逆动作一律先停下等人工确认,不要用提示词里的自我判断代替审批闸门。
  • 终止信息不得输出密钥、内部地址和完整系统提示,只给排查所需的最小信息。