Run Nudge 机制
wesgine 的 Plan 未完成提醒机制——当 Agent 试图结束 Run 但 Plan 仍有待完成步骤时的处理。
触发条件
Agent 发出 end_turn 信号,但 Plan 仍有 pending 步骤。
Nudge 行为
引擎注入系统消息提醒 Agent 继续工作:
你还有以下待完成的步骤:
[0] 步骤描述 A
[1] 步骤描述 B
继续执行,完成后用 plan(action=update, task_id=<index>, status=done) 标记。
次数上限
Plan-pending nudge 严格上限 3 次(maxPlanPendingNudges)。
耗尽后 Run 正常终止,步骤留在 pending。
Nudge 耗尽后的行为
| 动作 | 说明 |
|---|---|
| Run 正常终止 | 不强制完成 |
| 步骤保留 pending | 不伪造完成 |
发出 EventPlanNudge | 提醒事件(非错误) |
ApplyTermination(nudge_exhausted) | 标记终止原因 |
与 PlanComplete 的关系
plan(action=complete) 后 Plan 进入 Completed 状态。
Completed 的 Plan 跳过 nudge(!IsTerminal() 门)。
complete 会收口剩余 open 步骤为 done。
Nudge 引导内容
Nudge 消息显式引导 update 补标,不引导 complete:
- ✅
继续执行 + 完成即 update 补标 - ❌
调用 plan(action=complete)(会使 pending 无法解决)
每个步骤带 0-based task_id 索引。
相关不变量
- INV-PE-15:done 与工作发生过同构
maxPlanPendingNudges = 3- Nudge 是提醒不是错误
相关文档
- Plan 系统 →
plan-system.md - Run 终止哲学 →
run-termination.md - Run 协调 →
run-coordination.md