【AI】ClaudeCode机制规则记录

【AI】ClaudeCode机制规则记录

本文旨在介绍使用ClaudeCode时的一些规则类的背景知识的记录,还有提效指南,在日常使用中常用常新

提效指南

为你的文章整理了一份关于 Claude Code 快捷操作和效率技巧的详细指南,你可以根据文章结构和侧重点进行取舍和编排。


斜杠命令:你的“快捷控制面板”

斜杠命令(Slash Commands)是 Claude Code 的核心交互方式,在对话中输入 / 即可呼出命令列表。根据功能,我们可以将它们分为几大类。

⚙️ 项目管理:为 AI 建立“长期记忆”

  • /init:新项目的第一步。这个命令会扫描你的代码库,自动生成一份 CLAUDE.md 文件,作为Claude理解项目的“说明书”,包含技术栈、架构和规范等信息。后续所有操作都会参考这个文件,准确度会高很多。
  • /memory:直接编辑 CLAUDE.md 记忆文件。无需手动打开文件,你可以在对话中直接说“更新记忆,所有测试都用 Vitest”,Claude 会通过此命令帮你完成修改。Claude犯过的错,都可以通过这个命令沉淀成规则。
  • /add-dir:在 Monorepo 等大型项目中,用此命令手动添加其他工作目录到Claude的“视野”中,确保上下文覆盖所有相关代码。

🕵️‍♂️ 分析与洞察:做项目的“X光机”

  • /context:一个“上下文透视镜”。输入后,它会清晰列出当前上下文窗口的组成——系统提示词、规则文件、对话历史等各自占用了多少Token。能帮你精准定位是谁“吃掉”了宝贵的上下文空间。
  • /insights:生成一份HTML报告,分析你过去30天的使用数据,揭示你在哪些任务上经常卡壳、需要反复纠正,并给出优化工作流的建议。
  • /stats:查看你的个人使用仪表盘,包括使用习惯、最爱的模型、连续使用天数等趣味数据。
  • /cost/usage:前者显示当前会话消耗的Token和费用,后者查看API使用额度和剩余量,帮你做好成本控制。

🛡️ 代码质量与安全:你的私人“代码审查员”

  • /review:启动代码审查,Claude会从代码质量、最佳实践等角度提出建议。
  • /security-review:一个内置的安全扫描器,检查SQL注入、XSS等常见漏洞。可以在提交代码前运行,也可集成到CI/CD中。
  • /simplify:并行启动三个审查Agent,分别检查代码的复用性、质量和效率,然后汇总结果并自动修复,帮你把代码改得更简洁。
  • /debug:启动调试模式,当遇到棘手Bug时,Claude会调用相关工具,更有条理地分析问题。

💬 会话与效率管理:让协作更丝滑

  • /compact vs /clear:随着对话变长,上下文窗口会越来越满。/compact会智能压缩对话历史,只保留核心摘要,适合继续当前任务时释放空间;/clear则会清空所有历史记录,适合开启一个完全不相关的新任务。
  • /rename & /resume:给会话起一个有意义的名字(如 /rename fix-auth-bug),之后可以通过 /resume fix-auth-bug 精准恢复该会话。
  • /export:将整个对话(包括Prompt、回复、工具调用)导出为Markdown文件,方便撰写文档、分享排查过程或自己复盘。
  • /rewind:对话和代码的“时光机”。尝试新思路搞砸了,直接回退到之前的某个检查点,比手动Ctrl+Z高效得多。
  • /btw:在主任务中插入一个“侧边聊天”,临时问个不相关问题而不打断主流程。

🤖 自动化与高级玩法

  • /plan (规划模式):进行复杂任务前,先让Claude输出操作方案供你确认,确认无误后再执行,避免改错方向。
  • /agents:创建拥有独立上下文的子Agent,并行处理特定任务(如“分析这个日志”),然后将结果汇总。这适合处理复杂的多步骤任务。
  • /batch:面向大规模代码改造,自动将任务拆解成多个独立单元,由后台Agent在隔离的Git worktree中并行执行,完成后分别发起PR。
  • /loop:定时重复执行任务,比如每隔几分钟检查一次部署状态或轮询某个接口。
  • /model:动态切换底层模型,简单任务切小模型省Token,复杂任务换回最强模型。

其他效率提升技巧:把工具用到极致

除了斜杠命令,这些技巧能让你在操作层面更加游刃有余。

一、键盘快捷键:指间的“魔法”

快捷键功能说明使用场景
! 前缀直接执行Bash命令,无需Claude思考。想快速查看状态:!git status。省Token又省时间。
双击 Esc时光倒流:回退到上一个干净检查点,代码和对话一起恢复。尝试方案走偏时,快速回到起点。
Ctrl + R搜索你输入过的历史Prompt。想复用之前写过的一个复杂提示词。
Ctrl + S暂存草稿:把当前未写完的Prompt暂存起来,清空输入框。写到一半需要临时处理其他事,避免思路断掉。
Shift + Tab在“自动执行”和“规划模式”等权限模式间快速切换。想让Claude直接改代码,还是先只做规划。
/vim开启Vim键位绑定,用hjkl导航,用dd删除行。如果你是个Vim爱好者,可以完全脱离鼠标。

