Claude Code 最佳实践:官方推荐的工作流程与提示技巧

把 Anthropic 官方《Best practices for Claude Code》提炼成中文:给 Claude 可运行的检查、先探索再计划、写具体的提示、配置环境、及时纠偏、管好上下文、并行与自动化,以及五种常见失败模式。

NNathaniel bigo··原创首发·AI 辅助撰写
12 分钟读完
资料核对于 2026-10-07 · 依据官方文档与公开资料整理 Plus 账号
本文根据 Claude Code 官方文档《Best practices for Claude Code》整理并改写,核对日期 2026-10-07。官方说明这些做法来自 Anthropic 内部团队和各类代码库的工程师实践,是「起点」而不是铁律。

适用于谁

  • 已经会用 Claude Code,但觉得它时好时坏、经常需要返工的人;
  • 搜「claude code 最佳实践」「使用技巧」「教程」想系统提升效率的人;
  • 想让 Claude 更长时间自主工作、少盯着它的人。

入门安装和基本命令详见本站《Claude Code 中文入门教程(2026):安装、登录、第一个任务、常用命令》。

结论先说:一切围绕一个约束

官方开宗明义:大多数最佳实践都源于一个限制——上下文窗口很快会被填满,而且越满表现越差。一次调试或代码探索就可能产生几万 token;上下文快满时,Claude 可能「忘记」前面的指示或犯更多错。所以:

  1. 给 Claude 一个能自己运行的检查(测试、构建、截图对比),这是「你得一直盯着」和「你可以走开」的区别;
  2. 先探索、再计划、后写代码,避免解决错的问题;
  3. 提示写具体:指明文件、场景、约束、参考的现有写法;
  4. 主动管理上下文:换任务就 /clear,调研交给子代理;
  5. 尽早纠偏:方向不对立刻按 Esc,纠正两次还不行就清空重来。

一、给 Claude 一个能验证的方式

Claude 觉得「看起来做完了」就会停下。没有可运行的检查,你就成了唯一的验证环节,每个错误都要等你发现。给它一个返回「通过 / 失败」的东西,它就会「干活 → 跑检查 → 看结果 → 再改」直到通过。

场景不好的写法更好的写法
给出验证标准「写一个校验邮箱的函数」「写一个 validateEmail 函数。测试用例:[email protected] 为真,invalid 为假,[email protected] 为假。写完运行测试」
界面改动做视觉验证「把仪表盘做得好看点」「[贴截图] 按这个设计实现。实现后截图和原图对比,列出差异并修正」
解决根因而不是症状「构建失败了」「构建报这个错:[贴报错]。修复并确认构建成功。解决根本原因,不要把错误压掉」

检查力度可以逐级加强:

  • 在一条提示里:让它跑检查并反复修改(上表的写法);
  • 整个会话:用 /goal 设定目标条件,每轮结束后由独立的评估器复查,没达成就继续;
  • 确定性的关卡:用 Stop Hook 跑检查脚本,不通过就不让这一轮结束(详见本站《Claude Code Hooks 怎么用:配置示例(完成通知、自动格式化、拦截危险命令)》);
  • 第二意见:让一个子代理在全新上下文里审查结果,干活的和打分的不是同一个。

还有一条:让 Claude 拿出证据(测试输出、运行的命令和返回、结果截图),而不是只说「完成了」。看证据比你自己重跑一遍快。

二、先探索,再计划,后写代码

官方推荐的四步:

  1. 探索(plan 模式):「阅读 /src/auth,搞清楚我们怎么处理 session 和登录」;
  2. 计划:「我想加 Google OAuth,要改哪些文件?流程是怎样的?写一份方案」,可以按 Ctrl+G 在编辑器里直接改方案;
  3. 实现:批准方案后,「按方案实现,给回调写测试,运行测试并修复失败」;
  4. 提交:「用清楚的说明提交,并开一个 PR」。

但官方也说 plan 有开销:能用一句话描述的 diff,就跳过计划直接做。不确定做法、要改多个文件、不熟悉代码时才最值得规划。plan 模式的具体操作详见本站《Claude Code Plan 模式怎么用:先出方案再改代码》。

三、提示要具体

