跳转至

智能体内省调试

当智能体执行反复失败、无进展地消耗 Token、循环调用同一工具,或偏离预期任务时,使用此技能。

这是一个工作流技能,而不是隐藏运行时。它教会智能体在升级给人类之前进行系统性自我调试。

启动时机

  • 达到工具调用最大次数 / 循环限制失败
  • 无进展的重复重试
  • 导致输出质量下降的上下文膨胀或 Prompt 漂移
  • 文件系统或环境状态在预期与实际之间不一致
  • 可通过诊断和更小修复动作恢复的工具失败

作用域边界

在以下情况下启动此技能: - 在盲目重试之前捕获故障状态 - 诊断智能体特有的常见故障模式 - 应用遏制恢复动作 - 生成结构化且人类可读的调试报告

不要将此技能作为主要来源的情况: - 代码变更后的功能验证;使用 verification-loop - 已有更窄的 ECC 技能覆盖的框架特定调试 - 当前 harness 无法自动强制执行的运行时约定

四阶段循环

阶段 1:故障捕获

在尝试恢复之前,准确记录故障。

捕获内容: - 错误类型、消息、堆栈跟踪(如可用) - 最后一次有意义的工具调用序列 - 智能体当时试图做什么 - 当前上下文压力:重复的 Prompt、过大的粘贴日志、重复的计划、失控的笔记 - 当前环境假设:cwd、分支、相关服务状态、预期文件

最小捕获模板:

## 障害キャプチャ
- セッション / タスク:
- 進行中の目標:
- エラー:
- 最後に成功したステップ:
- 最後に失敗したツール / コマンド:
- 観察された繰り返しパターン:
- 検証すべき環境の前提:

阶段 2:根本原因诊断

在更改任何内容之前,将故障与已知模式进行匹配。

模式 可能原因 检查
达到工具调用最大次数 / 重复同一命令 循环或无出口的观察者路径 检查最后 N 次工具调用是否存在重复
上下文溢出 / 推理下降 无限制笔记、重复计划、过大日志 检查最近上下文中的重复和低信号大块内容
ECONNREFUSED / 超时 服务不可用或端口错误 确认服务健康状态、URL、端口假设
429 / 配额耗尽 重试风暴或缺少退避 统计重复调用次数并检查重试间隔
写入后找不到文件 / 陈旧差异 竞态、错误的 cwd 或分支漂移 重新确认路径、cwd、git 状态和实际文件存在
“修复”后测试仍持续失败 错误假设 隔离确切失败的测试并重新推导缺陷

诊断问题: - 这是逻辑失败、状态失败、环境失败还是策略失败? - 智能体是否丢失了实际目标,开始优化错误的子任务? - 故障是确定性的还是暂时的? - 验证诊断的最小可逆动作是什么?

阶段 3:遏制恢复

使用能改变诊断表面的最小动作进行恢复。

安全的恢复动作: - 停止重复重试,重新陈述假设 - 删除低信号上下文,仅保留活动目标、阻塞项和证据 - 重新确认实际文件系统 / 分支 / 进程状态 - 将任务缩小到一个失败命令、一个文件或一个测试 - 从推测性推理切换到直接观察 - 如果故障高风险或外部阻塞,则升级给人类

除非通过当前环境的实际工具真正执行了这些操作,否则不要声称“重置智能体状态”或“更新 harness 配置”等自动恢复动作。

遏制恢复检查清单:

## 回復アクション
- 選択した診断:
- 取った最小アクション:
- なぜこれが安全か:
- 修正が機能したことを証明するエビデンスは何か:

阶段 4:内省报告

以一份能让下一个智能体或人类理解恢复过程的报告结束。

## エージェント自己デバッグレポート
- セッション / タスク:
- 障害:
- 根本原因:
- 回復アクション:
- 結果: 成功 | 部分的 | ブロック中
- トークン / 時間の消費リスク:
- 必要なフォローアップ:
- 後でエンコードすべき予防的変更:

恢复启发式

按以下顺序优先介入:

  1. 用一句话重新陈述实际目标。
  2. 确认世界状态,而不是依赖记忆。
  3. 缩小失败范围。
  4. 执行一个识别检查。
  5. 仅在此之后重试。

不良模式: - 用略有不同的措辞重试同一动作 3 次

良好模式: - 捕获故障 - 对模式分类 - 执行一个直接检查 - 仅在检查支持时更改计划

与 ECC 的集成

  • 如果代码已更改,在恢复后使用 verification-loop。
  • 如果故障模式值得转化为本能或未来技能,则使用 continuous-learning-v2。
  • 如果问题是决策模糊而非技术失败,则使用 council。
  • 如果故障来自冲突的本地状态或仓库漂移,则使用 workspace-surface-audit。

输出标准

当此技能激活时,不要仅以“已修复”结束。

始终提供: - 故障模式 - 根本原因假设 - 恢复动作 - 证明情况已改善或仍被阻塞的证据

本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 ev/ECC