教程

Claude Code 官方最佳实践完全指南:Anthropic 工程团队总结的 25 条黄金法则

Anthropic 官方 Best Practices 完整整理:核心约束(上下文管理);给 Claude 可验证标准(最高杠杆);探索→规划→实现→提交四步流程;精准提示 4 策略;丰富上下文输入方式;CLAUDE.md 有效写法(含 ✅/❌ 清单和 @ 引入语法);权限预设;CLI 工具配置;MCP 服务器选择;Hooks 自动化;Skills vs CLAUDE.md 选择;高效沟通技巧;会话管理(提前纠正/激进 /compact/Subagent 调研);以及非交互模式和多 Session 并行的规模化技巧。

2026/5/89分钟 阅读ClaudeEagle

这是 Anthropic 官方文档 Best Practices 页面的完整整理,来自 Anthropic 内部工程团队和大量真实用户经验的总结。涵盖从环境配置到大规模自动化的全套黄金法则,是最权威的 Claude Code 使用指导。


核心约束:理解上下文窗口

所有最佳实践都基于同一个约束:上下文窗口填满得很快,填满后性能下降。

Claude 的上下文窗口保存完整对话——每条消息、每次文件读取、每条命令输出。一次调试会话或代码库探索可能消耗数万 Token。

上下文快满时的症状:Claude 开始"忘掉"早期指令,错误率上升,回答质量下降。

解决思路:主动管理上下文,不要被动等待降级。


一、给 Claude 提供可验证标准(最高杠杆)

这是所有实践里影响最大的单一改变。

当 Claude 能自己验证工作结果时(运行测试、对比截图、检查输出),表现会显著提升。没有验证标准,Claude 可能产出看起来正确但实际有问题的结果,你成为唯一的反馈循环。

策略模糊指令精确指令
提供验证标准"实现一个邮件验证函数""写 validateEmail 函数。测试用例:user@example.com→true, invalid→false, user@.com→false。实现后运行测试"
可视化验证 UI 变更"把仪表盘做好看一点""[粘贴截图] 实现这个设计。截图对比原设计,列出差异并修复"
解决根本原因"构建失败了""构建报这个错误:[粘贴错误]。修复它并验证构建成功。解决根本原因,不要压制错误"

验证可以是测试套件、Linter、Bash 命令,或者 Claude for Chrome 扩展(直接在浏览器里测试 UI)。投资在让验证本身更可靠上。


二、探索 → 规划 → 实现 四步流程

让 Claude 直接跳到编码,可能解决了错误的问题。用 Plan Mode 分离探索和实现。

推荐的四个阶段

阶段 1:探索(Plan Mode 只读)

读取 /src/auth,理解我们如何处理会话和登录。 也看看我们如何管理 secrets 的环境变量。

阶段 2:规划(Plan Mode)

我想添加 Google OAuth。哪些文件需要修改? 会话流程是什么?创建一个实现计划。

Ctrl+G 在外部编辑器里打开计划,可以直接编辑后再让 Claude 执行。

阶段 3:实现(退出 Plan Mode)

按照计划实现 OAuth 流程。为 callback handler 写测试, 运行测试套件并修复所有失败。

阶段 4:提交

用描述性的 commit 消息提交,创建 PR

什么时候跳过规划:任务范围清晰、修改很小(改个变量名、加一行日志)时,直接实现。规划适合:不确定方案、修改跨多个文件、不熟悉被修改的代码。


三、精准提示的四个策略

策略模糊精准
限定范围"给 foo.py 加测试""为 foo.py 写测试,覆盖用户已登出时的边界情况,避免 mock"
指向信息来源"为什么 ExecutionFactory 的 API 这么奇怪?""查看 ExecutionFactory 的 git 历史,总结其 API 演变过程"
引用已有模式"添加日历组件""看 home page 上现有 widget 的实现(HotDogWidget.php 是好例子),按照这个模式实现一个允许用户选择月份的新日历 widget"
描述症状"修复登录 Bug""用户反馈会话超时后登录失败。检查 src/auth/ 里的认证流程,特别是 token 刷新。先写一个能复现问题的失败测试,然后修复"

模糊提示也有价值:在探索阶段,"你会改进这个文件的什么?"这样的开放问题能发现你没想到的问题。


四、丰富上下文输入

  • @ 引用文件:Claude 在回答前先读取文件,比描述"在某个文件里"更精确
  • 直接粘贴图片:复制粘贴或拖拽图片到输入框
  • 给 URL:文档和 API 参考直接给链接,用 /permissions 设置常用域名白名单
  • 管道传数据cat error.log | claude 直接发送文件内容
  • 让 Claude 自己拉取:告诉 Claude 通过 Bash 命令、MCP 工具或读文件来获取所需上下文

五、写好 CLAUDE.md(环境配置最高优先级)

运行 /init 自动生成基础 CLAUDE.md,然后持续精化。

好的 CLAUDE.md 模板

markdown
# Code style
- 使用 ES modules (import/export),不用 CommonJS (require)
- 尽量解构导入(eg. import { foo } from 'bar')

