用途:教智能体在自主运行中处理意外错误,如 API 失败、构建工具崩溃、权限问题、资源耗尽。核心价值是韧性:可恢复的错误自行恢复,不可恢复的及时上报,避免在无解问题上浪费精力。
主要能力:错误分类。发生错误先分类再行动:瞬态(网络超时、503、限流、锁竞争)用退避重试;环境类(缺依赖、版本错误、端口冲突)先修环境再重试;权限类(文件权限拒绝、令牌过期)上报用户;逻辑类(断言失败、类型错误、模式不匹配)不重试,转调试流程;资源类(内存不足、磁盘满、上下文耗尽)缩小范围或上报。
重试策略:瞬态错误用指数退避,第一次等 2 秒,第二次 5 秒,第三次 15 秒,第三次失败后停止并上报。同一错误最多重试 3 次,不得立即重试,不得使用无退避的固定循环。若错误含 Retry-After 等指示,须遵守,不得提前重试。
错误日志:恢复前先记录结构化日志,含时间戳、类别、原始错误信息、发生上下文、采取的动作、结果。流水线模式追加到 .factory/audit-trail/slices/<slice-id>/error-log.md,独立模式写入项目暂存目录或记忆。
环境恢复:定位具体环境问题,做针对性修复(安装缺失依赖、结束冲突进程、清理陈旧锁文件),验证修复有效后仅重试原操作一次,再失败则上报。端口冲突可用 lsof -i :<port> 或等价命令检查,若占用进程与当前项目无关,应报告用户而非直接杀掉。
上下文耗尽恢复:接近上下文上限时立即把当前状态写入 WORKING_STATE.md,尽量完成当前原子操作,发出需要继续的信号,不要启动无法在剩余上下文中完成的新操作。
上报规则:权限错误、调查后的逻辑错误、瞬态错误重试 3 次耗尽、环境修复失败、资源耗尽、无法分类的错误,都应上报。上报需给出错误类别、原始信息、已尝试动作和建议,不能只说“出错了”。
流水线集成:CI 中的瞬态错误在标准/完全自主模式下自动重试一次;构建工具崩溃按类别处理;质量门失败不算错误,属预期反馈,不适用本技能。
限制:本技能为建议性指导,无法机械强制重试上限或阻止静默吞错,依赖智能体自觉遵守;发现无限重试或忽略错误应指出。恢复后需核验:是否先分类、逻辑错误是否未重试、是否使用指数退避、是否不超过 3 次、是否记录日志、上报是否含类别与建议、环境修复是否验证、上下文耗尽前是否保存状态。可独立使用,也可与 debugging-protocol、pipeline、session-reflection、ci-integration 配合;缺少依赖可用 npx skills add jwilger/agent-skills --skill debugging-protocol 安装。