乐于分享
好东西不私藏

Claude Code源码泄露,我提炼了10条提示词的高级用法!

Claude Code源码泄露,我提炼了10条提示词的高级用法!

Hi,这里是周行 (Xing)

之前写了一篇 Claude Code 源码拆解,偏底层机制,更多是面向开发者的。

但我主要的方向并非产品开发,所以我其实会更关心一些实用性的提示技巧:怎么跟 Claude Code 说话,它才更听得懂、干得好。

基于此,我又整理了10条如何用好claude code (或其他Ai) 的提示词技巧。

这些技巧不需要你会写代码,任何人都能用。

而且跟网上大多数”提示词教程”不同,这些技巧是从源码和官方最佳实践里提炼出来的,有明确的机制支撑。

知道”为什么有效”,你就能举一反三。

1. CLAUDE.md 写法

上一篇聊过 CLAUDE.md 的加载机制,这次说说怎么写。

很多人的 CLAUDE.md 写得像文档:项目背景、技术架构、代码规范、命名约定、测试流程……恨不得把所有东西都塞进去。

但源码告诉我们,Claude Code 的系统提示词本身已经有大约 50 条内置指令。而模型能可靠遵循的指令总量大概在 150-200 条。也就是说,留给你的 CLAUDE.md 的”指令预算”其实很有限。

写太多,真正重要的指令反而会被淹没。

怎么写才有效?把 CLAUDE.md 当成给新同事的入职手册,只写”如果不告诉你,你一定会搞错的事情”。比如:


  • 项目里有哪些特殊约定 (命名规则、目录结构)

  • 常用的命令 (测试、构建、部署)

  • 绝对不能碰的东西 (某个目录、某个配置文件)

其他的,Claude Code 自己能从代码里推断出来的东西,就别写了。写了反而浪费预算。

还有一个技巧:CLAUDE.md 支持 @path/to/file 语法引用其他文件。详细的流程规范可以放在单独的文档里,在 CLAUDE.md 里用一行引用就行。这样既保持了主文件的精简,又不会丢失细节。

2. 验证标准

这一条可能是所有技巧里杠杆效果最高的。

大多数人用 Claude Code 的方式是:给它一个任务 → 它做完 → 你人肉检查 → 发现问题 → 让它改 → 再检查……

如果你在任务描述里直接告诉它怎么验证自己的工作,这个循环就能自动化。

比如:

实现用户登录功能后,运行 npm test auth 确认所有测试通过。如果有失败的,自己修复,直到全部通过。

Claude Code 的创始人说过,这一个技巧就能带来 2-3 倍的质量提升。

原理很简单:没有验证标准的时候,你是唯一的反馈来源,Claude Code 做完就停了,等你来看。有了验证标准,它自己就能跑一个”做→验→改”的闭环。

即使你不是开发者,同样的思路也适用:

写完这篇文章后,检查是否每个段落都只讲一件事,是否有超过 3 句的排比,是否有”综上所述”之类的书面腔。发现了就自己改掉。

3. 一个任务一个会话

这条听起来很简单,但很多人做不到。

随着对话越来越长,Claude Code 会开始”忘事”。前面聊过的对话压缩机制就是原因——早期的上下文会被压缩成摘要,细节不可避免地会丢失。

更重要的是,前期对话的上下文会”污染”后续任务。比如你先让它改了一个按钮样式,然后在同一个会话里让它改数据库逻辑。它脑子里还残留着按钮的上下文,可能会做出一些奇怪的关联。

最佳实践:一个任务做完,用 /clear 清掉,开一个干净的会话继续下一个。

如果担心丢失进度,可以在下一个会话开头简要说明前情。或者把重要的上下文写进 CLAUDE.md,它每个会话都会自动读取。

4. 思考深度关键词

这个很多人不知道。

Claude Code 支持在提示词里用特定关键词来调整它的”思考预算”:

  • think
    :基础思考,适合简单任务
  • think hard
    :中等深度,适合需要权衡的决策
  • think harder
    :深度思考,适合复杂 bug 调试
  • ultrathink
    :最大思考预算,适合架构级决策

日常用的话,大多数任务不需要加任何关键词。遇到复杂问题的时候,在提示词里加一句”think hard about this”就行。

注意:思考越深,消耗的 token 越多,花费也越高。别每个任务都 ultrathink。

