
摘要
- Anthropic在Claude学院"Claude Code实战"系列课程第1讲中,公开了操控长达数小时编码任务的方法。
- 课程讲解了如何先用计划模式确定任务范围,再通过压缩、回退在执行过程中及时校正上下文和方向。
- 同时还介绍了指定完成条件的目标功能、按间隔执行的循环功能,以及防止多个智能体冲突的工作树功能。
数小时的任务,一旦偏离方向就会更耗时
让Claude处理短任务时,结果很快就能看到,但如果是跨越数十个文件的重构或新功能实现这类需要数小时的任务,情况就不一样了。本次课程指出,如果不给出正确的方向指引,反而可能耗费更多时间。Claude Code是Anthropic开发的命令行编码智能体,是将对话式AI Claude延伸到开发工作场景中的工具。
这段视频是Claude学院"Claude Code实战"系列课程共9课中的第1讲。标题为《操控数小时的Claude Code会话:计划模式、压缩、回退、目标》,已发布在YouTube上。
建立在近期一系列Claude Code更新之上的课程
这次课程并非凭空出现。8月23日,Andrej Karpathy对LLM编码的指摘被整理成一份CLAUDE.md指南,曾在开发者社区中引发关注。在工具不断增多的大趋势下,这次课程相当于把"长时间使用这些工具时如何不迷失方向"这件事做了梳理。
开始前确定范围,开始后进行操控
视频提出了处理长任务的两个习惯。第一是在Claude开始任务之前先确定范围。打开计划模式后,Claude不会直接修改代码,而是只进行只读调查,然后给出一份计划;仔细阅读这份计划,并要求Claude修改其中需要调整的部分,执行阶段出问题的可能性就会随之降低。核心在于,与其制定完计划后被动等待结果,不如反复打磨计划本身,这样效率要高得多。
第二是在任务推进过程中进行方向把控,也就是操控。这里提到了四种具体工具。
具体怎么用
压缩功能会把对话内容总结成新的上下文并清除原有对话,从而重新腾出上下文窗口(即AI一次能记住并处理的信息量)。不过,如果总结过程中遗漏了重要内容,Claude就有跑偏的风险,因此在使用压缩指令时,最好同时写明希望保留的变更内容,这样Claude才能判断该保留什么、删除什么。比如调试已经结束、只想保留API变更部分时,就可以这样明确指示。
回退功能是指,当Claude走偏方向时,不必再用提示词努力把它拉回来,而是可以直接退回到最近的检查点。在提示词为空的状态下连按两次Esc键,就会打开回退菜单;每输入一次提示词,就会新增一个检查点。菜单中可以选择只回退代码、只回退对话,或两者都回退,也可以选择只总结检查点之后的内容,或只总结之前的内容。当想删掉冗长的设置阶段、只保留实际实现部分时,这个方式很好用。
目标功能是指,如果事先说明完成条件,Claude会持续多轮执行任务,直到一个快速评估模型确认条件已满足后才会停下。比如设定"所有测试通过,且类型检查器报告零错误"这样的条件,Claude就不会在自己感觉"做完了"的那一刻停手,而是等到条件真正满足时才结束任务。不过由于评估模型只读取对话记录,所以条件必须是能从产出结果中确认的形式。如果想取消条件,输入/goal clear即可。
循环功能是指按照固定间隔或Claude自行判断的间隔反复执行提示词。可以用它持续检查CI运行结果或部署状态这类会被外部改变的数值,一旦状态发生变化就据此采取行动;按Esc键即可停止。
最后,如果要在同一代码库中同时运行多个智能体,就需要用到工作树。就像一辆车装两个方向盘会很危险一样,多个Claude会话如果争抢同一批文件就会造成冲突,因此需要为每个会话建立独立的文件树来避免这种冲突。会话结束后,干净的工作树会被自动删除;在仓库根目录放置一个.worktreeinclude文件并列出清单,就可以在不纳入版本管理的情况下,指定需要复制到各个工作树中的环境变量文件或本地配置。
六种工具,使用时机各不相同
| 工具 | 使用时机 | 作用 |
|---|---|---|
| 计划模式 | 任务开始前 | 只读调查后给出计划 |
| 压缩 | 上下文快占满时 | 总结对话腾出上下文,可用指令指定总结标准 |
| 回退 | 方向出错时 | 通过检查点还原代码、对话 |
| 目标 | 能明确说明完成条件时 | 多轮自动推进直到满足条件 |
| 循环 | 需要持续确认外部状态时 | 按间隔反复执行提示词 |
| 工作树 | 同时运行多个智能体时 | 独立文件树防止冲突 |
补充确认的信息
Claude Code实战系列课程第4讲题为《Claude Code权限模式:使用自动模式实现放手运行》,讲解了在自动模式成为默认设置之前,Claude Code原本具备的六种权限模式。课程指出,每种模式对"哪些操作由Claude自主执行、哪些操作需要等待用户批准"设定了不同的边界。这第4讲同样以Claude学院一贯的形式发布——除YouTube视频外,还配有文字版课程内容。
Claude Code实战系列课程第6讲题为《用例程和无头模式实现Claude Code自动化》,介绍了让Claude Code实现自动化的两种方法:例程是指存储在云端、可被调用执行的提示词;无头模式则是指在用户自行编写的脚本中运行Claude Code的方式。
Claude Code实战系列课程第8讲题为《如何信任无人值守的Claude Code运行》,讲解了如何让无人值守的运行保持自动模式,并在运行结束后通过检查执行内容来建立信任。
编辑视角
这次课程之所以引人关注,不是因为增加了新功能,而是把已有的功能整合到一起,对"如何处理长时间任务"这个实务难题给出了答案。上个月,自动模式成为默认设置,Claude Code朝着无需每次获批、自主运行的方向迈进;而随着人工无人值守时间的增加,一旦偏离方向时的回退安全阀也就变得更加重要。回退、目标、循环正是承担这一安全阀角色的工具,而这次课程看起来是首次系统地梳理了这些工具该在何时、如何组合使用。
在实际工作中,如果用同样的方式处理"一条提示词就能搞定的短任务"和"耗时数小时的重构",总会遇到相同的问题:后者中途必然会出现上下文溢出、误改文件、判断不清任务是否真正完成等情况。而如果提前用计划模式在开始前缩小范围,并用回退功能保留可退回的节点,一旦出问题就能在几秒钟内恢复,而不必从头再来。对开发团队而言,值得先养成一个习惯:在把大型重构交给Claude之前,先把完成条件写成"测试通过"或"类型检查通过"这类可验证的语句——如果连这句话都写不出来,目标功能也就无从谈起。
在接下来剩余的8节课中,很可能会继续涉及上下文管理、大型代码库探索等主题。如果此前只把Claude Code用于短任务,这次课程或许正是通向数小时级自动化的入口。





评论