Claude Code 安装
可使用 npm 安装
1
2
3
4# 安装:
npm install -g @anthropic-ai/claude-code
# 查看安装情况:
claude -v注:还可以使用 Claude Code 官方网页提供的安装方式:
1
curl -fsSL https://claude.ai/install.sh | bash
注:以下 Claude Code 可能简称为 CC
登录和配置
Claude
先为 Claude Code 创建一个本地文件夹
1
2mkdir -p cc_work_space
cd cc_work_space启动 Claude Code
1
claude
这里如果没有配置相关 API(详情见前面一步),会要求登录,如果没有配置相关 API,也没有登录,可以使用
/login命令进行登录两种方式可选配置
- 方案一:订阅用户,可购买官方的 Pro 或者 Max 会员
- 方案二:使用官方 API KEY,按照 Token 消耗量计费
注:截止到 25 年底,Claude 依然无法在国内使用
第三方 API KEY 配置(可切换国产模型等)
目前的 Claude Code 是支持配置第三方 API KEY 的
打开/创建文件:
1
vim ~/.claude/settings.json
输入信息(视情况修改其中的配置 APP_ID,URL 和 模型名称等):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23{
"env": {
"ANTHROPIC_AUTH_TOKEN": "{申请的AppId}",
"ANTHROPIC_BASE_URL": "https://xxx/v1/xxx/",
"ANTHROPIC_MODEL": "claude-opus-4.7",
"ANTHROPIC_SMALL_FAST_MODEL": "claude-opus-4.7",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "claude-opus-4.7",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "claude-opus-4.7",
"CLAUDE_CODE_THINKING_TYPE": "adaptive",
"CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS": "1",
"CLAUDE_CODE_EXTRA_BODY": "{\"thinking\":{\"type\":\"adaptive\"}}",
"CLAUDE_CODE_THINKING_EFFORT": "high",
"ANTHROPIC_CUSTOM_HEADERS": "email?",
"CLAUDE_CODE_MAX_OUTPUT_TOKENS": "60000",
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1"
},
"permissions": {
"allow": [],
"deny": []
},
"hasCompletedOnboarding": true,
"disableLoginPrompt": true
}若配置后 Claude Code 后要求登录(国内一般无法直接登录),则需确认是否已经添加下面的参数:
1
2"hasCompletedOnboarding": true,
"disableLoginPrompt": true
初次使用
进入工作目录 & 登录
先为 Claude Code 创建一个本地文件夹
1
2mkdir -p my_cc
cd my_cc启动 Claude Code
1
claude
登录方案:
- 若已经配置第三方 API KEY,则不需要登录,启动即可使用
- 这里如果没有配置相关第三方 API KEY(详情见前面一步),会要求登录
- 注:如果没有配置相关 API,也没有登录,可以使用
/login命令进行登录 - 详情见前面的内容
- 注:如果没有配置相关 API,也没有登录,可以使用
使用 Claude Code
使用 Claude Code,从一个简单需求开始,直接在 Claude Code 命令行输入想要做的事情(比如 “写一个随机数模拟器网站” )
1
> 写一个随机器模拟网站
接下来就可以通过对话完成想完成的任何事情了
Claude 配置文件
- Claude 一般通过
xx/settings.json文件进行配置
settings.json 一般包含哪些内容?
settings.json文件的核心作用是定义 Claude 的行为边界和工具使用权限。一个标准的配置文件通常包含以下几个核心部分:- permissions(权限控制,最核心):
- 通过 allow(允许)、ask(询问)、deny(拒绝)三个列表来精细化管控 Claude 的操作
- allow:高频且低风险的操作(如读取代码、执行测试命令)
- ask:存在一定风险的操作(如 git push、安装依赖),需要手动确认
- deny:绝对禁止的高危操作(如删除文件
rm -rf、读取 .env 敏感文件)
- hooks(钩子/自动化):
- 定义在特定生命周期(如会话开始 SessionStart、工具执行前 PreToolUse)自动触发的脚本或命令
- model(模型选择):
- 指定当前环境下默认使用的 Claude 模型(如 claude-sonnet-4)
- env(环境变量):
- 为 Claude 的运行环境预设特定的环境变量
- 一个典型的 settings.json 结构示例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28{
"model": "claude-sonnet-4-20250514",
"permissions": {
"defaultMode": "acceptEdits",
"allow": [
"Read(./src/**)",
"Bash(npm run test)",
"Bash(git status)"
],
"ask": [
"Bash(git push *)",
"Bash(npm install *)"
],
"deny": [
"Bash(rm -rf *)",
"Read(./.env*)",
"WebFetch"
]
},
"hooks": {
"SessionStart": [
{
"command": "echo '欢迎使用 Claude Code 进行项目开发'",
"description": "会话开始时的欢迎语"
}
]
}
}
不同层级的配置文件
~/.claude/settings.json(全局设置)- 用户级(全局)配置,对当前电脑上的所有项目生效
- 存放个人的通用偏好:
- 比如默认使用的模型、全局的权限底线(如禁止在任何项目中执行某些高危命令)、全局的 Hooks 或 MCP 服务器配置等
- 仅保存在本机,不随项目提交
./.claude/settings.json(项目共享设置)- 项目级,仅对当前项目生效
- 定义团队统一的开发规范和行为边界
- 例如,规定当前项目允许执行的特定 npm 脚本、代码编辑的目录范围等
- 旧版本建议提交到 Git,但现在也不建议提交到 Git 了,直接将整个 .claude 添加到
.gitignore文件是最好的选择- 因为
./.claude/settings.json本来是放规则,但容易被添加一些个人本地的路径或者 API 信息
- 因为
./.claude/settings.local.json(项目本地设置)- 项目级,但仅对当前开发者生效
- 存放个人的项目偏好,用于覆盖
./.claude/settings.json中的团队配置- 比如在本地调试时想临时放宽某些权限,或者使用不同的模型,但不想影响队友
- 必须被添加到
.gitignore,绝对不能提交到 Git
- 当同一个配置项在多个文件中出现时,Claude Code 会按照从高到低的优先级进行加载和覆盖(后加载的覆盖先加载的):
- 个人项目本地配置 > 团队项目共享配置 > 个人全局配置
- 最高优先级:
./.claude/settings.local.json(个人项目本地配置) - 中间优先级:
./.claude/settings.json(团队项目共享配置) - 最低优先级:
~/.claude/settings.json(用户全局配置)
- 最高优先级:
- 个人项目本地配置 > 团队项目共享配置 > 个人全局配置
Claude 工作模式
- 在打开 Claude Code 的模式下,通过
Shift + Tab键切换工作模式
模式一:accept edits on
- 这个模式下会自动接受所有 Claude Code 动作,比如创建文件也不需要人为 Check 和 授权
- 方便快捷,但是有一定的风险
- 注:这个是最常用的模式
- 注意:执行终端命令,比如
mkdir -p等也会再咨询,CC 非常谨慎,认为执行终端命令始终是危险的
模式二:plan mode on
- 这个模式是规划模式:只聊天,不执行
- 主要用于讨论我们的规划,用来构思接下来做什么,也可以用来讨论各种想法
- 注:这个模式建议经常使用,特别是在想要表达比较复杂的需求时,可以和 Claude Code 交互多轮确定
- 一旦 Claude Code 开始工作,就会大量消耗 Token 和时间,这里先对齐方案再进行代码编写,可以大幅提效,保证 CC 的工作符合我们的预期
模式三:默认模式
显示:
1
? for shortcuts
刚进入 Claude Code 时,不做任何操作默认就是这个模式
这个模式下,CC 比较谨慎,遇到高阶权限等会找我们确认
- 比如创建文件也不需要人为 Check 和 授权
特别模式:bypass permissions on
前面提到 CC 非常谨慎,认为执行终端命令始终是危险的,所以在以上提到的三种正常模式下,一定需要用户确定才能执行命令行
如果想要绝对的自动化,让 CC 放心自动执行命令行,需要使用更隐晦的模式
- bypass permissions on 是一个极度信任模式
启动这个模式的方式是在启动时:
1
claude --dangerously-skip-permissions
原本只有三个正常模式可切换,使用上述命令后,
Shift + Tab会在四个模式下轮训
Claude Code 中执行 Bash 命令
- 在干净的 CC 输入框下,输入
!可以切换到本地 Bash 命令模式,可以使用任意 Bash 命令- 注:这里无法使用 SSH 登录等方式登录到其他机器(因为 Claude Code 持有本地的 CLI),但是可以使用 SSH 实现文件复制等
- 比如 Mac 自带的
open命令,可以默认打开一个文件(使用默认绑定的 应用打开),打开一个html文件可以使用下面的命令1
open ./xx.html
Claude Code 输入框输入复杂文本
- 说明:当需要在 Claude Code 的终端里输入一大段复杂的提示词、编写多行代码或者写长篇的需求文档时,直接在终端里敲会非常不方便
- 官方建议:换行输入时可以使用
Shift + Enter- 但本人尝试过,这个命令常常无法生效(升级 CC 也没用)
- 常用方式:在输入框场景使用
Ctrl + g打开默认编辑器(通常是 VS Code)- 编辑完成后直接保存并关闭该标签页 ,写好的内容就会自动传回 Claude Code 的终端输入框中
默认编辑器配置(以 VS Code 为例)
注:编辑器由
$EDITOR环境变量确定先确保使用命令行可以打开 VS Code
1
code --version
- 若提示找不到命令,则需要配置环境变量,VS Code 环境变量配置方式:
- 打开的 VS Code 图形界面
- 按下
Cmd + Shift + P打开命令面板 - 在输入框中输入
Shell Command: Install 'code' command in PATH,然后点击回车执行 - 等待右下角提示“Installation successful”(安装成功)
- 最后:完全关闭并重新打开你的终端窗口(或者在终端执行
source ~/.bash_profile),让环境变量生效
- 若提示找不到命令,则需要配置环境变量,VS Code 环境变量配置方式:
临时配置(当前终端窗口有效):
在终端执行以下命令(以配置为 VS Code 为例):
1
export EDITOR="code -w"
注:
-w参数表示等待文件关闭后再继续,这对 Claude Code 接收回传内容很重要
永久配置(推荐):
- 将上述命令添加到你 Mac 的 Shell 配置文件中(比如
~/.zshrc或~/.bash_profile),这样每次打开终端都会生效:1
2echo 'export EDITOR="code -w"' >> ~/.bash_profile
source ~/.bash_profile
- 将上述命令添加到你 Mac 的 Shell 配置文件中(比如
多种编辑器配置可选
配置 VS Code:
1
export EDITOR="code -w" (-w 表示 wait 等待)
配置 Sublime Text:
1
export EDITOR="subl -n -w" (-n 表示新建窗口)
配置 Neovim:
1
export EDITOR="nvim"
配置 Micro:
1
export EDITOR="micro"
配置 CotEditor:
1
export EDITOR="coteditor"(需确保已安装其命令行工具)
补充说明:更多配置
除了
EDITOR,有些程序(比如 Git、Crontab 等)还会读取VISUAL这个环境变量,为了兼容性,开发者可同时设置它们,例如:1
2export VISUAL="code -w"
export EDITOR="VISUAL"这样就能确保无论是 Git、Crontab 还是 Claude Code 等工具,都能准确唤起想要的默认编辑器
CLAUDE.md 管理(存储信息)
CLAUDE.md文件相当于说明文档或者记忆,每次调用 Claude Code 时 Claude Code 都会遵守CLAUDE.md中的指令./CLAUDE.md文件会在每次 Claude Code 打开当前项目时都生效,相当于是当前项目的说明文档- 可用
/init来初始化当前项目的./CLAUDE.md文件,/init会 浏览当前项目 并在当前文件夹下生成一个./CLAUDE.md文件 - 注:也可以自动打开并编辑
./CLAUDE.md文件,只要最终./CLAUDE.md内容相同,那么两种做法是完全等价的
- 可用
./CLAUDE.md相关的文件分两层:./CLAUDE.md:项目级别,仅当前项目使用,建议 Git 提交管理起来,方便其他本项目的人使用./CLAUDE.local.md:项目级别(本地用户私有),仅当前项目使用,需要添加到 .gitignore 中,防止影响别人~/.claude/CLAUDE.md:用户级别,当前用户的所有项目可用,不会提交到远程
- 注意:三个文件并不是三选一的关系,而是互补的
- 它们的内容会叠加生效,但当出现冲突时,项目级(
./CLAUDE.md)的优先级高于用户级(~/.claude/CLAUDE.md) - 举个例子:
- 在
./CLAUDE.md中,写了:“代码注释必须用英文” - 在
./CLAUDE.local.md中,写了:“在这个项目中,如果遇到报错,优先检查 Docker 容器状态” - 在
~/.claude/CLAUDE.md中,写了:“用中文回复” - 结果: Claude 会用中文回复,代码注释写英文,且遇到报错时会自动先检查 Docker
- 在
- 它们的内容会叠加生效,但当出现冲突时,项目级(
Claude Code 任务管理
- 问题:
- 在 Claude Code 窗口中使用
!启动的命令行如果是需要长久执行(比如启动服务器),会阻塞 Claude Code
- 在 Claude Code 窗口中使用
- 后台任务生成:
- 可以根据启动提示按
ctrl + b将服务放到后台,从而可以继续跟 Claude Code 交互 - 此时会自动生成一个后台任务(聊天框会显示
1 backgroud task等字样提示有个后台任务正在运行)
- 可以根据启动提示按
- 查看后台任务:
- 输入
/tasks即可查看所有后台任务 - 查看时点击
k即可 杀死任务(也可能是点击x去停止)
- 输入
- 注意:在 Claude Code 中使用命令行启动的后台任务,在 Claude Code 窗口关闭时会自动跟着关闭
Claude Code 回滚功能
- 触发回滚的方式:
- 方式1:
/rewind - 方式2:连续两次
ESC
- 方式1:
- 选择想要回滚的点(即这个点执行之前的状态),点击确认即可
- 注意:被选中的点是输入命令 A,则回滚会会回到 命令 A 执行前的状态
- 可选回滚方式:
- 方式1:回滚代码和对话,回滚代码同时将对话也恢复到指定点
- 方式2:回滚对话
- 方式3:回滚代码
- 方式4:不做任何操作
- 方式5:可能还会有 Summarize From Here,实现将历史对话进行 Summary 的操作
- 注意:还是建议使用 git 来管理,仅使用 Claude Code 的管理回滚的话,容易出现部分文件无法被删除的情况(即回滚时无法删除新生成的文件)
- 特别是通过终端命令来生成的文件 Claude Code 无法管理
- 注意:回滚是要注意打开的文件或者服务需要先关闭最好
Cluade Code 图片文件接收
- 可以直接将图片拖动到 Claude Code 命令行,也可以
Ctrl + v(orCMD + v) 来粘贴图片
常用指令推荐
/btw
/btw允许在独立于当前 Conversation 的对话下 跟 Claude Code 交互,可以问一些跟当前工作相关的问题/btw得到回复后直接 Enter 退出,不会对主线 Conversation 造成任何影响
/resume
/resume负责恢复之前的对话,在有很多对话时,这里可以挑选一个之前的对话窗口- 替代
/resume的另一种方法,启动 Claude Code 时使用claude -c可以接着上一次的对话开始 - 注:关于对话管理:
- 亲测目前如果用两个窗口同时
/resume到同一个对话上,然后同时发出命令执行不同事项,最后可能会导致某一个执行历史消失,只剩下一个
- 亲测目前如果用两个窗口同时
/compact
/compact对上下文进行压缩,压缩后可以减少 Token 的使用,压缩后会展示所有压缩结果,然后展示出来/compact进行压缩时,可以追加一些要求,比如下面的命令可以让:1
/compact 重点保留用户的需求
/clear
/clear清空所有上下文- 当接下来的任务与之前的任务没有关系时,记得使用这个命令清空上下文,最小化 Token 的使用,同时避免之前 上下文对现在的影响
/init
/init负责初始化当前项目的./CLAUDE.md文件,会 浏览当前项目 并在当前文件夹下生成一个./CLAUDE.md文件- 注:也可以自动打开并编辑
./CLAUDE.md文件
- 注:也可以自动打开并编辑
- 注:
./CLAUDE.md文件会在每次 Claude Code 打开当前项目时都生效,相当于是当前项目的说明文档
/memory
/memory负责管理 Claude Code 的记忆系统- 输入
/memory命令后可选择打开指定的管理文件./CLAUDE.md:项目级别,仅当前项目使用,建议 Git 提交管理起来,方便其他本项目的人使用~/.claude/CLAUDE.md:用户级别,当前用户的所有项目可用,不会提交到远程
- 注:这个命令不常用,因为一般可以手动打开相应的文件并编辑
Claude Code 使用问题总结
Claude Code 写入文件时出现 Error writing file
- 这个错误一般是没有权限或者写入文件过大等原因
- 在出现这个错误时,一般来说 Claude Code 会重试,但如果是一直出现这个错误,则可以先使用
/btw先咨询一下原因,然后停止(ESC),并跟 CC 要求他修改写入方式,不要出现类似错误(类似错误会循环浪费 Token)
Claude Code 使用 MCP Server
- 第一步:安装 MCP Server
- Claude Code 各种相关库的安装, 包括 Skills、MCP Server 等,都可以使用
/plugin功能来安装
- Claude Code 各种相关库的安装, 包括 Skills、MCP Server 等,都可以使用
- 安装后的 MCP Server,一般会在需要时自动被检测到,然后咨询用户是否使用
Claude Code 使用 Hooks
- Hooks 是在执行前、后等位置触发的钩子,可以在指定的时间点触发
/hooks命令可查看并增加 hooks
Claude Code 使用 Skills
- Skills 一般在
~/.claude/skills/下进行管理
创建 Skills
在
~/.claude/skills/文件夹下创建目标 Skills比如
summary-pdf-paperSkills 可以使用下面的构造方式- 创建文件夹
~/.claude/skills/summary-pdf-paper - 在该文件下下创建
SKILL.md文件~/.claude/skills/summary-pdf-paper/SKILL.md - 在
SKILL.md文件下输入 SKILL 的内容
- 创建文件夹
建议在
SKILL.md的文件最前面一定加上两个标准化的配置:1
2
3
4---
name: summary-pdf-paper
description: 解析 PDF 文件并总结其内容
---- 这样在 Claude Code 使用时,可以快捷展示 Description 的内容,方便知道每个 Skills 的具体工作内容
建议不要手动创建
SKILL.md,在完成一个任务时,可使用下面的命令将刚刚完成任务的所有重点方式记录下来1
2
3
4
5
6
7
8请调用 Skill Creator,复盘我们刚才完成 [task-name] 的全过程
重点整理:
1. 最优工作流程——从输入到输出的完整步骤
2. 踩过的坑和怎么避免
3. 我给过你的有效指令
4. 输出格式规范
5. 异常情况怎么处理
最后,生成一个 ‘[skill-name]’ Skill- 注:在 Claude Code 中,Skill Creator 本质上是一个“元技能”(Meta Skill),也就是一个“用来创造技能的工具”
如果还没开始任务,想要从 0-1 创建一个 Skills ,可以使用官方给出的
skill-creatorSkill 帮忙创建- 直接在 Claude 里描述的需求,它会一步步引导构建,自动生成 skill 文件到
~/.claude/skills目录下 - 所有自定义 skill 都建议是用它创建
- 直接在 Claude 里描述的需求,它会一步步引导构建,自动生成 skill 文件到
查看 Skills
/skills命令查看当前有多少 skills
使用 Skills
- (似乎是)之前每次创建新的 Skills 后需要重启 Claude Code 才能生效,现在创建后直接生效
- 触发 Skills 的方式有两种:
- 正常表达需求,由 Claude Code 自动进行意图识别并触发是否使用对应的 Skills(一般会经过我们的同意再使用)
- 明确使用已有 Skills 进行(推荐使用这种方式,更准确表达自己的需求)
1
/summary-pdf-paper 总结 PDF 文章 ./news.pdf
Claude Code 使用 SubAgents
- SubAgent 是上下文完全独立于主 Agent 之外的 Agent,适用于上下文对主任务没有任何依赖的情况
- 在 CC 聊天框输入
/agents即可开始查看和创建 SubAgent,根据需要可配置 SubAgent 的下面几个属性:- 所有者(用户 or 项目等级)
- 描述信息
- 可用工具(权限)
- 调用模型(可与主 Agent 不同,省钱)
- 交互颜色
- 创建以后这个 SubAgent 的配置会出现在
~/.claude/agents/或./.claude/agents/路径下- 注:创建 == 注册,重启 CC 后,SubAgent 就已经注册好了,此后可被自动调用
- 创建/注册 SubAgent 完成后,在输入相应的需求时,主 Agent 会自动调用 SubAgent 进行工作
Claude Code 使用 plugin 安装
/plugin命令非常强大,可以管理并安装 Claude Code 的全家桶(插件可理解为一个“全家桶”封装)- 全家桶包括 MCP Server、Skills 和 Hooks 等
- Skills:自定义的斜杠命令(如
/review-pr) - MCP (Model Context Protocol):让 Claude 访问外部数据源(如 数据库 等)
- Hooks:在特定生命周期(如提交前)自动运行的脚本
- Skills:自定义的斜杠命令(如
- 全家桶包括 MCP Server、Skills 和 Hooks 等
/plugin 管理插件
管理插件:在 Claude Code 交互界面中直接输入以下命令:
1
/plugin
- 输入此命令将打开一个交互式 UI,可以直接在其中浏览、启用、禁用或卸载插件
安装和查看插件:插件通常托管在“市场(Marketplace)”中
1
2
3
4
5
6
7
8
9# 从官方市场安装 GitHub 插件
# 示例:/plugin install <资源名称> @ <来源/市场标识>
/plugin install github@claude-plugins-official
# 安装完成后刷新
/reload-plugins
# 查看已安装列表
/plugin list
插件 作用域
- 在安装插件时,Claude 会询问用户安装到哪个作用域:
- User (用户级):跨所有项目可用(存储在
~/.claude/) - Project (项目级):仅当前仓库可用,配置会存入
.claude/settings.json- 推荐团队协作使用,以便团队成员共享相同的插件环境
- Local (本地级):仅当前项目可用,但不提交到 Git
- User (用户级):跨所有项目可用(存储在
管理插件市场 (Marketplaces)
- 除了官方插件,还可以添加社区或公司内部的插件源
- 添加市场
1
2
3
4
5# 添加一个 Git 仓库作为插件源
/plugin marketplace add https://github.com/org/custom-plugins.git
# 或者添加本地路径
/plugin marketplace add ./my-internal-plugins
附录:Claude Code 的有趣用词
- 在与 Claude Code 交互时,会经常看到一些一闪而过的趣味单词(例如 Booping、Cogitated 等)
- 这些词其实是 Claude Code 在处理任务时,用来代替枯燥的“Loading…”或“Processing…”的随机状态提示词
- Anthropic 的开发团队为了缓解用户在等待 AI 响应时的焦虑感,硬编码了多达 187 个风格各异的动词
- 这些词汇让原本冰冷的等待过程变得生动有趣,仿佛 Claude 是一个正在“努力思考”或“忙活”的数字同事
- 这里记录词汇中比较常见或有趣的代表
深度思考与计算类
- 这类词汇通常用来表达 Claude 正在进行严肃的逻辑推演或数据处理
- Cogitating:深思、缜密思考(比普通的 Thinking 显得更费脑子)
- Ruminating:反刍、反复咀嚼(非常生动,暗示模型在反复推敲上下文)
- Crunching: crunching numbers,即正在费力地处理大量数据
- Synthesizing:正在综合、合成信息
- Computing / Calculating:最基础的“计算中”
烹饪与酝酿类
- 在英文语境中,常把需要花时间的处理过程比作烹饪,暗示“正在努力产出结果”
- Cooking / Baking:正在烹饪/烘焙(极客圈常说的 “Let him cook”,暗示正在憋大招)
- Brewing:正在酿造、冲泡(像煮咖啡一样酝酿想法)
- Marinating:正在腌制(让数据在 Prompt 里多“入味”一会儿)
- Simmering / Stewing:小火慢炖(暗示正在处理复杂的逻辑,急不得)
- Percolating:(咖啡)滴滤、渗透,指灵感正在慢慢浮现
- Pondering:一个用来代替“加载中”的状态提示词,具体含义是沉思、仔细考虑或反复思索
- Churning:一个用来代替“加载中”的趣味状态提示词,字面原意是搅拌、翻腾
创造与构建类
- 当 Claude 正在生成代码或构建方案时,可能会出现这些词
- Crafting:精心制作、打磨(带有工匠精神的感觉)
- Conjuring:施展魔法、召唤(当 AI 写出一段神奇代码时,确实像变魔术)
- Forging:锻造(听起来非常硬核,像是在打铁一样写代码)
- Hatching:孵化(等待结果破壳而出)
趣味俚语与专属彩蛋
- 这部分充满了工程师的幽默感和流行文化梗
- Booping:轻轻戳一下、发出嘟嘟声(非常可爱的拟声/拟态词)
- Clauding:Claude 的专属动词,意为“我正在 Claude 呢”(官方玩梗,品牌自信拉满)
- Schlepping:源自意第绪语,意为“费力地搬运”(暗示它正在艰难地处理你庞大的代码库)
- Vibing:沉浸在氛围中、跟着感觉走(一种非常现代、松弛的“心流”状态)
- Reticulating:致敬经典游戏《模拟城市》(SimCity)加载时的经典文案“Reticulating Splines(正在校准曲线)”
- Flibbertigibbeting:胡言乱语、轻浮地喋喋不休(用生僻的长单词来调侃 AI 的生成过程)
- Noodling:即兴演奏/随意思考
- Sussing:英式俚语,表示弄清楚
- Combobulating:自造词,表示整理组合
Claude Code 中有用的一些 Trick
CLAUDE.md 添加一些指令
来自网友的建议:在
CLAUDE.md中加入如下内容,可大幅提升 CC 工作效率,让对话框更加干净整洁:1
2
3
4
5以第一性原理!从原始需求和问题本质出发,不从惯例或模板出发
1. 不要假设我清楚自己想要什么。动机或目标不清晰时,停下来讨论
2. 目标清晰但路径不是最短的,直接告诉我并建议更好的办法
3. 遇到问题追根因,不打补丁。每个决策都要能回答"为什么"
4. 输出说重点,砍掉一切不改变决策的信息来自 Karpathy 的
CLAUDE.mdgithub 地址:github.com/forrestchang/andrej-karpathy-skills/blob/main/CLAUDE.md
安装方式:
方式一:当做第三方 skill 安装并使用(注:Claude Code 可能无法通过
/skills管理第三方 skill)1
2
3/plugin marketplace add forrestchang/andrej-karpathy-skills
/plugin install andrej-karpathy-skills@karpathy-skills
# 安装后 skill 名称为 `/karpathy-guidelines`- 安装后可在类似
~/.claude/plugins/cache/karpathy-skills/andrej-karpathy-skills/1.0.0/skills/karpathy-guidelines/SKILL.m下看到SKILL.md
- 安装后可在类似
方式二:直接去下载并添加到自己的项目中
Karpathy 的
CLAUDE.md核心内容:1
2
3
41. Think Before Coding:Don't assume. Don't hide confusion. Surface tradeoffs.
2. Simplicity First:Minimum code that solves the problem. Nothing speculative.
3. Surgical Changes:Touch only what you must. Clean up only your own mess.
4. Goal-Driven Execution:Define success criteria. Loop until verified.
自动生成或改进 Skills
在完成一个任务时,可使用下面的命令将刚刚完成任务的所有重点方式记录下来
1
2
3
4
5
6
7
8请调用 Skill Creator,复盘我们刚才完成 [task-name] 的全过程
重点整理:
1. 最优工作流程——从输入到输出的完整步骤
2. 踩过的坑和怎么避免
3. 我给过你的有效指令
4. 输出格式规范
5. 异常情况怎么处理
最后,生成一个 [skill-name] Skill如果这个 Skills 已经存在,则可以使用下面的命令优化这个 Skill
1
根据完成这个任务遇到的所有问题,改进原始的 [skill-name] Skill
附录:Claude Code Cache 策略
- 原始博客:
- Prompt Caching(提示缓存)不应只是后期优化手段,而必须是 Agent 产品从第一天就要围绕其设计的架构约束
- 因为 Claude Code 是长对话 Agent,每次携带全量上下文重算成本极高,而缓存基于“前缀匹配”,一旦前缀变动,后续所有缓存全部失效
- 博客总结了 Anthropic 开发团队在构建 Claude Code(其命令行 AI 助手)过程中的核心心得:Prompt Caching(提示词缓存)是构建高效、低延迟 AI 智能体的关键
核心理念:Prompt Caching 是命脉
- 对于像 Claude Code 这样需要长期运行的智能体(Agent),Prompt Caching 允许重复利用之前往返的计算结果,从而大幅降低成本并减少响应延迟
- Claude Code 团队甚至将缓存命中率视为核心监控指标,命中率过低会被视为生产故障(SEV)
核心机制:前缀匹配 (Prefix Matching)
- 缓存的工作原理是前缀匹配
- 只要请求的开头到某个断点(breakpoint)的内容完全一致,就可以命中缓存
- Prompt 的结构顺序至关重要
最佳实践建议
- Prompt 结构优化(静态在前,动态在后): (注:这个是针对 Agent 设计者的)
- 将最稳定的内容放在最前面,最容易变化的内容放在最后面
- Claude Code 的推荐顺序是:
- 1)全局静态系统提示词 & 工具定义(全局缓存)
- 2)项目特定背景(如
CLAUDE.md,项目内缓存) - 3)会话上下文(Session context)
- 4)具体的对话消息(每轮都会增长)
- 利用消息进行更新,而非修改 Prompt: (注:这个是针对 Agent 设计者的)
- 如果信息(如当前时间或文件状态)发生变化,不要修改系统提示词(这会导致缓存失效)
- 建议通过在下一轮对话中添加
<system-reminder>标签来传递更新
- 不要在中途更换模型或工具: (注:这个是针对 Claude Code 使用者的)
- 模型: 缓存是针对特定模型的
- 在对话中途切换模型(例如从 Opus 换到 Haiku)会强制重新构建整个缓存,成本可能反而更高
- 工具: 增删工具会破坏前缀一致性。Claude Code 即使在“计划模式”(Plan Mode)下也会保持工具集不变,仅通过消息告知 AI 处于该模式
- 模型: 缓存是针对特定模型的
- 延迟加载工具(Tool Search):
- 为了保持前缀稳定,可以使用“工具存根”(lightweight stubs),只在 AI 明确需要调用某个工具时才加载其完整 Schema
进阶技巧:缓存安全的压缩(Compaction)
- 当对话超出上下文窗口时需要进行压缩(总结)
- 传统的做法是开一个新请求进行总结,但这会导致无法复用旧请求的缓存
- 官方推荐解决方案: 使用“缓存安全分叉”(Cache-safe forking)
- 使用完全相同的系统提示词、工具和历史记录,仅在末尾添加一个总结请求消息
- 这样,总结操作可以几乎完全命中已有的历史缓存,仅支付新增 Token 的费用
- 注:Claude Code 的
/compact命令就能自动实现这个