一、先思考,再动手

先思考再动手:正确方式 vs 错误方式
大多数人拿到 Claude Code 的第一反应就是开始打字。但这恰恰是最大的错误。
你要做的第一件事是:思考。
使用 Plan Mode(按两次 Shift + Tab 进入)的输出质量,远远超过直接开始对话。这不是微小的差距,而是质的飞跃。
如果你缺乏架构经验,有两个建议:
- 1. 开始学习:哪怕每次只学一点,长期下来也是巨大的优势
- 2. 与 LLM 深度对话:先用 ChatGPT/Gemini/Claude 讨论你要构建的东西,让它列出各种系统设计方案,你们双向提问,最终达成共识
架构的重要性
模糊的输入 = 模糊的输出。对比一下:
| 差的提示词 | 好的提示词 |
|---|---|
| ”帮我建一个认证系统" | "使用现有的 User 模型构建邮箱/密码认证,用 Redis 存储 session 并设置 24 小时过期,添加中间件保护 /api/protected 下的所有路由” |
Plan Mode 花 5 分钟,能省你几个小时的调试时间。
二、用好 CLAUDE.md
CLAUDE.md 是你项目的”新员工入职手册”。每次开启对话,Claude 都会先读它。
写好 CLAUDE.md 的四个原则
1. 保持简短
Claude 一次能可靠遵循约 150-200 条指令,而系统提示词已经占了约 50 条。你的 CLAUDE.md 不能是一本小说,否则 Claude 会随机忽略内容。
2. 只写项目特有的内容
不需要解释”什么是 components 文件夹”。Claude 知道。告诉它那些奇怪的、项目特有的东西——比如关键的 bash 命令、独特的工作流。
3. 说”为什么”,而不只是”做什么”
| 一般 | 更好 |
|---|---|
| ”使用 TypeScript strict 模式" | "使用 TypeScript strict 模式,因为我们曾因隐式 any 类型出过生产事故” |
给出原因后,Claude 在面对你没预料到的情况时,也能做出更好的判断。
4. 持续更新
在对话中按 # 键,Claude 会自动向 CLAUDE.md 添加指令。每次你发现自己在纠正 Claude 同一个错误两次,就该把它写进去。

CLAUDE.md 四大核心原则
差的 CLAUDE.md 像写给新员工的文档。好的 CLAUDE.md 像你知道明天会失忆时给自己留的笔记。
三、理解上下文窗口的局限

上下文窗口质量退化曲线
Opus 4.5 有 200K token 的上下文窗口,但关键是:质量在使用到 20-40% 时就开始下降,远在窗口耗尽之前。
这就是为什么有时 /compact 压缩后输出仍然很差——模型在压缩前已经退化了。
应对策略

上下文管理四大策略
策略一:限定对话范围
一个对话只做一件事。不要在同一个对话里既构建认证系统又重构数据库层。上下文会互相污染。
策略二:使用外部记忆
让 Claude 把计划和进度写入文件(如 SCRATCHPAD.md 或 plan.md)。这些文件跨会话持久化,明天回来时 Claude 能接着干。
策略三:复制-粘贴重置法(核心技巧)
当上下文膨胀时:
-
- 从终端复制所有重要内容
-
- 运行
/compact获取摘要
- 运行
- 3.
/clear完全清空上下文 -
- 只粘贴回关键信息
新鲜的上下文 + 关键信息 = 远好于让 Claude 在退化的上下文中挣扎。
策略四:敢于清空
/clear 后 Claude 仍然有你的 CLAUDE.md,你不会丢失项目上下文。十次里有九次,清空重来比硬撑更好。
核心心智模型:Claude 是无状态的。每次对话从零开始,除了你显式提供的内容。据此规划。
四、提示词就是一切
人们花几周学框架和工具,却完全不花时间学习如何与生成代码的 AI 沟通。

