🏠 总目录 📚 资料库Claude Code 实践

Claude Code: Best Practices for Agentic Coding(Claude Code 智能体编码最佳实践)

📄 来自 Claude 官方博客
原文标题
Claude Code: Best Practices for Agentic Coding(Claude Code 智能体编码最佳实践)
原文链接
https://www.anthropic.com/engineering/claude-code-best-practices (现已迁移为在线文档:https://code.claude.com/docs/en/best-practices)
作者
Anthropic
⚠️ 本页是原文的中文结构化整理笔记(保留架构、数据、案例、结论),并非逐字翻译。具体参数与功能名更新很快,落地前请点击上方链接核对原文。

16 分钟 | ⭐⭐ 整个系列里最实用的一篇

🎯 一句话

最有价值的几条:用 CLAUDE.md 固化项目约定、先让它探索再让它动手、给它可运行的验证手段、小步提交。⭐ 核心思想是把你脑子里的隐性知识变成它能读到的显性文件

📑 本页目录

Claude Code 是一个智能体编码环境:你描述目标,Claude 自主探索、规划、实现。绝大多数最佳实践都源自一个约束:上下文窗口填得很快,且性能随之下降——上下文是最需要管理的资源。

一、给 Claude 一个能自己运行的验证手段

二、先探索、再规划、后编码(Explore → Plan → Code → Commit)

  1. 探索: 进入 plan mode,让 Claude 读文件、回答问题、不做修改
  2. 规划: 让 Claude 产出详细实现计划(Ctrl+G 可在编辑器中直接改计划)
  3. 实现: 退出 plan mode,按计划编码并对照验证
  4. 提交: 描述性 commit 信息并开 PR

注意:plan mode 有开销。改错字、加日志这类一句话能描述的 diff 直接做;规划适合方案不确定、跨多文件、不熟悉代码的场景。

三、提示词提供具体上下文

策略 差的提示 好的提示
限定范围 「给 foo.py 加测试」 「为 foo.py 写覆盖用户已登出边界情况的测试,不要用 mock」
指向信息源 「为什么这个 API 这么怪」 「翻 ExecutionFactory 的 git 历史并总结 API 的来龙去脉」
参照现有模式 「加个日历组件」 「参考首页现有 widget 的实现模式(HotDogWidget.php 是好例子)来实现」
描述症状 「修登录 bug」 「用户反映会话超时后登录失败;查 src/auth/ 尤其 token 刷新;先写复现的失败测试再修」

富上下文输入:@ 引用文件、直接粘贴截图、给文档 URL、cat error.log | claude 管道输入。

四、环境配置

CLAUDE.md

权限配置

三种减少打断的方式:auto mode(分类器审查命令,只拦可疑的)、权限允许清单npm run lintgit commit 等已知安全命令)、沙箱(OS 级隔离)

其他配置

五、有效沟通

六、会话管理

七、自动化与横向扩展

八、常见失败模式

失败模式 修复
大杂烩会话(多个无关任务混在一起) 任务间 /clear
反复纠正同一问题 两次失败后 /clear + 更好的初始提示词
过度膨胀的 CLAUDE.md 无情修剪;已经做对的指令删掉或转成 hook
信任但不验证 永远提供验证手段;无法验证就不要上线
无边界的调查 限定调查范围或交给子 Agent

结语

这些模式是起点而非铁律。有时该让上下文积累(深挖一个复杂问题时)、有时该跳过规划(探索性任务)、有时模糊提示词正合适(想看 Claude 如何理解问题)。留意什么有效,逐渐形成指南无法传授的直觉。


✅ 检查点

  1. CLAUDE.md 应该写什么、不该写什么?
  2. 为什么「先探索再动手」很重要?
  3. 哪些做法能显著提升单次任务的成功率?
👀 答案
  1. 该写:项目特有的约定(命名、目录结构、提交规范)、常用命令(怎么跑测试、怎么构建)、容易踩的坑和「不要这样做」的历史教训不该写:能从代码本身读出来的东西(文件列表、函数签名)、通用编程知识、会很快过时的细节。⭐ 判据:「这条信息它自己看代码能不能得到?」能,就不用写。
  2. 因为它对代码库的假设可能是错的。直接让它改,它会基于猜测动手;先让它读相关文件、说出计划,你能在它动手前发现误解——这时纠正的成本远低于改完之后。
  3. ①提供可运行的验证(测试命令、lint),让它能自己确认;②给出具体的文件路径而不是让它满仓库找;③一次一件事,别把三个不相关的需求塞进一轮;④小步提交,出问题时容易定位和回滚;⑤把重复出现的要求沉淀进 CLAUDE.md,而不是每次重复说。

🛑 可以停在这里

走神救援
核心思想:把你脑子里的隐性知识变成它能读到的显性文件CLAUDE.md 该写:项目特有约定(命名/目录/提交规范)、常用命令、容易踩的坑和「不要这样做」的历史教训不该写:能从代码读出来的(文件列表、函数签名)、通用编程知识、会很快过时的细节。⭐判据:「这条信息它自己看代码能不能得到?」能,就不用写。⭐⭐先探索再动手:它对代码库的假设可能是错的,先让它读相关文件、说出计划,你能在它动手前发现误解此时纠正成本远低于改完之后五条提升成功率:提供可运行的验证(测试/lint)让它自己确认、给具体文件路径别让它满仓库找一次一件事小步提交(出问题易定位回滚)、重复出现的要求沉淀进 CLAUDE.md 而不是每次重复说