本周一篇技术长文把 Claude Code 的错误处理源码彻底扒开,核心数字是 10:withRetry() 函数最多重试 10 次,基础等待 500 毫秒起跳。我们注意到,Agent 赛道的真正分水岭不是模型多聪明,是工程深度。
这是什么
表面看,Agent(让 AI 自己拆解任务、调用工具、连续干活的程序)是「AI 自己干活」,但跑起来每一步都可能挂:网络抖动、模型回答被截断、上下文太长塞不下、用户中途按 Ctrl+C、工具调用失败。这位开发者把错误分成 6 类:3 类会自动重试或换路径,3 类坚决不重试、直接停下来报给人。文章把每类错误对应的源码位置、处理动作、典型错误码都列了出来。
行业怎么看
支持方的判断:这才是「企业级」Agent 该有的样子——把 99% 的临时故障吞掉,用户感觉不到卡顿。源码里有两个细节值得拎出来:连续 529(Anthropic 服务过载错误码)会自动切到备用模型;模型输出超长时,先用 64000 token 重新发同一份输入,还截断就追加续写消息。
但反对意见同样该听:把重试堆到 10 次只能压低偶发故障率。工具调用失败、用户主动中断、运行时异常这三类错误必须停下来,不能让 Agent「假装没事继续跑」——这是产品哲学问题,不是纯技术问题。更现实的担忧是:重试策略越激进,Token 账单失控的风险越高,Cursor、Devin 都曾被用户吐槽过「一个简单任务跑出几十美元账单」。
对普通人的影响
对企业 IT:评估 AI 编程工具时,「出错时怎么处理」应该写进采购需求文档,比单纯看基准测试分数更能反映真实生产环境。
对个人职场:用 Agent 干活时遇到中断或失败,主动记下错误码和复现路径,别让 Agent 自己无限重试,那只会让成本跑高。
对消费市场:消费者暂时感受不到这些工程细节,但企业愿意为 Claude Code 付高溢价的本质原因,正是这种「安静自我修复」的能力。