5. 走偏了,引用它自己的规则

上一篇提过,Claude Code 的系统提示词里写死了一套行为准则。

这套准则的实际用法是:当 Claude Code 走偏的时候,你可以直接引用它的规则来把它拉回来。

比如它自作主张创建了一堆新文件,你可以说:

你的规则说了,不要创建不必要的文件。请撤销刚才创建的文件,只修改我指定的部分。

比它过度重构了你没让它动的代码,你可以说:

你的规则说了,改动要严格限定在请求范围内。请只改我说的那个函数。

我自己用下来,这招比单纯说”不要这样做”有效得多。因为你是在提醒它自己认同的规则,它的遵从度会更高。

6. 复杂任务拆三步

源码里 Claude Code 的 Sub-Agent 架构是:Explore → Plan → Execute。

你可以直接按这个节奏给它下指令:

第一步:先读一遍 src/auth/ 目录下的所有文件,告诉我现在的认证逻辑是怎么实现的。
第二步:基于你的理解,给我一个迁移方案。先别动手。
第三步:方案我确认后,再开始改代码。

这样做的好处是:每一步你都有机会检查和纠偏。如果直接说”帮我把认证从 session 迁移到 JWT”,它可能理解错了方向,改了一大堆之后你才发现问题,回滚成本很高。

即使是非代码任务,同样的思路也适用:

第一步:先研究一下这个话题的主流观点。
第二步:给我一个文章大纲。
第三步:大纲确认后再写全文。

7. 用 todo/next 标记待办

源码里的压缩算法会优先保留包含 todonextpendingremaining 这些关键词的内容。

也就是说,当你在对话中提到待办事项时,刻意用这些词来标记,它们在上下文压缩后更有可能被保留下来。

比如:

TODO:登录功能做完后,还需要处理密码找回的逻辑。
NEXT:等这个 PR 合并后,开始做用户权限模块。

这不是什么玄学,是压缩算法的硬编码逻辑。

8. /compact 可以带参数

大多数人只知道 /compact 可以手动触发对话压缩,但不知道你可以告诉它压缩时重点保留什么。

/compact 保留所有修改过的文件路径和当前的测试状态

这样压缩出来的摘要会更精准,不会丢掉你最关心的信息。

你甚至可以在 CLAUDE.md 里写一条常驻指令:”压缩时,始终保留修改文件列表和当前任务进度。”这样每次自动压缩都会按你的优先级来。

9. Plan Mode 防止走错方向

按两次 Shift+Tab 就能进入 Plan Mode。

Plan Mode 下,Claude Code 只分析、不动手。它会告诉你它打算怎么做、会改哪些文件、预计的影响范围。你确认后它才开始执行。

什么时候该用?

  • 涉及多个文件联动的改动

  • 你对这块代码不太熟悉

  • 任务比较模糊,你想先看看它怎么理解的

什么时候不用?


  • 任务很明确,一句话就能说清楚要改什么

  • 简单的单文件修改

Plan Mode 的价值在于:防止 Claude Code 花 20 分钟自信地解决了一个错误的问题。

10. 指向现有代码,别口头描述

让 Claude Code 参照现有代码来复制模式,比你口头描述精确得多。

比如:

参照 src/auth/login.ts 的错误处理模式,给 logout 也加上同样的处理。

比这样好得多:

用我们项目的错误处理风格来写 logout 的逻辑。

口头描述会产生”微漂移”——它写出来的代码看起来风格差不多,但总有些地方跟你项目的约定不太一样。直接指向现有代码,它就能精确复制模式。

CLAUDE.md 里的 @ 引用也是同样的思路。与其在 CLAUDE.md 里长篇大论描述项目结构,不如直接写:

项目概览见 @README.md,可用命令见 @package.json。

最后

这 10 条技巧,核心其实就一个思路:

Claude Code 有自己的运行逻辑,你越顺着这个逻辑来跟它沟通,效果就越好。

它有指令预算上限,你就精简 CLAUDE.md。它会压缩上下文,你就用 todo/next 标记重要内容。它内部按 探索→方案→执行 调度,你就按这个节奏拆任务。

不是让你迁就它,而是了解它的工作方式后,用最省力的方式拿到最好的结果。

好了,今天就到这里。

希望这篇推文,对朋友们有些帮助🍀。