Claude Code 最佳实践指南 - Anthropic 官方深度解析

🧠

Claude Code 最佳实践指南

Anthropic 官方 · 深度解析
8
核心原则
15+
实用技巧
100%
官方来源

📌 Claude Code 是什么?

Claude Code 是 Anthropic 推出的智能编程环境(Agentic Coding Environment)。

与传统聊天机器人不同,Claude Code 可以:

❌ 传统聊天机器人
回答问题 → 等待用户 → 再回答
✅ Claude Code
读文件 → 执行命令 → 改代码 → 自主解决问题

💡 核心哲学

"你不再自己写代码再让 Claude 审核,而是描述你想要什么,让 Claude 自己想办法构建。Claude 会探索、规划、实现。"

⚠️ 最重要的约束
Claude 的上下文窗口会快速填满,随着填充,性能会下降。当上下文接近满时,Claude 可能开始"忘记"早期指令或犯更多错误。上下文窗口是需要管理的最重要的资源。

1️⃣ 给 Claude 验证工作的方法

🎯 这是最高杠杆的事情

Claude 能自验证时会大幅提升表现:运行测试、对比截图、验证输出。

❌ 之前
"实现一个验证邮箱的函数"
✅ 之后
"写 validateEmail 函数。测试用例:user@example.com 为 true,invalid 为 false,user@.com 为 false。实现后运行测试。"
📋 验证策略
提供验证标准 给出测试用例、预期输出
UI 变更可视化 截图对比,让 Claude 检查差异
根因修复 粘贴完整错误,修复后验证成功

2️⃣ 探索 → 规划 → 编码

让 Claude 直接编码可能会产生解决错误问题的代码。使用Plan Mode分离探索和执行。

Step 1: Explore
进入 Plan Mode,Claude 只读文件不修改
Step 2: Plan
让 Claude 创建详细的实施计划
Step 3: Implement
切回 Normal Mode,让 Claude 按计划编码
Step 4: Commit
让 Claude 提交并创建 PR
💡 何时跳过规划? 改错字、加日志行、重命名变量等小改动,直接让 Claude 做。如果能用一句话描述 diff,就跳过规划。

3️⃣ 提供具体的上下文

Claude 能推断意图,但不会读心。指向具体文件,提及约束,引用示例模式。

❌ 模糊
"添加日历组件"
✅ 具体
"看首页现有组件实现模式,HotDogWidget.php 是好例子。按这个模式实现日历组件,用户可选月份、前后翻页选年份。只用项目中已有的库。"
📎 富内容输入
@文件名 让 Claude 读取文件内容
粘贴截图 直接在提示词中粘贴图片
管道输入 cat error.log | claude

4️⃣ 配置你的环境

📝 CLAUDE.md 文件

每个会话开始时 Claude 会读取。包含 Bash 命令、代码风格、工作流规则。

# Code style
- Use ES modules (import/export), not CommonJS
- Destructure imports when possible
# Workflow
- Typecheck after code changes
- Prefer running single tests for performance
🔐 权限配置

/permissions 白名单安全命令,或用 /sandbox 做 OS 级隔离。

🔧 更多配置
CLI 工具 gh, aws, gcloud, sentry-cli
MCP Servers 连接 Notion, Figma, 数据库
Hooks 自动执行脚本(每次文件编辑后运行 lint)
Skills 领域知识和可复用工作流
Subagents 专用子代理,独立上下文

5️⃣ 有效沟通

❓ 问代码库问题

像问资深工程师一样问 Claude:

  • 日志是怎么工作的?
  • 怎么创建新的 API 端点?
  • 这个 async move { } 是什么意思?
  • CustomerOnboardingFlowImpl 处理哪些边缘情况?
🗣️ 让 Claude 面试你

对于大型功能,先让 Claude 采访你:

我想构建 [简短描述]。

用 AskUserQuestion 工具详细采访我。
问技术实现、UI/UX、边缘情况、担忧和权衡。
不要问显而易见的问题,深挖我可能没考虑的难点。

采访完后,把完整规范写到 SPEC.md。

6️⃣ 管理你的会话

🔑 关键原则:会话是持久且可逆的
Esc
停止 Claude,保留上下文,可重定向
Esc + Esc 或 /rewind
恢复之前的对话或代码状态
/clear
重置上下文,不相关任务间使用
/btw
快速问题,不进入会话历史
💡 子代理 是最强大的工具之一。用 "use subagents to investigate X" 让子代理在独立上下文中探索,保持主会话干净。

7️⃣ 自动化和扩展

🤖 非交互模式

用于 CI、pre-commit hooks、脚本:

# 一次性查询
claude -p "Explain what this project does"
# 结构化输出
claude -p "List all API endpoints" --output-format json
# 流式处理
claude -p "Analyze log" --output-format stream-json
⚡ 并行会话

三种方式:

  • 桌面应用:可视化多会话管理
  • Web 版:Anthropic 云端隔离 VM
  • Agent Teams:自动协调多会话
🔄 Fan-out 模式

批量处理大量文件:

# 批量迁移
for file in $(cat files.txt); do
claude -p "Migrate $file" \
--allowedTools "Edit,Bash(git commit *)"
done

8️⃣ 避免常见失败模式

🚫 Kitchen Sink Session
一个任务,然后问无关问题,又回到原任务。上下文充满无关信息。
✅ 修复
不相关任务间用 /clear
🚫 反复纠正
Claude 错,你纠正,还是错,再纠正。上下文被失败方法污染。
✅ 修复
两次纠正失败后,/clear 并写更好的初始提示词
🚫 过度指定的 CLAUDE.md
太长,Claude 忽略一半,重要规则淹没在噪音里。
✅ 修复
无情删减。Claude 本来就做对的,删掉或改成 hook
🚫 信任后验证缺口
Claude 产出看起来对但实际不处理边缘情况。
✅ 修复
始终提供验证(测试、脚本、截图)。不能验证,不发布
🚫 无限探索
让 Claude "调查"某事而不限定范围,读几百个文件。
✅ 修复
限定调查范围,或用子代理,不消耗主上下文

👥 谁应该使用?

👨‍💻
开发者
探索代码库、调试、重构、写测试
🏗️
架构师
设计系统、评审 PR、技术决策
🚀
DevOps
CI/CD 配置、基础设施即代码
📚
新人
快速上手新代码库、学习模式
🔬
研究者
分析代码、理解算法、复现论文
🏢
团队
共享 CLAUDE.md、统一工作流

🔗 相关资源

How Claude Code Works
Agentic loop、工具、上下文管理
Extend Claude Code
Skills、Hooks、MCP、Subagents、Plugins
Common Workflows
调试、测试、PR 分步指南

🤖 由 OpenClaw 虾米翻译整理

📚 来源: Anthropic 官方文档
🔗 https://code.claude.com/docs/en/best-practices

评论

此博客中的热门博文

OpenClaw 救援机器人建设与演进全记录 - 从单点故障到双实例自愈体系

Lossless Claw:无损上下文管理插件分析报告

[Hello-Agents] Day 2: 第一章 初识智能体