原文:14-claude-code-best-practices.md 来源:https://www.anthropic.com/engineering/claude-code-best-practices
Claude Code:Agent 式编码最佳实践
配置环境到跨并行会话扩展的技巧和模式。
Claude Code 是 Agent 式编码环境。不像聊天机器人回答问题等待——Claude Code 可以读你的文件、运行命令、做改动,自治地推进问题,你旁观、重定向或完全离开。
这改变了你的工作方式。不是你写代码并请 Claude 审查,而是你描述想要什么,Claude 弄清如何构建。Claude 探索、规划、实现。
但这种自治仍有学习曲线。Claude 在你需要理解的某些约束内工作。
大多数最佳实践基于一个约束:Claude 的上下文窗口快速填满,性能随填充而退化。
Claude 的上下文窗口持有你的整个对话——每条消息、Claude 读的每个文件、每次命令输出。单次调试或代码库探索可能产生和消耗数万 token。
这很重要——LLM 性能随上下文填充而退化。上下文窗口接近满时,Claude 可能开始"忘记"早期指令或犯更多错误。上下文窗口是要管理的最重要资源。
给 Claude 验证工作的方法
包含测试、截图或预期输出,让 Claude 能自我检查。这是你能做的单一最高杠杆的事。
Claude 在能验证自己工作时表现戏剧性更好——运行测试、对比截图、验证输出。
没有清晰的成功标准,它可能产生看起来对但实际不工作的东西。你成为唯一的反馈循环,每个错误都需要你的注意。
| 策略 | 之前 | 之后 |
|---|---|---|
| 提供验证标准 | "实现一个验证邮箱的函数" | "写一个 validateEmail 函数。示例测试用例:user@example.com 为 true,invalid 为 false,user@.com 为 false。实现后运行测试" |
| 可视化验证 UI 改动 | "让仪表盘看起来更好" | "[贴截图] 实现这个设计。截图结果并与原始对比。列出差异并修复" |
| 解决根因,不是症状 | "构建失败" | "构建失败带这个错误:[贴错误]。修复并验证构建成功。解决根因,不要抑制错误" |
UI 改动可以用 Claude in Chrome 扩展验证——它在浏览器打开新标签页测试 UI,迭代直到代码工作。
先探索,再规划,再编码
把研究和规划与实现分开,避免解决错误问题。
让 Claude 直接跳到编码可能产生解决错误问题的代码。用 Plan Mode 把探索与执行分开。
推荐工作流四个阶段:
-
探索(Explore):进入 Plan Mode。Claude 读文件并回答问题不做改动
读取 /src/auth 并理解我们如何处理 sessions 和 login。
也看我们如何为 secrets 管理环境变量。 -
规划(Plan):要求 Claude 创建详细实现计划
我想加 Google OAuth。哪些文件需要改?
session 流程是什么?创建一个计划。按
Ctrl+G在文本编辑器打开计划,让 Claude 推进前直接编辑。 -
实现(Implement):切回 Normal Mode,让 Claude 编码并对照计划验证
-
提交(Commit):要求 Claude 用描述性消息提交并创建 PR
Plan Mode 有用,但也增加开销。范围清晰、修复小的任务(如修拼写错误、加一行日志、重命名变量)直接让 Claude 做。当你不确定方法、改动修改多文件、或不熟悉被改的代码时规划最有用。如果你能用一句话描述 diff,跳过计划。