提示词质量对比:模糊输入 vs 精确输入
实用的提示技巧
1. 具体说明你要什么
给 Claude 一个清晰的目标,而不是创造性发挥的空间。
2. 告诉它”不要做什么”
Claude(尤其是 4.5 版本)倾向于过度工程——多余的文件、不必要的抽象。明确说”保持简单,不要添加我没要求的抽象,尽量一个文件搞定。”
3. 给出”为什么”的上下文
- • “这个需要很快,因为每个请求都会执行它” → 改变 Claude 的优化方向
- • “这是原型,以后会扔掉” → 改变 Claude 的取舍策略
4. 始终交叉验证
AI 是来加速我们的,不是完全替代我们的。Claude 仍会犯错。能识别这些错误,才是真正解决问题的关键。
记住:输出 = f(输入)。如果输出很差,那是输入的问题。
五、模型选择与切换策略
如果你用好模型还是得到差输出,问题在于你的提示方式,不在模型。
Sonnet vs Opus
| 特性 | Sonnet | Opus |
|---|---|---|
| 速度 | 更快 | 更慢 |
| 成本 | 更低 | 更高 |
| 适合场景 | 执行类任务:写模板代码、按计划重构、实现已确定架构的功能 | 复杂推理、规划、需要深度思考权衡的任务 |
推荐工作流

Opus + Sonnet 协作工作流
用 Opus 做规划和架构决策,然后切换到 Sonnet(在 Claude Code 中按 Shift+Tab)做实现。 CLAUDE.md 确保两个模型在相同约束下运行,切换是无缝的。
六、善用 MCP、Hooks 和自定义命令

