Skip to content

Claude Code 最佳实践与高效用法

懂原理还要会用。这一页是 Claude Code 的实战手册:怎么写 CLAUDE.md、怎么组织工作流、怎么控成本、怎么配权限、怎么避坑——把前面几页的机制转成「我该怎么做」。机制原理见 核心机制

一、写好 CLAUDE.md(最高杠杆的一件事)

CLAUDE.md 是每次会话自动注入的项目记忆,写好它能极大提升 Agent 表现。该放什么:

类别例子
常用命令构建/测试/lint/启动命令(让它别自己瞎试)
代码约定命名风格、目录结构、技术栈版本
关键约束「不要碰 X 目录」「提交前必须跑测试」
项目背景这是什么项目、核心模块职责
踩坑提醒已知陷阱、特殊环境配置

原则:简洁、具体、可执行。CLAUDE.md 也占上下文,别写成长篇大论;放「模型不知道、且每次都需要」的信息。强约束(必须遵守的)建议同时用 Hook 强制(见 扩展机制)——Prompt 是建议、Hook 是法律。

二、任务组织:拆解 + Plan Mode

  • 复杂任务先 Plan:高风险或大改动,先用 Plan Mode 让它给方案、你审阅批准再动手,避免一上来乱改。
  • 拆小步:大任务拆成可验证的小步(「先加接口、再写实现、再补测试」),每步可检查,比「一句话让它做完一切」可靠得多。
  • 让它跑测试自验:明确告诉它「改完跑 X 测试确认」,利用 agentic loop 的自我纠错(失败→读报错→修)。
  • 善用待办:长任务让它用 TodoWrite 列清单跟踪进度,不迷路。

三、上下文管理:保持窗口干净

  • 新任务开新会话:不相关的任务别堆在一个超长会话里,避免上下文污染和成本累积。
  • 重上下文的探索丢给子 Agent:「调研整个模块」这类会产生海量中间内容的活,交给子 Agent 隔离(见 子 Agent)。
  • 及时压缩:长任务接近窗口上限时触发压缩(compaction),保留目标和关键状态。
  • 关键信息落盘:重要决定写进 CLAUDE.md 或笔记文件,别只留在易失的对话里。

四、成本控制

编程 Agent 按 token 计费,长任务可能很贵。省钱抓手:

  1. 前缀稳定命中缓存:稳定的 system prompt / CLAUDE.md 让 prompt caching 生效,重复前缀大幅降价(机制见 上下文工程)。
  2. 控制上下文体积:别让无关历史、超大文件、冗长工具输出堆积;及时新开会话/压缩。
  3. 任务分级:简单任务别用最贵的配置;复杂推理才上顶配(模型分级思路见 SLM)。
  4. agentic search 而非全量读:让它 grep 定位、按需读,别一次性读一堆大文件。

五、权限与安全配置

  • 按风险配权限:常用安全命令设 Allow(少打断),危险操作(删除、推送、改配置)设 Ask 或 Deny。
  • 敏感文件用 Hook 兜底:禁止碰 .env、密钥、生产配置——用 PreToolUse Hook 强制拦截,不依赖模型自觉。
  • 不可信内容警惕注入:让 Agent 处理外部代码/网页/issue 时,记住里面可能藏注入指令;高危环境用沙箱、限制可访问目录(见 大模型安全)。
  • CI/自动化场景更谨慎:无人值守时权限要更保守,关键操作留确认或审计。

六、常见坑与避法

避法
一句话让它做太复杂的事拆小步、先 Plan、给验证方式
它「瞎试」命令CLAUDE.md 里写清构建/测试命令
上下文越用越乱越贵新任务开新会话、及时压缩、子 Agent 隔离
改坏了无关代码用 Plan Mode + 小步 + 跑测试 + git 审查 diff
重要约束它「忘了」用 Hook 强制,而非只写提示
处理外部内容被注入最小权限 + 沙箱 + 不把外部内容当指令

七、一句话工作流模板

1. 维护好 CLAUDE.md(命令、约定、约束)
2. 复杂任务先 Plan Mode 看方案
3. 拆小步执行,每步让它跑测试自验
4. 重探索丢子 Agent,主上下文保持干净
5. 关键约束用 Hook 强制
6. git diff 审查改动后再 commit

高频追问

Q:用好 Claude Code 最关键的一件事是什么? 写好 CLAUDE.md。它每次自动注入,决定了 Agent 是否「懂你的项目」——常用命令、代码约定、关键约束写清楚,能让它少瞎试、少犯错、风格一致。这是单位投入回报最高的动作。

Q:怎么让它别改坏我的代码? 组合拳:复杂改动先 Plan Mode 看方案再批准;拆成可验证的小步;明确要求改完跑测试;危险操作设权限确认;最后 git diff 人工审查再 commit。核心是「先看后做 + 小步可验 + 人在关键节点把关」。

Q:长任务越用越贵怎么办? 控上下文:不相关任务开新会话、及时触发压缩、把重探索丢给子 Agent 隔离、关键信息落盘到 CLAUDE.md;同时保持 system prompt/CLAUDE.md 前缀稳定以命中 prompt caching。上下文体积是成本的主因。

Q:哪些约束该用 Hook 而不是写提示? 凡是「必须 100% 遵守」的:提交前必须跑测试/lint、禁止碰敏感文件、改完自动格式化、特定操作必须审计。提示词模型可能忘,Hook 用代码强制执行。一句话:建议用 Prompt,纪律用 Hook。

Q:什么时候该开新会话而不是继续当前会话? 任务切换到不相关的内容时。继续堆在一个超长会话里会导致上下文污染(旧任务信息干扰新任务)、成本持续累积、压缩丢信息。一个会话聚焦一件事,干净又省钱。

基于 MIT 许可发布