news 2026/4/15 7:40:28

【Claude Code官方出教程了!创始人分享十大神级技巧,内部团队原来是这样用的】技巧三

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【Claude Code官方出教程了!创始人分享十大神级技巧,内部团队原来是这样用的】技巧三

文章目录

  • 前言
  • 技巧三:投资你的 CLAUDE.md 文件
    • 核心思想
    • 适合新手的应用场景:为 hello-world 项目创建 CLAUDE.md
    • 步骤 1:创建初始 CLAUDE.md 文件
      • 1. 克隆仓库
      • 2. 创建 .claude 目录(可选,用于组织)
      • 3. 创建 CLAUDE.md 文件
      • 4. 查看目录结构(了解项目特点)
    • 步骤 2:手动编写基础 CLAUDE.md(新手入门版)
    • 步骤 3:启动 Claude 并让它识别 CLAUDE.md
    • 步骤 4:首次训练 Claude(纠正错误并更新 CLAUDE.md)
    • 步骤 5:观察 Claude 如何更新 CLAUDE.md
    • 步骤 6:第二次训练(处理另一个常见错误)
    • 步骤 7:第三次训练(建立主动检查机制)
    • 步骤 8:无情地编辑 CLAUDE.md(定期清理)
    • 步骤 9:进阶用法 - 为特定任务维护笔记目录
    • 步骤 10:最终测试 - 验证训练效果
    • 技巧三的核心要点总结
    • 补充:CLAUDE.md VS Skills:核心区别对照表
    • 总结
  • 参考资料

前言

Claude Code 创始人 Boris Cherny 刚刚分享了一系列使用 Claude Code 的技巧,内容直接来自其内部团队。

技巧三:投资你的 CLAUDE.md 文件

核心思想

  • 训练 Claude 成为项目的专家:CLAUDE.md 是一个持续更新的项目说明书
  • 减少重复错误:让 Claude 为自己的错误建立规则
  • 提升输出质量:通过迭代训练降低 Claude 的错误率

适合新手的应用场景:为 hello-world 项目创建 CLAUDE.md

场景描述
作为一个新手,您正在学习使用 leachim6/hello-world 仓库:

  1. 需要让 Claude 理解这个独特的项目结构(按语言分目录)
  2. 需要避免一些常见错误(如修改错误的文件、错误理解项目意图)
  3. 希望 Claude 能按项目规范提供帮助

完整操作流程与步骤

步骤 1:创建初始 CLAUDE.md 文件

1. 克隆仓库

gitclone https://github.com/leachim6/hello-world.gitcdhello-world

2. 创建 .claude 目录(可选,用于组织)

mkdir-p .claude

3. 创建 CLAUDE.md 文件

touch.claude/CLAUDE.md

4. 查看目录结构(了解项目特点)

ls-la

目录结构说明:
hello-world/
├── a/ # A+语言的Hello World
├── b/ # B语言的Hello World
├── c/ # C语言的Hello World
├── … # 各种语言的目录
└── .claude/ # 我们刚创建的配置目录
└── CLAUDE.md

步骤 2:手动编写基础 CLAUDE.md(新手入门版)

使用文本编辑器打开 .claude/CLAUDE.md,添加以下基础内容:

# hello-world 项目 CLAUDE.md## 项目概述这是一个展示各种编程语言如何编写"Hello, World!"程序的仓库。 每个语言的代码都放置在以该语言缩写命名的目录中。## 核心规则### 1. 目录结构规则- 每个目录名是编程语言的缩写(如`j/`表示Java,`p/`表示Python) - 每个目录下都有一个"HelloWorld"文件(扩展名对应语言) - **重要:** 不要改变这种目录命名约定### 2. 文件命名规则- 文件名必须是`HelloWorld`(大小写敏感) - 扩展名必须符合对应语言的惯例 - 示例:Python的文件必须是`HelloWorld.py`,不是`hello_world.py`### 3. 代码内容要求- 每个文件必须准确打印"Hello, World!"- 不能添加额外的功能或复杂的逻辑 - 保持代码的简洁性和教育性### 4. 请求处理指南当用户请求修改代码时:1. 首先确认用户指的是哪个语言目录2. 确保修改后的代码仍然输出"Hello, World!"3. 避免改变原有项目的教育目的### 5. 避免的常见错误- 不要把不同语言的代码混在一起 - 不要为这个简单的项目添加不必要的依赖 - 不要修改目录结构## 支持的编程语言(示例)- Python:`p/HelloWorld.py`- Java:`j/HelloWorld.java`- JavaScript:`j/HelloWorld.js`- C++:`c++/HelloWorld.cpp`## 最近更新的规则[这里会在训练过程中自动更新]