# Workflow
- 做完一系列代码修改后记得做类型检查
- 优先运行单个测试,不要跑整个测试套件(为了性能)

什么该放

✅ 放入❌ 排除
Claude 猜不到的 Bash 命令Claude 读代码就能推断的内容
与默认不同的代码风格规则语言的标准约定
测试指令和首选测试运行器详细 API 文档(链接代替)
仓库规范(分支命名、PR 约定)频繁变化的信息
项目特有的架构决策逐文件的代码库描述
开发环境的特殊要求"写整洁的代码"这类不言而喻的规范

CLAUDE.md 太长的信号

  • Claude 持续做你不想要的事,尽管有规则
  • Claude 问了 CLAUDE.md 已经回答的问题

@path/to/file 语法引入其他文件,保持 CLAUDE.md 简洁:

markdown
查看 @README.md 了解项目概览,@package.json 了解可用的 npm 命令。

# 额外指令
- Git 工作流:@docs/git-instructions.md

六、精确设置权限

预设允许/拒绝列表,避免每次被询问:

json
// .claude/settings.json
{
  "permissions": {
    "allow": [
      "Read",
      "Bash(git *)",
      "Bash(npm run *)",
      "Bash(docker compose *)"
    ],
    "deny": [
      "Bash(rm -rf *)"
    ]
  }
}

或通过 CLI:

bash
claude --allowedTools "Read,Bash(git *)"
claude --disallowedTools "Bash(rm:*),Bash(sudo:*)"

七、善用 CLI 工具

把常用 CLI 工具放到 CLAUDE.md 里,Claude 就会在合适时机调用它们:

markdown
## 可用工具
- `gh` - GitHub CLI(用于 PR、Issues、CI 状态)
- `jq` - JSON 处理
- `ripgrep (rg)` - 比 grep 快的搜索工具
- `fd` - 更好的 find 替代

八、连接 MCP 服务器

MCP 服务器给 Claude 额外的工具和上下文,比描述数据结构更直接:

bash
# 在 Claude Code 内运行
claude mcp add postgres \
  --command "npx" \
  --args '["-y","@modelcontextprotocol/server-postgres"]' \
  --env "DATABASE_URL=postgresql://..."

最有价值的 MCP 服务器:PostgreSQL(直接查询数据库)、GitHub(PR 和 Issue 管理)、Brave Search(实时网页搜索)。

注意 Token 开销:每个 MCP 服务器的工具目录都会计入每次请求的上下文,只安装真正使用的。


九、设置 Hooks 实现自动化

Hooks 在特定事件时自动运行:

json
{
  "hooks": {
    "PostToolUse": [{
      "matcher": "Write|Edit",
      "hooks": [{
        "type": "command",
        "command": "npm run lint --fix 2>/dev/null || true"
      }]
    }]
  }
}

常用场景:文件修改后自动 lint、commit 前强制测试、Auto Mode 拒绝时发通知。


十、创建 Skills(按需加载的工作流模板)

Skills 在需要时加载到上下文,不会像 CLAUDE.md 一样每次都占用 Token:

markdown
<!-- ~/.claude/skills/deploy-check/SKILL.md -->
---
description: 部署前检查清单
---

部署前必须验证:
1. 所有测试通过
2. 无 TODO 注释残留在核心路径
3. 环境变量已设置
4. 数据库迁移已准备好

CLAUDE.md vs Skills 的选择

  • 每次会话都需要 → CLAUDE.md
  • 特定场景下才需要 → Skills

十一、安装插件(Plugins)

插件是 MCP 服务器,给 Claude 新工具:

bash
# 从 Marketplace 安装
claude plugin install @anthropic-ai/skill-creator

# 从 URL 安装(v2.1.129 新增)
claude --plugin-url https://example.com/my-plugin.zip

最值得安装的插件:Firecrawl(网页抓取)、Playwright(浏览器自动化)、官方 Skill Creator(创建新 Skills)。


十二、高效沟通技巧

让 Claude 先问问题

在开始实现前,先问我所有你需要的信息,然后再开始

问代码库问题

Claude 擅长探索你自己都不熟悉的代码库:

这个模块的架构思路是什么? 这里有什么已知的陷阱吗? 为什么这段代码这样设计?

十三、会话管理

提前纠正方向

