很多人都在学 Claude Code 技巧,但真正值钱的是这套方法论
你可能没用错 Claude Code只是还没建立正确的工作流。最近看到一篇总结 Claude Code 使用经验的长文核心不是某个单独技巧有多新而是它揭示了一件事Claude Code 的上限不取决于你会不会写 Prompt而取决于你有没有把它放进一个合理的工程工作流里。以下是全文。你既然已经把 Claude Code 用顺手了接下来要的就不是“能不能用”而是“还能不能更快一点、更稳一点、更省脑子一点”。这篇文章整理了 50 条日常很实用的经验来源包括 Anthropic 官方文档、Claude Code 的构建者 Boris Cherny、社区实践以及作者自己一整年的高频使用。不是每条都得今天上手。挑一条你上次最烦的问题对着改。1. 先配个顺手的别名作者每次开 Claude Code 前都会先把这行塞进~/.zshrc或~/.bashrcalias ccclaude --dangerously-skip-permissions然后跑一遍source ~/.zshrc以后直接敲cc就行不用每次输入完整命令也能跳过权限确认。这个参数名字故意很吓人。没彻底搞明白 Claude Code 会怎么动你的代码库之前别乱开。2. 用 ! 直接执行命令输入!git status、!npm test这种命令会立刻执行。命令和输出都会进入上下文Claude 能直接接着看、接着处理。这通常比“你帮我跑个测试”更快。3. Esc 和 /rewind真的是救命键Esc立刻打断 Claude 当前动作但上下文还在。Esc Esc或/rewind打开 checkpoint 列表。你可以恢复代码和对话仅对话仅代码从某个 checkpoint 往后生成摘要这玩意儿的意义很简单你可以放心试那些“只有四成把握”的方案。成了就赚翻车了就回滚。但别高兴太早checkpoint 只记录文件编辑不记录 bash 命令带来的副作用比如 migration、数据库操作之类。4. 用 --continue 和 --resume 接上次会话claude --continue继续最近一次对话claude --resume手动挑一个旧会话继续适合中断之后接着干不用从头交代。5. 让 Claude 自己发现错误想让 Claude 少一点“我写完了你自己验”就给它一个反馈闭环。比如直接这样写Refactor the auth middleware to use JWT instead of session tokens.Run the existing test suite after making changes.Fix any failures before calling it done.这样它会改代码、跑测试、看到报错、继续修直到真过了为止。UI 改动也一样。能接浏览器验证就接很多问题单测根本抓不住。6. LSP 插件收益高得离谱LSP 插件会在 Claude 每次改完文件后自动给出诊断类型错误未使用的 import缺失的返回类型Claude 看到就能顺手修掉。这类插件的回报率非常高。常见安装命令/plugin install typescript-lspclaude-plugins-official/plugin install pyright-lspclaude-plugins-official/plugin install rust-analyzer-lspclaude-plugins-official/plugin install gopls-lspclaude-plugins-official还支持 C#、Java、Kotlin、Swift、PHP、Lua、C/C。去/plugin的 Discover 页面里翻就行。前提是对应语言服务器得先装到系统里。7. 能用 CLI就别急着上 MCP像处理 PR、issue、comment 这类事CLI 工具通常比 MCP 更省上下文因为它不会把工具 schema 一股脑塞进上下文窗口。gh、jq、curl这类老工具很多时候反而更实在。8. Claude 不认识的工具也能现学比如你可以直接说Usesentry-cli --helpto learn about it, then use it to find the most recent error in production.Claude 会先读帮助再猜出语法然后开始用。哪怕是很偏门的内部 CLI很多时候也能摸着石头过河。9. 难题就把 effort 拉高有个关键词会把 effort 调高在 Opus 4.6 上还能触发自适应推理。适合架构设计疑难调试多步推理先想清楚再动手的任务简单任务就别这么干。改个变量名还上高强度思考纯属浪费 token。10. Skills 比全局规则更轻Skills 本质上是按需加载的 markdown 知识片段。和每次开会话都读的全局规则不同skills 只有在相关任务里才加载。这很关键上下文干净Claude 反而更听话。你可以把它们放在.claude/skills/或者直接装带 skill 的插件。适合放一些偶尔才会用到的知识比如API 约定部署流程编码规范业务领域规则11. 远程控制会话跑在本机手机只是窗口执行claude remote-control后你可以在浏览器或手机 App 上连进去。真正干活的是你本机上的 Claude 会话手机只是远程看板。你可以远程发消息、批准操作、看进度。如果你已经用了前面的cc别名很多确认步骤还能省掉用起来会更顺。12. 大上下文很爽但别盲目迷信Sonnet 4.6 和 Opus 4.6 都支持 1M token 上下文。某些套餐下Opus 还能自动升到 1M。也可以手动切模型/model opus[1m]/model sonnet[1m]但话说回来上下文大不代表质量一定稳。可以先从 500k 试起慢慢往上调。窗口大了compact 来得更晚但有些任务下输出质量可能反而浮动。想细调可以看CLAUDE_CODE_AUTO_COMPACT_WINDOWCLAUDE_AUTOCOMPACT_PCT_OVERRIDE13. 多文件、大改动先进 Plan Mode适合多文件联动改动你对代码不熟牵涉架构决策它会多花几分钟做规划但能明显减少 Claude 在错误方向上一路狂奔的概率。小事别上这个模式。一句话就能说清楚 diff 的改动直接做。14. 任务一换先 /clear一个干净会话加一个清晰提示词通常比一个拖了三小时的脏会话靠谱得多。旧上下文积累久了不是资产是噪音。别舍不得。先/clear再重新开局往往更快。15. 别复述 bug直接贴原始材料最省事的写法通常不是我感觉这里可能有个异步问题……而是直接贴 error log直接贴 CI 输出直接贴 Slack 线程然后说一句fixClaude 很擅长从原始输出里顺藤摸瓜。你一转述细节经常就被你抹掉了。这招对 CI 尤其稳。把失败日志甩过去说“去修”通常比你自己总结半天更有效。还能直接 pipecat error.log | claude explain this error and suggest a fixnpm test 21 | claude fix the failing tests16. /btw插句嘴不污染主对话/btw会弹一个临时 overlay让你插问一句不进主历史。比如你为什么选这个方案另一个方案的取舍是什么适合临时确认细节不会把主上下文搞得越来越肿。17. --worktree开独立副本干活claude --worktree feature-auth会起一个新的 worktree 和 branch。Claude 会顺手把 worktree 的创建、清理都处理掉。适合隔离风险改动不用在主工作区里赌命。18. 多开几个 worktree并行干你可以同时起 3 到 5 个 worktree每个 worktree 跑一个 Claude 会话。作者自己一般开 2 到 3 个。每个会话都有自己的分支上下文文件系统状态本地能开多少取决于你电脑顶不顶得住。多个 dev server、build、Claude 一起跑CPU 会很热闹。19. CtrlS 可以暂存提示词草稿长提示词写到一半突然想到个小问题想先问按CtrlS草稿会先存起来。你问完那个临时问题后原草稿会自动恢复。这功能不花哨但真的顺手。20. 长任务扔后台CtrlBClaude 在跑长命令时比如整套测试、构建、migration按CtrlB可以把任务送到后台。它继续跑你继续聊。结果出来了再回来。21. 配一个 status linestatus line 是个每轮 Claude 响应后都会执行的 shell 脚本。它可以在终端底部显示当前目录git 分支上下文使用率最省事的做法是直接在 Claude Code 里跑/statusline让它帮你生成。22. 用 subagent 做深挖不脏主会话比如你可以说Use subagents to figure out how the payment flow handles failed transactions.Claude 会拉起一个独立实例自己读文件、自己分析最后给你一个摘要。好处很明显主会话还能保持清爽别为了查一个问题把一半上下文都吃没了。23. Agent teams实验性但很猛如果开了实验开关你可以让 Claude 组一个小队并行干活Create an agent team with 3 teammates to refactor these modules in parallel.队长分任务队员各干各的还能互相通信。建议别一上来就玩太大先从 3 到 5 个 teammate 开始每人 5 到 6 个任务差不多避免多个 agent 同时改同一文件不然覆盖冲突很烦先拿它做调研、review比直接做并行实现更稳。24. compact 时明确说要保留什么上下文 compact 的时候别让 Claude 自己猜你在意什么。直接写/compact focus on the API changes and the list of modified files或者干脆写成长期规则让它每次 compact 时都保留当前任务已修改文件当前测试状态25. /loop 适合盯后台进度比如/loop 5m check if the deploy succeeded and report back这会每 5 分钟自动检查一次。也能循环别的命令比如/loop 20m /review-pr 1234适合盯deployCI外部服务状态任务是会话级的3 天后自动过期不至于永远挂着。26. /voice按住空格直接说开了/voice之后按住空格就能说话Claude 会实时转成 prompt。很多人打字会省背景、省约束、省上下文说话反而更完整。所以语音输入在复杂任务里往往更有用。需要 Claude 账户不是 API key。27. 一旦陷入死循环就别恋战如果你和 Claude 已经在一个问题上来回打补丁、改来改去、还是没好那这段上下文里大概率已经堆满了错误路径。继续在里面挣扎通常只会更糟。直接/clear然后用更清楚的提示词重开反而更快。28. 用 直接点名文件例如/middleware.ts has the session handling.这样 Claude 不用自己搜索、猜路径、再确认目标。少一层搜索就少烧一点 token也少引入一点噪音。29. 有时候模糊一点反而更好像这样问What would you improve in this file?不是偷懒而是故意留空间。如果你想让 Claude 带着“第一次看这段代码”的眼睛来挑问题这种开放式提问往往比你自己预设方向更有收获。30. CtrlG 可以直接改 planClaude 给出计划之后按CtrlG可以把这份 plan 打开到编辑器里你可以自己删步骤加约束改方向比重新解释一遍快多了。31. 项目根目录的说明文件很重要项目根目录那个 markdown 说明文件本质上就是 Claude 的项目级长期记忆。可以放build 命令测试方式编码规范架构约束仓库约定/init可以自动生成一版但自动生成的内容通常偏肥。解释不清为什么存在的内容就删。32. 指令预算有限别塞垃圾给 Claude 的长期规则不是越多越好。每一行都该问一句如果没有这条Claude 真的会犯错吗如果答案是否那它就是噪音。规则写太多真正重要的反而被冲淡。作者提到整体大概到 150 到 200 条指令后遵循率就会明显往下掉。33. Claude 犯错后让它顺手更新规则如果 Claude 犯了一个会重复出现的错误可以直接说update the [规则] file so this doesnt happen again让它把这次失误写进规则文件。这样下次进场它自己就会先避坑。时间久了这个文件会越来越像一本“踩坑实录”而不是一堆空泛原则。34. 用 .claude/rules/ 按主题拆规则把规则拆到.claude/rules/下可以按语言、领域、任务类型分开。还能加pathsfrontmatter让某些规则只在特定文件类型下生效比如paths: - **/*.ts# TypeScript conventionsPrefer interfaces over types.这样主规则不会越来越臃肿。35. 复杂背景放引用文件不要全塞主规则你可以引用额外文件比如.md.json~/.claude/my-project-instructions.md这样 Claude 需要时再读不需要每次会话一上来就吞完所有背景材料。36. /permissions别为老命令反复点批准像npm run lint这种你早就信任的命令不值得每次都手工 approve。用/permissions把它们加进 allowlist能省掉一堆机械动作。陌生命令照样会要求确认安全性还在。37. /sandbox给自主性加护栏启用/sandbox后写操作只允许在项目目录里网络请求只允许访问你批准的域名它底层用的是系统级隔离所以 Claude 拉起来的子进程也会受限。如果你想让它放开手脚干点活又不想完全裸奔这个模式很合适。38. 无人值守的重活最好放进 Docker通宵跑 migration、做高风险实验性重构、长时间批量处理这种任务放 Docker 里更稳。原因也很简单隔离完整容易回滚挂着跑更安心39. 自定义 subagent 很适合固定角色分工和临时 subagent 不同自定义 subagent 是你提前配置好的放在.claude/agents/下。例如security-reviewer只读权限专做安全审查quick-search轻量模型专门查资料这种方式很适合把重复工作角色化。40. 值得优先接入的 MCP作者建议先看这几个Playwright浏览器测试、UI 校验PostgreSQL / MySQL直接查数据库 schemaSlack抓 bug 报告和线程上下文Figma设计转代码Claude Code 支持按需加载只有需要时才会把工具定义加载进来不至于一开场就把上下文塞爆。41. /config输出风格也该调内置风格包括Explanatory详细讲解型Concise简短执行型Technical术语更密、表达更硬也可以自己在~/.claude/output-styles/里定义风格。这不是花活。风格合不合手会直接影响你看输出时的疲劳程度。42. 规则只是建议hook 才是铁律如果一件事必须 100% 发生比如格式化lint安全检查那就别只写规则直接上 hook。规则更多是“尽量遵守”hook 才是“必须执行”。43. 每次改文件后自动格式化可以在.claude/settings.json里加一个PostToolUsehook让 Claude 每次 Edit / Write 之后自动跑 Prettier{ hooks: { PostToolUse: [ { matcher: Edit|Write, hooks: [ { type: command, command: npx prettier --write \$CLAUDE_FILE_PATH\ 2/dev/null || true } ] } ] }}|| true的作用是就算格式化挂了也别把 Claude 卡死。如果需要也可以串上eslint --fix。44. 用 hook 直接拦危险命令像rm -rf、drop table、truncate这种命令别指望事后补救。最好在执行前就拦掉。示例{ hooks: { PreToolUse: [ { matcher: Bash, type: command, command: if echo\$TOOL_INPUT\|grep-qErm-rf|droptable|truncate;thenechoBLOCKED:destructivecommand2;exit2; fi } ] }}这东西非常值得配别等出事了才后悔。45. compact 之后自动把重点喂回去长会话 compact 之后Claude 很容易把线索丢掉。可以用 Notification hook 在 compact 发生后自动补回关键上下文比如当前任务修改过的文件关键约束特别适合那种干了一整下午的长任务。46. 有些决定必须你亲自看Claude 写代码很能打但下面这些东西别完全放权鉴权流程支付逻辑数据写入和迁移破坏性数据库操作这些地方出错不是“再修一下”的级别是可能直接丢用户、丢钱、丢信誉的级别。47. /branch 或 /fork保留原线另开一条它会从当前对话点复制出一个分支。你可以在新分支里试高风险方案失败了也不影响原对话。和 rewind 不一样rewind 是倒带branch 是分叉两条路都会保留。48. 不确定需求时先让 Claude 采访你如果你知道自己想做什么但说不清该先讲哪些细节不如反过来让 Claude 问。做法大概是让它持续提问重点问技术实现、边界条件、权衡和风险少问废话问到信息足够为止最后生成一份SPEC.md然后你再开一个新会话带着完整 spec 去执行。这个流程比边做边补背景稳得多。49. 两个 Claude通常比一个更稳一个负责写一个负责审。实现的那个总会有路径依赖审查的那个没有它更容易发现偷懒处理风险遗漏架构不一致错误处理漏洞TDD 也能这么玩Session A 写测试Session B 写实现50. PR review 最好用“对话式”而不是“一次性”不要只把 PR 扔给 Claude说“帮我 review 一下”然后等一个一次性结论。更好的方式是围绕它连续追问这次最危险的改动是什么并发下会出什么问题错误处理跟现有代码风格一致吗这样挖得更深。一次性 review 太容易只抓到皮毛。51. 多会话时记得命名和上色如果你同时开了 2 到 3 个会话最好顺手做两件事/rename auth-refactor/color red这能减少很多低级失误比如把命令敲进错窗口。52. 干完活响一声省得你盯着等可以加一个 Stop hook在 Claude 回答结束时播放系统提示音{ hooks: { Stop: [ { matcher: *, hooks: [ { type: command, command: /usr/bin/afplay /System/Library/Sounds/Glass.aiff } ] } ] }}扔个任务给它你去干别的听到响了再回来。挺省神。53. 非交互模式适合批量迁移如果你有一串彼此独立的文件要处理可以用非交互模式循环跑甚至并行跑。for file in $(cat files-to-migrate.txt); do claude -p Migrate $file from class components to hooks \ --allowedTools Edit,Bash(git commit *) donewait适合干这类活批量改文件格式大规模替换 import一组相互独立的重复性迁移54. 连 spinner 文案都能自定义Claude 思考时显示的那些 spinner 文案也可以自己改。比如你可以让它换成Hallucinating responsiblyPretending to thinkConfidently guessingBlaming the context window这种不影响生产力但会让等待过程没那么无聊。55. 别贪一次用一条就够了你不需要今天把 50 条全部吃完。真没必要。挑一个你上次最烦的问题对应试一条建议明天就能见效。能稳定用住的一条比收藏五十条强得多。最后这篇东西的核心不是功能清单而是一种用法少点无谓确认少点重复劳动少让上下文变脏把 Claude 放到它最擅长的位置上。说白了别把它当会聊天的终端。把它当一个需要你调教工作流的搭档。调好了真能省不少精力。原文https://x.com/CodevolutionWeb/status/2034683638382506063?s20