Claude Code 长任务为什么不容易跑偏

一句话概括

系统性总结 Claude Code 执行长任务时保持可靠性的六大核心机制——任务编排元数据文件化、代码库即真相来源、接力赛式子代理执行、三步循环任务文件化、上下文管理防退化、防护措施与风险控制——并给出从 50% 到 95% 成功率的实践演化路径。

实践内容

三步循环与成功率演化

一位开发者通过三个阶段将任务成功率从 50% 提升到 95%:

  • Stage 1: 添加 README 和 CLAUDE.md —— 50% 成功率
  • Stage 2: 为每个功能编写独立的 task-plan.md 文件 —— 75% 成功率
  • Stage 3: 构建自动化 CLI 工具生成任务文件 —— 95%+ 成功率

三步循环:生成任务 → 生成计划 → 实现代码。“用自己的话写任务,迫使模型证明它理解了我。“

TODO 驱动开发范式

将 TODO 直接插入代码文件,而非保存报告和计划到 .md 文件:

  • 代码库本身成为唯一的真相来源
  • 缺失的工作直接定位在相关文件中
  • 脚本可以列出所有 TODO 进行批量实现
  • 消除了”记住还剩什么”的需要

上下文管理措施

  • 使用 /compact 压缩对话历史同时保留上下文摘要
  • 保持 CLAUDE.md 简洁
  • 将复杂任务拆分为小步骤——“一步一步最安全”
  • 安装 Hooks 防止死锁

接力赛式子代理调度

避免并行处理导致的灾难(两个子代理同时修改同一文件产生冲突),采用”接力赛”方式:每次只派出一个 Sub-Agent 专注一个阶段,完成后再交接。“CEO 的工作是将大任务分解为无数小阶段”,确保阶段之间无冲突。

摘录

最关键的机制是将任务编排元数据”显式文件化”,当任务编排元数据被写入文件后,Claude Code 可以在重启后”基于文件行动”,这是长时运行项目能够持续可靠的关键。有开发者报告在单日连续操作中消耗了约 9 亿 token。

一位 Reddit 开发者在 9 周的实践中发现,将报告和计划保存到 .md 文件会导致文档累积,反而增加了认知负荷。相反,将 TODO 直接插入代码文件创造了一种范式:代码库本身成为唯一的真相来源,缺失的工作直接定位在相关文件中,脚本可以列出所有 TODO 进行批量实现。

长对话导致 token 过载,占退化原因的 85%。根本洞察是:“不要求它’一次完成’,而是要求它’不断尝试直到真正完成’。“所有方法共享同一个本质:给 Claude 一个任务,让它运行,检查完成是否真实,如果没有,继续下一轮。

涉及实体

  • Claude-Code —— 本文的核心讨论对象,分析其长任务执行可靠性机制

涉及主题

  • AI-Agent-长任务执行 —— Agent 执行长任务时的编排、防退化与成功率优化
  • 上下文管理与防退化 —— 上下文累积导致退化的原因(85%)与对策
  • 任务编排与文件化 —— 将任务元数据显式文件化、TODO 驱动开发等实践范式

我的评注

  • “显式文件化”这个洞察非常本质——它把 Agent 的”记忆”从脆弱的对话上下文迁移到持久的文件系统,本质上是一种外部化记忆策略,与 OpenClaw 的双源记忆系统异曲同工
  • 从 50% 到 95% 的三阶段演化路径具有很高的实操参考价值,尤其是 Stage 3 的”自动化 CLI 工具生成任务文件”,说明手工编写任务描述的瓶颈在于人的精力而非模型能力
  • “接力赛式子代理”与并行子代理的取舍值得关注——很多框架默认推崇并行,但本文指出在文件修改场景下串行反而更可靠
  • 约 25% 的 overnight 输出被丢弃这个数据点很诚实,说明即使有了完善的机制,长任务仍然不是”放手不管”的