安装、配置、理解核心概念——一页搞定 Claude Code 的入门之旅
安装与认证
brew install --cask claude-code
# 先安装 Node.js LTS(nodejs.org)
npm install -g @anthropic-ai/claude-code
curl -fsSL https://fnm.vercel.app/install | bash
fnm install --lts && fnm use --lts
npm install -g @anthropic-ai/claude-code
node --version # 需要 v18+
claude --version
启动方式
# 在项目目录中启动交互会话
cd your-project && claude
# 带问题启动
claude "解释这个项目的架构"
# 管道输入
cat error.log | claude "分析错误原因"
三种认证方式
| 方式 | 适用场景 | 操作 |
|---|---|---|
| Claude.ai 账号 | Pro/Max 订阅用户 | 运行 claude 后浏览器 OAuth |
| Team Invite | 团队管理员邀请 | 接受邀请,密钥自动生成 |
| 手动 API Key | 自购 API 额度 / 第三方代理 | 粘贴 sk-ant-... 开头的密钥 |
环境变量配置
手动 API Key 或第三方代理场景,可通过环境变量精细控制行为。写入 ~/.zshrc 或 ~/.bashrc:
# === 认证与端点 ===
export ANTHROPIC_AUTH_TOKEN="sk-your-api-key" # API 密钥
export ANTHROPIC_BASE_URL="https://your-proxy.example.com" # 自定义端点(第三方代理)
# === 模型选择 ===
export ANTHROPIC_MODEL="claude-sonnet-4-6" # 默认模型
export ANTHROPIC_SMALL_FAST_MODEL="claude-haiku-4-5" # 轻量快速任务模型
export ANTHROPIC_DEFAULT_SONNET_MODEL="claude-sonnet-4-6"
export ANTHROPIC_DEFAULT_OPUS_MODEL="claude-opus-4-7"
# === 性能与行为 ===
export API_TIMEOUT_MS="3000000" # API 超时(毫秒)
export CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1 # 禁用非必要网络请求(遥测等)
export CLAUDE_CODE_AUTO_COMPACT_WINDOW=1000000 # 自动压缩触发阈值(tokens)
| 变量 | 说明 | 典型值 |
|---|---|---|
ANTHROPIC_AUTH_TOKEN | API 密钥 | sk-ant-... |
ANTHROPIC_BASE_URL | 自定义 API 端点 | 第三方代理地址 |
ANTHROPIC_MODEL | 默认模型 | claude-sonnet-4-6 |
ANTHROPIC_SMALL_FAST_MODEL | 轻量快速任务模型 | claude-haiku-4-5 |
API_TIMEOUT_MS | API 超时时间 | 3000000 |
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC | 禁用遥测等非必要请求 | 1 |
CLAUDE_CODE_AUTO_COMPACT_WINDOW | 自动压缩阈值(tokens) | 1000000 |
安装后运行 /doctor 检查环境:确认 Node.js v18+、认证状态、工具可用性。
快速上手路径
安装完成后,5 步从零到高效:
项目根目录创建指令文件,写规则和偏好。保持 < 200 行,超过后遵循度显著下降。
日常 default,信任环境 acceptEdits,CI/自动化 bypassPermissions。
上下文占用 50% 时主动压缩,保持智能输出质量。
复杂任务先给目标,让模型自主规划步骤,确认后再执行。
遵循 "苦涩教训"(Bitter Lesson):不要为当前模型优化工作流,为 6 个月后的更强模型构建系统。
10 大 Power-ups
v2.1.90 引入的交互式课程,教你掌握大多数人忽略的功能。运行 /powerup 启动。
| # | Power-up | 学习内容 |
|---|---|---|
| 1 | Talk to your codebase | @ 引用文件、行号引用 |
| 2 | Steer with modes | Shift+Tab 切换 plan / auto 模式 |
| 3 | Undo anything | /rewind 撤销操作、Esc-Esc 中断 |
| 4 | Run in the background | 后台任务、/tasks 管理 |
| 5 | Teach Claude your rules | CLAUDE.md 项目规则、/memory 记忆管理 |
| 6 | Extend with tools | MCP 外部工具扩展、/mcp |
| 7 | Automate your workflow | Skills 技能系统 + Hooks 钩子自动化 |
| 8 | Multiply yourself | Subagents 子代理并行、/agents |
| 9 | Code from anywhere | /remote-control 远程操控、/teleport |
| 10 | Dial the model | /model 切换模型、/effort 调节推理强度 |
每个 Power-up 包含动画演示,边看边学。建议从第 1 个开始依次体验。
三个层次掌握 Claude Code
| 层次 | 类比 | 特点 | 产出稳定性 |
|---|---|---|---|
| Level 1 Prompting | 在街上问一个陌生人 | 每次回答可能不同,质量波动大 | 低 |
| Level 2 Agent | 雇佣一个领域专家 | 固定角色+方法,产出稳定可控 | 中高 |
| Level 3 Skill | 给专家配训练手册 | 精确指令+工具权限,可复用 | 高 |
像聊天一样提问。claude 启动后直接问问题——适合快速问答、头脑风暴、文档编辑。缺点:同样的问题每次回答可能不同。
给 Claude 分配角色和方法。就像雇佣一个专家——同一种任务用同一种方法,产出质量稳定可控。
给 Agent 装备具体能力——像训练手册一样精确。一个 Agent 可以用多个 Skill,一个 Skill 也能被多个 Agent 复用。
学习建议:先用 Level 1 熟悉交互,再逐步用 Agent 和 Skill 提升自动化水平。
CLI 参数速查
| 参数 | 说明 | 示例 |
|---|---|---|
--model | 指定模型 | claude --model opus |
-p | 非交互模式 | echo "hi" | claude -p |
--output-format | 输出格式 text/json/stream-json | -p --output-format json |
--max-turns | 最大对话轮数 | --max-turns 5 |
--permission-mode | 权限模式 | --permission-mode plan |
--resume | 恢复上次会话 | claude --resume |
--continue | 继续上次会话 | claude --continue |
--effort | 推理强度 | --effort high |
社区工作流 & 插件集
开源社区贡献了大量 Claude Code 工作流和插件集合,按 GitHub Stars 排序:
| 项目 | Stars | 说明 | A | C | S |
|---|---|---|---|---|---|
| Superpowers | 216k | 全流程方法论:brainstorming → TDD → code review → branch | 0 | 0 | 14 |
| Everything Claude Code | 204k | 最大社区合集,300+ skills 覆盖 plan/review/security/e2e | 63 | 121 | 300+ |
| Matt Pocock Skills | 115k | TypeScript 专家出品:TDD、诊断、架构改进、PRD | 0 | 0 | 28 |
| Spec Kit | 108k | GitHub 官方:spec → clarify → plan → tasks → implement | 0 | 9 | 0 |
| gstack | 106k | YC 主席出品:CEO/Eng/Design 多角色 review → ship | 0 | 0 | 61 |
| Get Shit Done | 64k | 端到端交付流:spec → plan → execute → validate → ship | 33 | 67 | 0 |
| OpenSpec | 52k | 轻量 spec 工作流:propose → apply → verify → archive | 0 | 9 | 0 |
| BMAD-METHOD | 49k | 产品驱动开发:brief → PRD → architecture → stories → QA | 6 | 0 | 42 |
| oh-my-claudecode | 36k | 团队协作流:team plan → PRD → exec → verify → fix | 19 | 0 | 39 |
| agent-skills | 27k | Google 工程师出品:spec → plan → build → test → ship | 3 | 7 | 21 |
| Compound Eng | 19k | 复利工程方法论:strategy → brainstorm → plan → compound | 47 | 4 | 39 |
| HumanLayer | 11k | 研究→实施流:research → plan → validate → implement | 6 | 27 | 0 |
A=Agents · C=Commands · S=Skills。点击项目名跳转 GitHub。
Skill 仓库集合
| 项目 | Stars | Skills | 说明 |
|---|---|---|---|
| anthropics/skills | 145k | 17 | Anthropic 官方维护 |
| mattpocock/skills | 113k | 25 | TypeScript 高质量 skill |
| wshobson/agents | 36k | 155 | 多种场景 skill 合集 |
| scientific-agent-skills | 27k | 143 | 学术研究专用 |
| agent-skills | 27k | 21 | Google 工程师出品 |
| awesome-agent-skills | 24k | 1,424+ | 精选策展列表 |
| claude-skills | 15k | 246 | 9 大领域全栈覆盖 |
Agent 仓库集合
| 项目 | Stars | Agents | 说明 |
|---|---|---|---|
| agency-agents | 107k | 144 | 大型 agent 定义库 |
| awesome-subagents | 21k | 156 | 精选子代理策展列表 |
跨模型路由
将 Claude Code 的 API 路由到其他模型提供商:
| 项目 | Stars | 桥接 | 说明 |
|---|---|---|---|
| claude-code-router | 34k | OpenRouter, DeepSeek, Ollama, Gemini 等 | 按任务选择模型 |
| CLIProxyAPI | 32k | Gemini CLI, Codex, Claude Code | 包装为兼容 API |
| codex-plugin-cc | 18k | Codex / GPT-5 | OpenAI 官方插件:/codex:review |
| pal-mcp-server | 12k | 50+ 模型 | 多模型 MCP 服务器 |
28 个热门功能
Claude Code 生态中最受关注的功能与工具:
| # | 功能 | 说明 |
|---|---|---|
| 1 | Ultrareview | 深度代码审查,effort: high 多维度分析 |
| 2 | Devcontainers | VS Code 开发容器集成,一致的开发环境 |
| 3 | Channels | stable / latest 更新通道控制 |
| 4 | Ultraplan | 增强版 Plan Mode,更详细的任务分解 |
| 5 | Fast Mode | Opus 快速输出模式,不降级模型 |
| 6 | Computer Use | 操控浏览器和桌面应用的 GUI 交互 |
| 7 | Agent SDK | 构建自定义 Agent 的 Python/TS SDK |
| 8 | Voice Dictation | 语音输入,替代打字 |
| 9 | Remote SSH | 远程开发,SSH 连接服务器运行 |
| 10 | Background Agents | 后台长任务,不阻塞主会话 |
| 11 | Worktree Isolation | 独立 Git 分支实验,安全隔离 |
| 12 | Custom Subagents | .claude/agents/ 定义专属子代理 |
| 13 | Skills System | 9 种类型的可复用指令包 |
| 14 | Hooks | 27 个生命周期事件的自动化脚本 |
| 15 | MCP Servers | 连接外部服务(数据库、API、浏览器) |
| 16 | CLAUDE.md | 4 级指令文件,贯穿项目的上下文 |
| 17 | Memory System | 3 种作用域的跨会话持久记忆 |
| 18 | Permission Modes | 6 种权限模式,从默认到 CI 全自动 |
| 19 | Plan Mode | 先规划再实施,给出目标非步骤 |
| 20 | Code Review | 内置代码审查,多角色多维度分析 |
| 21 | Browser MCP | Playwright / Chrome DevTools 两种模式 |
| 22 | Cross-Model | 路由到 DeepSeek、Gemini、GPT 等模型 |
| 23 | Agent Teams | 多 Agent 协作团队(Amp, Codex 等) |
| 24 | Scheduled Tasks | CronCreate/TaskCreate 定时调度 |
| 25 | RPI Workflow | Research → Plan → Implement 循环 |
| 26 | CRISPY Method | 结构化任务拆解方法论 |
| 27 | Sandbox Mode | Bash 沙盒执行,网络白名单隔离 |
| 28 | Multi-Provider | Bedrock, Vertex, Foundry 多云部署 |
理解 Claude Code 的三层编排架构,掌握核心组件的关系
Command → Agent → Skill 架构
用户输入 / 命令触发
│
▼
┌──────────────┐ Command(入口)
│ /command │ .claude/commands/*.md
└──────┬───────┘
│ Agent 工具
▼
┌──────────────┐ Agent(执行者)
│ Agent │ .claude/agents/*.md
└──────┬───────┘
│ 预加载/调用 Skill
▼
┌──────────────┐ Skill(知识)
│ Skill │ .claude/skills/*/SKILL.md
└──────────────┘
可复用指令包。被加载或调用。
10 内置 自定义
三者对比
| 维度 | Command | Agent | Skill |
|---|---|---|---|
| 角色 | 入口/编排者 | 执行者 | 知识提供者 |
| 上下文 | 共享主会话 | 独立窗口 | 注入调用者 |
| 触发 | 用户 /cmd | Agent 工具 | 预加载/Skill 工具 |
| 并行 | 顺序 | 可并行 | N/A |
| 动态上下文注入 | ✅ !`command` | ❌ | ✅ !`command` |
| 最佳用途 | 工作流编排 | 专注任务 | 可复用指令 |
决策指引:需要编排多步骤、串联多个 Agent → Command。需要独立上下文、并行执行、工具隔离 → Agent。需要可复用的指令包、在多个场景被加载 → Skill。
Harness 为什么重要
输出质量公式:质量 = f(有效上下文, 模型能力, 迭代循环)
Harness 直接影响"有效上下文"和"迭代循环"。
Harness 的 10 项核心能力
"Skills、Commands、Subagents 都最终变成 prompt,所以强 prompt 就够了?"——技术上对,实践上错。以下是 Harness 在 prompt 无法触达的层面做的事:
| # | 能力 | 做什么 | 为什么 Prompt 无法替代 |
|---|---|---|---|
| 1 | 上下文隔离 | 子代理在独立上下文窗口运行 | 一个 prompt 填一个窗口;N 个并行子代理 = N× 有效上下文 |
| 2 | 工具限制强制执行 | allowed/disallowed-tools 在模型调用前拦截 | Prompt 指令是建议性的;Deny 规则是不可绕过的 |
| 3 | 懒加载规则 & 记忆 | paths: frontmatter 和子目录 CLAUDE.md 按需加载 | Prompt 是静态的,无法根据运行时文件路径动态加载 |
| 4 | Hooks 确定性执行 | Shell 命令在生命周期事件触发,可拦截工具调用 | Prompt 无法拦截自己的工具调用;Hooks 不管模型"想不想"都会执行 |
| 5 | 模型路由 | model: haiku/opus 路由到不同模型端点 | Prompt 中没有任何 token 能改变哪个模型响应 |
| 6 | 并行调度 | 多个子代理并发执行 | Prompt 是顺序的;Harness 调度并行进程并收集结果 |
| 7 | 跨会话持久化 | Memory 系统和 Settings 层级跨会话持久 | Prompt 在会话结束时就消失了 |
| 8 | 模块化系统 Prompt | CLI 条件加载 110+ 系统提示片段 | 用户无法手写或替换 CLI 内部的 prompt 片段 |
| 9 | Skill 预加载 | skills: 字段注入完整内容到子代理初始上下文 | 只有 Harness 加载器能预填充另一个代理的上下文 |
| 10 | 权限分类器 | auto 模式用后台分类器预审批或拦截工具调用 | Prompt 无法给自己添加预执行安全层 |
用户输入 vs 模型实际看到的(点击展开)
用户输入: "写一个递归 flatten 函数" ← (a) ~6 tokens
模型实际看到的: ← (b) ~15,000 tokens
├── CLAUDE.md (项目规范)
├── 匹配的 .claude/rules/*.md (paths 触发)
├── 模块化系统提示片段 (110+)
├── 工具定义
├── 环境上下文 (cwd, git status, 平台)
├── 前几轮对话历史
├── 通过 Read/Grep 读取的文件
└── 用户的 6 token 请求
输出质量取决于 (b),而非 (a)。Harness 构建 (b)。"强 prompt" 无法复制 (b),因为大部分不是用户写的。
Subagents 子代理
5 种内置类型
| 类型 | 模型 | 工具 | 用途 |
|---|---|---|---|
general-purpose | inherit | 全部工具 | 默认代理,处理通用任务 |
Explore | haiku | 只读(Read/Grep/Glob 等) | 快速搜索定位代码 |
Plan | inherit | 只读 | 架构研究与方案设计 |
statusline-setup | sonnet | Read + Edit | 配置状态栏设置 |
claude-code-guide | haiku | Glob/Grep/Read/WebFetch/WebSearch | 回答 Claude Code 相关问题 |
自定义代理 Frontmatter(16 字段)
展开全部 16 个字段
| 字段 | 说明 |
|---|---|
name | 代理标识符 |
description | 触发条件("PROACTIVELY" = 自动) |
tools | 允许工具(逗号分隔) |
disallowedTools | 禁止工具 |
model | haiku/sonnet/opus/inherit |
permissionMode | acceptEdits/plan/bypassPermissions |
maxTurns | 最大轮次 |
skills | 预加载 技能 列表 |
mcpServers | MCP 服务器 |
hooks | 生命周期钩子 |
memory | user/project/local |
background | 后台运行 |
effort | 推理强度 |
isolation | "worktree" Git 隔离 |
color | CLI 颜色 |
Commands 命令系统(82 内置)
Claude Code 内置 82 个斜杠命令,按功能分为 11 类。自定义命令放在 .claude/commands/*.md。
| 分类 | 数量 | 常用命令 |
|---|---|---|
| Auth | 5 | /login /logout /setup-bedrock /setup-vertex /upgrade |
| Config | 15 | /config /theme /permissions /sandbox /statusline /tui /voice /focus /color /keybindings /privacy-settings /radio /scroll-speed /stickers /terminal-setup |
| Context | 7 | /context /usage /cost /stats /insights /status /usage-credits |
| Debug | 7 | /doctor /feedback /heapdump /help /powerup /release-notes /tasks |
| Export | 2 | /copy /export |
| Extensions | 9 | /agents /chrome /hooks /ide /mcp /plugin /reload-plugins /reload-skills /skills |
| Memory | 1 | /memory |
| Model | 6 | /model /effort /fast /plan /ultraplan /passes |
| Project | 7 | /add-dir /diff /init /review /security-review /team-onboarding /ultrareview |
| Remote | 10 | /remote-control /teleport /desktop /mobile /schedule /autofix-pr /install-github-app /install-slack-app /remote-env /web-setup |
| Session | 13 | /clear /compact /resume /rewind /branch /goal /background /btw /rename /recap /stop /workflows /exit |
查看全部 82 条命令详细说明
Auth 认证(5)
| 命令 | 说明 |
|---|---|
/login | 登录 Anthropic 账户 |
/logout | 登出 |
/setup-bedrock | 配置 Amazon Bedrock 认证(需 CLAUDE_CODE_USE_BEDROCK=1) |
/setup-vertex | 配置 Google Vertex AI 认证(需 CLAUDE_CODE_USE_VERTEX=1) |
/upgrade | 升级到更高计划 |
Config 配置(15)
| 命令 | 说明 |
|---|---|
/config | 打开设置界面(别名 /settings) |
/theme | 切换颜色主题,支持自定义和色盲模式 |
/permissions | 管理工具权限的 allow/ask/deny 规则(别名 /allowed-tools) |
/sandbox | 切换沙盒模式 |
/statusline | 配置状态栏 |
/tui | 切换终端渲染模式(default 或 fullscreen) |
/voice | 语音听写(hold/tap/off) |
/focus | 切换专注视图,只显示最后一个提示和响应 |
/color | 设置提示栏颜色 |
/keybindings | 打开快捷键配置文件 |
/privacy-settings | 隐私设置(Pro/Max) |
/radio | 打开 Claude FM lo-fi 广播 |
/scroll-speed | 调整滚轮速度 |
/stickers | 订购 Claude Code 贴纸 |
/terminal-setup | 配置终端快捷键(Shift+Enter 等) |
Context 上下文(7)
| 命令 | 说明 |
|---|---|
/context | 可视化当前上下文使用情况 |
/usage | 会话费用和使用统计(别名 /cost、/stats) |
/insights | 生成会话分析报告 |
/status | 查看版本、模型、连接状态 |
/usage-credits | 配置超额使用额度 |
Debug 调试(7)
| 命令 | 说明 |
|---|---|
/doctor | 诊断安装和配置问题 |
/feedback | 提交反馈或报告 Bug(别名 /bug、/share) |
/heapdump | 生成堆内存快照 |
/help | 显示帮助 |
/powerup | 互动课程,10 个 Power-ups |
/release-notes | 交互式版本选择器查看更新日志 |
/tasks | 管理后台任务(别名 /bashes) |
Export 导出(2)
| 命令 | 说明 |
|---|---|
/copy | 复制最近响应到剪贴板,有代码块时弹出选择器 |
/export | 导出对话为纯文本 |
Extensions 扩展(9)
| 命令 | 说明 |
|---|---|
/agents | 管理代理配置 |
/chrome | 配置 Claude in Chrome |
/hooks | 查看钩子配置 |
/ide | 管理 IDE 集成 |
/mcp | 管理 MCP 服务器 |
/plugin | 管理插件 |
/reload-plugins | 重载所有插件 |
/reload-skills | 重载技能目录 |
/skills | 列出可用技能 |
Memory 记忆(1)
| 命令 | 说明 |
|---|---|
/memory | 编辑 CLAUDE.md、切换自动记忆 |
Model 模型(6)
| 命令 | 说明 |
|---|---|
/model | 切换模型,支持左右箭头调整 effort |
/effort | 设置推理强度(low/medium/high/xhigh/max/ultracode) |
/fast | 快速模式切换 |
/plan | 进入规划模式 |
/ultraplan | 浏览器中起草和审查方案 |
/passes | 分享免费使用周 |
Project 项目(7)
| 命令 | 说明 |
|---|---|
/add-dir | 添加工作目录 |
/diff | 交互式 diff 查看器,支持按轮次浏览 |
/init | 初始化 CLAUDE.md(CLAUDE_CODE_NEW_INIT=1 启用交互式) |
/review | 本地 PR 审查 |
/security-review | 安全审查待提交变更 |
/team-onboarding | 从使用历史生成团队入门指南 |
/ultrareview | 云端深度多代理 PR 审查 |
Remote 远程(10)
| 命令 | 说明 |
|---|---|
/remote-control | 允许从 claude.ai 远程控制(别名 /rc) |
/teleport | 拉取 Web 会话到终端(别名 /tp) |
/desktop | 在桌面应用中继续(别名 /app) |
/mobile | 下载移动端 App(别名 /ios、/android) |
/schedule | 创建定时任务(别名 /routines) |
/autofix-pr | 监控 PR 并自动修复 CI 失败 |
/install-github-app | 安装 GitHub Actions 应用 |
/install-slack-app | 安装 Slack 应用 |
/remote-env | 配置 Web 会话默认远程环境 |
/web-setup | 连接 GitHub 到 Claude Code on the web |
Session 会话(13)
| 命令 | 说明 |
|---|---|
/clear | 新对话(别名 /reset、/new) |
/compact | 压缩上下文(可带聚焦指令) |
/resume | 恢复历史会话(别名 /continue) |
/rewind | 回退到之前的状态(别名 /undo、/checkpoint) |
/branch | 创建会话分支(别名 /fork) |
/goal | 设定持续目标条件 |
/background | 转为后台运行(别名 /bg) |
/btw | 问一个旁路问题,不加入对话 |
/rename | 重命名会话 |
/recap | 生成会话摘要 |
/stop | 停止后台会话 |
/workflows | 查看、暂停、恢复工作流 |
/exit | 退出(别名 /quit) |
自定义命令:放在 .claude/commands/*.md,支持 16 个 frontmatter 字段(name、description、argument-hint、arguments、context 等)。用 !`command` 注入动态上下文。
Orchestration 编排实战
用户: /weather-orchestrator
│
▼
┌──────────────────────────┐
│ weather-orchestrator │ ← Command(入口)
│ 1. 询问温度单位 C/F │
│ 2. 调用 weather-agent │
│ 3. 调用 svg-creator │
└──────┬───────────────────┘
▼
┌──────────────────────────┐
│ weather-agent │ ← Agent
│ 预加载: weather-fetcher │ ← Skill(预加载)
└──────┬───────────────────┘
▼
┌──────────────────────────┐
│ weather-svg-creator │ ← Skill(调用)
│ 输出: weather.svg │
└──────────────────────────┘
Tasks 任务系统
Claude Code 内置的任务跟踪系统,支持创建、查询、更新、依赖管理。可与 Subagents 和 Skills 配合使用。
4 个核心工具
| 工具 | 功能 | 关键参数 |
|---|---|---|
TaskCreate | 创建任务 | subject, description, addBlocks, addBlockedBy |
TaskList | 列出所有任务 | (无参数) |
TaskGet | 获取任务详情 | taskId |
TaskUpdate | 更新任务状态 | taskId, status, subject, description, addBlocks, addBlockedBy |
任务生命周期
pending → in_progress → completed
↘ deleted
依赖关系
addBlocks— 标记"此任务完成后,指定任务才能开始"addBlockedBy— 标记"此任务必须等待指定任务完成后才能开始"- 形成 DAG(有向无环图),确保执行顺序
环境变量:CLAUDE_CODE_TASK_LIST_ID 标识当前任务列表,文件持久化在 ~/.claude/tasks/。
可复用的指令包 + 生命周期事件的自动化脚本
Skills 技能系统
核心认知:Skill 是一个文件夹(不只是 Markdown 文件)。可以包含脚本、数据、资源文件、配置模板——任何 Agent 可以发现、读取和操作的东西。SKILL.md 是入口,但不是全部。参见 Orchestration 实战示例。
技能存放在 .claude/skills/<name>/SKILL.md,支持自动发现和触发。每次会话启动时,Claude 扫描所有可用技能的 description 字段来决定是否匹配当前任务。
在 SKILL.md 中告诉 Claude 文件夹里有什么文件,它会在需要时才读取详细内容。避免一次性加载所有信息浪费上下文。
description 字段不是摘要,而是触发条件描述。写清楚"什么情况下应该使用这个技能",Claude 据此自动匹配。
9 种配置模式
| 类型 | 触发方式 | 用途 |
|---|---|---|
| Slash | 用户 /name | 常用操作 |
| Auto | Claude 自动匹配 | 根据 description 自动触发 |
| Path | 操作匹配文件时 | paths: "*.tsx" |
| Fork | 隔离子代理 | context: fork |
| Args | 带参数调用 | arguments: filename |
| Disabled | 不自动触发 | disable-model-invocation: true |
| Hidden | 仅背景知识 | user-invocable: false |
| Permitted | 激活时生效 | allowed-tools |
| Model | 指定模型运行 | model: haiku |
2 种加载模式
通过 Agent 的 skills: 字段加载。Agent 启动时自动注入。
通过 Skill 工具或 /skill-name 触发。Claude 也可自动匹配调用。
9 种用途分类
来自 Anthropic 内部数百个技能的实践归纳(Thariq, 2026.03)。好的技能只属于其中一类;跨越多类的技能通常需要拆分。
| # | 类型 | 说明 | 典型示例 |
|---|---|---|---|
| 1 | Library & API Reference | 教 Claude 正确使用特定库/CLI/SDK,包含代码片段和常见陷阱 | billing-lib, frontend-design |
| 2 | Product Verification | 描述如何测试/验证代码是否正确,常配合 Playwright、tmux | signup-flow-driver, checkout-verifier |
| 3 | Data Fetching & Analysis | 连接数据/监控栈,包含凭证、Dashboard ID、查询模板 | funnel-query, grafana |
| 4 | Business Process | 自动化重复工作流为一条命令,日志持久化帮助模型保持一致 | standup-post, weekly-recap |
| 5 | Code Scaffolding | 生成框架脚手架代码,处理无法纯代码覆盖的自然语言需求 | new-migration, create-app |
| 6 | Code Quality & Review | 强制代码规范和审查,可结合 Hooks 或 GitHub Action 自动运行 | adversarial-review, code-style |
| 7 | CI/CD & Deployment | 拉取、推送、部署代码,可引用其他技能收集数据 | babysit-pr, deploy-service |
| 8 | Runbooks | 接收症状 → 多工具调查 → 结构化报告 | service-debugging, oncall-runner |
| 9 | Infrastructure Ops | 运维操作(部分涉及破坏性动作),需要护栏 | resource-orphans, cost-investigation |
9 条技能设计建议(Thariq)
- 别说显而易见的事 — Claude 已经知道很多,聚焦于改变其默认行为的信息
- 建一个 Gotchas 节 — 最高信号内容,从常见失败点中积累
- 用文件系统做渐进式加载 — 告诉 Claude 文件夹里有什么,它会按需读取
- 避免强制定路线 — 给目标和约束,不要给步骤
- 想清楚 Setup — 用
config.json存配置,未设置时让 Claude 用 AskUserQuestion 询问 - description 是给模型看的 — 写"何时触发"而非"做什么"
- 用 Agent Skills 做复杂流程 — 预加载到 Agent,隔离上下文
- Skills 可以引用其他 Skills — 但避免循环依赖
- 持续迭代 — 从失败案例中提取 Gotchas,更新技能
16 个 Frontmatter 字段
展开完整列表
| 字段 | 类型 | 说明 |
|---|---|---|
name | string | 显示名和 /slash 标识 |
description | string | 功能描述(自动发现用) |
when_to_use | string | 触发短语和示例 |
argument-hint | string | 自动补全提示 |
arguments | string/list | 位置参数 $name 替换 |
disable-model-invocation | bool | 阻止自动调用 |
user-invocable | bool | false = 从 / 菜单隐藏 |
allowed-tools | string | 免确认工具 |
disallowed-tools | string/list | 移除工具 |
model | string | haiku/sonnet/opus |
effort | string | low/medium/high/max |
context | string | fork = 隔离执行 |
agent | string | 子代理 类型 |
hooks | object | 生命周期钩子 |
paths | string/list | Glob 激活范围 |
shell | string | bash/powershell |
10 个内置技能
| # | 技能 | 说明 |
|---|---|---|
| 1 | code-review | 审查 diff 正确性 bug |
| 2 | batch | 跨文件批量操作 |
| 3 | debug | 调试失败命令 |
| 4 | loop | 定时循环(最长 3 天) |
| 5 | claude-api | 构建 Claude API 应用 |
| 6 | fewer-permission-prompts | 减少权限确认弹窗 |
| 7 | run | 启动驱动应用(≥v2.1.145) |
| 8 | verify | 构建验证变更(≥v2.1.145) |
| 9 | run-skill-generator | 教 /run 如何启动项目 |
| 10 | simplify | 简化代码(4 并行 代理) |
Hooks 钩子系统
生命周期事件驱动的自动化脚本。配置在 .claude/settings.json 或 Agent frontmatter 中。
4 种 Hook 类型
| 类型 | 说明 | 适用场景 |
|---|---|---|
command | 运行 shell 命令(最常用) | 通知、代码格式化、lint |
prompt | 注入提示文本到上下文 | 动态加载规则、条件提醒 |
agent | 触发子代理执行(多轮) | 复杂自动化、需要模型参与 |
http | 发送 HTTP 请求(≥v2.1.63) | 通知外部系统、Webhook |
Agent Frontmatter 限制:Agent 中只能使用 6 个 Hook 事件:PreToolUse、PostToolUse、PostToolUseFailure、PermissionRequest、Stop、SubagentStop。其他 21 个事件仅在主会话中可用。
27 个生命周期事件
按功能分组。所有事件均支持 async、timeout 选项。
| 分组 | 事件 | 触发时机 |
|---|---|---|
| 工具调用 | PreToolUse | 工具调用前(可拦截) |
PostToolUse | 工具调用成功后 | |
PostToolUseFailure | 工具调用失败后 | |
PermissionRequest | 请求用户权限时 | |
| 会话 | SessionStart | 会话启动或恢复时 |
SessionEnd | 会话结束时 | |
Setup | 运行 /setup 初始化项目时 | |
| 用户交互 | UserPromptSubmit | 用户提交提示时 |
Notification | 通知事件 | |
Stop | Claude 停止生成时 | |
| 子代理 | SubagentStart | 子代理启动时 |
SubagentStop | 子代理完成时 | |
| 上下文 | PreCompact | 上下文压缩前 |
PostCompact | 上下文压缩后 | |
| Agent Teams | TeammateIdle | 队友代理空闲时(实验性) |
TaskCreated | 任务创建时(实验性) | |
TaskCompleted | 后台任务完成时(实验性) | |
| 环境 | ConfigChange | 配置文件变更时 |
WorktreeCreate | Worktree 创建时 | |
WorktreeRemove | Worktree 移除时 | |
InstructionsLoaded | CLAUDE.md / rules 加载时 | |
| MCP & 权限 | Elicitation | MCP 请求用户输入时 |
ElicitationResult | 用户回应 MCP 请求后 | |
StopFailure | API 错误导致轮次结束时 | |
CwdChanged | 工作目录变更时 | |
FileChanged | 监控文件变更时(需 matcher) | |
PermissionDenied | auto 模式拒绝工具调用后(可 retry) |
配置示例
Hooks 配置写在 Settings 中,也可通过 Skill frontmatter 按需激活。
{
"hooks": {
"Stop": [{
"type": "command",
"command": "python3 .claude/hooks/scripts/hooks.py --event Stop"
}],
"PostToolUse": [{
"type": "command",
"command": "python3 .claude/hooks/scripts/hooks.py --event PostToolUse"
}]
}
}
高级工具使用
Prompt-to-Code (PTC) — 范式转换
传统方式将大量指令塞入 system prompt,而 PTC 将这些指令编译为可执行的代码规则,由模型在沙箱中运行。结果是:prompt 变短、推理更精确、token 节省约 37%。
| 对比 | 传统 Prompt | PTC 模式 |
|---|---|---|
| 指令形式 | 自然语言 prompt | 代码 rules + allowed_callers |
| 执行方式 | 模型逐条解读 | 沙箱代码执行,返回结果 |
| token 开销 | 高(每次发送完整 prompt) | 低(代码 + 返回值) |
| 确定性 | 低(解读可能有偏差) | 高(代码逻辑明确) |
PTC 配置示例
{
"type": "code_execution_20250825",
"name": "data_processor",
"allowed_callers": ["code_execution_20250825"],
"input_schema": {
"type": "object",
"properties": {
"task": { "type": "string" }
}
}
}
PTC 高级模式
单次 PTC 调用中循环处理多条记录,减少工具调用次数。适合批量翻译、批量分类等场景。
在代码中加入条件判断,满足阈值时立即 return 跳过剩余处理。避免不必要的计算。
根据输入类型动态选择不同的处理分支,而非为每种类型单独定义工具。
PTC 约束
| 限制项 | 说明 |
|---|---|
| 平台支持 | 不支持 Bedrock / Vertex,仅 API 直连 |
| 工具类型 | 不支持 MCP 工具,仅 API 原生工具 |
| 容器生命周期 | ~4.5 分钟超时 |
| 模型要求 | Opus 4.5+ 或 Sonnet 4.5+ |
Dynamic Tool Filtering — 动态筛选
Web Search / Web Fetch 结果由代码预处理后再进入上下文,而非原文塞入。需启用 beta header anthropic-beta: code-execution-web-tools-2026-02-09。
| 基准测试 | 模型 | 无过滤 | 有过滤 | 提升 |
|---|---|---|---|---|
| BrowseComp | Sonnet | 33.3% | 46.6% | +13.3pp |
| Opus | 45.3% | 61.6% | +16.3pp | |
| DeepsearchQA | Sonnet | 52.6% | 59.4% | +6.8pp |
| Opus | 69.8% | 77.3% | +7.5pp |
Tool Search — 工具搜索
将不常用的工具标记为 defer_loading: true,需要时由模型按需搜索加载,工具定义量减少约 85%。
// 工具定义示例
{
"name": "specialized_analyzer",
"defer_loading": true,
"description": "..."
}
// Claude Code 环境变量
ENABLE_TOOL_SEARCH=auto:5 // 保留 5 个常用工具,其余延迟加载
Tool Use Examples — 使用示例
在工具定义中添加 input_examples 数组(1-5 个),提供真实数据样本,模型调用准确率从 72% 跃升至 90%。
{
"name": "query_database",
"input_examples": [
{ "sql": "SELECT * FROM users WHERE active = true LIMIT 10" },
{ "sql": "SELECT COUNT(*) FROM orders WHERE date > '2026-01-01'" }
]
}
Claude Code 中的可用性
| 策略 | Claude Code CLI | API / SDK |
|---|---|---|
| Tool Search | ✅ 内建(v2.1.7+) | ✅ 手动配置 |
| Tool Use Examples | ✅ CLAUDE.md 中配置 | ✅ 工具定义中配置 |
| PTC | ❌ CLI 不适用 | ✅ API 级特性 |
| Dynamic Filtering | ❌ CLI 不适用 | ✅ API 级特性 |
CLI 用户优先级:先在 CLAUDE.md 中配置 Tool Use Examples 和 Tool Search(ENABLE_TOOL_SEARCH=auto:5),这两项对 CLI 用户收益最大。PTC 和 Dynamic Filtering 主要面向 SDK/API 深度集成场景。
5 层配置优先级 · CLAUDE.md 规范 · 自动记忆 · MCP 扩展
Settings 5 层优先级
| 优先级 | 来源 | 作用域 | 共享 |
|---|---|---|---|
| 1 最高 | Managed Settings | 组织 | IT 部署 |
| 2 | CLI 参数 | 单次会话 | 不 |
| 3 | .claude/settings.local.json | 项目个人 | git-ignored |
| 4 | .claude/settings.json | 项目团队 | 已提交 |
| 5 最低 | ~/.claude/settings.json | 全局 | 不 |
Managed Settings 交付方式
| 方式 | 平台 |
|---|---|
| Server-managed | 远程推送 |
| MDM Profile | macOS com.anthropic.claudecode |
| Registry Policy | Windows HKLM\SOFTWARE\Policies\ClaudeCode |
| managed-settings.json | macOS /Library/Application Support/ClaudeCode/ |
| Drop-in 目录 | managed-settings.d/*.json 按字母排序合并 |
核心配置项
80+ Settings 完整列表(点击展开)
| 分类 | Key | 默认值 | 说明 |
|---|---|---|---|
| 模型 | model | default | 默认模型别名或完整 ID |
| 模型 | agent | - | 默认 agent 名称 |
| 模型 | effortLevel | - | 推理强度:low/medium/high/xhigh |
| 模型 | modelOverrides | - | 模型 ID 映射(Bedrock/Vertex) |
| 模型 | availableModels | - | 限制可选模型列表 |
| 语言 | language | english | 响应语言 |
| 语言 | alwaysThinkingEnabled | false | 默认启用扩展思考 |
| 维护 | cleanupPeriodDays | 30 | 会话清理周期(天) |
| 更新 | autoUpdatesChannel | latest | stable/latest |
| 计划 | plansDirectory | ~/.claude/plans | 计划文件存储目录 |
| 记忆 | autoMemoryEnabled | true | 启用自动记忆 |
| 记忆 | autoMemoryDirectory | - | 自定义记忆目录 |
| 记忆 | claudeMdExcludes | - | 排除 CLAUDE.md 的 glob 模式 |
| 显示 | statusLine | - | 自定义状态栏 |
| 显示 | outputStyle | default | 输出风格 |
| 显示 | editorMode | normal | normal/vim |
| 显示 | viewMode | - | default/verbose/focus |
| 显示 | tui | default | fullscreen/default 渲染模式 |
| 显示 | prefersReducedMotion | false | 减少动画 |
| Worktree | worktree.symlinkDirectories | [] | 符号链接目录 |
| Worktree | worktree.sparsePaths | [] | 稀疏检出路径 |
| Worktree | worktree.baseRef | fresh | fresh/head 分支来源 |
| 归因 | attribution.commit | Co-authored-by | Git 提交归因 |
| 归因 | attribution.pr | Generated | PR 描述归因 |
| 团队 | teammateMode | auto | auto/in-process/tmux |
| 沙盒 | sandbox.enabled | false | 启用 Bash 沙盒 |
| 沙盒 | sandbox.autoAllowBashIfSandboxed | true | 沙盒内自动批准 |
| 沙盒 | sandbox.network.allowedDomains | [] | 网络域名白名单 |
| 沙盒 | sandbox.customExecutable | - | 自定义沙盒可执行文件 |
| 沙盒 | sandbox.profileName | - | 沙盒 Profile 名称 |
| 插件 | allowedPlugins | [] | 允许的插件白名单 |
| 插件 | deniedPlugins | [] | 拒绝的插件黑名单 |
| 插件 | pluginRegistry | - | 自定义插件注册表 URL |
| 插件 | pluginInstallDir | - | 插件安装目录 |
| 插件 | pluginWorkingDir | - | 插件工作目录 |
| 插件 | enableAllProjectMcpServers | false | 自动启用项目级 MCP |
| 显示 | statusLine.enabled | true | 启用状态栏 |
| 显示 | statusLine.fontSize | - | 状态栏字体大小 |
| 显示 | statusLine.theme | - | 状态栏主题覆盖 |
| 归因 | attribution.hideFromGitLog | false | 从 git log 隐藏归因 |
| 归因 | attribution.hideFromPrDescription | false | 从 PR 描述隐藏归因 |
| 核心 | verbose | false | 详细输出模式 |
| 核心 | maxTurns | - | 最大对话轮次 |
| 核心 | disallowedTools | [] | 全局禁用工具列表 |
| 核心 | allowedTools | [] | 预批准工具列表 |
| 核心 | hooks | {} | 生命周期钩子配置 |
| 核心 | mcpServers | {} | MCP 服务器配置 |
| 核心 | env | {} | 环境变量注入 |
| 核心 | includeContext | [] | 额外上下文文件 |
| 核心 | permissions | {} | 权限覆盖配置 |
| 核心 | forceLoadSkills | [] | 强制加载的技能 |
| 核心 | minimumVersion | - | 防止自动更新降级到此版本以下 |
| 核心 | defaultShell | bash | 默认 shell(bash / powershell) |
| 核心 | includeGitInstructions | true | 在系统提示中包含 commit/PR 工作流指令 |
| 核心 | fastModePerSessionOptIn | false | 每次会话需手动启用快速模式 |
| 核心 | apiKeyHelper | - | 输出 auth token 的 shell 脚本路径 |
| 核心 | claudeMd | - | (仅托管)组织级 CLAUDE.md 指令 |
| 语言 | showThinkingSummaries | false | 显示扩展思考摘要 |
| 语言 | voice | - | 语音听写配置(enabled, mode, autoSubmit) |
| 技能 | disableSkillShellExecution | false | 禁用技能的内联 shell 执行 |
| 技能 | maxSkillDescriptionChars | 1536 | 每技能描述+when_to_use 字符上限 |
| 技能 | skillListingBudgetFraction | 0.01 | 模型上下文窗口中预留给技能列表的比例 |
| 技能 | skillOverrides | - | 按技能名称的可见性覆盖 |
| 功能 | disableAllHooks | - | 禁用所有钩子(含自定义状态栏) |
| 功能 | disableRemoteControl | false | 禁用远程控制功能 |
| 功能 | disableAgentView | false | 关闭后台代理和代理视图 |
| 功能 | disableWorkflows | false | 禁用动态工作流(/workflows) |
| 功能 | awaySummaryEnabled | true | 用户返回时生成空闲会话摘要 |
| 显示 | respectGitignore | true | 文件选择器遵循 .gitignore |
| 显示 | autoScrollEnabled | true | 全屏模式自动滚动对话 |
| 显示 | showTurnDuration | true | 响应后显示轮次耗时 |
| 显示 | syntaxHighlightingDisabled | false | 禁用代码语法高亮 |
| 显示 | preferredNotifChannel | auto | 任务完成/权限提示通知方式 |
| 显示 | showClearContextOnPlanAccept | false | 计划接受时显示"清除上下文"选项 |
| MCP | enabledMcpjsonServers | [] | MCP 服务器白名单(按名称) |
| MCP | disabledMcpjsonServers | [] | MCP 服务器黑名单(按名称) |
| 沙盒 | sandbox.failIfUnavailable | false | 沙盒启用但无法启动时退出报错 |
| 沙盒 | sandbox.excludedCommands | [] | 在沙盒外运行的命令 |
| 沙盒 | sandbox.filesystem.allowWrite | [] | 沙盒内可写入的额外路径 |
| 沙盒 | sandbox.filesystem.denyWrite | [] | 沙盒内禁止写入的路径 |
| 沙盒 | sandbox.filesystem.denyRead | [] | 沙盒内禁止读取的路径 |
| Worktree | worktree.bgIsolation | worktree | 后台会话隔离模式(worktree/none) |
| IDE | autoConnectIde | false | 外部终端自动连接运行中的 IDE |
| IDE | autoInstallIdeExtension | true | 从 VS Code 终端自动安装扩展 |
| 功能 | workflowKeywordTriggerEnabled | true | 输入 "ultracode" 是否触发动态工作流(v2.1.157) |
| 功能 | ultracode | - | (仅会话级)自动为每个任务生成工作流,最大化彻底性(v2.1.154) |
| 功能 | feedbackSurveyRate | - | 会话质量调查出现概率(0-1) |
| 核心 | disableDeepLinkRegistration | - | 阻止注册 claude-cli:// 协议处理器 |
| 认证 | forceLoginMethod | - | 限制登录方式:claudeai 或 console |
| 认证 | forceLoginOrgUUID | - | 限制登录到指定组织 UUID |
| 认证 | apiKeyHelper | - | 输出 auth token 的 shell 脚本路径 |
| 认证 | gcpAuthRefresh | - | 刷新 GCP ADC 的自定义脚本 |
| 插件 | strictPluginOnlyCustomization | - | (托管)锁定 skills/agents/hooks/MCP 只能来自插件 |
| 插件 | strictKnownMarketplaces | - | (托管)允许的市场白名单 |
| 插件 | blockedMarketplaces | - | (托管)阻止的市场黑名单 |
| 插件 | enabledPlugins | - | 按插件名启用/禁用 |
| 显示 | spinnerTipsEnabled | true | 等待时显示提示 |
| 显示 | spinnerVerbs | - | 自定义 spinner 动词(mode + verbs 数组) |
| 显示 | fileSuggestion | - | 自定义文件建议命令 |
| 显示 | terminalProgressBarEnabled | true | 支持终端中显示进度条 |
| 归因 | prUrlTemplate | - | PR 链接模板(自托管 GitLab/Bitbucket 等) |
| 功能 | companyAnnouncements | - | 启动时显示自定义公告(随机轮播) |
Deny 规则始终最高——任何层级的 deny 都会覆盖所有 allow。数组类设置跨层级合并去重,不替换。
托管层内部优先级
托管层内按此顺序使用(只用一个来源,不跨层合并):
| 优先级 | 来源 |
|---|---|
| 1 | Server-managed 远程推送 |
| 2 | MDM Profile / Registry Policy |
| 3 | managed-settings.d/*.json + managed-settings.json |
| 4 | HKCU Registry(仅 Windows) |
托管层专用策略 Key(点击展开)
| Key | 类型 | 说明 |
|---|---|---|
parentSettingsBehavior | string | 控制 SDK 父进程的托管设置如何与 MDM 层交互。"first-wins"(默认)丢弃父设置;"merge" 允许父设置收紧但不放宽策略。需 v2.1.133+ |
policyHelper | object | 动态计算托管设置的可执行文件。格式 {path: string},仅在 MDM 或系统 managed-settings.json 中生效。每次启动时执行并合并到托管层。需 v2.1.136+ |
forceRemoteSettingsRefresh | boolean | 阻止 CLI 启动直到远程托管设置获取完成。获取失败则退出(fail-closed) |
wslInheritsWindowsSettings | boolean | WSL 上读取 Windows 策略链(需 Windows 管理员权限设置) |
allowManagedPermissionRulesOnly | boolean | 仅托管权限规则生效,用户/项目的 allow/ask/deny 被忽略 |
allowManagedMcpServersOnly | boolean | 仅允许托管白名单中的 MCP 服务器 |
allowManagedHooksOnly | boolean | 仅允许托管层定义的钩子 |
v2.1.126 变更:/config 现在将修改持久化到 ~/.claude/settings.json,不再仅存于内存。通过交互式 Config UI 做的编辑重启后保留。
权限模式
在 Settings 中通过 permissions 键配置。
| 模式 | 说明 | 场景 |
|---|---|---|
default | 高风险操作需确认 | 日常开发 |
plan | 只读探索,覆盖显式 allow 规则(v2.1.136) | 规划阶段 |
acceptEdits | 自动接受文件编辑。构建工具配置文件额外提示(v2.1.160) | 信任 Claude |
dontAsk | 自动拒绝,除非预批准 | 受限环境 |
auto | 后台安全检查自动审批。连续 3 次或累计 20 次阻止后回退为提示 | 高效开发(研究预览) |
bypassPermissions | 跳过所有确认。.claude/commands|agents|skills|worktrees/ 写入豁免提示 | CI/CD only |
工具权限语法
| 工具 | 语法 | 示例 |
|---|---|---|
| Bash | Bash(command pattern) | Bash(npm run *), Bash(git *) |
| Read | Read(path pattern) | Read(.env), Read(./src/**) |
| Edit | Edit(path pattern) | Edit(*.ts) |
| Write | Write(path pattern) | Write(*.md) |
| WebFetch | WebFetch(domain:*) | WebFetch(domain:example.com) |
| Agent | Agent(name) | Agent(Explore) |
| Skill | Skill(name) | Skill(weather-fetcher) |
| MCP | mcp__server__tool | mcp__memory__* |
路径前缀
| 前缀 | 含义 | 示例 |
|---|---|---|
// | 绝对路径 | Read(//Users/alice/file) |
~/ | 相对于 Home | Read(~/.zshrc) |
/ | 相对于项目根 | Edit(/src/**) |
| 无前缀 | 当前目录 | Read(*.ts) |
匹配规则
- 复合命令:
&&、||、;、|等操作符分割后,每个子命令独立匹配。Bash(safe-cmd *)不覆盖safe-cmd && other-cmd - 通配符位置:
*可出现在前缀、后缀或中间。Bash(* install)匹配npm install;Bash(git * main)匹配git push main - 词边界:
Bash(ls *)(有空格)不匹配lsof;Bash(ls*)(无空格)两者都匹配 - 符号链接:allow 要求符号链接和目标都在允许目录内;deny 命中任意一个即拒绝
- 进程包装器:
timeout、time、nice、nohup匹配前被剥离。watch、find -exec始终提示
全局 vs 项目配置
settings.json 全局设置CLAUDE.md 所有项目指令
适合:个人偏好、通用配置、Shell 别名
settings.json 团队共享(已提交)settings.local.json 个人覆盖(git-ignored)CLAUDE.md 项目指令agents/ 子代理定义skills/ 技能定义commands/ 自定义命令
6 大配置维度对比
| 维度 | 全局 | 项目 |
|---|---|---|
| Settings | ~/.claude/settings.json | .claude/settings.json + settings.local.json |
| Memory | ~/.claude/CLAUDE.md | 各目录 CLAUDE.md + 自动记忆 |
| MCP | ~/.claude/mcp.json | .mcp.json |
| Skills | ~/.claude/skills/ | .claude/skills/ |
| Agents | ~/.claude/agents/ | .claude/agents/ |
| Hooks | settings.json 中 hooks 字段 | settings.json 中 hooks 字段 |
目录结构对比
~/.claude/ .claude/
├── settings.json ← 全局设置 ├── settings.json ← 团队共享
├── settings.local.json ├── settings.local.json ← 个人覆盖
├── CLAUDE.md ← 全局指令 ├── CLAUDE.md ← 项目指令
├── mcp.json ← 全局 MCP ├── agents/ ← 子代理定义
├── agents/ ← 全局代理 │ ├── reviewer.md
│ ├── explorer.md │ └── coder.md
│ └── researcher.md ├── skills/ ← 技能定义
├── skills/ ← 全局技能 │ ├── lint-check/
│ └── deploy-check/ │ │ └── SKILL.md
├── commands/ ← 全局命令 │ └── test-runner/
│ └── review.md │ └── SKILL.md
├── plans/ ← 计划文件 ├── commands/ ← 自定义命令
├── tasks/ ← 任务持久化 │ └── commit.md
├── memory/ ← 自动记忆 ├── rules/ ← 条件规则
└── plugins/ ← 插件安装 │ ├── tests.md
│ └── security.md
└── mcp.json ← 项目 MCP
6 大设计原则
| 原则 | 说明 |
|---|---|
| 最小惊讶 | 默认行为符合直觉,减少意外配置 |
| 分层覆盖 | 高层级覆盖低层级,deny 始终最高 |
| 渐进披露 | 简单场景零配置,复杂场景逐步展开 |
| 团队友好 | 项目配置可提交共享,个人配置 git-ignored |
| 安全优先 | 权限系统多层防护,沙盒隔离执行 |
| 可扩展 | MCP + Skills + Hooks 三个扩展维度 |
全局独有功能
allowedPlugins/deniedPlugins— 插件白/黑名单managedSettings— IT 部署的组织级配置autoUpdatesChannel— 更新通道控制cleanupPeriodDays— 会话自动清理pluginRegistry— 自定义插件源plansDirectory— 计划文件全局目录autoMemoryEnabled— 记忆系统开关
CLAUDE.md 规范
CLAUDE.md 是 Claude Code 中影响最大的单项配置。一个结构良好的 CLAUDE.md 比任何 Settings 调优都更能改善输出质量。
4 种载体
| 文件 | 位置 | 加载时机 | 用途 |
|---|---|---|---|
CLAUDE.md | 项目根 | 启动时(向上遍历) | 团队共享指令 |
CLAUDE.local.md | 项目根(git-ignored) | 启动时(向上遍历) | 个人偏好,不提交 |
~/.claude/CLAUDE.md | 用户主目录 | 每次会话 | 全局个人指令,所有项目 |
.claude/rules/*.md | 项目 rules/ | 取决于 frontmatter | 条件加载规则 |
.claude/rules/ 条件加载
paths: frontmatter仅在操作匹配路径时延迟加载。适合框架特定的规则,如 paths: ["src/**/*.test.ts"] 只在编辑测试文件时加载。
每次会话都加载,效果等同 CLAUDE.md。适合全项目通用的规则。
写作指南
- 保持在 200 行以内——超出会降低遵从度
- 写 WHY 而非 WHAT——代码已经说明了 WHAT,写隐藏约束、微妙不变量、特定 bug 的变通方案
- 使用否定式指令更有效——"不要使用 X 模式" 比 "使用 Y 模式" 更明确
- 不要写代码能自行表达的显而易见的内容——CLAUDE.md 的价值在于将 Claude 推出默认思维模式
- 不要保存代码模式、架构快照、git 历史等可从代码推导的信息
- 包含项目特有的约束:构建顺序依赖、已知不兼容的库版本、特殊的部署流程
claudeMdExcludes 排除
使用 claudeMdExcludes 设置跳过不需要的 CLAUDE.md 文件:
{
"claudeMdExcludes": [
"**/vendor/**/CLAUDE.md",
"**/node_modules/**/CLAUDE.md"
]
}
排除仅适用于用户、项目和本地记忆;托管策略文件无法被排除。
Monorepo 加载机制
启动时向上遍历,立即加载所有 CLAUDE.md。立即加载
子目录 CLAUDE.md 在操作该目录时才加载。延迟加载
场景对比
假设 monorepo 结构:frontend/CLAUDE.md、backend/CLAUDE.md、api/CLAUDE.md、根目录 CLAUDE.md。
场景 1:从根目录启动 cd /mymonorepo && claude
| 文件 | 加载? | 原因 |
|---|---|---|
根 CLAUDE.md | ✓ 立即 | 当前工作目录 |
frontend/CLAUDE.md | ✗ 延迟 | 操作 frontend/ 时才加载 |
backend/CLAUDE.md | ✗ 延迟 | 操作 backend/ 时才加载 |
api/CLAUDE.md | ✗ 延迟 | 操作 api/ 时才加载 |
场景 2:从组件目录启动 cd /mymonorepo/frontend && claude
| 文件 | 加载? | 原因 |
|---|---|---|
根 CLAUDE.md | ✓ 立即 | 祖先目录,向上遍历 |
frontend/CLAUDE.md | ✓ 立即 | 当前工作目录 |
backend/CLAUDE.md | ✗ 永不 | 不同分支的兄弟目录 |
api/CLAUDE.md | ✗ 永不 | 不同分支的兄弟目录 |
最佳实践:共享约定放根 CLAUDE.md,组件特有指令放组件 CLAUDE.md。个人偏好用 CLAUDE.local.md(git-ignored)。
Memory 自动记忆
Claude Code 的自动记忆系统跨会话持久化信息。记忆文件存储在项目 .claude/ 目录或全局 ~/.claude/ 中,以 YAML frontmatter + Markdown 格式组织。
4 种记忆类型
| 类型 | 内容 | 何时保存 | 典型文件 |
|---|---|---|---|
| user | 角色、目标、知识背景 | 了解用户信息时 | user_role.md |
| feedback | 偏好和纠正 | 用户纠正/确认时 | feedback_testing.md |
| project | 项目进展、里程碑 | 了解项目动态时 | project_auth_rewrite.md |
| reference | 外部系统指针 | 获知外部资源时 | ref_linear_ingest.md |
记忆文件结构
每条记忆是一个独立的 Markdown 文件,使用 YAML frontmatter:
---
name: feedback-testing
description: 测试偏好和纠正记录
metadata:
type: feedback
---
集成测试必须使用真实数据库,不使用 mock。
**Why:** 上季度因 mock/生产环境不一致导致迁移失败。
[[testing-patterns]] ← 链接到相关记忆
MEMORY.md 索引
所有记忆通过 MEMORY.md 索引文件管理,控制在 200 行以内。索引每行格式:
- [标题](文件名.md) — 一行摘要
什么不应该保存
- 代码模式、架构、文件路径——可从代码推导
- Git 历史、近期变更——
git log是权威来源 - 调试解决方案——修复在代码中,上下文在 commit message
- CLAUDE.md 已覆盖的内容
- 临时性任务细节——用 Task 或 Plan 管理
配置
| Key | 默认值 | 说明 |
|---|---|---|
autoMemoryEnabled | true | 启用自动记忆,可通过 /memory 切换 |
autoMemoryDirectory | - | 自定义记忆目录(仅全局/托管层可设) |
Agent Memory 3 种作用域
与 Subagents 配合,Memory 可在代理间持久化知识。
| 作用域 | 存储 | 特点 |
|---|---|---|
user | ~/.claude/ | 全局,所有项目共享 |
project | .claude/ | 项目级,团队共享 |
local | .claude/(git-ignored) | 本地,个人私有 |
MEMORY.md 索引文件控制在 200 行以内。
MCP 服务
常用 MCP 服务
| MCP | 用途 | 配置 |
|---|---|---|
| Context7 | 最新库文档 | 自动 |
| Playwright | 浏览器自动化测试 | npx @anthropic-ai/mcp-playwright |
| Chrome DevTools | 浏览器调试 | Chrome 扩展 |
| DeepWiki | GitHub 仓库文档 | 自动 |
| Excalidraw | 图表绘制 | 自动 |
MCP 设置 Key
| Key | 作用域 | 说明 |
|---|---|---|
enableAllProjectMcpServers | 任意 | 自动批准所有 .mcp.json 服务器 |
enabledMcpjsonServers | 任意 | 按名称白名单 |
disabledMcpjsonServers | 任意 | 按名称黑名单 |
allowedMcpServers | 托管 | 按名称/命令/URL 匹配的白名单 |
deniedMcpServers | 托管 | 按匹配模式的黑名单 |
allowManagedMcpServersOnly | 托管 | 仅允许托管白名单中的 MCP |
allowAllClaudeAiMcps | 托管 | 允许 claude.ai 云端 MCP 连接器 |
channelsEnabled | 托管 | 允许 Channel 消息推送(Team/Enterprise) |
配置示例
{
"mcpServers": {
"context7": {
"command": "npx",
"args": ["-y", "@anthropic-ai/mcp-context7"]
},
"always-on-server": {
"type": "http",
"url": "https://mcp.example.com",
"alwaysLoad": true
}
}
}
关键特性
在服务器配置中设 "alwaysLoad": true,该服务器的所有工具立即加载而非延迟发现。仅用于每轮都需要的小型工具集。
/mcp 的 Reconnect 操作重新读取 .mcp.json,无需重启会话。同时注入 CLAUDE_PROJECT_DIR 到 stdio 服务器环境。
环境变量展开
在 .mcp.json 中可使用 ${ENV_VAR} 语法引用环境变量,避免硬编码敏感信息:
{
"mcpServers": {
"my-api": {
"url": "https://mcp.example.com/mcp?token=${MCP_API_TOKEN}"
}
}
}
workspace 是保留的 MCP 服务器名称(v2.1.128),用户定义的同名服务器会被跳过并记录警告。
OAuth 兼容的服务器自动完成认证(遵循 RFC 9728),无需手动配置 apiKeyHelper。
RPI · CRISPY · 跨模型协作 · Agent Teams · 自动化
RPI 工作流
Research → Plan → Implement,每阶段有验证门。基于 Subagents 编排多个代理角色。
Step 1: RESEARCH → RESEARCH.md(GO / NO-GO)
Step 2: PLAN → PLAN.md + pm.md + ux.md + eng.md
Step 3: IMPLEMENT → IMPLEMENT.md(分阶段,每阶段有测试门)
8 种代理角色
| 代理 | 模型 | 职责 |
|---|---|---|
| requirement-parser | sonnet | 解析非结构化需求为标准化格式(功能/非功能需求、约束、复杂度估算) |
| product-manager | opus | 将高层需求转化为 PRD(用户故事、验收标准、成功指标、范围定义) |
| senior-software-engineer | opus | TDD-first 的实施者:小提交、清晰边界、可回滚、可观测 |
| ux-designer | opus | 生成 UX Brief:全状态设计(loading/empty/error/success)、无障碍标注 |
| code-reviewer | opus | 代码审查:正确性、安全、依赖、架构边界,输出 NEEDS REVISION / APPROVED |
| technical-cto-advisor | opus | CTO 级战略评估:技术栈对齐、风险评估、业务风险整合 |
| constitutional-validator | opus | 五维框架验证:使命对齐、架构对齐、知识管理、人机协作、复杂度适配 |
| documentation-analyst-writer | opus | 按项目标准产出文档(API、架构、用户指南),含自检协议 |
3 个命令
| 命令 | 参数 | 使用的代理 | 输出 |
|---|---|---|---|
/rpi:research | <feature-slug> | requirement-parser → product-manager → Explore → senior-engineer → cto-advisor → doc-writer | RESEARCH.md(GO/NO-GO/CONDITIONAL/DEFER) |
/rpi:plan | <feature-slug> | product-manager → ux-designer → senior-engineer → doc-writer | pm.md + ux.md + eng.md + PLAN.md |
/rpi:implement | <feature-slug> [--phase N] | Explore → senior-engineer → code-reviewer(每阶段循环) | IMPLEMENT.md(含 PR 笔记) |
项目目录结构
rpi/{feature-slug}/
├── REQUEST.md # 功能描述
├── research/RESEARCH.md # GO/NO-GO 分析
├── plan/
│ ├── PLAN.md # 实施路线图(3-5 阶段)
│ ├── pm.md # 产品需求文档
│ ├── ux.md # UX 设计稿
│ └── eng.md # 技术规格
└── implement/IMPLEMENT.md # 实施记录(每阶段验证)
CRISPY 方法论
C — Clarify 明确需求
R — Research 技术调研
I — Ideate 构思方案
S — Structure 结构设计
P — Plan 制定计划
Y — Yield 产出实施
+ Iterate 迭代优化
CRISPY 是 RPI 的进化版,增加了 Ideate 和 Structure 阶段,强调方案设计比实施更重要。
跨模型协作(Claude + Codex)
STEP 1: PLAN Claude Code Opus · Plan Mode
STEP 2: QA REVIEW Codex CLI GPT · 审查计划,插入发现
STEP 3: IMPLEMENT Claude Code Opus · 逐阶段实施
STEP 4: VERIFY Codex CLI GPT · 对照计划验证
核心思路:不同模型互相审查。Codex 追加 "Codex Finding" 标注,不重写原计划。
Agent Teams
通过共享 任务列表(TaskCreate/TaskUpdate)实现多 代理 协调。适合可分解为独立子任务的大型重构。
团队协调模式
以 Time Orchestration 为例——三个角色并行构建,共享数据契约 {time, timezone, formatted}:
| 角色 | 产出 | 说明 |
|---|---|---|
| Command Architect | time-orchestrator 命令 | 设计 slash command,编排 Agent → Skill 调用顺序 |
| Agent Engineer | time-agent + time-fetcher skill | 轻量 Agent(haiku, maxTurns:3),通过 preloaded Skill 获取迪拜时间 |
| Skill Designer | time-svg-creator skill | 接收数据契约,生成 SVG 时间卡片 + output.md |
Agent Teams 组件清单
time-agent 定义
---
name: time-agent
description: 获取迪拜当前时间(Asia/Dubai, UTC+4)
tools: Bash
model: haiku
color: blue
maxTurns: 3
skills: time-fetcher
---
使用 Bash 执行 `TZ='Asia/Dubai' date`,返回 time/timezone/formatted 三字段。
time-orchestrator 命令
---
description: 获取迪拜时间并生成 SVG 时间卡片
model: haiku
---
1. Agent(time-agent) → 获取 {time, timezone, formatted}
2. Skill(time-svg-creator) → 生成 SVG 卡片
注意:必须顺序执行,不能并行。
time-fetcher Skill
---
name: time-fetcher
description: 通过 bash 获取迪拜当前时间
user-invocable: false
---
命令: TZ='Asia/Dubai' date '+%Y-%m-%d %H:%M:%S %Z'
返回格式: { time: "HH:MM:SS", timezone: "GST (UTC+4)", formatted: "完整输出" }
time-svg-creator Skill
---
name: time-svg-creator
description: 创建迪拜时间 SVG 卡片
allowed-tools: Write, Read
---
接收 time/timezone/formatted,生成自包含 SVG 卡片。
输出: agent-teams/output/dubai-time.svg + output.md
定时任务
# CronCreate 参数
cron: "*/5 * * * *" # 标准 5 字段 cron(本地时区)
prompt: "检查 CI 状态" # 触发时执行的提示
recurring: true # true=循环, false=一次性
durable: true # true=持久化到文件Goal 目标驱动
配合 任务系统 自动分解和跟踪进度。
- 用户设定目标
- Claude 分解为子任务并创建任务列表
- 逐步实施,每步更新状态
- 遇到阻塞请求用户输入
社区 Goal 技巧
- 让 Agent 自己提议 Goal — 先描述问题背景,再让 Agent 提出合适的目标,通常比手写目标更精准
- 让 Agent 起草 /goal 提示 — Agent 更了解自己的能力边界,写出的 goal prompt 更可行
/goal <condition>条件式目标 — 如/goal 所有测试通过且无 lint 错误,Agent 会持续工作直到条件满足- Goal + TaskCreate 联动 — Goal 拆解为 TaskCreate 任务列表,每完成一个标记 done
Session 管理
| 场景 | 推荐操作 |
|---|---|
| 开始复杂任务 | /plan |
| 上下文 > 50% | /compact |
| 出现幻觉 | /undo 回退 |
| 多文件修改 | Agent 并行派出 |
| 长时间运行 | Background agent |
Context Rot 在 ~300-400k 时开始出现。回退 > 纠正。
LLM 性能分析 · 工具对比 · 使用量 · 学习路径
LLM 性能退化分析
9 层推理栈(权重冻结 ≠ 行为冻结)
┌──────────────────────────────────────────────┐
│ 用户会话上下文 ← 会话内退化 │
│ System Prompt ← 定期更新 │
│ Post-Training (RLHF/微调) ← 可静默更新 │
│ 采样参数 (temperature/top-p) ← 可服务端调 │
│ Speculative Decoding (草稿模型) ← 质量波动 │
│ MoE 路由 / 批次组合 ← ±8-14% 方差 │
│ 硬件路由 (TPU/GPU/Trainium) ← 不同故障模式 │
│ 量化级别 (FP16/INT8/INT4) ← 负载下可能变化 │
│ 编译器 & 运行时 (XLA:TPU/CUDA) ← 已证实有 bug │
├──────────────────────────────────────────────┤
│ 模型权重(冻结)← 这层不会变 │
└──────────────────────────────────────────────┘
关键结论
| 问题 | 答案 |
|---|---|
| 模型权重会变吗? | 不会 — 所有 provider 确认 |
| 日常行为可能不同吗? | 会 — 已证实 ±8-14% 方差 |
| 是故意"削弱"吗? | 不是 — 无故意降质证据 |
| 基础设施 bug 是真的吗? | 是 — Anthropic 确认 3 个 bug,影响高达 16% 请求 |
| 有心理因素吗? | 有 — 确认偏差和蜜月效应真实存在 |
| 应该信任个人感受吗? | 部分 — 真实原因存在,但感知会放大它们 |
Anthropic 2025.9 事后分析:3 个基础设施 Bug
Bug #1 — 上下文窗口路由错误
| 维度 | 详情 |
|---|---|
| 原因 | Sonnet 4 请求被错误路由到 1M token 上下文窗口服务器 |
| 时间线 | 8 月 5 日引入,8 月 29 日负载均衡变更后恶化 |
| 峰值影响 | 16% Sonnet 4 请求受影响(8 月 31 日最差时段) |
| 用户影响 | ~30% Claude Code 用户至少收到一条退化消息 |
| 隐蔽细节 | 路由具有"粘性"——一旦命中坏服务器,后续请求持续路由到那里 |
| 修复 | 9 月 4-18 日分平台滚动部署 |
Bug #2 — TPU 输出损坏
| 维度 | 详情 |
|---|---|
| 原因 | TPU 服务器配置错误,token 生成时赋予低频 token 高概率 |
| 症状 | 英文回复中突然出现泰文/中文字符、明显的代码语法错误 |
| 影响范围 | Opus 4.1/Opus 4(8.25-28)、Sonnet 4(8.25-9.2);仅 Claude API |
| 修复 | 9 月 2 日回滚 |
Bug #3 — XLA:TPU 编译器错误编译(最棘手)
| 维度 | 详情 |
|---|---|
| 根因 | 修复精度问题的代码变更意外暴露了 XLA:TPU 中的潜藏编译器 bug |
| 表现 | 近似 top-k 操作"有时返回完全错误的结果",但仅特定批次大小和模型配置 |
| 难找原因 | 行为取决于前后运行的操作以及是否启用调试工具 |
| 隐藏时长 | 2024.12 的一个临时方案一直在掩盖这个更深层 bug |
| 影响 | Haiku 3.5 确认;Sonnet 4/Opus 3 部分疑似 |
| 解决 | 从近似 top-k 切换为精确 top-k,接受轻微效率损失 |
Claude 运行在三种不同硬件平台(AWS Trainium、NVIDIA GPU、Google TPU),各有不同故障模式、编译器和精度行为。你的请求可能在不同日期命中不同硬件。
MoE 路由方差(Scale AI 研究)
MoE(混合专家)架构中,批次中其他用户的查询组合决定了你的请求被路由到哪些专家——而这个组合是非确定性的。
| Provider | 日常分数方差 |
|---|---|
| OpenAI (GPT-4 系列) | ±10-12% |
| Anthropic (Claude 系列) | ±8-11% |
| Google (Gemini 系列) | ±9-14% |
具体案例:同一模型在越狱抗性测试中一天得分 77%,第二天 63%——14 个百分点波动,零 bug、零变更。
系统提示 & 后训练更新
| 因素 | 说明 |
|---|---|
| System Prompt 变更 | 模型权重不变,但系统提示随时可更新。Claude 3.7 有多个 hot-fix 指令,4.0 全部移除(通过 RL 解决) |
| 后训练更新 | 可在不改变基础权重的情况下更新 RLHF/微调——技术上可以说"模型没变"但行为已改变 |
| 静默模型切换 | OpenAI 已多次被记录静默更换用户交互模型(GPT-4o→GPT-5 强制切换、autoswitcher bug) |
Stanford 研究(2023)——及其争议
Chen/Zaharia/Zou 的标志性研究发现 GPT-4 在"判断质数"任务上准确率从 97.6% 跌至 2.4%(2023.3→6),但存在方法论问题:
- 3 月版本用 temperature 0.0,6 月版本用 temperature 1.0——根本性混淆变量
- 每个任务仅 500 次查询——样本量太小
- "数学问题"实际是判断题,模型猜测模式改变而非数学能力下降
- 变化可能是有意的后训练安全更新,而非无意退化
心理学因素
| 效应 | 说明 |
|---|---|
| 确认偏差 | 一旦有人推文"Claude 今天很蠢",你就开始注意每个错误 |
| 蜜月效应 | 新模型的初始体验总是惊艳的,期望上涨速度超过能力 |
| "周末 Claude" 迷思 | 严格分析发现无一致的星期几模式 |
| 随机性 | 同一 prompt 每次输出不同。连续几个差回复可能只是运气不好 |
Codex 5.3 对比分析
当 Claude 短期退化时,Codex 5.3 可能看起来明显更好,原因:
- 产品目标契合 — Codex 专为代码生成优化,即使同等模型强度也能产出更好编码结果
- 推理策略差异 — 各 provider 独立调优延迟/推理深度/解码默认值
- 服务路径分离 — 不同路由层/编译器/发布管道,一个出问题不影响另一个
- 发布时机 — 一个 provider 中途发布,另一个稳定,可造成大的临时质量分歧
退化假设排序
| 假设 | 可能性 | 理由 |
|---|---|---|
| Provider 事件 + 回滚 | 高 | 最匹配"数天下降后快速恢复"模式 |
| 服务配置变更 | 高 | 常见的行为突变来源,无需重新训练 |
| 静默别名/快照移动 | 中高 | 可无用户操作改变行为 |
| Prompt 漂移 + 上下文污染 | 中 | 可降级单次会话,但难以解释广泛多天报告 |
| 永久基础模型退化 | 低 | 与快速恢复到先前质量不一致 |
实践建议
- 可用时锁定模型快照(而非使用浮动别名)
- 存储请求元数据(模型 ID、参数、延迟、错误率)
- 运行固定每日 canary 测试,回归时报警
- 多次失败后重置或压缩长会话
- 保留备用 provider/模型路径
- 在内部看板中分离"模型质量"和"服务可靠性"
最重要的一条:感觉质量下降时用 /compact 或重新开始会话。这是你能做的最有效的单一操作——大多数"Claude 变笨了"是上下文污染,而非模型退化。
Harness 重要性
常见误解:skill/command/subagent/hook 最终都是 prompt,所以写好 prompt 就够了。这是错的。在工程实践层,Harness 是 prompt 构建系统 + 确定性执行系统 + 上下文架构系统。
| 指标 | 数值 |
|---|---|
| 用户输入 tokens | 6–60 |
| 模型实际推理 tokens | 5,000–50,000+ |
| CLI 模块化 prompt 片段 | 110+ |
Harness 10 大能力(prompt 无法复制)
| # | 能力 | 说明 |
|---|---|---|
| 1 | 上下文隔离 | N 个并行 subagent ≈ N 倍有效上下文 |
| 2 | 工具限制强制 | allowed/disallowedTools 在模型调用前拦截 |
| 3 | 懒加载规则 | paths: frontmatter 按需加载 |
| 4 | Hooks 确定性 | 生命周期事件触发 shell 命令,可阻断工具调用 |
| 5 | 模型路由 | model: haiku / model: opus 路由到不同端点 |
| 6 | 并行执行 | 多 subagent 并发运行 |
| 7 | 跨会话持久化 | 记忆系统和设置层级跨对话持久存在 |
| 8 | 模块化系统 prompt | 110+ 片段按功能条件加载 |
| 9 | Skill 预加载 | 完整 skill 内容注入 subagent 启动上下文 |
| 10 | 权限分类 | auto 模式后台分类器预审批/阻断 |
输出质量 = f(有效上下文, 模型能力, 迭代循环)。用户只控制有效上下文的极小部分,harness 控制其余部分以及整个迭代循环。强 prompt 是必要条件但非充分条件。
浏览器 MCP 对比
| 指标 | Chrome DevTools | Claude in Chrome | Playwright |
|---|---|---|---|
| 工具数量 | 26 个 | 16 个 | 21 个 |
| Token 消耗 | ~19.0k (9.5%) | ~15.4k (7.7%) | ~13.7k (6.8%) |
| 浏览器支持 | Chrome only | Chrome only | Chromium/Firefox/WebKit |
| 无头模式 | 支持 | 不支持 | 支持 |
| CI/CD 集成 | 优秀 | 差(需登录) | 优秀 |
| 安全性 | 隔离配置文件 | 攻击率 23.6%→11.2% | 成熟安全模型 |
| 费用 | 免费 | 需付费计划 | 免费 |
推荐工作流
| 步骤 | 用途 | 工具 |
|---|---|---|
| 开发 | 终端编码 | Claude Code |
| 测试 | E2E/跨浏览器 | Playwright MCP |
| 调试 | 性能/网络 | Chrome DevTools MCP |
| 验证 | 快速视觉检查 | Claude in Chrome |
| CI/CD | 无头自动化 | Playwright MCP |
# 安装命令
npx playwright install
claude mcp add playwright -s user -- npx @playwright/mcp@latest
claude mcp add chrome-devtools -s user -- npx chrome-devtools-mcp@latest
Playwright token 效率最高(剩余 186.3k),Chrome DevTools 最低(剩余 181k)。差距 ~5.3k tokens。
Monorepo 技能发现
Skills 的发现/加载机制与 CLAUDE.md 不同:CLAUDE.md 向上遍历目录树(ancestor loading),Skills 通过嵌套目录自动发现(descendant discovery),且仅在编辑对应目录中的文件时才按需加载。参见 Monorepo 加载机制。
Skills 标准位置
| 范围 | 路径 | 适用 |
|---|---|---|
| 企业级 | Managed settings | 组织所有用户 |
| 个人 | ~/.claude/skills/<name>/SKILL.md | 所有项目 |
| 项目级 | .claude/skills/<name>/SKILL.md | 仅当前项目 |
| 插件 | <plugin>/skills/<name>/SKILL.md | 插件启用处 |
CLAUDE.md vs Skills 加载对比
| 行为 | CLAUDE.md | Skills |
|---|---|---|
| 向上遍历(ancestor) | 是 | 否 |
| 向下发现(descendant) | 是(懒加载) | 是(自动发现) |
| 默认内容加载 | 全部内容 | 仅描述(完整按需) |
字符预算默认 15,000 字符,可通过 SLASH_COMMAND_TOOL_CHAR_BUDGET 环境变量调整。用 /context 检查是否有 skill 因超限被排除。
- 通用工作流放根目录
.claude/skills/ - 包级特定 skill 放对应包的
.claude/skills/ - 危险操作 skill 设置
disable-model-invocation: true - 用包名前缀避免混淆(如
frontend-review、backend-deploy)
使用量与限额
| 指标 | 数值 |
|---|---|
| 上下文窗口 | 1M token |
| 建议压缩时机 | ~50% |
| 衰减起点 | ~300-400k |
| CLAUDE.md 建议 | <200 行 |
| Extra Usage 每日上限 | $2,000/天 |
| 限额重置窗口 | 每 5 小时 |
监控命令
| 命令 | 功能 | 适用 |
|---|---|---|
/usage | 查看计划和速率限制 | Pro/Max 5x/Max 20x |
/extra-usage | 配置按量付费溢出 | Pro/Max 5x/Max 20x |
/cost | 当前会话 token 和花费 | API key 用户 |
/insights | 使用模式分析报告 | 所有用户 |
成本优化
- 简单任务用
model: haiku effort: low降低推理- Background agent 避免阻塞
- API key 用户用
--max-budget-usd控制成本 - 配置 extra-usage 设置月度消费上限避免意外费用
Fast Mode(/fast)从第一个 token 起就计入 extra usage,不消耗订阅计划的包含额度。必须启用并充值 extra-usage 才能使用。
Spinner 动词
Claude Code 的加载动画使用 179 个随机动词。常见的有:
| 动词 | 暗示 |
|---|---|
| Thinking / Cogitating | 推理中 |
| Reading / Perusing | 读取文件 |
| Editing / Crafting | 编辑文件 |
| Searching / Spelunking | 搜索代码 |
| Orchestrating | 编排代理 |
| Synthesizing | 综合信息 |
学习路径
从零构建 Weather Reporter 的完整学习旅程,经历 5 大阶段 · 37 张幻灯片:
阶段顺序(按认知依赖重排)
| 顺序 | 阶段 | 幻灯片数 | 核心理念 |
|---|---|---|---|
| 1 | Agents | 7 | 先理解代理是"谁"在干活 |
| 2 | Skills | 8 | 技能是代理的"能力" |
| 3 | Context | 7 | 上下文窗口和记忆系统 |
| 4 | CLAUDE.md | 7 | 项目指令是"规则" |
| 5 | Commands | 8 | 命令是"编排层" |
LEVELS 映射(6 个等级)
const LEVELS = {
context: '🔴 上下文窗口', // context-window.jpeg, context.jpg
claude_md: '🟠 CLAUDE.md', // 项目指令系统
agents: '🟡 代理系统', // 内置 + 自定义代理
skills: '🟢 技能系统', // Skills 体系
commands: '🔵 命令系统', // Commands 编排
workflow: '🟣 完整工作流' // 端到端整合
}
37 张幻灯片大纲
展开全部幻灯片内容
Agents 阶段(Slides 1-7)
- 什么是 Agent?— 代理 = 模型 + 工具 + 上下文
- 5 种内置代理类型 — general-purpose / Explore / Plan / statusline-setup / claude-code-guide
- 代理 Frontmatter — 16 个字段详解
- model 选择 — inherit / haiku / sonnet / opus 的取舍
- 工具控制 — tools vs disallowedTools
- 权限模式 — acceptEdits / plan / bypassPermissions
- Weather Agent 设计 — 天气代理实战
Skills 阶段(Slides 8-15)
- 什么是 Skill?— 技能 = 提示词模板 + 元数据
- 技能触发 — 自动(PROACTIVELY)vs 手动(/skill-name)
- Frontmatter 字段 — name / description / tools / model
- weather-fetcher 技能 — 从 API 获取天气数据
- weather-analyzer 技能 — 分析天气趋势
- 技能组合 — 多技能协同工作
- 技能测试 — 验证技能输出质量
- 技能最佳实践 — 编写可复用技能
Context 阶段(Slides 16-22)
- 上下文窗口 — 200K tokens 的边界
- 上下文压缩 — 自动摘要机制
- Memory 系统 — user / project / local 三级
- MEMORY.md 索引 — 持久化记忆管理
- CLAUDE.md 注入 — 上下文加载策略
- 资源复用 — context-window.jpeg / context.jpg
- 上下文窗口可视化 — 理解 token 分配
CLAUDE.md 阶段(Slides 23-29)
- 什么是 CLAUDE.md?— 项目级指令文件
- 三级加载 — global / project / local
- 编写规范 — 结构化指令写法
- 环境配置 — 开发环境约定
- 代码风格 — 项目代码规范
- 安全规则 — 敏感操作约束
- Weather Reporter 的 CLAUDE.md — 实战案例
Commands 阶段(Slides 30-37)
- 什么是 Command?— 命令 = 编排层
- 命令 vs 技能 vs 代理 — 三层架构对比
- weather-orchestrator — 天气编排命令
- 命令流程 — prompt → steps → output
- 动态上下文注入 —
!`command`语法 - 错误处理与重试 — 健壮性设计
- 端到端整合 — Agents + Skills + Commands
- 回顾与展望 — 从零到完整的 Weather Reporter
资源复用
| 资产 | 复用位置 | 说明 |
|---|---|---|
context-window.jpeg | Slide 16 | 上下文窗口可视化图 |
context.jpg | Slide 22 | 上下文分配示意图 |
重设计记账
- goToSlide() 目标:所有 37 处调用需更新新序号
- data-level 属性:每张幻灯片的等级标记需映射到 LEVELS
- 导航组件:上/下页按钮需绑定新的幻灯片顺序
- 进度条:5 段进度指示器对应 5 个阶段
从简单开始 → 逐步组合 → 完整编排。不要一开始就搭建复杂架构。阶段顺序按认知依赖重排:先理解"谁"(Agents),再理解"能做什么"(Skills),再理解"环境"(Context),再定"规则"(CLAUDE.md),最后"编排"(Commands)。
SDK vs CLI 系统提示词
Claude Code CLI 和 Agent SDK 使用不同的系统提示词策略:
- 基础提示词约 ~269 tokens
- 极简引导,高度可定制
modular类型支持自定义系统提示词- 110+ 系统提示词字符串可选
- 适合构建自定义代理应用
- 系统提示词包含完整工具定义
- 预装 Bash/Read/Write/Edit 等工具描述
- CLAUDE.md 自动注入
- 包含安全规则和行为约束
- 开箱即用,无需配置
核心差异
| 维度 | Agent SDK | Claude Code CLI |
|---|---|---|
| 系统提示词长度 | ~269 tokens(极简) | ~3000+ tokens(完整) |
| 工具描述 | 按需加载 | 全部预装 |
| 自定义程度 | 完全可控 | CLAUDE.md + Settings |
| 适用场景 | 构建 AI 应用 | 开发工作流 |
| 模型选择 | 任意 Claude 模型 | Opus/Sonnet/Haiku |
SDK 提供了 modular 提示词类型,可以逐个添加工具描述,比 CLI 的全量加载节省大量 tokens。
Billion Dollar Questions
来自社区的 13 个尚未解答的深度问题——如果你有答案,这就是价值十亿美元的洞察。
记忆与指令(4 题)
- CLAUDE.md 到底该写什么?——什么该放,什么不该放?
- 已有 CLAUDE.md,还需要
constitution.md或rules.md吗? - 多久更新一次 CLAUDE.md?如何判断它已过时?
- 为什么 Claude 仍会忽略 CLAUDE.md 中的指令——即使用了
MUST全大写?
代理、技能与工作流(6 题)
- 何时用 Command vs Agent vs Skill——何时原生 Claude Code 更好?
- 随着模型升级,agents/commands/workflows 多久更新一次?
- 通用型 vs 角色/功能专用型子代理——详细 persona 是否真的提升质量?
- 该用 Claude Code 内置 plan mode,还是自建规划命令/代理来强制团队工作流?
- 个人 skill 和社区 skill 如何共存?冲突时谁优先?
- 终极问题:能否将现有代码库转为 spec,删除代码,然后让 AI 仅从 spec 重新生成?
规范与文档(3 题)
- 仓库中的每个功能都应该有 spec 文件吗?
- spec 多久更新一次才不会过时?
- 实现新功能时,如何处理对其他功能 spec 的连锁影响?
这些问题的答案决定了 Agentic Engineering 的最佳实践走向。如果你有见解,这就是前沿。
Boris Cherny · Thariq · 社区最佳实践
Boris Cherny — 13 条法则
15 个隐藏功能
来自 Boris Cherny(Meta)的 15 个鲜为人知的 Claude Code 功能,每个都能显著改变使用方式。
- Claude 移动端 App — iOS/Android 可作为 Claude Code 的语音+文本入口,通勤时也能与代码对话
- Teleport(远程控制) —
claude --teleport或remote-controlMCP,从浏览器/手机远程控制本地终端会话 /loop与/schedule— 设定循环任务或定时唤醒:让 Agent 持续监控、周期执行(如每 5 分钟检查 CI)- Hooks 自动化 —
settings.json配置 PreToolUse/PostToolUse/Stop 等事件钩子,实现自动通知、校验、格式化 - Cowork Dispatch — 多 Agent 协同调度,不同 Agent 各自独立工作、互不干扰
- Chrome 扩展 — Claude in Chrome MCP,让 Agent 直接操作浏览器、读取 console 日志、截图对比
- Desktop Web Server — Claude 桌面版内嵌 Web 服务器,Agent 可直接访问本地开发页面
/branchFork — 一键从当前对话 fork 到新分支,保留完整上下文,实验失败可丢弃/btw旁路查询 — 在不中断主流程的情况下提出临时问题,答案注入当前上下文- Git Worktree 并行 —
/batch扇出多个 worktree,每个独立分支处理不同任务 --bareSDK 加速 — SDK 模式去掉交互 UI,纯函数调用,速度提升显著--add-dir多仓库 — 同时加载多个项目目录到同一会话,跨仓库操作--agent自定义提示 — 命令行直接指定 Agent 类型或自定义系统提示/voice语音输入 — 通过麦克风语音下达指令,自动转文字- Background Agent — 后台长任务不阻塞主会话,完成后自动通知
12 个定制技巧
- 自定义子代理 —
.claude/agents/*.md,YAML frontmatter 定义工具/模型/记忆 - 自定义命令 —
.claude/commands/*.md,可带 $ARGUMENTS 参数化 - 自定义技能 —
.claude/skills/<name>/SKILL.md,description 决定自动发现 - Hooks 自动化 — settings.json 配置生命周期钩子(PreToolUse/PostToolUse/Stop)
- Rules 条件加载 —
.claude/rules/*.md+paths:限定范围 - 权限模板 — allowed-tools 按工具+路径粒度控制
- Model 选择 — 简单 haiku,复杂 opus,平衡 sonnet
- Effort 调节 — low 快速响应,max 深度推理
- Memory 作用域 — user(全局)/ project(团队)/ local(个人)
- MCP 集成 — 连接外部工具(数据库、浏览器、API)
- Worktree 隔离 —
--worktree或isolation: "worktree"独立实验 - Background 任务 — 长任务后台运行,完成后通知
10 个进阶技巧
- Plan Mode 先规划 — 复杂任务先用
/plan,给出目标而非步骤 - Agent 并行编排 — 无依赖任务同时派出,利用上下文隔离
- Skills 渐进披露 — description 始终加载,完整内容按需加载
- 上下文预算 50% — 主动
/compact,保持在智能区 - code-reviewer 做一致性检查 — 交叉验证跨文件逻辑
- 迭代式精炼 — 优于一次完美,逐步逼近目标
- Error Recovery 先 /undo — 回退比修复更可靠
- Testing First — TDD 红绿重构与 AI 结合
- 文档即上下文 — 好文档 = 好输出,注释写 WHY 不写 WHAT
- 监控上下文用量 —
/context可视化检查 token 分布
代码审查技巧
Test Time Compute:Code Review 让模型在独立上下文中"再想一遍",输出量增加 200%。多 Agent 并行审查(安全 + 性能 + 架构)比单次审查质量更高。
effort: high获得更全面审查,effort: low少而准- 让 AI 扮演"对手"角色——提出反对意见,而非表面审查
- PR 提交前自动触发(Hooks PreToolUse 配置)
- 配合
--comment添加 PR 评论 - 审查范围:正确性、安全漏洞、代码质量、项目规范
- 不同 Agent 扮演不同角色(安全审查 vs 性能审查 vs 架构审查)
PR 统计(Boris Cherny 实测)
| 指标 | 数值 |
|---|---|
| 日均贡献 | 266 次/天 |
| PR 总数 | 141 个(全部 squash merge) |
| 总变更行数 | 45,032 行 |
| 中位数 PR | p50 = 118 行 |
| P90 PR | 490 行 |
| P99 PR | 2,978 行 |
| 最小 PR | 2 行 |
| 最大 PR | 10,459 行 |
Boris 约 100% 新代码由 AI 编写,人类负责审查和指导方向。关键是每个文件独立 commit,历史更清晰。
2 条合并技巧
- 逐文件提交 — 每个文件独立 commit,历史更清晰、易 review/revert
- 不要 amend — 创建新 commit 保留历史,避免覆盖预提交钩子检查
6 条 Opus 4.7 效率技巧
Boris Cherny 在 Opus 4.7 发布后总结的 6 条核心效率提升方法。
- Auto Mode(Shift+Tab) — 一键切换全自动模式,Agent 自主决定读写、执行操作,无需逐步确认
/fewer-permission-promptsSkill — 预设技能,自动配置常用工具权限,大幅减少弹窗中断- Recaps 摘要 — 每轮对话后 Agent 自动生成执行摘要,保持上下文清晰
- Focus Mode(
/focus) — 过滤无关输出,只显示核心决策和结果,适合长时间任务 - Effort Level —
low快速响应(简单查询)、medium默认、high深度推理(代码审查)、xhigh/max极致深度(架构设计) - Verification 模式 — 后端:自动启动服务器验证;前端:Chrome 扩展检查渲染;桌面:Computer Use 自动化 UI 测试
Auto Mode 最佳实践:配合 effort: high 和 /focus 使用,让 Agent 在高推理深度下自主工作,只汇报关键决策点。
Thariq — 技能设计
- 单一职责——每个 Skill 只做一件事
- 描述要精确——决定自动发现准确度
- 善用 when_to_use——降低误触发
- 参数化模板——arguments 动态替换
- 路径限定——paths 避免无关激活
- progressive disclosure——渐进加载
Thariq — 实战技巧
- /doctor 诊断环境
- CLAUDE.md 写约束
- haiku 省成本
- background 长任务
- disallowedTools 限制危险操作
- Session 管理 > Skill 设计
- 50% 时 /compact
- /undo > 手动修复
- 拆分为独立子代理
- 每个 < 50% 上下文
Session 管理 — 深度指南
Thariq 的深度 Session 管理框架:理解上下文退化、分支策略、子代理垃圾回收。
Context Rot(上下文腐烂):约 300k-400k tokens 时模型开始"遗忘"早期对话,输出质量显著下降。这不是 bug,而是注意力的数学特性。
5 种分支策略
| 策略 | 场景 | 说明 |
|---|---|---|
continue | 继续上次 | 恢复完整上下文继续对话 |
rewind | 回到某个节点 | 撤销到指定步骤重新开始 |
clear | 全新开始 | 清空上下文,从零开始 |
compact | 压缩保留 | 智能压缩保留关键信息 |
subagent | 隔离执行 | 派子代理处理,不污染主上下文 |
关键决策表
| 场景 | 推荐操作 |
|---|---|
| 上下文 > 50% | /compact 或派子代理 |
| 方向错误 | rewind 回到分歧点,不要原地纠正 |
| compact 后质量差 | 用 /compact [brief] 附加摘要指令,或直接 clear + CLAUDE.md |
| 需要保留历史 | 子代理处理新任务,主对话保持精简 |
| 子代理上下文膨胀 | 子代理自带 GC——结束后自动回收,不影响主会话 |
Compact vs Fresh:如果对话历史高度相关(如调试链),用 compact + brief;如果话题已完全转向,clear 后从 CLAUDE.md 重建上下文更高效。Bad compact 的典型原因:压缩指令模糊导致关键约束被丢弃。
83 条分类技巧
来自社区实践和官方推荐,按 16 个类别整理。核心参见:CLAUDE.md 规范、Subagents 并行、RPI 工作流。
Prompting 提示(3 条)
- 给目标非步骤 — 告诉 Claude 你想要什么结果,而非每步怎么做
- 否定式指令更有效 — "不要做 X" 比 "请做 Y" 更可靠
- 示例驱动 — 提供输入/输出示例,比抽象描述更准确
Planning 规划(7 条)
- 复杂任务先用
/plan,给出目标而非详细步骤 - 拆分为独立子任务,每个 < 50% 上下文
- 使用 TaskCreate 跟踪进度,设置依赖关系
- Plan Mode 应清晰描述期望,让模型自主规划路径
- 多轮迭代优于一次完美——逐步逼近目标
- 优先级排序:先核心后边缘,先阻塞后独立
- 估算上下文消耗,避免单任务过大
Context 上下文(5 条)
/compact在 50% 上下文时主动压缩- 可用
/compact [聚焦指令]保留关键信息 - 上下文预算管理——长对话中定期清理
--resume / --continue恢复历史会话- 好文档 = 好输出,注释写 WHY 不写 WHAT
Session 会话(6 条)
- Session 管理比 Skill 设计更重要——长会话更智能
- 50% 时 /compact,避免质量退化
- /undo > 手动修复——回退比事后纠正更可靠
- 拆分为独立子代理,每个 < 50% 上下文
--continue无缝继续上次会话maxTurns限制子代理轮次,防止无限循环
CLAUDE.md(8 条)
- 写好 CLAUDE.md 是投入产出比最高的优化
- 200 行以内——超过则遵循度下降
- 否定式指令——"不要做 X" 更有效
CLAUDE.local.md个人偏好不污染团队- 只写模型无法自行推断的信息
.claude/rules/*.md+paths:条件加载claudeMdExcludes排除不需要加载的 CLAUDE.md- 4 级载体:全局 / 项目 / 目录 / 个人
Agents 代理(4 条)
- 自定义子代理
.claude/agents/*.md,YAML frontmatter 定义工具/模型/记忆 - 子代理并行——无依赖任务同时派出
context: fork隔离子代理上下文,防止污染主对话- 明确指定模型——简单 haiku,复杂 opus
Commands 命令(3 条)
.claude/commands/*.md自定义命令$ARGUMENTS参数化——命令模板动态替换/project:命令名调用项目命令
Skills 技能(9 条)
- 单一职责——每个 Skill 只做一件事
- description 精确——决定自动发现准确度
- 善用 when_to_use——降低误触发
- progressive disclosure——渐进加载内容
- paths 限定——避免无关激活
- arguments 参数化模板——动态替换
- forceLoadSkills 强制加载——关键技能预加载
- disallowedTools 限制——技能级工具控制
- 9 种类型选对——skill/agent/Explore/code-simplifier 等
Hooks 钩子(5 条)
- PreToolUse 在工具执行前拦截和修改
- PostToolUse 在工具执行后触发自动化
- Stop 在会话结束时执行清理
- PR 提交前自动触发代码审查
- 重复操作用钩子——格式化、lint、通知等
Workflows 工作流(5 条)
- RPI 循环:Research → Plan → Implement
- CRISPY:Context → Research → Identify → Structure → Plan → Y-execution
- 跨模型协作:Claude 规划 + Codex/Gemini 执行
- Agent Teams:多 Agent 并行(Amp, Codex, Claude)
- Scheduled Tasks:CronCreate 定时调度自动执行
Advanced Workflows 进阶工作流(9 条)
- Background Agent 不阻塞主会话
- Worktree 隔离实验——独立分支 + 上下文
- Goal 目标驱动——设定目标让模型自主达成
- Session 管理 > Skill 设计——长会话策略优先
- Browser MCP 自动化测试——Playwright 或 Chrome DevTools
- Multi-Provider 多云部署——Bedrock/Vertex/Foundry
- Sandbox 沙盒隔离——网络白名单 + 文件系统限制
- Agent SDK 构建自定义 Agent——Python/TS SDK
- Computer Use GUI 交互——操控桌面应用
Git / PR(5 条)
- 逐文件提交——每个文件独立 commit
- 不要 amend——创建新 commit 保留历史
--comment自动添加 PR 评论- 141 PRs / 45K 行 / 全部 squash merge
- Code Review 200% 输出增加——Test Time Compute
Debugging 调试(6 条)
/doctor诊断环境问题——出问题先跑这个/undo回退操作和代码变更context: fork隔离实验——安全试错maxTurns限制轮次——防止无限循环effort: low快速诊断——提高效率/context可视化检查 token 分布
Utilities 工具(5 条)
disallowedTools禁止特定工具——安全边界- MCP Server 连接外部服务——数据库/API/浏览器
allowedTools预批准工具——减少确认includeContext注入额外文件——丰富上下文env环境变量注入——统一配置
Daily 日常(2 条)
- 键盘快捷键 — Escape 中断、Shift+Tab 切换模式
- 定期 /compact — 50% 上下文时主动压缩
视频精选
Boris Cherny × Ryan Peterman
Claude Code 创作者的职业生涯故事 入门
Boris Cherny × Lenny's Podcast
Claude Code 的诞生与产品哲学 产品
Karpathy × AI Engineer
从 Vibe Coding 到 Agentic Engineering 进阶
Matt Pocock Workshop
2 小时 Claude Code 实战教学 教学
Boris × Lenny's Podcast — Claude Code 的诞生与 100% AI 编码时代
- Claude Code 诞生于内部黑客马拉松,从简单 CLI 演变为 Anthropic 核心产品
- "潜在需求"(Latent Demand)是产品成功的核心——降低门槛后需求自然爆发
- Claude Code 中约 100% 新代码由 AI 编写,人类负责审查和指导方向
- Plan Mode 应给出清晰目标而非详细步骤,让模型自主规划
- "苦涩教训":不要为当前模型优化工作流,为 6 个月后的更强模型构建系统
- CLAUDE.md 应极简,只写模型无法自行推断的信息
- 安全层设计为多层防护:权限系统 + 确认提示 + 沙箱执行
Boris × Pragmatic Engineer — 从 Meta 到 Anthropic 的工程之旅
- Boris 职业路径从初创到 Meta E8,体现通才工程师哲学——跨领域解决问题
- Claude Code 架构刻意保持简单,用 Bash 工具替代复杂文件操作工具
- Anthropic 内部用 Agentic Search(glob/grep)完全替代 RAG
- Boris 每天提交 20-30 个 PR,使用并行 Agent 同时处理多个任务
- 代码审查时应让 AI 扮演"对手"角色,提出反对意见
- 原型文化是核心——快速构建、快速迭代、快速抛弃不适用的方案
Boris × Ryan Peterman — 从 E4 到 E8 的工程师成长
- Meta 晋升关键是寻找"潜在需求"机会——Groups、Marketplace、Dating 都是典型案例
- 侧项目(Undux ORM、TypeScript 实战手册)是技术成长的重要途径
- 通才哲学:不定义为"前端"或"后端",要能跨领域解决问题
- Claude Code 诞生源于与 Codex 的竞争压力,极短时间内从原型到产品
- 在大型组织中,最好的影响力是通过工具和系统放大整个团队的效率
- "反搬运"(Ant-Fooding):内部大规模使用自己的产品是发现问题的最佳方式
Boris × Y Combinator — CLI 的意外崛起与 AI Agent 拓扑
- Claude Code 选择 CLI 而非 IDE 插件是意外而非计划——CLI 的简洁性反而成为优势
- Agent 拓扑结构多样:单 Agent、并行 Agent、层级 Agent,不同任务适合不同拓扑
- 多个 Agent 的上下文窗口是不相关的(uncorrelated),这是并行执行的理论基础
- CLAUDE.md 应该极简——只写模型无法自行推断的项目特定信息
- Plan Mode 是临时工具,随着模型能力提升将不再需要专门的规划模式
- 插件生态系统由"蜂群"式开发完成——大量外部贡献者同时构建不同插件
Cat & Boris × Every — 双用工具设计与复合工程
- 双用工具:Claude Code 同时服务人类和 AI,Slash 命令是人机共用接口
- "对手 Subagent"模式:一个 Agent 提交报销,另一个扮演审计员提出质疑
- 复合工程(Compounding Engineering):每个代码变更都让后续变更更容易
- "反发布"(Unshipping)策略:移除不常用功能比添加新功能更能提升聚焦度
- Subagent 架构让复杂任务分解为多个专注的小任务并行执行
Dex Horthy × MLOps — RPI 到 Crispy 方法论的演进
- RPI 中最常见的错误是跳过 Research 直接进入 Plan
- "阅读代码而非阅读计划"——规划之前必须先深入理解现有代码库
- 指令预算应控制在 150-200 行以内,超出后模型遵从率显著下降
- 上下文窗口分"智能区"和"愚笨区"——前半部分理解良好,后半常被忽略
- 垂直切片计划优于水平分层——每次交付端到端可验证的功能
- "Crispy"方法论 7 步,核心是每一步都有明确的完成标准
- 设计讨论应产出 200 行精炼计划而非 1000 行冗长文档
- "No slop in 2026" — 不要容忍 AI 生成的冗余代码和泛泛之谈
- 不要外包思考 — 你必须理解 AI 产出的每一行代码,否则无法验证
- CRISPY 方法论演进 — 从 RPI(Research→Plan→Implement)进化为更精确的 7 步流程,每步有 crispy(明确)的完成标准
Karpathy × AI Engineer — Software 3.0 与可验证性原则
- Software 1.0(手写代码)、2.0(神经网络权重)、3.0(LLM 提示词)三种范式并存
- "锯齿状智能":LLM 在某些任务上超人类,在另一些简单任务上却犯错
- 可验证性是 AI 编码核心原则——只让 AI 做能被自动验证的任务
- Vibe Coding 适合快速原型,Agentic Engineering 适合生产代码
- "动物 vs 幽灵"框架:理解代码是可观察的"动物"还是不可捉摸的"幽灵"
- 教育理念:"外包思考,但不要外包理解"
Matt Pocock Workshop — 智能区/愚笨区、垂直切片与 TDD
- 智能区/愚笨区:上下文前半部分是高效处理区,关键指令放这里
- "Grill Me"技能:让 AI 在编码前通过问答确认它真正理解了需求
- PRD 目标文档:将需求转化为明确的"终点文档",让 AI 知道成功标准
- 垂直切片(Tracer Bullets):每次从 UI 到数据库的完整功能切片
- AFK Agent 循环("Ralph Loop"):Agent 在无人值守时持续工作的循环模式
- TDD 红绿重构与 AI:先写失败测试(红),AI 实现(绿),AI 重构优化
- 深模块 vs 浅模块:设计接口简洁的深模块,减少 AI 需理解的表面积
- Sand Castle 并行化:独立任务分配给多个 Agent,逐步叠加
常用命令 · CLI Flags · 环境变量 · 配置模板
常用命令(82 个内置)
Session(会话管理)
| 命令 | 说明 |
|---|---|
/clear | 清空上下文开始新对话(别名 /reset, /new) |
/compact [指令] | 压缩上下文,可带聚焦指令 |
/resume [session] | 恢复会话(别名 /continue) |
/branch [name] | 分叉当前对话(别名 /fork) |
/rewind | 回退对话和代码(别名 /checkpoint, /undo) |
/goal [条件] | 设置持续目标,clear 清除 |
/stop | 停止后台会话 |
/exit | 退出 CLI(别名 /quit) |
/background [prompt] | 分离会话到后台运行(别名 /bg) |
/rename [name] | 重命名会话 |
/recap | 生成当前会话一行摘要 |
/btw <question> | 快速旁问,不加入对话 |
/workflows | 查看/管理工作流进度 |
Model(模型)
| 命令 | 说明 |
|---|---|
/model [model] | 切换模型,← → 调 effort |
/effort [level] | 设置推理强度 low~max/ultracode |
/fast [on|off] | 快速模式开关 |
/plan [描述] | 进入规划模式 |
/ultraplan <prompt> | 在浏览器中起草计划,远程或本地执行 |
/passes | 分享一周免费 Claude Code(仅限资格用户) |
Config(配置)
| 命令 | 说明 |
|---|---|
/config | 设置界面(别名 /settings) |
/permissions | 管理权限规则(别名 /allowed-tools) |
/sandbox | 切换沙盒模式 |
/statusline | 配置状态栏 |
/keybindings | 自定义快捷键 |
/theme | 切换主题(含亮/暗/色盲友好/自定义) |
/tui [default|fullscreen] | 渲染模式 |
/voice [hold|tap|off] | 语音听写 |
/focus | 专注视图(隐藏中间过程) |
/color [color|default] | 设置提示栏颜色(red/blue/green 等) |
/radio | 在浏览器中打开 Claude FM lo-fi 电台 |
/scroll-speed | 交互式调整鼠标滚轮速度 |
/stickers | 订购 Claude Code 贴纸 |
/terminal-setup | 配置终端快捷键(Shift+Enter 等) |
/privacy-settings | 查看和更新隐私设置(Pro/Max) |
Context(上下文 & 费用)
| 命令 | 说明 |
|---|---|
/context | 可视化上下文使用 |
/usage | 会话费用和用量(/cost, /stats) |
/usage-credits | 配置用量额度 |
/insights | 使用模式分析报告 |
/status | 版本、模型、账户状态 |
Extensions(扩展)
| 命令 | 说明 |
|---|---|
/agents | 管理代理配置 |
/mcp | 管理 MCP 服务器 |
/plugin | 管理插件 |
/reload-plugins | 重载所有活跃插件(无需重启) |
/reload-skills | 重新扫描技能/命令目录 |
/skills | 列出可用技能(按 t 排序 token 数) |
/hooks | 查看钩子配置 |
/ide | 管理 IDE 集成 |
/chrome | Chrome 设置 |
/memory | 编辑 CLAUDE.md 和自动记忆 |
Project(项目)
| 命令 | 说明 |
|---|---|
/init | 初始化项目 CLAUDE.md |
/diff | 交互式 diff 查看器 |
/review | 本地 PR 审查 |
/ultrareview [PR] | 云端深度多代理审查 |
/security-review | 安全漏洞分析 |
/add-dir <path> | 添加工作目录 |
/team-onboarding | 生成团队入职指南 |
Remote(远程 & 自动化)
| 命令 | 说明 |
|---|---|
/teleport | 拉取 web 会话到本地(别名 /tp) |
/remote-control | 远程控制会话(别名 /rc) |
/schedule | 创建/管理定时任务(别名 /routines) |
/desktop | 在 Desktop 应用继续(别名 /app) |
/mobile | 下载移动 App(别名 /ios, /android) |
/autofix-pr | 自动修复 PR CI 失败 |
/remote-env | 配置默认远程环境 |
/web-setup | 用 gh CLI 连接 GitHub 到 web |
/install-github-app | 设置 GitHub Actions 应用 |
/install-slack-app | 安装 Slack 应用 |
Debug & Auth
| 命令 | 说明 |
|---|---|
/doctor | 环境诊断(按 f 自动修复) |
/login | 登录 Anthropic 账户 |
/logout | 登出 |
/setup-bedrock | 配置 Bedrock 认证(需环境变量) |
/setup-vertex | 配置 Vertex AI 认证(需环境变量) |
/upgrade | 升级到更高计划 |
/help | 帮助信息 |
/feedback | 提交反馈或报告 Bug(别名 /bug, /share) |
/heapdump | 导出 JS 堆快照到 ~/Desktop |
/powerup | 交互式功能探索课程 |
/release-notes | 交互式查看更新日志 |
/tasks | 管理后台任务(别名 /bashes) |
Export(导出)
| 命令 | 说明 |
|---|---|
/copy [N] | 复制最近响应到剪贴板(N=第几条) |
/export [文件名] | 导出对话为纯文本 |
子命令(终端直接运行)
| 命令 | 说明 |
|---|---|
claude | 启动交互 REPL |
claude "问题" | 带初始提示启动 |
claude agents | 列出已配置代理 |
claude auth | 管理身份验证 |
claude install | 安装或切换原生构建 |
claude remote-control | 管理远程控制会话 |
claude doctor | 命令行诊断 |
claude mcp | 配置 MCP(add/remove/list/get/enable) |
claude plugin | 管理插件 |
claude setup-token | 创建长效令牌 |
claude update | 更新版本 |
CLI Flags(16 类)
完整 CLI 启动参数 速查,按功能分类。
Session Management(会话)
| Flag | 短 | 说明 |
|---|---|---|
--continue | -c | 继续最近对话 |
--resume | -r | 按 ID/名称恢复会话 |
--from-pr | 恢复关联 PR 的会话 | |
--fork-session | 恢复时创建新会话 ID | |
--session-id | 指定会话 UUID | |
--no-session-persistence | 禁用会话持久化(仅 print 模式) | |
--remote | 创建 claude.ai Web 会话 | |
--teleport | Web 会话转到本地终端 |
Model & Configuration(模型)
| Flag | 说明 |
|---|---|
--model <NAME> | 设置模型(sonnet/opus/haiku 或完整 ID) |
--fallback-model | 主模型过载时的回退(print 模式) |
--betas <LIST> | Beta 功能头(API key 用户) |
Permissions & Security(权限)
| Flag | 说明 |
|---|---|
--dangerously-skip-permissions | 跳过所有权限提示(极慎用) |
--allow-dangerously-skip-permissions | 允许跳过权限(不激活,仅开启选项) |
--permission-mode <MODE> | 权限模式:default/plan/acceptEdits/bypassPermissions |
--permission-prompt-tool <TOOL> | 非交互模式下用 MCP 工具处理权限提示 |
--allowedTools | 免确认工具列表 |
--disallowedTools | 完全移除的工具 |
--tools | 限制可用工具集 |
Output & Format(输出)
| Flag | 短 | 说明 |
|---|---|---|
--print | -p | 非交互 / headless 模式 |
--output-format | text / json / stream-json | |
--input-format | text / stream-json | |
--json-schema | 输出匹配 JSON Schema(print 模式) | |
--verbose | 详细日志 | |
--include-partial-messages | 包含流式部分事件(需 --print + stream-json) |
System Prompt(系统提示)
| Flag | 说明 |
|---|---|
--system-prompt <TEXT> | 替换整个系统提示 |
--system-prompt-file <PATH> | 从文件加载系统提示 |
--append-system-prompt <TEXT> | 追加到默认提示 |
--append-system-prompt-file <PATH> | 从文件追加提示 |
Agent & Subagent(代理)
| Flag | 说明 |
|---|---|
--agent <NAME> | 指定代理 |
--agents <JSON> | 动态定义子代理 |
--teammate-mode <MODE> | 代理显示:auto/in-process/tmux |
MCP & Plugins
| Flag | 说明 |
|---|---|
--mcp-config <PATH|JSON> | 加载 MCP 服务器配置 |
--strict-mcp-config | 仅用指定 MCP 配置 |
--plugin-dir <PATH> | 加载插件目录(可重复) |
Directory & Workspace
| Flag | 说明 |
|---|---|
--add-dir <PATH> | 添加工作目录 |
--worktree / -w | 隔离 worktree 启动 |
Budget & Limits
| Flag | 说明 |
|---|---|
--max-budget-usd | 最大费用(print 模式) |
--max-turns | 最大轮数(print 模式) |
Integration
| Flag | 说明 |
|---|---|
--chrome / --no-chrome | 浏览器集成开关 |
--ide | 自动连接 IDE |
Initialization & Maintenance
| Flag | 说明 |
|---|---|
--init | 运行初始化钩子并启动交互模式 |
--init-only | 运行初始化钩子后退出(不进入交互) |
--maintenance | 运行维护钩子后退出 |
Debug & Settings Override
| Flag | 说明 |
|---|---|
--debug <CATS> | 调试分类(如 "api,hooks") |
--settings <PATH|JSON> | 覆盖设置 |
--setting-sources <LIST> | 指定加载来源:user,project,local |
--disable-slash-commands | 禁用所有技能和斜杠命令 |
Version & Help
| Flag | 短 | 说明 |
|---|---|---|
--version | -v | 输出版本号 |
--help | -h | 显示帮助 |
环境变量
启动环境变量(shell 设置)
| 变量 | 说明 |
|---|---|
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 | 启用实验性 Agent Teams |
CLAUDE_CODE_TMPDIR | 覆盖临时文件目录 |
DISABLE_AUTOUPDATER=1 | 禁用自动更新 |
CLAUDE_CODE_EFFORT_LEVEL | 控制推理深度 |
USE_BUILTIN_RIPGREP=0 | 使用系统 ripgrep(Alpine) |
CLAUDE_CODE_SIMPLE | 简单模式(仅 Bash + Edit) |
CLAUDE_BASH_NO_LOGIN=1 | 跳过 login shell |
CCR_FORCE_BUNDLE=1 | 强制捆绑上传(--remote) |
认证 & 模型 & Provider
| 变量 | 说明 |
|---|---|
ANTHROPIC_API_KEY | API 密钥(直接认证) |
ANTHROPIC_AUTH_TOKEN | OAuth token |
CLAUDE_CODE_USE_BEDROCK=1 | 使用 AWS Bedrock |
CLAUDE_CODE_USE_VERTEX=1 | 使用 Google Vertex |
CLAUDE_CODE_MODEL | 默认模型 ID |
CLAUDE_CODE_SMALL_FAST_MODEL | 快速/小型模型 ID |
MAX_THINKING_TOKENS | 最大思考 token 数 |
沙盒 & 安全 & 性能
| 变量 | 说明 |
|---|---|
CLAUDE_CODE_SANDBOX_MODE | 沙盒模式(docker/macOS/docker-arm) |
CLAUDE_CODE_MAX_TURNS | 默认最大轮数 |
CLAUDE_CODE_ENABLE_TASKS=1 | 启用任务系统 |
CLAUDE_CODE_DISABLE_BACKGROUND_TASKS=1 | 禁用后台任务 |
CLAUDE_CODE_USE_POWERSHELL_TOOL | 启用 PowerShell 工具 |
CLAUDE_CODE_SHELL | 自定义 shell 路径 |
显示 & MCP & 插件 & 遥测
| 变量 | 说明 |
|---|---|
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1 | 禁用非必要网络请求 |
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1 | 禁用实验性 beta |
CLAUDE_MCP_TIMEOUT | MCP 工具超时(ms) |
CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1 | 加载额外目录 CLAUDE.md |
CLAUDE_CODE_SKIP_DOCTOR_CHECK | 跳过启动诊断 |
CLAUDE_CODE_NO_ATTRIBUTION=1 | 跳过提交归属 |
配置模板
CLAUDE.md 模板
# 项目名称
## 技术栈
- 前端:React + TypeScript
- 后端:Node.js + Express
## 编码规范
- 文件命名:kebab-case
- 组件:函数式 + hooks
- 测试:Vitest
## 约束
- 不要使用 any 类型
- 不要跳过测试
- API 必须错误处理
.claude/settings.json 模板
{
"permissions": {
"allow": ["Bash(npm run *)","Bash(git status)","Read","Grep","Glob"],
"deny": ["Bash(rm -rf *)","Bash(git push --force)"]
}
}
Agent 定义模板
---
name: my-agent
description: 执行特定任务
tools: "Bash,Read,Write,Edit,Grep"
model: sonnet
maxTurns: 20
memory: project
---
# My Agent
1. 读取相关文件
2. 分析代码
3. 实施变更
4. 验证结果
Skill 定义模板
---
name: my-skill
description: 做什么
arguments: filename
allowed-tools: "Read,Write,Edit"
paths: "src/**/*.ts"
---
处理 $filename:
1. 读取 → 2. 转换 → 3. 写回
工作流速查
/rpi:research REQUEST.md- 检查 GO/NO-GO
/rpi:plan feature-name/rpi:implement feature-name
- Claude Code Plan Mode
- Codex CLI QA 审查
- Claude Code 实施
- Codex CLI 验证
/plan规划- 确认方案
- 实施
/code-review审查/verify验证
/doctor检查/debug调试/undo回退/compact清理