当前位置: 首页 > news >正文

工具失败时怎么办:重试、回滚、人工确认和风险提示

工具失败不是异常情况。

在真实 Agent 系统里,它是常态。

Shell 会超时。

Browser 会遇到登录、2FA、captcha。

文件会不存在。

模型会传错参数。

外部 API 会 429。

所以一个成熟的 OpenClaw 工作流,不应该假设工具总会成功,而应该有一套失败处理策略。

先说结论:失败处理要先分类,再动作

不要看到失败就立刻重试。

先分类:

临时失败 网络抖动、429、服务暂时不可用 参数失败 路径错、selector 错、参数缺字段 权限失败 approval 未通过、tool policy 拒绝、sandbox 看不到文件 状态失败 页面未加载、session 过期、进程等待输入 危险失败 可能破坏数据、重复提交、误删文件、发送到错误 channel

分类以后再决定:

retry recover rollback ask human report risk stop

Retry:只适合可重试的失败

适合重试:

短暂网络错误 可幂等的读取 临时 5xx 页面加载偶发超时 provider 短重试

不适合盲目重试:

支付 发消息 删除 迁移数据库 提交表单 触发生产部署

因为重复执行可能造成真实副作用。

官方 retry policy 也强调:按请求重试,避免重复非幂等操作。

Recover:修正参数和状态

很多失败不是需要重试,而是需要恢复。

例如 Browser stale ref:

旧 snapshot 里的 ref 失效 ↓ 重新 snapshot ↓ 找新的 ref ↓ 再尝试一次

例如 shell 路径错误:

command failed: file not found ↓ pwd / ls / rg 确认路径 ↓ 用正确 workdir 重跑

这比“原样重试三次”聪明得多。

Rollback:能撤销的才叫可靠

工具失败后,如果已经改变了文件或系统状态,要考虑回滚。

常见策略:

文件修改 使用 apply_patch,保留 diff,必要时反向 patch 代码改动 先看 git diff,再决定撤回哪一部分 生成文件 删除或标记临时产物 外部系统 如果没有可靠撤销 API,不要假装能 rollback

回滚不是“把一切恢复到过去”这么简单。

特别是外部系统、数据库、消息发送、支付、部署,很多动作不可逆。此时正确做法是停止、报告风险、请求人工处理。

Human confirmation:什么时候必须问人

应该问人的场景:

执行破坏性 shell 命令 approval policy 要求确认 Browser 遇到登录、2FA、captcha 要发送敏感数据到群聊 要删除、覆盖或迁移重要文件 要进行生产部署或付款 无法确定用户真实意图

人工确认不是 Agent 的失败,而是安全设计的一部分。

风险提示:不要把不确定包装成成功

当工具失败或只完成部分工作时,最终回复要说明:

完成了什么 哪里失败 失败原因是什么 有没有副作用 是否重试过 是否需要人工确认 下一步建议

不要说:

已完成。

如果实际上只是:

已打开网页,但下载失败。 已生成报告,但没有成功发送。 已修改文件,但测试未通过。

Trajectory:失败后的飞行记录

OpenClaw 的 trajectory capture 可以作为每个 session 的 flight recorder。它记录 prompt、tool calls、runtime events、模型、插件、usage、错误等结构化时间线。

当你需要回答:

模型为什么调用这个工具? 哪个工具失败了? 上下文里到底有什么? fallback 有没有发生?

可以考虑导出 trajectory bundle。

这让失败不只是“感觉上出错了”,而是可以被复盘。

一个真实场景

用户说:

帮我清理项目里的临时文件。

Agent 不能直接:

rm -rf *

合理流程:

1. 先列出候选文件 2. 区分 build artifact、cache、用户文件 3. 给出将删除清单 4. 需要时请求确认 5. 执行可回滚或低风险删除 6. 保留日志 7. 报告删除了什么、跳过了什么

如果删除失败,应该说明哪个文件失败、为什么失败,而不是继续扩大范围。

常见误解

误解一:工具失败就应该自动重试

不对。要先判断是否幂等和是否安全。

误解二:回滚就是 git reset

不能这么粗暴。回滚要针对本次变更,而且不能撤掉用户已有修改。

误解三:人工确认会降低自动化能力

不是。它让自动化可以进入更高风险场景。

误解四:失败时只要道歉就行