策略模糊具体
限定范围「给 foo.py 加测试」「给 foo.py 写一个测试,覆盖用户已登出的边界情况,不要用 mock」
指明信息来源「ExecutionFactory 的 API 为什么这么怪?」「翻一下 ExecutionFactory 的 git 历史,总结它的 API 是怎么演变成这样的」
参考现有写法「加一个日历组件」「先看首页现有组件是怎么实现的,HotDogWidget.php 是个好例子。照这个模式实现一个可以选月份、前后翻年份的日历组件,除了项目已有的库不要引入新库」
描述症状「修一下登录 bug」「用户反馈 session 超时后登录失败。检查 src/auth/ 的认证流程,尤其是 token 刷新。先写一个能复现问题的失败测试,再修复」

给信息的方式也很多:用 @文件 直接引用而不是描述位置;直接粘贴或拖入截图;给出文档链接;用管道喂数据(cat error.log | claude -p "解释这个错误");或者干脆让 Claude 自己用命令、MCP 工具去拿。

探索阶段,模糊的提示也有用:「这个文件你会怎么改进?」可能会发现你没想到的问题。

四、把环境配好

  • CLAUDE.md:用 /init 生成,再逐步打磨。只写 Claude 猜不到、且普遍适用的东西(构建命令、和默认不同的代码风格、测试方法、分支和 PR 规范、环境怪癖)。对每一行问自己:「删掉它,Claude 会犯错吗?」不会就删。文件太长,重要规则反而会被淹没。写法详见本站《CLAUDE.md 怎么写:最佳实践、模板与 AGENTS.md 的区别》。
  • 权限:用 /permissions 预先放行信得过的命令,用 /sandbox 让沙箱内的命令免确认。
  • 命令行工具:让 Claude 用 gh、aws、gcloud 等 CLI 操作外部服务,这是最省上下文的方式;不认识的工具可以让它先 --help 学一下。
  • MCP:接入 Notion、Figma、数据库等外部工具。
  • Hooks:必须「每次都执行、没有例外」的动作用 Hook,它是确定性的;CLAUDE.md 只是建议。
  • Skills:领域知识和可复用流程写成技能,按需加载,不占每次会话的上下文。
  • 子代理:读大量文件、需要专注的任务交给专门的子代理。
  • 插件:有强类型语言的项目,装一个代码智能插件,Claude 能精确跳转定义、改完自动发现类型错误。

五、像和同事一样沟通

  • 把它当资深工程师来问:「日志是怎么做的?」「新增一个 API 接口要怎么做?」「这里为什么调用 foo() 而不是 bar()?」——官方说这是很有效的新人上手方式。
  • 大功能先让它采访你:
text
  我想做 [一句话描述]。请用 AskUserQuestion 工具详细采访我,
  问技术实现、界面交互、边界情况、顾虑和取舍。别问显而易见的问题,挖我可能没想到的难点。
  问完后把完整的需求规格写进 SPEC.md。
  

SPEC 写好后开一个新会话去实现:上下文干净,又有书面规格可对照。好的规格应该自成一体:写明涉及的文件和接口、明确什么不做、最后有一个端到端的验证步骤。

六、管好会话

尽早、经常纠偏:

  • Esc:立即停下,上下文保留,可以换个方向;
  • Esc 连按两次或 /rewind:回退对话和代码到之前的检查点;
  • 「撤销刚才的改动」:让 Claude 自己还原;
  • /clear:不相关的任务之间重置上下文。

官方经验:同一个问题纠正超过两次还不对,就 /clear,把学到的东西写进一条更好的新提示重新开始。干净的会话加更好的提示,几乎总是胜过一个堆满纠正记录的长会话。

激进地管理上下文:换任务就 /clear;需要时 /compact 重点保留……;不需要留在上下文里的小问题用 /btw。详见本站《Claude Code 上下文满了怎么办:/compact、/clear 与省 token 技巧》。

调研交给子代理:「用子代理调查一下我们的认证系统怎么刷新 token、有没有可以复用的 OAuth 工具」。它们在独立上下文里读文件,只把结论带回来。

大胆试,靠检查点兜底:每条提示都会建一个检查点,可以只恢复对话、只恢复代码或两者都恢复。但官方提醒:检查点只记录 Claude 用编辑工具做的改动,通过 shell 命令或外部程序做的修改不在内,它不能代替 git。