在会话进行到深处时纠偏成本很高。当看到 Claude 走偏:

  • 立即打断(Ctrl+C
  • 描述你想要的结果,而不是纠正过程
  • 让 Claude 重新规划

激进管理上下文

/compact # 每 30-40 条消息主动运行 /clear # 完全切换任务时 /compact 保留:正在修改 auth.ts 的 JWT 验证逻辑,还需处理 refresh token

用 Subagents 做调研

让调研任务在独立上下文里运行,结果不污染主会话:

> 用 subagent 探索 src/api/ 的所有路由,汇报结构和各路由的用途

Checkpoints 和 Rewind

双击 Escape 回退到上一个 Checkpoint。大胆实验,随时撤销。

恢复会话

bash
claude -c           # 继续最近一次会话
claude -r "名称"    # 恢复指定名称的会话

十四、自动化和规模化

bash
git diff main | claude -p "检查安全问题"
cat error.log | claude -p "分析这个崩溃的原因"
claude -p "列出所有 TODO 注释" --output-format json

多个并行 Claude 会话

bash
# 在不同目录用多个终端窗口/tmux pane
# 或用 git worktree 分离工作区
claude -w feature-a  # Terminal 1
claude -w feature-b  # Terminal 2

跨文件扩展(/batch)

/batch 把 src/ 下所有 .js 文件里的 var 改为 const 或 let

Auto Mode 自主运行

bash
claude --permission-mode auto

分类器自动决定安全操作直接允许、风险操作阻断。替代 --dangerously-skip-permissions 的更安全选项。


十五、避免常见失败模式

失败模式正确做法
等 Claude 完成再发现方向错了提前规划,Plan Mode 先探索
对话越来越长却不清理主动 /compact,任务切换用 /clear
CLAUDE.md 越写越长定期审查,删掉不必要的规则
把所有信息放 CLAUDE.md常用的放 CLAUDE.md,场景化的放 Skills
使用太多 MCP 服务器只安装实际用到的
直接用 --dangerously-skip-permissions用 Auto Mode 替代

来源:Claude Code 官方 Best Practices 文档 | 整理:ClaudeEagle

相关文章推荐

教程Claude Code Plan Mode 深度指南:用「先想再做」模式彻底消灭 AI 蝴蝶效应Claude Code Plan Mode 完整指南:蝴蝶效应是什么以及为什么危险、Plan Mode 工作原理、什么时候用什么时候不用的详细清单、采访模式大功能必用流程、Plan Mode + 新 Session 黄金组合,以及完整的限流功能实现案例演示。2026/4/18教程Claude Code Sub-agents 官方完整指南:内置 Agent、自定义配置、并行模式和 Fork 会话Claude Code Sub-agents 官方文档完整整理:解决的核心问题(保护上下文/成本控制);三个内置 Sub-agent(Explore/Plan/General-purpose 及各自模型和工具);/agents 创建流程(界面/描述生成/工具选择/持久内存配置);完整 Frontmatter 字段参考;模型选择策略(Haiku 探索→Sonnet 审查→Opus 复杂任务);MCP 服务器限定到 Sub-agent;自动委托 vs 显式调用;前台/后台运行;隔离高容量/并行调研/链式 Sub-agent 三种模式;Fork 会话(与命名 Sub-agent 的区别);以及 4 个官方示例配置。2026/5/8教程Claude Code 自定义 Agents 完整指南:创建专用 AI 编程助手Claude Code 自定义 Agents 完整指南:Agent 定义文件格式(Frontmatter 字段:name/description/tools/permissionMode/model/effort/context);4 种调用方式(/agents 界面/--agent CLI/对话提及/Print 模式自动化);4 个实战 Agent 配置(安全审查员/数据库优化顾问/无障碍合规检查/TypeScript 类型安全/CI 失败分析师);skillOverrides 控制可见性;context: fork 独立上下文;以及在 GitHub Actions 里使用 Agent 的 CI 配置示例。2026/5/7教程Claude Code Remote Control 完整指南:用浏览器界面控制本地终端会话Claude Code Remote Control 完整指南:取本地权限和云端 UI 两者之长;两种启用方式(--remote-control 标志和 /remote-control 命令);4 个核心使用场景(手机远程审查/向同事展示/大屏查看长输出/配合 /diff 可视化);与 Ultraplan/Ultrareview 的互斥关系;/teleport 反向操作(把 Web/iOS 会话拉回本地);/desktop 移交到桌面应用;以及安全注意事项。2026/5/7教程Claude Code Hooks 完全实战指南:自动化你的编码工作流Claude Code Hooks 完整实战指南:6 种 Hook 事件类型(PreToolUse/PostToolUse/PreCompact/PermissionDenied/Stop/SubagentStop);8 个完整配置示例(文件修改后自动 lint+格式化/TypeScript 类型检查/git commit 前强制测试/危险命令阻断/Auto Mode 拒绝通知/MCP 工具调用/PreCompact 快照/条件 hooks);Hook 脚本环境变量说明;以及 5 个最佳实践(|| true 防误报/输出简洁/脚本快速/exit 1 明确阻断/逻辑放独立脚本)。2026/5/6教程Claude Code Ultraplan 完整指南:云端规划 + 本地执行的全新工作流Ultraplan 官方完整使用指南:三种触发方式(/ultraplan 命令/关键词/从本地 Plan 升级);终端三种状态指示器(researching/needs input/ready);浏览器审阅界面(内联评论/Emoji 反馈/章节导航);两种执行方案(云端直接执行创建 PR/传送回本地 Terminal 的三选项);Ultraplan vs 本地 Plan vs Ultrareview 对比;以及 5 个实战技巧(先澄清/评论要具体/大任务才用/加约束/保存计划文件)。2026/5/6