文章目录Claude Code 高频实战技巧 20 条2026 实测一、记忆与配置篇技巧 1新项目第一件事跑 /init 生成 CLAUDE.md技巧 2CLAUDE.md 要写成“指令”不要写成“文档”技巧 3会话中用 # 号随手记入记忆技巧 4settings.json 的三级作用域别配错地方二、权限管理篇技巧 5搞懂四种权限模式ShiftTab 随时切换技巧 6用 allow/deny 规则精细放行告别无限确认弹窗技巧 7bypassPermissions 只在一次性沙箱里用三、交互提效篇技巧 8把重复提示词做成自定义斜杠命令技巧 9 引用文件截图直接粘贴技巧 10! 前缀直通 shell输出自动进上下文技巧 11Esc 打断双击 Esc 回到过去技巧 12--continue 与 --resume关掉终端也能找回会话四、hooks 与自动化篇技巧 13PostToolUse 钩子——模型每次改完代码自动格式化技巧 14PreToolUse 钩子——危险命令直接拦截技巧 15MCP 让 Claude Code 长出新工具技巧 16子代理——把专项任务外包给独立上下文五、上下文与成本篇技巧 17/clear 勤用/compact 带指令用技巧 18看懂缓存命中原理同样的活少花一半钱技巧 19无头模式 claude -p把 Claude Code 变成命令行工具技巧 20常见报错处置速查常见问题 FAQ结语Claude Code 高频实战技巧 20 条2026 实测Claude Code 是 Anthropic 官方的终端 AI 编程工具从 2025 年发布到现在已经从“能用”进化到“顺手”。但我观察身边同事的用法大部分人还停留在“打开、提问、等结果”的阶段大量提效功能压根没碰过token 费用也白白多花不少。这篇文章整理了我日常使用中频率最高的 20 条技巧覆盖记忆配置、权限管理、交互提效、hooks 自动化、MCP、上下文管理、成本控制和报错处置八个方面。每条都给出可直接复制的命令或配置片段全部在 2026 年当前版本上验证过。先说明适用范围本文面向已经装好 Claude Code、至少跑通过一次会话的读者安装和登录流程不再赘述。20 条技巧之间没有先后依赖可以按目录跳读但第一部分的记忆配置和第五部分的上下文管理建议完整看完——它们是其余技巧的地基也是新手和熟手差距最大的两块。一、记忆与配置篇技巧 1新项目第一件事跑 /init 生成 CLAUDE.mdCLAUDE.md 是 Claude Code 的“项目记忆”每次会话启动时自动读入上下文。与其从零手写不如让它自己生成初稿cdyour-project claude/init/init会扫描项目结构、构建脚本、代码风格生成一份 CLAUDE.md 草稿。生成后务必手工精修删掉泛泛而谈的描述留下真正影响行为的硬性约束。生成的文件记得提交进 git让全组共享同一份“项目常识”。技巧 2CLAUDE.md 要写成“指令”不要写成“文档”CLAUDE.md 每次会话都会占用上下文窗口写得越长既烧 token 又稀释注意力。几个实测有效的写法原则用祈使句一行一条别写段落。“运行测试用 pnpm test不要用 npm”比“本项目的测试体系是……”有效得多只写模型猜不到的事内部约定、目录含义、禁止事项、常用命令大而全的内容拆出去用导入语法按需引用# 项目约定 - 包管理器:pnpm,禁止使用 npm/yarn - 提交信息遵循 Conventional Commits - 修改 src/core 下的文件前必须先读 docs/core-design.md # 更多规范 docs/code-style.md另外注意分层~/.claude/CLAUDE.md放个人全局偏好比如“回复用中文”项目根目录的 CLAUDE.md 放团队约定两者会叠加生效。技巧 3会话中用 # 号随手记入记忆对话过程中发现模型犯了个以后还会犯的错不用打开编辑器直接以#开头输入# 这个项目的接口返回字段统一用 snake_case,不要驼峰Claude Code 会询问把这条记忆写到哪一级用户级还是项目级确认后自动追加到对应的 CLAUDE.md。养成随手#的习惯项目记忆会越用越准。用/memory可以随时打开记忆文件检查和清理。技巧 4settings.json 的三级作用域别配错地方Claude Code 的配置文件有三层优先级从低到高文件作用域是否入库~/.claude/settings.json当前用户所有项目否.claude/settings.json当前项目全体成员建议提交.claude/settings.local.json当前项目仅自己自动加入忽略典型分工团队统一的权限规则、hooks 放项目级个人的环境变量、实验性配置放 local。比如通过环境变量指定接入点和密钥{env:{ANTHROPIC_BASE_URL:https://your-api-endpoint.example.com,ANTHROPIC_AUTH_TOKEN:sk-your-token-here}}注意ANTHROPIC_API_KEY与ANTHROPIC_AUTH_TOKEN不要同时设置两个都存在时请求头会冲突直接报 401。二、权限管理篇技巧 5搞懂四种权限模式ShiftTab 随时切换Claude Code 有四种权限模式default每个敏感操作写文件、执行命令都询问acceptEdits自动接受文件编辑命令仍询问适合信任度高的重构任务plan只读模式模型可以看代码、做分析但不能改任何东西bypassPermissions全部放行危险见技巧 7。在会话中按ShiftTab可以循环切换。我的高频用法是接到一个复杂需求先切 plan 模式让模型读代码、给出实施方案人工确认方案没跑偏再切回默认模式动手。这一步能避免大量“改了一半发现方向错了”的返工。启动时也可以直接指定claude --permission-mode plan一个经验值改动预计超过三个文件的任务一律先走 plan 模式。规划阶段模型只读不写试错成本几乎为零而直接放手改一旦方向错了回滚加重来的成本远比多花两分钟看方案高。技巧 6用 allow/deny 规则精细放行告别无限确认弹窗每次都手动点确认很快会烦。在.claude/settings.json里写规则把确定安全的操作一次性放行把绝对不能碰的显式拒绝{permissions:{allow:[Bash(pnpm test:*),Bash(pnpm lint:*),Bash(git diff:*),Bash(git log:*),Read(src/**)],deny:[Read(./.env),Read(./.env.*),Read(./secrets/**),Bash(rm -rf:*)]}}规则格式是工具名(匹配模式)deny 优先级高于 allow。把.env、密钥目录写进 deny 是每个项目都该做的兜底——即使模型被诱导去读敏感文件也会被硬性拦下。技巧 7bypassPermissions 只在一次性沙箱里用claude --dangerously-skip-permissions会跳过所有确认配合自动化很爽但等于把 shell 的完全控制权交给模型。原则只有一条宿主机上不用只在容器等一次性隔离环境里用。比如 CI 或本地 Dockerdockerrun--rm-v$PWD:/workspace-w/workspace\your-dev-image\claude-p把所有单测跑通,失败的修到通过--dangerously-skip-permissions容器销毁即恢复原状风险可控。在自己日常开发机上图省事开这个开关属于用一次爽、出一次事故哭一年的操作。三、交互提效篇技巧 8把重复提示词做成自定义斜杠命令同样的提示词打第三遍时就该把它固化成命令。在项目里建.claude/commands/fix-issue.md--- description: 修复指定编号的 Issue allowed-tools: Bash(gh issue view:*), Bash(git:*) --- 请修复 Issue #$ARGUMENTS: 1. 先用 gh issue view $ARGUMENTS 查看问题详情 2. 在代码库中定位相关文件 3. 实现修复,并补充必要的测试 4. 运行测试确认全部通过后,给出改动摘要之后输入/fix-issue 123即可$ARGUMENTS会被替换成命令后面跟的参数。项目级命令放.claude/commands/全组共享个人通用命令放~/.claude/commands/。我固化的高频命令包括代码审查、写提交信息、生成周报、接口文档同步。技巧 9 引用文件截图直接粘贴不要靠嘴描述“就是那个用户服务的文件”直接引用输入时还有路径补全对比 src/services/user.ts 和 src/services/order.ts 的错误处理方式,统一成前者的风格前端联调时更实用的是图片把报错截图或设计稿复制到剪贴板在终端里直接粘贴macOS 注意是CtrlV而不是CmdV模型能直接读图定位问题。“照着这张设计稿改样式”这类需求贴图远比文字描述准确。还有一个细节引用目录时进入上下文的是目录结构清单而不是所有文件内容所以引用一个大目录是安全的但一个几万行的单文件会把全文塞进上下文引用前先想想是否真的需要全文很多时候引用目录再让模型自己按需去读更省 token。技巧 10! 前缀直通 shell输出自动进上下文想看某个命令的结果又不想退出会话用!前缀!git log --oneline -10 !pnpm test 21 | tail -30命令在本地直接执行输出会自动附加到当前上下文——也就是说下一句你可以直接说“第三个 commit 引入的问题帮我修一下”模型是看得到刚才输出的。这比复制粘贴报错快得多。技巧 11Esc 打断双击 Esc 回到过去两个被严重低估的按键操作单击 Esc立刻打断模型当前的输出或工具调用。发现方向不对不用干等它跑完打断、补充信息、继续双击 Esc弹出历史消息列表选中某条之前的发言从那个时间点分叉重来。双击 Esc 特别适合“聊了十轮发现第三轮就带偏了”的场景与其在被污染的上下文里反复纠正不如直接回到第三轮改写提问后面的错误路径全部作废又干净又省 token。技巧 12–continue 与 --resume关掉终端也能找回会话会话历史默认都在本地存着关终端不等于丢进度# 直接接上最近一次会话claude--continue# 列出历史会话,挑一个恢复claude--resume# 无头模式同样支持接续claude-p--continue接着刚才的思路,把剩下两个模块也改完跨天的长任务用--resume找回上下文、工具授权状态都还在不需要重新铺垫背景。四、hooks 与自动化篇技巧 13PostToolUse 钩子——模型每次改完代码自动格式化hooks 是 Claude Code 的事件回调机制能在特定时机强制执行确定性动作。这是它和“在 CLAUDE.md 里叮嘱模型记得格式化”的本质区别hooks 是必然执行的代码不是可能被遗忘的提示词。在.claude/settings.json里配置让每次文件编辑后自动跑格式化{hooks:{PostToolUse:[{matcher:Edit|Write,hooks:[{type:command,command:jq -r .tool_input.file_path | { read f; npx prettier --write \$f\ 2/dev/null || true; }}]}]}}钩子命令通过标准输入收到一个 JSON里面带着本次工具调用的完整参数如tool_input.file_path用jq取出来即可。从此再也不会出现“AI 改的代码没过 lint”这种低级返工。技巧 14PreToolUse 钩子——危险命令直接拦截PreToolUse 在工具执行之前触发脚本以退出码 2 结束时本次调用会被阻止stderr 的内容会反馈给模型让它换路。写一个拦截脚本.claude/hooks/guard.sh#!/bin/bashinput$(cat)cmd$(echo$input|jq-r.tool_input.command // empty)ifecho$cmd|grep-qErm -rf /|git push --force|DROP TABLE;thenecho该命令命中危险规则,已被钩子拦截,请改用更安全的方案2exit2fiexit0对应配置{hooks:{PreToolUse:[{matcher:Bash,hooks:[{type:command,command:bash .claude/hooks/guard.sh}]}]}}permissions 的 deny 规则做静态匹配hooks 可以写任意逻辑正则、白名单、调用外部审计服务两层一起上自动化才敢真放开跑。技巧 15MCP 让 Claude Code 长出新工具MCPModel Context Protocol是给模型接外部工具的标准协议数据库、浏览器、内部系统都能接。添加一个本地文件系统服务claude mcpadd--transportstdio fs -- npx-ymodelcontextprotocol/server-filesystem ~/projects接远程 HTTP 服务claude mcpadd--transporthttp internal-docs https://your-api-endpoint.example.com/mcp想让全组共享加--scope project配置会写进项目根目录的.mcp.json提交进 git 后同事拉下来就能用。claude mcp list查看状态会话里/mcp可以检查连接和授权。一个实用建议MCP 工具的定义会占上下文只接当前项目真用得上的服务接十个八个“以防万一”的服务反而拖慢响应、抬高成本。我自己长期保留的只有三类数据库只读查询排查线上问题时让模型直接看数据、浏览器自动化前端改完自己打开页面验证、内部知识库检索。每接一个新服务前先问自己这个能力是不是用!跑一条命令就能替代能替代就不接。技巧 16子代理——把专项任务外包给独立上下文子代理subagent是带独立上下文窗口、独立系统提示词、独立工具集的“分身”。建一个代码审查专员.claude/agents/code-reviewer.md--- name: code-reviewer description: 代码审查专家。在完成显著代码改动后主动使用,检查正确性、安全性与可维护性 tools: Read, Grep, Glob, Bash --- 你是一名严格的资深代码审查员。审查时: 1. 优先检查正确性问题和安全隐患,其次才是风格 2. 每个问题给出具体文件、行号和修改建议 3. 按严重程度排序输出子代理有两个核心价值一是上下文隔离——审查过程中翻几十个文件的记录都留在子代理自己的窗口里不会挤爆主会话二是行为专业化——专用系统提示词比在主会话里临时叮嘱稳定得多。用/agents命令可以交互式创建和管理。frontmatter 里的description写法有讲究它是主会话决定“要不要派活给这个子代理”的依据所以要写清触发时机“在完成显著代码改动后主动使用”而不是只写身份“代码审查专家”。描述写得含糊子代理就会经常该出场时不出场。五、上下文与成本篇技巧 17/clear 勤用/compact 带指令用上下文管理是用好 Claude Code 的分水岭。很多人抱怨“聊久了模型越来越糊涂”根源就是上下文腐化窗口里堆满了过时的方案、失败的尝试、跑偏的讨论模型每生成一个 token 都要“看”一遍这些噪音注意力自然被稀释。治理手段就是两条命令/clear彻底清空上下文开启新任务。换任务必用——上一个任务的调试残渣对新任务是纯噪音/compact把历史对话压缩成摘要腾出窗口继续当前任务。支持附加指令告诉它压缩时保留什么/compact 保留所有文件修改记录和最终确定的方案,调试过程可以丢弃上下文快满时 Claude Code 也会自动压缩但被动触发的时机往往不理想可能正好在任务最关键的中段。更好的习惯是在一个阶段性节点方案已定、某模块已完成主动/compact压缩质量高得多。判断原则任务连续用/compact任务切换用/clear。技巧 18看懂缓存命中原理同样的活少花一半钱先看计费结构Claude 官方计费中同一模型的输入、输出、缓存命中单价比例约为1 : 5 : 0.1。两个直接推论输出比输入贵 5 倍——所以让模型“言简意赅”“只输出 diff”不只是阅读体验问题是真金白银缓存命中只按输入价的十分之一计——命中的部分相当于打了一折。缓存的机制是前缀匹配系统提示词、工具定义、历史消息按顺序拼成前缀只要和上一次请求的前缀逐字节一致这部分就走缓存价。写入缓存本身有小幅溢价默认 5 分钟有效期的写入约为输入价的 1.25 倍1 小时有效期为 2 倍但只要后续请求命中一次就远远回本——Claude Code 的多轮对话天然就是“同一前缀反复提交”的场景正常使用时命中率很高。关键在于别亲手打破前缀。前缀匹配是逐字节的任何一处改动都会让改动点之后的全部缓存作废会话中途修改 CLAUDE.md → 系统提示词变了前缀从头失效会话中途/model换模型 → 缓存按模型隔离等于全部重来会话中途增删 MCP 服务 → 工具定义在前缀最前部一动全废。这些操作不是不能做而是要做完就 /clear 重开别让旧会话拖着一段永远无法命中的历史继续烧全价 token。用/cost可以查看当前会话的 token 用量长任务养成看一眼的习惯对成本会有体感。技巧 19无头模式 claude -p把 Claude Code 变成命令行工具加-pprint参数Claude Code 就变成一个可以进管道的普通命令不进交互界面# 管道输入gitdiff--staged|claude-p根据改动生成一条 Conventional Commits 规范的提交信息,只输出信息本身# 结构化输出,方便脚本解析claude-p统计 src 目录下所有 TODO 注释,按文件分组--output-format json# 日志分析tail-200app.log|claude-p找出所有 5xx 错误的共同特征--output-format json的返回里除了结果文本还带本次消耗的 token 数和会话 ID方便在 CI 里做成本核算和审计。代码审查、提交信息生成、日志巡检都可以用这个模式挂进脚本和流水线。在 CI 里跑无头模式时注意两点一是给任务设置超时和费用上限防止某次异常输入导致模型陷入长循环二是权限策略要用前面技巧 6 的 allow 规则精确圈定而不是图省事全放行——流水线里的输入比如外部贡献者的 PR 内容是不可信的权限收得越紧越安全。技巧 20常见报错处置速查最后是一张实测整理的排错表遇到问题先对号入座现象原因处置401 authentication_error密钥无效/过期或 API_KEY 与 AUTH_TOKEN 两个环境变量同时设置检查密钥两个变量只保留一个注意unset而不是置空429 rate_limit_error触发速率限制响应头retry-after给出等待秒数CLI 会自动退避重试高频批量任务主动加间隔529 overloaded_error官方服务过载与你的配置无关指数退避重试即可Prompt is too long上下文超限/compact压缩新任务直接/clear检查是否了超大文件400 invalid_request_error请求参数问题常见于自定义环境变量拼错、模型名写错逐项核对行为怪异、配置疑似未生效本地安装或配置损坏先跑/doctor自检再claude update升级到最新版再补一条通用心法模型连续两三轮都修不好同一个问题时不要继续在原上下文里说“还是不对”。双击 Esc 回到出错前的节点把已知信息报错全文、已排除的方向整理成一条更完整的提问重新出发成功率远高于原地拉扯。常见问题 FAQQ1CLAUDE.md 和自定义斜杠命令内容应该放哪个判断标准是触发方式。每次会话都必须生效的约束代码规范、禁止事项、目录说明放 CLAUDE.md只在特定场景手动触发的流程修 Issue、写周报、发布检查做成斜杠命令。把低频流程塞进 CLAUDE.md 是常见错误——它会在每个会话里白白占用上下文。Q2感觉缓存没生效费用降不下来怎么排查按顺序检查三件事一会话是否频繁重开——缓存默认只保 5 分钟间隔太久自然全是冷启动二是否有中途改 CLAUDE.md、换模型、增删 MCP 的操作见技巧 18任何一项都会打断前缀三单轮输入是否过短——过短的前缀达不到最低缓存长度不会建缓存。多轮连续对话、配置保持稳定命中率自然上来。Q3hooks 配置了但没触发一般是什么原因三个高频原因配置写错层级hooks 必须在 settings.json 顶层的hooks键下matcher 大小写不匹配工具名是Bash、Edit、Write首字母大写脚本没有可执行权限或路径不对。排查时先把 command 换成echo triggered /tmp/hook.log这类最简命令确认触发链路通了再上真实逻辑。另外修改 hooks 后建议重启会话确保新配置被加载。Q4/compact 之后感觉模型“变笨了”之前说过的细节它不记得了正常吗正常。压缩本质是把完整历史替换成摘要信息必然有损。两个缓解手段一是压缩时带指令明确要求保留关键决策和文件清单见技巧 17二是重要结论别依赖对话记忆让模型随手写进项目里的文档或 CLAUDE.md文件才是无损的记忆。Q5公司内网环境流量需要走统一的内部网关能配吗可以。Claude Code 支持通过ANTHROPIC_BASE_URL环境变量指定接入点见技巧 4 的配置示例只要网关兼容官方 Messages API 的请求格式即可。注意密钥变量二选一别同时设置。Q620 条里如果只学 3 条学哪 3 条技巧 2CLAUDE.md 写成指令、技巧 5plan 模式先规划后动手、技巧 17勤用 /clear 和 /compact。这三条分别决定了模型“懂不懂你的项目”“会不会跑偏”“上下文干不干净”是投入产出比最高的三件事。结语以上 20 条都是日常真实高频使用中沉淀下来的没有一条是为了凑数的“冷知识”。工具的上限取决于使用方式同样一个 Claude Code有人用它当聊天窗口有人用它接管了整条开发流水线。你在使用 Claude Code 的过程中还发现过哪些好用的技巧或者踩过哪些印象深刻的坑欢迎在评论区聊聊——尤其是 hooks 和子代理的实战玩法我很好奇大家都把它们用在了什么场景上。编程