像分支一样管理会话:用 /rename 起有意义的名字(如 oauth-migration),之后 claude --continue 接着上次,或 claude --resume 从列表里挑。

七、自动化与并行

  • 非交互模式:claude -p "提示词" 用在 CI、pre-commit Hook、脚本里,可输出 JSON 或流式 JSON,详见本站《Claude Code headless 模式:用 claude -p 写脚本和自动化》。
  • 多个会话并行:用 worktree 隔离文件改动(详见本站《Claude Code worktree 怎么用:多个会话并行开发不打架》)、桌面版可视化管理多个会话、云端会话、后台会话等。
  • 写 / 审分离:会话 A 实现限流器,会话 B 在全新上下文里审查 A 的实现,再把意见交回 A 修改——全新上下文的审查不会偏向自己刚写的代码。测试也可以这样:一个写测试,另一个写代码让测试通过。
  • 批量扇出:大规模迁移可以用 /batch 拆给 5~30 个子代理,或者自己写循环逐个文件调用 claude -p,先在两三个文件上调好提示词再全量跑。
  • 对抗式审查:任务完成前,让一个子代理对照方案审查 diff。但要提醒审查者只报影响正确性和需求的问题,否则「被要求找问题」的审查者总会找出一些,照单全收会导致过度设计。

八、五种常见失败模式

失败模式表现解决
大杂烩会话一个任务做到一半问了件不相关的事,又回来,上下文全是无关内容不相关任务之间 /clear
反复纠正错了纠正、还错再纠正,上下文塞满失败的尝试两次纠正失败就 /clear,写更好的初始提示
CLAUDE.md 写太多太长导致一半规则被忽略狠狠删减;Claude 本来就做得对的就删掉或改成 Hook
信任但不验证实现看着合理,却没处理边界情况一定提供验证手段(测试、脚本、截图),无法验证就不要上线
无限探索让它「调查一下」却不限范围,读了几百个文件缩小调查范围,或交给子代理

常见问题

Q:这些规则必须严格遵守吗?

官方说不是:有时深陷一个复杂问题,就该让上下文累积;有时任务是探索性的,就该跳过计划;有时模糊的提示正合适。多观察什么时候效果好、为什么,慢慢形成自己的直觉。

Q:auto 模式适合长时间无人值守吗?

官方推荐用 auto 模式做不间断执行:分类器在后台拦截越权、陌生基础设施和被恶意内容驱动的操作。但它不保证绝对安全,敏感操作仍需人工审查。

Q:CLAUDE.md 和 Skills 怎么分工?

每次会话都需要的少量规则放 CLAUDE.md;只在特定场景用到的知识和流程做成技能,用到时才加载。技能详见本站《Claude Skills 是什么、怎么装、推荐哪些》。

参考资料

  • Best practices for Claude Code(官方):https://code.claude.com/docs/en/best-practices
  • How Claude Code works(官方):https://code.claude.com/docs/en/how-claude-code-works
  • Common workflows(官方):https://code.claude.com/docs/en/common-workflows
  • Extend Claude Code(官方):https://code.claude.com/docs/en/features-overview
  • Checkpointing(官方):https://code.claude.com/docs/en/checkpointing
需要开通或续费?Claude Pro 充值 →

