如果你在国内论坛搜"Claude Code 教程",翻来覆去就是那三板斧:装好、写 CLAUDE.md、开始对话。但翻完 Claude Code 官方文档(code.claude.com/docs)和 Simon Willison 最近几个月的实测笔记后我发现:这个工具真正的生产力差距,全藏在那些"一笔带过"的功能里。同样一份 Max 订阅,有人三天用爆额度干不出活,有人能像 sqlite-utils 作者那样花 149.25 美元的模型费用写完一个 4.0 大版本。这篇文章把 7 个官方文档里存在、但国内教程几乎没人讲的技巧全部拆开,每个都给你具体操作步骤。看完你至少能把同样的额度多榨出 30%-50% 的有效产出。
/btw 旁路提问——问问题,但不烧上下文这是我认为最被低估的一个命令。日常场景:Claude 正在改代码,你突然想问"刚才那个函数为什么要加锁?"——直接问,这句话和回答会永久进入对话历史,之后每一次请求都背着这段包袱。
/btw(by the way)就是为这个设计的:它基于当前会话已有内容回答你的问题,但问题和回答完全不进入对话历史。更妙的是,Claude 正在干活时你也可以用 /btw,它独立运行、不打断主任务(VS Code 插件 v2.1.227+ 支持,终端版可直接用)。
操作步骤:
1. 在终端里输入 /btw 这个 session 中间件是干嘛的?
2. 回答以浮层形式出现,按 x 清除,按 ← 回看之前的旁路问答(保留最近 5 条)
3. 想继续深挖就再来一次 /btw;想让它真的动手查文件,按 f 把这个问题 fork 成后台子代理
限制要说清楚:/btw 没有工具权限,只能引用会话里已经读过的内容。它本质是"考试时查草稿纸",而不是"出门查资料"。官方文档的原话很精辟:/btw 是子代理的反面——它看得到全部对话但没有工具,子代理有工具但看不到你的对话。
适用场景:长会话中随口追问、给新人解释代码、自查"它刚才为什么这么做"。成本低到忽略不计——prompt cache 还热着的时候,一次 /btw 几乎只花回答本身的 token。
大部分人对 Claude 的安全顾虑停留在"我在提示词里写上不许删库"。没用,提示词是劝告,Hooks 是闸门。Hooks 是用户定义的 shell 命令,在 Claude Code 生命周期的固定节点自动执行,退出码 2 就是硬阻断。
官方文档给的第一个例子就极其实用——拦截 rm -rf:
{
"hooks": {
"PreToolUse": [{
"matcher": "Bash",
"hooks": [{
"type": "command",
"command": ".claude/hooks/block-rm.sh"
}]
}]
}
}
脚本从 stdin 读 JSON、提取 command 字段,发现 rm -rf 就输出 permissionDecision: "deny" 并退出。从此无论模型抽什么风,这类命令在执行前就被掐断。
第二个官方推荐用法更省钱:PreToolUse 过滤测试输出。Claude 排查问题时经常去读上万行的测试日志,一个 hook 可以在输出到达 Claude 之前把它 grep 成只剩 ERROR 行——上下文从几万 token 压缩到几百,这是官方成本文档里点名的方法。
进阶玩法还有三种,全部来自官方 Hooks 参考文档:
- prompt 型 hook:不写脚本,直接写一句自然语言让 Haiku 评估"该不该放行这个操作"
- agent 型 hook:生成一个最多 50 轮、能用 Read/Grep 的子代理去验证条件(比如"测试全过了才许停")
- async hook:加 "async": true,每次 Write 之后后台跑测试,Claude 继续干活,测完结果下一轮自动送回来
输 /hooks 可以只读浏览当前所有已配置的 hook 及其来源。调试时用 claude --debug,日志在 ~/.claude/debug/<session-id>.txt。
这一条直接抄大佬作业。Simon Willison(Django 联合创始人)在 7 月的一次 Claude Code 团队炉边谈话里学到一招,随即实测有效。他给 Claude Code 的原话是:
"For all coding tasks use your judgement to decide an appropriate lower power model and run that in a subagent"
(对所有编码任务,由你判断选一个合适的低阶模型,放到子代理里跑。)
效果:Claude 把这句话存成了项目记忆文件(~/.claude/projects/<项目>/memory/delegate-coding-to-subagents.md),之后实质性写码派给 Sonnet 子代理、机械性小改动派给 Haiku,判断、审查、综合这些"值钱"的活留在主模型。Willison 的原话是"工作量巨大,而我的 Fable 额度缩水速度明显变慢了"。官方成本文档也印证了这个方向:子代理的冗长输出(跑测试、抓文档、翻日志)留在子代理自己的上下文里,只有摘要回到主会话。
配合一条使用:子代理配置里显式写 model: haiku,简单任务连判断都省了。
/compact 定向压缩——压缩什么,你说了算很多人只知道 /clear,最多知道 /compact,但不知道 compact 支持自定义指令:
/compact 保留代码示例和 API 用法,丢弃调试过程
这样自动摘要时会优先保住你真正要的东西。另外,CLAUDE.md 里也可以写压缩策略,让每次自动压缩都遵循同样的规则。
配套的完整工作流是:切任务前先 /rename 给会话起名 → /clear 开新会话 → 之后用 /resume 从列表里挑回来。/clear 会把 token 计数归零(v2.1.211 起),而带着旧上下文切任务是烧钱的第一大原因——官方文档专门有一节解释"为什么开了半天的会话,问一句话也烧一堆额度":每条请求都会携带全部历史,缓存过期后(订阅计划 1 小时,用量计费/credits 模式只有 5 分钟)首次消息要全文重算。顺带一提,Shift+Tab 切到 plan mode 让它先出方案再动手,避免"方向错了重跑一整轮"的更大浪费。
/usage 归因 + /insights 体检——先搞清钱花哪了/usage 不只是显示剩余额度。在订阅计划上,它会给出归因分析:最近的用量有多少来自 skills、多少来自子代理、多少来自哪个 MCP server(各自占总量的百分比),还会把异常行为单独标旗——比如"长上下文"或"缓存未命中"占了你最近用量的 10% 以上,就列出来并附一条改进建议。按 d/w 切换 24 小时/7 天视图(v2.1.242+ 还会列出最烧钱的 /loop 定时任务)。
更冷门的是 /insights:它会分析本机最多 200 个历史会话,生成一份 HTML 报告(写到 ~/.claude/usage-data/report.html),内容不是 token 账单,而是"你的工作模式"——你在做什么类型的事、哪里有摩擦(被误解的请求、返工的 bug)、以及针对性建议。任何计划、任何 provider 都能用。这份报告免费,只花分析本身的 token。
作为参照系,官方给的企业数据是:平均每开发者每个活跃日约 13 美元、每月 150-250 美元,90% 的用户每天低于 30 美元。先跑 /usage 和 /insights 建立基线,再谈优化。
订阅用户最容易破防的时刻:任务跑到一半,弹"已达限额",只能干等 5 小时窗口重置。从 v2.1.234 起,Claude Code 会自动等待限额重置并原地续跑任务(claude.ai 订阅的交互式会话默认开启)。等待时会显示预计恢复时间;重置后它发一个固定 prompt 从断点继续,不会重复你上一条消息。如果电脑睡眠超过约 30 分钟错过了重置,回来按一下回车即可。连续两次撞限额它会自动停手,防止空转。
三个配套动作:
- 排队消息:Claude 干活时直接打字回车,消息排队而不是打断它;按 ↑ 可以反悔撤回队列
- Ctrl+B 后台化:把正在跑的长命令(构建、测试、docker)踢到后台,输出写文件、不占对话
- claude --from-pr 1234:直接打开与某个 PR 关联的历史会话,接着改
两个反直觉的上下文卫生习惯,都出自官方成本文档:
CLAUDE.md 控制在 200 行以内。 它在会话启动时全文进上下文——你写的 PR 流程、数据库迁移手册,就算今天只是改个 CSS 也照样背着。官方建议把专项指令迁移到 Skills(按需加载),CLAUDE.md 只留全局必需品。
能装 CLI 就别装 MCP。 gh、aws、gcloud、sentry-cli 这类命令行工具比 MCP server 更省上下文,因为它们不给每个工具塞一条定义(MCP 工具定义现在默认延迟加载,但仍是开销)。用 /context 看当前上下文都被谁占了,把不用的 MCP server 直接禁用。另一个容易被忽略的点:给强类型语言装 code intelligence 插件(LSP),一次"跳转到定义"就能替代"grep + 连读好几个文件"。
flowchart TD
A[用户提交任务] --> B[主会话: 大模型做判断/拆解]
B --> C{任务类型?}
C -->|写码/机械修改| D[子代理: Sonnet/Haiku 执行]
C -->|跑测试/查日志| E[子代理: 冗长输出留在子上下文]
C -->|架构/审查/综合| B
D --> F[只回传摘要]
E --> F
F --> B
B --> G[PreToolUse Hook 拦截]
G -->|rm -rf 等危险命令| H[退出码2: 硬阻断]
G -->|放行| I[执行 + PostToolUse 过滤输出]
I --> J[/usage 归因 + /insights 复盘]
J --> A
| 你以为的 | 实际上 |
|---|---|
| Claude Code 就是聊天+改代码 | /btw 旁路提问、Hooks 硬拦截、子代理分层调度才是主力功能 |
| 安全靠提示词约束 | 退出码 2 的 hook 是物理闸门,官方还提供 prompt/agent 型 hook |
| 一个会话从头用到尾 | /rename + /clear + /resume,切任务必清上下文 |
| 限额了只能干等 | v2.1.234+ 自动等待重置并续跑,挂机不断线 |
| 额度烧完不知道花哪了 | /usage 按 skill/子代理/MCP 归因,/insights 出工作模式报告 |
| CLAUDE.md 越详细越好 | 官方建议压到 200 行内,专项指令进 Skills 按需加载 |
~/.claude/settings.json 加一个拦截 rm -rf 的 PreToolUse hook;把 /btw 用起来/insights 和 /usage,看清自己的用量结构;把 CLAUDE.md 砍到 200 行以内,专项内容迁去 Skills/rename → /clear 的切任务习惯claude auto-mode defaults 可以看到它完整的放行/拦截规则 JSON,建议逐条读一遍再决定是否信任本文由「51学通信」技术团队出品。51学通信由通信行业18年老兵爱卫生(微信ID: gprshome201101)维护。 聚焦5G/6G核心网、3GPP标准、AI工具实战。知识星球「51学通信」提供深度技术答疑和行业洞察。
[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。
