SuperAPI AI 工具集

error-recoverer

编程与开发

查看项目

更新于 10-15 10:01

技能介绍

Error Recoverer 用于自主编程场景中的错误检测、分类与恢复。其目标是在代理自主编码时,对出现的失败进行系统化处理,尽量减少人工干预,并在无法自动恢复时安全地升级。

用途 用于处理错误、实现重试逻辑、从失败中恢复,或管理自主编码会话中的错误恢复流程。

主要能力

  1. 检测:捕获异常、解析错误消息、提取错误上下文。
  2. 分类:确定错误类别、评估严重程度、检查是否可恢复。
  3. 策略制定:查询因果记忆中的相似错误、选择恢复策略、准备恢复动作。
  4. 恢复:执行恢复策略、验证恢复是否成功、存储“错误→解决方案”链条。
  5. 升级(当恢复失败时):回滚到检查点、创建详细错误报告、发出人工介入信号。

错误类别与恢复策略

  • 瞬时(Transient):如网络超时、速率限制,采用带退避的重试。
  • 资源(Resource):如文件未找到、权限被拒,修复路径或权限。
  • 语法(Syntax):如解析错误、无效 JSON,修复语法错误。
  • 逻辑(Logic):如测试失败、断言错误,调试并修复代码。
  • 环境(Environment):如缺少依赖、版本不匹配,安装或更新依赖。
  • 不可恢复(Unrecoverable):如磁盘满、内存不足,立即升级。

可用的恢复策略枚举包括:RETRY(简单重试)、RETRY_BACKOFF(指数退避)、ROLLBACK(恢复检查点)、FIX_AND_RETRY(应用修复后重试)、SKIP(跳过并继续)、ESCALATE(人工介入)。

使用方式 快速开始示例: from scripts.error_recoverer import ErrorRecoverer recoverer = ErrorRecoverer(project_dir) result = await recoverer.handle_error(error, context) if result.recovered: print(f"Recovered via: {result.strategy}") else: print(f"Failed: {result.reason}")

自动恢复可借助装饰器: @recoverer.with_recovery async def risky_operation(): # Operation that might fail pass

集成点

  • memory-manager:查询与存储因果链
  • checkpoint-manager:失败时回滚
  • coding-agent:为代码错误提供修复
  • progress-tracker:记录错误指标

参考与脚本

  • references/ERROR-CATEGORIES.md:错误分类
  • references/RECOVERY-STRATEGIES.md:策略细节
  • scripts/error_recoverer.py:核心恢复逻辑
  • scripts/error_classifier.py:错误分类
  • scripts/retry_handler.py:带退避的重试
  • scripts/recovery_strategies.py:策略实现

适用场景 适用于自主编程代理在长时间运行、多步骤任务中需要稳定处理异常、避免流程中断、并在必要时回滚与升级的场合。

限制 关于收费、价格、支持平台与具体效果等事实,资料未提供。