Nathaniel 的更多内容

  1. 01

    promptfoo 使用教程:对比提示词和模型、写断言自动评测(安装与配置)

    promptfoo 是什么、怎么使用?按官方 README 和入门文档讲清它的用途、三种安装方式、用示例项目起步、promptfooconfig.yaml 里提示词、模型和测试用例三部分怎么写、常用断言类型的含义、eval 与 view 两条命令,以及把它放进日常改提示词流程的方法。

    ChatGPT其他 AI 工具0
  2. 02

    Kimi API怎么用:API Key获取、Python调用、K3价格与429报错处理

    Kimi API Key 在哪里获取、怎么用 Python 调用 K3、价格怎么算、429 和 401 报错怎么办?本文按 Kimi API 开放平台官方文档讲清注册认证、创建 Key、base_url 与模型名、计费规则和常见错误排查。

    Kimi0
  3. 03

    Cursor Agent 模式怎么用:Agent、Plan、Ask 三种模式,检查点回滚与消息排队

    Cursor Agent 模式是什么、和 Plan / Ask 模式怎么选?按官方文档讲清 Agent 能调用哪些工具、Shift+Tab 切换模式、Plan 模式先出方案再动手、用检查点撤销改动、任务进行中排队或插话,以及 /goal 长目标。

    Cursor0
  4. 04

    Gemini 聊天记录怎么导出:导出到文档 / 表格、生成 PDF 与用 Takeout 批量导出完整对话

    Gemini 没有「一键导出全部对话」的按钮,但有三条官方路径:单条回答导出到 Google 文档、Gmail、表格;让 Gemini 直接生成 PDF、Word、Markdown 文件;用 Google Takeout 批量下载全部活动记录。本文给出每种方法的步骤和限制。

    Gemini0
  5. 05

    ChatGPT 生成图片中文乱码、文字错误怎么办:7 个按顺序试的办法

    让 ChatGPT 做海报、封面、信息图,中文总是缺笔画、错字、乱码?本文按 OpenAI 官方图像提示指南,给出从写法、字数、局部修改、质量档位到后期排版的 7 个办法,以及什么时候干脆别让 AI 写字。

    ChatGPT0
  6. 06

    OpenCode Skills 使用指南:技能目录、命名规则、权限配置与不加载排查

    OpenCode 的 Skills 放在哪个目录、怎么控制哪些技能能用?按 OpenCode 官方文档讲清六个扫描位置、name 的正则规则、skill 工具的工作方式、在 opencode.json 里用 allow / deny / ask 配置权限、按智能体覆盖,以及技能不出现时的五项检查。

    其他 AI 工具0

同产品的其他教程

  1. 01

    Cursor、Claude Code、Codex、GitHub Copilot 有什么区别:按形态、账号、计费和规则文件对比

    Cursor 和 Claude Code 的区别是什么、和 Codex、GitHub Copilot 怎么选?只用各家官方文档的事实对比:产品形态、用什么账号、怎么计费、能选哪些模型、规则文件与 MCP、权限模式、代码审查;不做「谁更强」的排名,给出按场景选择的思路。

    ClaudeCursor0
  2. 02

    如何让大模型稳定输出 JSON:结构化输出、JSON 模式与提示词写法(OpenAI / Claude)

    怎么让大模型稳定输出 JSON?本文按 OpenAI 和 Anthropic 官方文档讲清只靠提示词、JSON 模式、结构化输出三种做法的可靠程度,两家的写法与 Schema 限制,以及拒答和截断两种例外。

    ChatGPTClaude0
  3. 03

    npx skills add 怎么用:从 GitHub 安装 Skill、skills.sh 是什么与常用命令

    网上的 Skill 安装命令大多是 npx skills add 开头,它是什么、装到哪去了?按官方 README 讲清 skills 命令行工具支持的来源写法、项目与全局两种范围、-a 指定工具、list / find / update / remove 等命令、软链接与复制的区别,以及怎么关掉遥测。

    Claude其他 AI 工具0
  4. 04

    提示词里的角色设定有用吗:「你是一位专家」该怎么写才有效(官方文档怎么说)

    提示词开头写「你是一位资深专家」到底有没有用?本文按 Anthropic、OpenAI、Google 官方文档讲清角色设定管什么、不管什么,一句话角色和详细人设各自适合什么场景,角色应该放在哪里,以及比「你是专家」更有效的四个写法。

    ChatGPTClaude0
  5. 05

    提示词链(Prompt Chaining)怎么用:把复杂任务拆成几步,前一步的输出交给后一步

    提示词链是什么、什么时候该把大提示词拆开?本文按 Anthropic 和 Google 官方文档讲清拆指令、串成链、分块聚合三种拆法,最常用的「起草 → 审查 → 修改」链,以及哪些情况不必拆。

    ClaudeGemini0
  6. 06

    Claude Code 切换模型:/model 命令、模型别名、effort 与 fast 模式

    Claude Code 怎么切换模型?讲清 /model 命令与选择器、opus / sonnet / haiku / fable / opusplan 等别名、默认模型、推理强度 effort 怎么调、ultrathink、fast 模式,以及换了模型下次又变回去的原因。

    Claude0

0 条评论

登录 后参与评论

还没有评论,来抢沙发~