跳转到内容

Best Practices for Claude Code

这是一篇 Anthropic 面向 Claude Code 用户的工程实践指南。它不是在解释 Claude Code 的内部原理,而是在总结一套更稳定的使用方法:如何给 agent 明确的验证闭环、如何分离探索与实现、如何通过 CLAUDE.md / hooks / skills / subagents 配置环境,以及最关键的,如何把 context window 当成稀缺资源来管理。

  • 文章最重要的总原则是:Claude Code 的主要约束不是“不会写代码”,而是 context window 会很快被对话、读文件和命令输出塞满,且性能会随之下降。
  • 因此它首先强调 verification-first。如果没有测试、截图、预期输出或可执行的验证命令,Claude 很容易产出“看起来像对的”结果,而人会变成唯一反馈回路。
  • 文章建议把任务拆成 explore -> plan -> implement -> commit 四阶段。大任务先用 Plan Mode 研究和列计划,再切回 Normal Mode 实现;小改动则不必过度规划。
  • 这种 workflow 的核心不是仪式感,而是避免 Claude 在还没看清系统结构前就直接开写,结果在错误抽象上投入大量 token。
  • prompt 侧的建议也很实用:给具体文件、明确边界、指出现有模式、描述症状而不是只说“修一下”,都能显著减少返工。
  • 对 Claude Code 来说,rich context 的最佳实践不是“多说一点”,而是直接给文件引用、图片、URL、管道数据,或者明确让它自己去拉所需上下文。
  • 配置环境部分里,Anthropic 把 CLAUDE.md 视为最重要的长期记忆层:它应该短、小、稳定,只包含 Claude 不能轻易从代码推断出来的规则、命令和 repo 约定。
  • 文章同时强调 CLAUDE.md 不是越长越好。太长的全局说明会把真正重要的规则埋掉,反而让模型忽略它们。
  • 这也引出了另一个分层:通用规则放 CLAUDE.md,必须无例外执行的东西放 hooks,按需加载的领域知识或 workflow 放 skills。
  • 在权限层,文章把三条降摩擦路线并列了出来:auto mode、command allowlists、/sandbox。这和 Anthropic 之前关于 classifier delegation 和 sandboxing 的文章形成了完整闭环。
  • 文章还明确建议优先用 CLI 工具和 MCP server,而不是让 Claude 在自然语言里“假装会”外部系统;这是一种典型的 token-efficient 环境设计思路。
  • context 管理部分是全文最强的工程启发之一:/clear/compact/rewind/btw、resume、checkpointing 都是在帮助你把会话当成可丢弃、可恢复、可压缩的工作缓存,而不是单条永续对话。
  • subagent 在这里的定位也很清楚:它的价值不只是并行,而是把探索和验证放进独立 context,避免主线对话被调查过程污染。
  • 文章最后还把水平扩展讲得很直接:非交互模式 claude -p、多 session、Writer/Reviewer pattern、fan-out across files,本质上是在把 Claude Code 从单一对话界面推进到可脚本化、可批处理、可并行的生产工具。
  • 结合《Your job is to deliver code you have proven to work》来看,这里的 verification-first 不只是帮助 Claude 少犯错,而是在重新定义作者责任:提交给别人审查的改动,本来就应该附带你已经做过的验证证据。

ℹ️ Conflict:

  • 这篇指南强调 aggressively 管理上下文,但上下文并非总该被清空;在单个复杂问题上,过早 /clear 也可能把有价值的局部历史一起丢掉。
  • 它很强调 CLAUDE.md、hooks、skills 和 subagents 的配置价值,但这些配置本身也会形成维护负担;写得过多、过细或过时,反而会让系统变脆。
  • 文章的大量建议默认你愿意把 Claude Code 当“主动做事的 agent”来用;如果你的协作习惯仍是“聊天助手式问答”,其中不少模式会显得过重。
  • Anthropic, “Best Practices for Claude Code”.
  • 原文摘录:[llm-wiki/raw/anthropic/Best Practices for Claude Code](/raw/anthropic/Best Practices for Claude Code.md)