步骤 3:启动 Claude 并让它识别 CLAUDE.md

# 在项目目录中启动Claudeclaude

Claude Code 会自动检测项目中的 .claude/CLAUDE.md 文件并读取其内容。

步骤 4:首次训练 Claude(纠正错误并更新 CLAUDE.md)

现在我们来模拟一个新手常见的错误场景:
场景:你想让 Claude 帮你"改进 Python 的 Hello World 代码"
错误示范(故意犯错,用于训练):

帮我把 Python 的 Hello World 改成更有趣的版本。

Claude可能会建议:

好的,我可以帮你改进 Python 的 Hello World。 建议可以将`p/HelloWorld.py`改为: ```python def greet(name="World"):returnf"Hello, {name}!"if__name__=="__main__":print(greet())

这样可以让用户自定义问候的对象。

**纠正训练**(这是技巧三的核心): 这个修改违反了项目的核心原则。hello-world 项目的目的是展示各种语言最基本、最标准的"Hello, World!"写法,不应该添加额外的功能或复杂化。 请记住: 这个项目是教育性质的,要保持代码的简洁性 每个语言目录下的代码应该是最基础的标准写法 不要改变项目的教育目的 现在,请根据这次对话,更新你的 CLAUDE.md 文件,以确保未来不再犯同样的错误。

步骤 5:观察 Claude 如何更新 CLAUDE.md

Claude 会自动在.claude/CLAUDE.md文件末尾添加新的规则:

## 最近更新的规则2024-XX-XX更新: - 禁止为hello-world项目添加额外功能或复杂化代码 - 牢记项目的教育目的:展示最基本、最标准的语言语法 - 保持每个语言示例的简洁性和基础性 - 当用户请求"改进"时,确认他们是否理解这只是教育示例

步骤 6:第二次训练(处理另一个常见错误)

场景:你想添加一个新的语言示例(比如 Go 语言)

帮我添加Go语言的Hello World示例。

Claude 可能会询问:

好的,我应该把Go语言的示例放在哪个目录? 选择1:创建一个新的`go/`目录 选择2:放在`g/`目录(很多语言目录用单个字母) 选择3:查看现有目录命名模式再做决定

你作为新手不知道,就看看现有情况:

我看一下现有的目录命名...我看到了`j/`(Java)`p/`(Python)`c++/`(C++)我需要知道Go语言的正确缩写应该是什么?

这时,Claude 可能会根据现有模式猜测:

基于现有模式,大多数语言使用: - 单个字母:`j/`(Java),`p/`(Python),`r/`(Ruby)- 若有冲突:`c++/`(C++)Go语言的常见缩写是`go`,所以我建议创建`go/`目录。 现在创建`go/HelloWorld.go`: ```go package mainimport"fmt"funcmain(){fmt.Println("Hello, World!")}

这是错误的!我们需要检查实际情况:

查看 GitHub 仓库真实目录:

ls-la|grep-i go

发现其实已经有 g/HelloWorld.go!Go语言的目录其实是 g/。

纠正训练: 你的建议是错误的!我刚才查看了实际的目录结构,Go语言的示例已经在`g/HelloWorld.go`中了。 请记住:在为这个项目添加帮助时,一定要先查看现有的目录结构,而不是凭空猜测。 请更新你的 CLAUDE.md,添加规则来避免未来犯类似错误。

Claude 更新后的 CLAUDE.md:

## 最近更新的规则2024-XX-XX更新: - 禁止为hello-world项目添加额外功能或复杂化代码 - 牢记项目的教育目的:展示最基本、最标准的语言语法 - 保持每个语言示例的简洁性和基础性 - 当用户请求"改进"时,确认他们是否理解这只是教育示例2024-XX-XX更新: - **重要:** 在处理hello-world项目请求时,必须先查看现有目录结构 - 不要凭空猜测目录命名约定,先用`ls``find`命令确认 - 记住Go语言的目录是`g/`,不是`go/`- 建议:可以创建一个目录名查找的技能或脚本