不够。要给证据、影响范围和下一步。

最后总结

工具失败处理,是 Agent 可靠性的核心。

一句话总结:

可重试的才重试,可撤销的才回滚,高风险的先确认,不确定的要透明报告。

本节作业

  1. 写出五类工具失败,并分别给出处理策略。
  2. 设计一个删除文件前的人工确认流程。
  3. 解释为什么发消息、支付、部署不适合盲目重试。
  4. 找一次失败任务,写出它的完成部分、失败部分和风险提示。

下一节预告

下一部分进入 Skill、MCP 与插件扩展:我们会从“如何使用 OpenClaw Skill”继续讲到如何自己写 Skill、接 MCP、做插件。

参考资料

  • OpenClaw Docs:Retry policy
  • OpenClaw Docs:Exec approvals
  • OpenClaw Docs:Trajectory bundles
  • OpenClaw Docs:Diagnostics export
  • OpenClaw Docs:apply_patch tool

原文链接:工具失败时怎么办:重试、回滚、人工确认和风险提示 | Harries Blog™

http://www.jsqmd.com/news/1048724/

相关文章:

  • OpCore-Simplify:15分钟搞定OpenCore EFI配置的终极智能工具
  • Windows即时通讯软件防撤回与多开完整技术指南:RevokeMsgPatcher深度解析
  • 2026 年 6 月萧邦官方维修服务网络迎来全面更新升级,多处全新官方售后服务地址正式投入启用 - 亨得利中国服务中心
  • B站内容管理革命:如何用AI总结功能将90分钟视频浓缩为5分钟精华
  • 从麦克斯韦方程到仿真工具:FDFD光子仿真工具箱构建指南
  • 嵌入式GUI开发实战:emWin进度条、二维码与单选按钮控件详解
  • 终极指南:用RyzenAdj解锁你的AMD笔记本隐藏性能
  • 在M系列Mac上运行Windows程序的5个简单步骤:Whisky完全指南
  • 逆向一个被遗忘的DVD游戏格式:从DES加密到Rust模拟器
  • 百考通智能化AI,赋能文献综述,精准破解文献梳理难题
  • 2026年宁波AI搜索优化公司全面权威横向评测与选型决策指南 - 品牌报告
  • 嵌入式GUI开发实战:深度解析emWin三大数值调节控件
  • Ludusavi游戏存档备份工具深度指南:跨平台游戏进度保护实战
  • 3分钟搞定:PC版微信QQ防撤回补丁终极应用指南
  • 权威核验|2026 年卡地亚官方售后网点专项核验报告出炉,全国 60 余家正规授权维修点完整地址公布 - 卡地亚中国服务中心
  • [实战] 制造业质量控制:CAD图纸气泡图自动化标注与检验计划实操指南(2026版)
  • 如何用BiliTools解决B站视频下载与管理的三大难题
  • emWin内存设备16位位图绘制优化:GUI_MEMDEV_SetDrawMemdev16bppFunc实战指南
  • 邢台厨卫屋顶防水修缮三家对比测评 吉修匠 99.8 分 - 吉修匠
  • 零投诉零纠纷!2026沈阳黄金回收标杆品牌合扬实力认证 - 奢侈品交易观察员
  • HDRI转立方体贴图终极指南:3步让3D场景光照真实感翻倍
  • Qwen3-VL技术报告实操解剖:双塔对齐、动态桥接与工业级微调指南
  • 【图像隐写】基于DWT、SVD和扩频技术混合可见-隐形水印系统(将彩色标志和强大的隐藏水印嵌入图像中附Matlab代码
  • 2026 年重庆厨卫屋顶防水修缮三家对比测评 吉修匠 99.8 分稳居榜首 - 吉修匠
  • 夸克网盘链接解析直链链接_在线解析网盘链接
  • 2026年卡地亚官方售后服务体系升级公告:全新官方维修门店新址升级落地,最新服务热线同步开通 - 卡地亚中国服务中心
  • 2026年成都GEO优化机构综合测评及选择指南 - 刘向阳而生
  • 5分钟搞定M3U8视频下载:免费工具让加密视频轻松保存
  • ComfyUI-MultiGPU深度优化指南:释放GPU显存的分布式计算解决方案
  • 终极游戏分屏指南:让任何PC游戏都能本地多人对战