二、上下文管理的艺术

  • 善用 @ 提及:像在Slack里一样,使用 @文件名@目录名 直接将特定文件或整个目录拉入上下文,避免让Claude在整个代码库里大海捞针。
  • > ultrathink 触发深度思考:在复杂问题前加上 ultrathink 关键字,Claude会分配更多Token进行深度推理,适合架构设计和复杂链路排查。
  • 定期清理会话:切换到不相关任务前,务必使用 /clear 命令,避免上下文污染。
  • 不要解释错误,直接贴原始数据:报错、日志、CI输出,越原始越有用。先自己总结一遍,往往会丢掉能定位根因的细节。正确的做法是 cat error.log | claude "解释这个错误"

三、让Claude进入“执行闭环”

  • 给Claude明确的反馈循环:不要只说“帮我改一下”,要把验证动作一起写进去。例如:“修复登录问题。改完后执行 pnpm lintpnpm test,如果失败,继续修到通过。”
  • 先跑 /init,再开工:这能确保Claude对你的项目有基本认知,后续的每一次交互都会更准确。
  • UI改动要真实验证:对于前端页面改动,尽量让Claude能看到真实效果,而不仅仅是“看代码”。
  • --worktree 控制并行任务污染:为不同任务创建独立的Git worktree,让每个Claude会话拥有独立的工作区和分支,互不影响。

四、将经验沉淀为规则

  • 善用 CLAUDE.md.claude/rules/CLAUDE.md 是给AI看的项目说明书,应放一些全局约束,如启动命令、编码约定、禁止触碰的边界等。而 .claude/rules/ 目录下可以放条件性规则,比如只有在处理 src/api/ 目录下的代码时才生效的规则。每一条规则都问一句:“没有它,Claude会做错吗?”,如果不会,那它可能就是冗余的。
  • 犯过的错要沉淀:每当Claude犯了错,比如“改接口忘补测试”或“动了不该动的Migration”,不要只修正这一次。最好通过 /memory 或自然语言说“把这条更新到CLAUDE.md里”,把它变成未来不会再犯的规则。
  • 创建自定义命令和Skill:如果你发现某个Prompt反复使用,可以把它制作成自定义的斜杠命令。方法很简单:在 .claude/commands/ 目录下新建一个 .md 文件,文件名就是命令名,内容就是Prompt。团队还可以将这些命令提交到Git,实现知识共享。

上下文压缩

Claude Code 的压缩对话,本质上是一种智能的“上下文摘要与状态恢复”机制。它用一个结构化的摘要替换掉冗长的历史对话,从而释放宝贵的上下文窗口空间,让对话可以继续进行。

这个机制的核心是“有选择地遗忘”,而不是简单地删除历史记录。

🧠 核心流程:压缩如何发生?

当对话上下文达到容量上限时(通常是手动执行/compact命令或自动触发),压缩流程开始。这个过程可以分为几个关键步骤:

  1. 深度摘要 (Deep Summarization):系统会启动一个“压缩专用”的Claude实例,它的任务是将整个对话历史提炼成一份结构化的摘要。为了保证摘要质量,这个实例被强制禁止使用任何工具,只能输出纯文本。
    • 摘要结构:生成的摘要非常严格,必须包含主要请求、技术概念、文件和代码段、错误与修复、待办任务等关键部分,确保不丢失项目核心信息。
  2. 注入边界标记 (Compacted Boundary):摘要生成后,会在对话记录中插入一个系统标记 ✻ Conversation compacted。这个标记是一个“检查点”,告诉系统此前的详细历史已被折叠。

  3. 重组上下文 (Context Rebuilding):为了让AI能无缝衔接工作,系统会用新组成的上下文替换旧的历史。新上下文包含三部分:
    • 边界标记:作为压缩点的标志。
    • 生成的摘要:作为新对话的“记忆”起点。
    • 关键状态恢复:这是很关键的一步。系统会主动恢复最近最多5个文件的内容(每个文件最多5000 tokens),以及之前加载的Skills和计划任务状态,确保AI不会“失忆”。

💾 本地存储与传输变化

这个机制对本地和网络有不同的影响:

  • 本地记录(JSONL文件):历史记录不会被删除。压缩只是追加了一条compact_boundary记录和摘要消息,所以本地文件大小反而会增大。如果想要追溯完整历史,可以查看这些文件。
  • API传输(请求体):这是压缩的主要战场。之前动辄上万token的请求体,在压缩后会缩减约85%~87%,后续请求主要只发送摘要和最新消息,大大降低了token消耗和费用。

🤔 自动 vs. 手动,以及注意事项

  • 自动触发:当上下文使用量达到模型窗口的95%左右(约16.7万 tokens)时,Claude Code会自动进行压缩。这个机制是静默运行的,你可能会在对话中突然看到✻ Conversation compacted的标记。
  • 手动触发:通过输入/compact命令可以随时手动发起。建议在完成一个阶段性的任务后手动压缩,可以避免AI在长对话中“跑偏”。

重要提示:由于压缩是自动、静默发生的,项目中一些非全局的指令可能会在此过程中“丢失”。例如,通过 paths: 定义的特定路径下的规则,或位于子目录中的CLAUDE.md文件,在压缩后可能不会自动重新加载。如果你发现AI突然“忘记”了某些规则,很可能就是自动压缩导致的。最稳妥的做法是,将那些在任何情况下都不应丢失的核心指令,放在项目根目录的CLAUDE.md文件中