Claude Code 工具生态三大组件
MCP(模型上下文协议)
让 Claude 连接外部服务:Slack、GitHub、数据库、API。如果你总是手动从某处复制信息粘贴给 Claude,很可能有个 MCP Server 能自动完成。
Hooks
在 Claude 修改前后自动运行代码:
- • 每次文件修改后自动运行 Prettier 格式化
- • 每次编辑后自动类型检查
- • 每一定行数后自动清理代码,减少技术债务
自定义斜杠命令
创建 .claude/commands 文件夹,添加 markdown 文件即可。适合重复性任务:调试、审查、部署等。
七、Skills:让 Claude 掌握专业技能
Skills(技能)是 Claude Code 最强大但最被低估的功能。如果说 CLAUDE.md 是给 Claude 的”入职手册”,那么 Skills 就是给它的专业培训课程——可复用、可分享、可组合的模块化指令集。
什么是 Skills?
Skills 是自包含的指令目录,教 Claude 如何完成特定的专业任务。每个 Skill 至少包含一个 SKILL.md 文件(YAML 元数据 + Markdown 指令),还可以包含模板、脚本、参考文档等资源文件。
Skills 遵循 Agent Skills 开放标准(agentskills.io),不仅适用于 Claude Code,也适用于 Claude.ai、Claude API 和 Claude Agent SDK。OpenAI 的 Codex CLI 也采用了同一标准。
自 Claude Code v2.1.3 起,Skills 和自定义斜杠命令已合并为统一系统。
.claude/commands/review.md和.claude/skills/review/SKILL.md都会注册为/review命令,效果相同。
目录结构
.claude/skills/my-skill/├── SKILL.md # 核心指令文件(必需)├── references/ # 按需加载的参考文档│ └── api-docs.md├── scripts/ # Claude 可执行的脚本│ └── validate.sh├── templates/ # 输出模板│ └── report.md└── assets/ # 资源文件(不加载到上下文) └── logo.pngSKILL.md 格式
---name: code-reviewdescription: > 审查代码变更,检查 bug、安全漏洞和代码质量。 当用户说"审查代码"、"review"、"检查 PR"时使用。user-invocable: trueallowed-tools: Read, Grep, Bash(git diff *)---
# 代码审查指令
## 审查步骤1. 读取变更文件列表2. 逐文件检查逻辑错误和安全问题3. 输出结构化报告
## 审查重点- SQL 注入、XSS 等安全漏洞- 边界条件和错误处理- 性能影响三级渐进加载
这是 Skills 的关键架构设计——不是所有内容都会占用上下文窗口:
| 层级 | 加载时机 | Token 开销 | 内容 |
|---|---|---|---|
| Level 1:元数据 | 启动时自动加载 | ~100 tokens/技能 | name + description |
| Level 2:指令 | 触发时加载 | <5000 tokens | SKILL.md 正文 |
| Level 3:资源 | 按需加载 | 无上限 | 脚本直接执行,参考文档按需读取 |
这意味着你可以安装几十个 Skills 而不会拖垮上下文窗口。Claude 只在需要时才加载完整指令。
Skills 的存放位置
| 位置 | 路径 | 作用域 |
|---|---|---|
| 个人级 | ~/.claude/skills/ | 所有项目共享 |
| 项目级 | .claude/skills/ | 仅当前项目 |
| 企业级 | 组织托管设置 | 全组织统一 |
个人级技能适合放通用工具(如代码审查、文档生成),项目级技能适合放项目特有的工作流。
调用方式
Skills 有两种触发方式:
| 配置 | 用户 /调用 | Claude 自动调用 |
|---|---|---|
| 默认 | 可以 | 可以(根据 description 匹配) |
disable-model-invocation: true | 可以 | 不可以(适合有副作用的操作) |
user-invocable: false | 不可以 | 可以(适合后台知识补充) |
Claude 的技能选择完全依赖自然语言理解——没有算法路由或 Embedding 匹配,而是 Claude 阅读所有技能的 description,用推理能力判断哪个技能适用。
官方与社区生态
Anthropic 提供了官方技能仓库(GitHub Stars 6.9 万+),社区生态也在快速发展:
| 来源 | 内容 |
|---|---|
| anthropics/skills | 官方:文档技能(PPTX/XLSX/DOCX/PDF)、示例技能、skill-creator 元技能 |
| awesome-claude-skills | 社区精选列表:TDD、调试、浏览器自动化、数据可视化等 |
| SkillsMP | 社区市场:20 万+可搜索的 Agent Skills |
| obra/superpowers | 20+ 实战技能:测试驱动开发、系统调试、代码审查、Git 工作流等 |
安装官方技能:
# 通过插件系统安装/plugin marketplace add anthropics/skills/plugin install document-skills@anthropic-agent-skills编写好 Skills 的原则
| 原则 | 说明 |
|---|---|
| 精简优先 | SKILL.md 控制在 500 行以内,详细参考放 references/ |
| Description 写好触发词 | 这是 Claude 匹配技能的唯一依据,要包含用户可能说的关键词 |
| 控制自由度 | 关键操作用具体脚本(低自由度),创意任务用文字描述(高自由度) |
| 有副作用的操作加锁 | 部署、发布、发消息等操作设置 disable-model-invocation: true |
善用 allowed-tools | 限制技能可用的工具,防止意外操作 |
Skills 的本质是把你反复告诉 Claude 的事情固化下来,让它变成可复用的”肌肉记忆”。 每次你发现自己在给 Claude 重复同样的指令,就该写一个 Skill。
八、当 Claude 卡住时怎么办
Claude 有时会陷入循环——反复尝试同一种方法然后失败。这时候不要继续施压,而是改变方法:
- 1. 清空对话 —
/clear获得全新起点 - 2. 简化任务 — 拆成更小的独立步骤,逐个搞定再组合
- 3. 展示而非描述 — 自己写一个最小示例:“输出应该长这样,把这个模式应用到其他地方”
- 4. 换个角度 — 换一种框架描述问题(“实现成状态机” vs “处理这些转换”),可能打开新思路
核心技能:尽早识别你已进入循环。如果解释了三遍 Claude 还不理解,更多解释不会有帮助。改变策略。
九、构建系统,而非单次对话
真正发挥 Claude Code 价值的人,不是拿它做一次性任务,而是把它变成系统的一部分。
Headless 模式(-p 标志)
claude -p "你的提示词"运行提示词并直接输出结果,不进入交互界面。这意味着你可以:
- • 编写脚本调用
- • 管道输出到其他工具
- • 与 bash 命令链式组合
- • 集成到自动化工作流
企业级应用场景
- • 自动 PR 审查
- • 自动客服工单响应
- • 自动日志和文档更新
- • 所有操作可记录、可审计
飞轮效应

持续改进飞轮效应
Claude 犯错 → 你审查日志 → 改进 CLAUDE.md 或工具 → Claude 下次表现更好 → 持续积累,越来越强
如果你只在交互式界面使用 Claude,你还没释放它的全部价值。想想你的工作流中,哪些环节可以让 Claude 在后台自动运行。
总结
| 原则 | 要点 |
|---|---|
| 先思考再打字 | Plan Mode 产出远优于即兴输入 |
| 写好 CLAUDE.md | 简短、具体、说原因、持续更新 |
| 管理上下文 | 30% 就开始退化,善用外部记忆和清空重置 |
| 架构优先 | 跳过规划 = 输出质量差 |
| 提升输入质量 | 输出差 = 输入差,提升沟通能力 |
| 尝试所有工具 | MCP、Hooks、斜杠命令,保持好奇心 |
| 卡住时换方法 | 不要循环,清空、简化、展示、换角度 |
| 构建系统 | Headless 模式 + 自动化 + 持续改进 |