任务卡住或失败了怎么办
最后更新:2026-09-22
短答:先分清它处在哪一种状态——在跑、在等你、还是已经死了。这三种从外面看都像「不动了」,处理方式却完全相反。
怎么区分这三种
在跑:有东西在动
判据只有一个:有没有新的输出或时间在往前走。有,它就在干活。有些任务(读大文件、跑测试、等外部接口)几分钟没动静是正常的,不代表卡住。
在等你:它需要你回答一句
这类情况下它其实已经停下来了,而且是故意停的——它碰到一个自己不能决定的动作,把问题挂在那儿等你。
最典型的是一句话的确认:「要不要删除这个文件」「要不要执行这条命令」。你回一句,它继续。
哪些动作会被拦、怎么配才不烦人,见 审批门是什么。
如果你不知道它在等什么,去看有没有「待处理/待确认」这类条目——等你的任务通常不会自己超时消失,会一直挂着。
已经死了:没有动静,也没有在等你
既没有新输出,也不在任何待确认列表里,而且这个状态持续得明显超出这个任务该花的时间——当它死了。
这时候第一步不是重跑,是看它做到哪了。见下面。
重跑之前必须先确认一件事
停下来的任务可能已经做完了一部分,而且那部分可能有副作用:文件已经改了、邮件已经发了、订单已经下了。
直接重跑等于让它再做一次。轻则白跑一遍,重则同一件事做两遍。
所以顺序是:
- 先把上次的输出和记录留下来——它能告诉你停在哪一步。
- 检查外部状态:那个文件现在是什么内容?那条记录写进去了没有?
- 再决定重跑整个任务,还是只从断点往下做。
如果任务本身是幂等的(做第二遍和第一遍结果一样),重跑没什么风险。如果它会「再发一次」「再买一次」,那就必须先把状态查清楚。
失败和卡住的区别
失败通常会明说:报了错、留了输出。这类反而好办,因为你有线索。
难办的是静默失败——任务从头到尾没有报错,最后给了一个看着完整的结论,但其中某一步其实没执行。这类要看它有没有真的调用工具、结果有没有内容,而不是看有没有报错。判据见 怎么验证它真做完了。
什么时候该放弃这次重试
如果同一个任务连着重跑两三次都在同一个位置停下,问题通常不在运气上:
- 它要的东西不存在——文件名写错、模型名不存在、账号没有权限。
- 环境不满足——依赖没装、版本不对。
- 任务本身太模糊——它每次都走到同一个地方才需要你补充信息。
这几种情况下继续重跑只是重复失败。把停下来的那条错误信息拿去查,或者把任务描述改清楚再派。
下一步
- 怎么验证它真做完了——三种静默的假成功
- 审批门是什么——哪些操作会被拦下来
- 让几个 Agent 分工干活——哪些任务适合同时跑