步骤 7:第三次训练(建立主动检查机制)

现在你应该训练 Claude 变得更主动:

从现在开始,当你收到关于hello-world项目的请求时,我希望你主动:1. 首先列出相关语言的现有目录(如果提到具体语言)2. 询问用户是否了解项目的教育性质3. 确认用户意图是否与项目目标一致 例如,如果有人问:"我想让JavaScript的Hello World更有趣",你应该:1. 首先指出:`js/HelloWorld.js`文件已经存在2. 询问:你了解这个项目的目的是展示最基础的语法示例吗?3. 提醒:添加功能可能会偏离项目的教育目的 请把这个主动检查流程添加到 CLAUDE.md 中。

步骤 8:无情地编辑 CLAUDE.md(定期清理)

一周后,你的 CLAUDE.md 可能会变得杂乱:

## 最近更新的规则规则1:不要添加功能 规则2:检查现有目录 规则3:提醒教育目的 规则4:Python不能有函数 规则5:Java要保持简单 规则6:目录索引是 g/forGo 规则7:确认文件是否已存在 规则8:..."

这时进行清理:

请审查并优化当前的 CLAUDE.md。 要求:1. 合并相似的规则(如检查目录和确认存在的规则)2. 删除过于具体的示例,归纳为通用原则3. 重新组织规则,使其更清晰易读4. 保留关键、可泛化的规则

清理后的版本:

# hello-world 项目 CLAUDE.md## 核心原则(永久有效)1. **教育优先**:本项目是基础语法示例,不得复杂化2. **结构保守**:不得改变目录结构或命名约定3. **代码简洁**:每个示例必须是该语言最基础的"Hello, World!"## 工作流程(处理请求时必须遵守)1. **检查阶段**: - 先检查现有目录结构(`ls`相关目录) - 确认文件是否已存在 - 若不熟悉目录命名,主动询问说明2. **验证阶段**: - 询问用户是否理解项目的教育性质 - 确认请求是否符合项目目标 - 如有偏离,明确提醒用户3. **执行阶段**: - 若需修改,保留原始简单性 - 若需添加,遵循现有命名模式 - 完成后自主验证是否符合核心原则## 快速参考表|语言|目录|文件名||------|------|--------||Python|`p/`|`HelloWorld.py`||Java|`j/`|`HelloWorld.java`||JavaScript|`js/`|`HelloWorld.js`||Go|`g/`|`HelloWorld.go`||C++|`c++/`|`HelloWorld.cpp`|## 训练历史摘要- 禁止为教育项目添加复杂功能(多次确认) - 强制前置目录检查流程(避免重复添加) - 主动澄清项目目的机制(减少误解)

步骤 9:进阶用法 - 为特定任务维护笔记目录

文档中提到的高级用法:

我希望你为每个主要任务维护一个笔记目录。 现在,请你为"Python代码改进请求"创建一个笔记记录。 把这次交互中学到的教训记录下来。

Claude 创建:

创建了`.claude/notes/python-improvement-reflection/`内容:# Python改进请求记录## 案例1:用户请求"让Python Hello World更有趣"- 错误:建议添加greet()函数 - 教训:项目要求保持最基础语法 - 规则:hello-world项目的代码不应该有函数封装 - 建议回复模板:"这是一个基础语法示例,添加功能会偏离项目目的。"## 未来策略当遇到类似请求时:1. 引用项目说明2. 提供替代方案(如链接到真正项目)3. 解释教育目的的价值

步骤 10:最终测试 - 验证训练效果

测试一下现在的 Claude 有多聪明:

我想让JavaScript的Hello World示例支持模板字符串。

训练后的 Claude 应该回复:

首先,让我查看一下现有的JavaScript示例: 现有文件:`js/HelloWorld.js`我需要提醒你的是,hello-world项目的目的是展示各种语言最基础、最标准的语法。 JavaScript中最基础的Hello World写法是: ```javascript console.log("Hello, World!");

如果你改用模板字符串:

console.log(`Hello, World!`);

这确实展示了 ES6 模板字符串语法,但仍保持了基础性。
但是:

  1. 你是否了解这不是一个真正的项目,而是教育示例?
  2. 你是否要展示最基础的语法,还是想展示现代特性?
  3. 更改后会破坏项目的一致性吗?

建议:

  • 如果要保持与其他语言的一致性,建议用最基础的写法
  • 如果想展示模板字符串,可以考虑在注释中添加示例
**这才是经过CLAUDE.md训练的智能Claude!**

技巧三的核心要点总结

  1. 即时修正:每次纠正后都必须说"更新你的 CLAUDE.md"
  2. 无情编辑:定期合并、简化、清理规则
  3. 量化改进:目标是"错误率可衡量地下降"
  4. 渐进训练:从简单规则开始,逐步增加复杂性
  5. 引用机制:可以让 CLAUDE.md 指向更多的笔记目录
  6. 自主验证:好的 CLAUDE.md 会让 Claude 主动提问和验证

补充:CLAUDE.md VS Skills:核心区别对照表

从文档可以看出团队的实际用法:

  • CLAUDE.md是“软技能”:训练 Claude 的思维方式和决策逻辑

  • Skills是“硬技能”:扩展 Claude 的操作能力和效率

两者都重要,但目的不同:

  • CLAUDE.md → 提升输出质量(减少错误)
  • Skills → 提升工作效率(自动化重复)

理想的工作流:
1. 用 CLAUDE.md 训练 Claude 理解项目
2. 用 Skills 让 Claude 高效执行
3. 执行中发现问题 → 更新 CLAUDE.md
4. 重复操作 → 创建新的 Skill

总结

  • CLAUDE.md 是 Claude 的大脑训练手册——它塑造 Claude 对特定项目的理解和决策方式,让 Claude 变得“更聪明、更懂这个项目”。
  • Skills 是 Claude 的工具套装——它扩展 Claude 能够执行的操作范围,让 Claude 变得“更有能力、更高效”。

在 Claude Code 团队看来,一个成熟的用户应该:

  • 投资 CLAUDE.md 来减少沟通成本和质量问题
  • 创建 Skills 来消除重复劳动

两者结合实现最高效的人机协作。

文档中的一句关键话体现了这种理念:“Claude 在为自己编写规则方面表现得惊人地出色”(指CLAUDE.md)同时 “如果你每天做某件事超过一次,就把它变成一个技能(指 Skills)

参考资料

  • Claude Code官方出教程了!创始人分享十大神级技巧,内部团队原来是这样用的
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/13 21:41:25

thinkphp+vue企业员工任务管理系统设计与实现

目录 系统架构设计核心功能模块技术实现要点创新与优化应用价值 项目开发技术介绍PHP核心代码部分展示系统结论源码获取/同行可拿货,招校园代理 系统架构设计 采用ThinkPHP作为后端框架,Vue.js作为前端框架,构建前后端分离的企业员工任务管理系统。后端…

作者头像 李华
网站建设 2026/4/10 9:44:43

thinkphp+vue小程序订餐点餐系统PC web 手机三端_

目录 技术架构概述核心功能模块技术实现要点部署与扩展性 项目开发技术介绍PHP核心代码部分展示系统结论源码获取/同行可拿货,招校园代理 技术架构概述 ThinkPHPVue的订餐点餐系统采用前后端分离架构,后端基于ThinkPHP框架提供RESTful API接口,前端使用…

作者头像 李华
网站建设 2026/4/9 13:52:48

杰理之概率超距无法回连【篇】

TX改动: 只需要替换btctrler.a。 RX改动:替换btctrler.a和btstask.a,同时在代码里增加如下修改。

作者头像 李华
网站建设 2026/4/13 16:33:50

AI助手协作框架:任务分配算法在人机测试效率的优化系统

一、痛点:测试工程师的“时间黑洞” 当前测试团队常面临三大效率瓶颈: 脚本维护滞后:每次页面改版需人工更新测试脚本,耗时数小时甚至数天; 任务分配失衡:高难度任务堆积在少数骨干手中,新人只…

作者头像 李华