很多人用 Claude Code 的方式,就是打开终端、输入需求、等它写代码。
这样可能只发挥了它 20% 的实力。
Claude Code 本质上是一个可以在本地全自动运行的 AI 智能体,它有一整套官方文档完整记录的扩展机制,很多人用了好几个月,压根不知道这些功能存在。
每次重开 Claude Code,你都要重新解释项目背景——这件事烦透了。
Claude Code 提供了两套互补的记忆机制:
你写的 CLAUDE.md
和
Claude 自己写的 Auto Memory
。
CLAUDE.md
放在项目根目录,记录架构说明、代码规范、常用命令等。Claude 每次启动时自动读取。建议用
/init
命令生成初始版本,Claude 会分析你的代码库自动填写。
# CLAUDE.md 示例
技术栈
- 前端:Next.js 14 + TypeScript
- 后端:Node.js + Express
- 数据库:PostgreSQL + Prisma
常用命令
-npm run dev — 启动开发服务器
-npm test — 运行测试套件
代码规范
- 使用 2 空格缩进
- API 处理器放在 src/api/handlers/
- 提交前先运行 npm test
Auto Memory
(需 Claude Code v2.1.59+)是 Claude 自己的笔记本。当你纠正 Claude 的习惯或解释项目模式时,它会自动把有用信息记录到
~/.claude/projects/
/memory/MEMORY.md
,下次会话开头自动加载前 200 行。
用
/memory
命令可以查看和编辑两套记忆的内容。两者分工明确:CLAUDE.md 记你的规则,Auto Memory 记 Claude 的学习成果。
CLAUDE.md 建议控制在 200 行以内,超长会影响遵从度。可以用@路径语法 import 外部文件来保持主文件简洁,例如@docs/git-instructions.md。
Hooks 是 Claude Code 里最强大也最少人用的功能。它让你在 Claude 执行生命周期的特定节点自动触发脚本,把 Claude Code 从”问答工具”变成”可编程流水线”。
配置写在
.claude/settings.json
的
hooks
字段里:
{
“hooks”: {
“PostToolUse”: [
{
“matcher”: “Edit|Write”,
“hooks”: [
{
“type”: “command”,
“command”: “npm run lint”
}
]
}
]
}
}
上面这个配置的效果:每次 Claude 修改或新建文件之后,自动跑一遍 lint 检查。
官方文档列出了 20+ 个生命周期事件,几个最实用的:
事件
触发时机
典型用途
PreToolUse
工具调用前
拦截危险命令(如
rm -rf
)
PostToolUse
工具调用后
自动跑测试/lint
SessionStart
会话开始时
自动加载 git 状态作为上下文
Stop
Claude 完成响应时
任务完成后发通知
PreCompact
上下文压缩前
备份当前会话记录
以拦截危险命令为例,完整脚本如下(保存在
.claude/hooks/block-rm.sh
):
#!/bin/bash
COMMAND=\((jq -r '.tool_input.command')
if echo "\)COMMAND“ | grep -q ‘rm -rf’; then
echo “危险命令已拦截” >&2
exit 2 # exit 2 = 阻止执行并把错误信息反馈给 Claude
fi
exit 0 # exit 0 = 允许执行
然后在 settings.json 里注册:
{
“hooks”: {
“PreToolUse”: [
{
“matcher”: “Bash”,
“hooks”: [
{
“type”: “command”,
“command”: ”“$CLAUDE_PROJECT_DIR”/.claude/hooks/block-rm.sh”
}
]
}
]
}
}
Hooks 支持三种处理类型:
command
(执行脚本)、
http
(推送到外部 API)、
prompt
(让 Claude 模型来评估)。用
/hooks
命令可以在会话中查看所有已配置的钩子。
Claude Code 在执行每一次文件编辑之前,都会自动快照当前文件状态。出了问题,不需要手动
git reset
,直接输入:
/rewind
(别名:
/checkpoint
)
执行后弹出五个选项:
这个快照机制和 git 是独立的,专门针对 Claude Code 的文件编辑操作。也可以在会话中按两次
Esc
触发回滚流程。
重要限制
:通过 Bash 命令执行的操作(
rm
、
mv
、
cp
等)不在 checkpoint 追踪范围内,只有通过 Edit/Write 工具的文件修改才能回滚。所以涉及文件删除移动的高风险操作,Claude 会提前询问确认。
对于复杂重构任务,这个功能让你可以放心地让 Claude 大刀阔斧地改,知道随时有后路。
这两个功能把 Claude Code 从”你问我答”变成”定时后台任务”。
/loop
是一个内置 Skill,让 Claude 以固定间隔重复执行一个任务,在当前会话保持打开的情况下运行:
/loop 5m 检查 PR 是否有新评论并总结
每 5 分钟检查一次 PR 状态,自动生成摘要。适合需要持续监控的场景。可以和其他 Skill 组合使用,比如先定义一个代码审查 Skill,再用
/loop
让它定期运行。
/schedule
是基于云端的计划任务,不需要本地会话保持打开:
/schedule
输入命令后,Claude 通过对话引导你设置任务内容、执行频率和触发条件。适合完全异步的后台任务,比如每天定时生成报告、定期检查代码质量等。已创建的计划任务可以通过
/schedule
列出、更新或删除。
Claude Code 支持跨设备会话控制。在终端里运行:
/remote-control
简写:
/rc
执行后,当前终端会话就可以通过 claude.ai 网页端或手机 App 来控制。你可以离开电脑,用手机继续给 Claude 发指令、审批权限请求、查看执行进度。
在
/config
里打开”Remote Control: 自动启用”,之后每次启动会话都默认开启跨设备控制,不需要手动输命令。
这对长时间运行的任务特别有用:挂着 Claude 做大规模重构,偶尔用手机查看进度、处理需要人工审批的操作,而不需要一直守着电脑。
按
Shift+Tab
可以在权限模式之间循环切换。其中 Plan Mode(计划模式)是最被低估的——Claude 只使用只读工具,把整个执行计划写出来给你看,等你确认后才开始修改文件。
也可以直接启动带计划模式的会话:
claude –permission-mode plan
或在会话中用命令:
/plan 把认证系统迁移到 OAuth2,列出详细计划
Plan Mode 特别适合这些场景:
在计划模式中,Claude 会用
AskUserQuestion
工具主动向你确认需求细节,而不是直接开干。制定好计划后按
Ctrl+G
可以在编辑器里直接修改计划内容,然后让 Claude 按修改后的计划执行。
Shift+Tab 循环的四种模式:
模式
说明
默认模式
文件编辑和 shell 命令都需要确认
自动接受编辑
文件修改不问,shell 命令还是问
计划模式
只读,先生成计划再执行
Auto 模式
后台安全检查(研究预览阶段)
这是效率乘法器。Git worktrees 让同一个仓库同时有多个工作目录,每个对应不同分支,配合 Claude Code 就能让多个 Agent 并行处理不同任务。
手动方式:
# 创建新 worktree
git worktree add ../feature-auth feature/auth
# 在新目录开一个 Claude Code 会话
cd ../feature-auth && claude
这样 main 目录和 feature-auth 目录各有一个独立的 Claude Code 会话,互不干扰,各自有自己的上下文。
更强大的是内置的
/batch
Skill:
/batch 把 src/ 目录的所有 API 调用从 axios 迁移到 fetch
/batch 会自动分析代码库,把工作拆解成 5 到 30 个独立单元,展示计划让你确认,然后为每个单元自动创建 worktree、派一个后台 Agent 去执行,每个 Agent 独立跑测试并开 PR。整个过程完全并行,你只需要最后审核各个 PR。
/batch 需要 git 仓库支持,大规模迁移或批量重构任务效果最好。
Skills 是 Claude Code 的扩展系统。在
.claude/skills/
目录里创建一个文件夹,写一个
SKILL.md
,Claude 就能在适当时机自动加载它,或者你用斜杠命令手动触发。
在
~/.claude/skills/code-review/SKILL.md
写:
—
name: code-review
description: 对代码变更做安全性和性能审查。当用户说”review”或”检查代码”时使用。
—
审查时重点关注:
1. 安全问题:SQL 注入、XSS、未验证的输入
2. 性能问题:N+1 查询、不必要的循环、内存泄漏
3. 可维护性:函数是否过长、命名是否清晰
4. 错误处理:边界条件是否覆盖
输出格式:先列严重问题(P1),再列中等问题(P2),最后是建议(P3)。
保存后,输入
/code-review
即可触发,或者直接说”review 一下这个文件”,Claude 会自动识别并加载对应 Skill。
Skills vs CLAUDE.md
:CLAUDE.md 是每次会话都加载的背景知识,Skills 是按需加载的专项能力。Skills 有专属目录放配套文件(脚本、模板等),更适合复杂的工作流。
原来
.claude/commands/
里的自定义命令文件依然有效,与 Skills 完全兼容——两者都会生成对应的斜杠命令。官方也内置了处理 Word、Excel、PowerPoint、PDF 文件的 Skills,可以直接使用。
这个命令很小,但很实用。在 Claude 执行任务的过程中,你突然有个问题想问,但不想打断当前任务流,也不想让这个问题污染对话上下文——用
/btw
:
/btw 这个项目用的是 CommonJS 还是 ESM 模块系统?
Claude 会回答你的问题,但
这条问答不会加入主对话历史
,不占用上下文,也不影响当前任务的执行方向。
适用场景:
对于长会话来说,这个功能能有效节省上下文空间——因为每一次普通的”顺带问一句”都会永久留在对话历史里。
Claude Code 的上下文窗口有限,长会话做到一半很容易出现质量下降。两个命令配合使用效果最好:
/context
先让你看清楚状况:
/context
输出一个彩色网格,显示当前上下文各部分的占用情况——哪些工具输出太大、哪些文件占了太多空间、当前剩余容量百分比。根据这个再决定怎么处理。
/compact
执行压缩,可以加焦点参数:
/compact 重点保留 API 改动相关的内容
Claude 会把对话历史压缩成精炼摘要,释放大量 token 空间,让会话继续。
你可以在 CLAUDE.md 里添加
Compact Instructions
章节,告诉 Claude 压缩时什么内容必须保留:
Compact Instructions
压缩时请保留:
- 当前未完成的任务列表
- 已做的架构决策和原因
- 正在修改的文件列表
没有这个指引的话,Claude 会自己判断什么重要,结果可能不符合你的期望。CLAUDE.md 的内容在
/compact
之后会完整地重新注入,不需要担心规则丢失。
建议在上下文使用率超过 70% 时主动执行
/compact
,不要等到质量明显下降再处理。
本文由 markdown编辑器
https://www.cimidata.com/tools/md-editor 渲染

加我微信进AI编程&龙虾交流群(备注:龙虾)
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/251978.html