claude.md怎么写
所属主题:Claude 提示词工程完全指南
claude.md怎么写:一份让 Claude 听话的永久工作手册
写 claude.md 并不复杂——它本质上就是用 Markdown 格式为 Claude 写一份“永久工作说明书”。如果你想学习 claude.md怎么写,核心就是把角色、规则、示例和边界写清楚,后续所有对话中 Claude 都会自动按这份文件执行。下面直接给你一个能立即使用的模板,并逐条解释每个部分的作用。
开始前确认
在动手写 claude.md 之前,先确认两件事:
- 平台兼容性:原生 Anthropic API 和大多数主流 Claude 客户端(如 Claude Desktop App、TypingMind、ChatWise)都支持通过项目级或对话级配置注入
claude.md。但并非所有第三方包装都支持,建议先查阅工具文档确认。 - 控制范围:
claude.md可以放在项目根目录、配置文件夹或直接在对话开头粘贴。不同工具对加载机制有细微差别——有的全局生效,有的只对当前项目生效。建议从最小范围开始测试,比如先在一个单独的项目中试用。
操作步骤
第一步:定义核心角色(谁 + 场景)
开篇用一句话告诉 Claude 它现在是谁、在什么场景下工作。这决定了后续所有回复的语言风格和知识焦点。
你是一个专注于 Python 数据清洗与自动化处理的 AI 助手。
你的用户是刚接触 Pandas 和 NumPy 的初级数据分析师。
这样做的好处是:Claude 会主动控制术语的深度,不会默认用专家级语音解释概念,也不会脱离数据分析的语境。角色越具体,回复越精准。
第二步:写出行为规则(要做什么、不做什么)
这是 claude.md 的核心部分。规则要写得具体、可执行。避免模糊要求如“请提供高质量回答”,换成可以直接检查的规则——比如“每次提供代码示例后,必须附上一句解释”。
推荐格式:使用无序列表,每条规则以动词开头。
- 回答时优先使用 pandas 和 numpy 的标准函数名。
- 每次给出代码示例后,必须附上一句解释说明这段代码在做什么。
- 如果用户提出的问题有更安全或更高效的替代方案,先给出原方案,再指出替代方案及其理由。
- 当用户数据包含隐私信息(如身份证号)时,主动提醒匿名化处理。
- 不要一次性给出超过 20 行的完整脚本;优先用 3-8 行的小片段逐步构建。
注意第二条:必须附上一句解释 是一个可检验的规则。你可以在后续对话中直观判断 Claude 是否遵守——如果它给了代码却没加说明,你就知道需要调整规则表达。
第三步:提供参考示例与输出格式
Claude 基于示例学习和格式模仿,这是 claude.md 最有威力的部分。给出一到两组完整的“用户提问 → 期望回复”示例,Claude 会按这个模式输出。
示例对话模式:
用户:这段数据里 date 列有缺失值,怎么处理?
助手:
1. 先用 df['date'].isna().sum() 检查缺失数量。
2. 如果缺失比例低于 5%,可以用前向填充(ffill)。
df['date'].ffill(inplace=True)
3. 如果比例较高或数据有时间顺序,优先用插值法。
df['date'].interpolate(method='time', inplace=True)
4. 完成后用 df.info() 确认缺失已填补。
解释:这里先检查再处理,是因为不同的缺失率与数据特性需要不同策略。前向填充适合短时间内波动不大的数据,插值法适合有明确时间间隔的序列。
示例中的“解释”行与规则第二条呼应,形成了自我强化的反馈闭环——Claude 从示例中学会了输出模式,规则又从书面层面进行了约束。
第四步:设定知识边界与信息来源偏好
明确告诉 Claude 它可以依赖什么、不依赖什么,以及在不确定时该怎么做。这一步直接关系到输出结果的可靠性。
- 所有代码示例以 pandas 2.0 及以上版本的 API 为准。
- 涉及外部库安装或环境配置时,默认用户使用 Python 3.10+。
- 不确定当前版本中某个函数是否废弃时,先标注"请参考官方文档确认"再给出建议。
- 不要编造错误码或假定的库版本信息;如果不确定,直接说"这取决于具体版本,可以从官方文档查到入口"。
这条在真实场景中非常有用——因为 Claude 在某些边缘问题上可能产生错误。提前让它知道“不知道时不要说谎”,比事后修正更可靠。设定好知识边界,你收到的回复会更有参考价值。
第五步:补充边界条件与免责说明(可选但推荐)
- 如果用户的输入包含直接可执行的脚本产生的敏感输出,提醒注意数据安全。
- 对涉及法律、金融、医疗建议的问题,先声明"此建议仅供参考,需由专业人员复核"再给出技术方案。
这一步让 claude.md 不止是效率工具,也成为安全护栏。尤其当你用 Claude 处理涉及风险的任务时,这些保护性规则是必要的。
检查项
写完 claude.md 后,拿着下面的清单逐条检查。每一条都有判断标准,不是模糊的建议。
- 角色定义:前 3 行内是否明确了“谁 + 场景”?
- 可检验的规则:每条规则是否能用“Claude 有没有做到”来检查?
- 至少一个完整示例:是否包含一个问答对的示范及其解释?
- 边界说明:是否明确指出了不确定时该怎么处理?
- 版本或环境标记:是否注明了代码/知识适用的版本范围?
如果以上任一缺失,建议补上再发布。这 5 项是 claude.md 有效的核心保障。
故障排查
- Claude 不遵循规则:检查规则是否过于模糊(如“请保持专业性”)。改为“回答时直接引用 pandas 官方文档中的例子”这类具体指令。
- 示例格式没被模仿:确认示例中包含了“用户提的内容”和“期望的回复格式”两部分。只给回复不给提问,Claude 学不到完整的回应模式。
- 规则生效但效果不对:你可能给了一条规则与另一条产生冲突。比如“尽量详细”和“不要超过 20 行”可能同时被触发。删掉冲突的规则,或者用“优先”字眼排定优先级。
- 同一个
claude.md在不同工具中表现不一致:检查该工具是否支持读取项目根目录中的claude.md。有的工具只识别配置面板中的系统指令字段。这是工具差异,不是文件本身的问题。
常见问题
问:claude.md 可以用在哪些平台?
答: 原生 Anthropic API(通过 system 参数)、Claude Desktop App 的项目设置、以及 TypingMind、ChatWise 等支持自定义 system prompt 的第三方客户端都原生支持。部分网页版聊天界面可能不支持加载这一文件,可改为在每次对话开始时手动粘贴。
问:一个 claude.md 文件能控制多种任务吗?
答: 可以,但建议每个项目或每个用途单独维护一份。如果你发现文件超过 60 行且规则有重叠甚至冲突的倾向,考虑拆成针对不同任务的独立版本。一个通用原则是:文件越小,Claude 越容易完整理解和执行。
问:如何知道 Claude 是否正在读取我的 claude.md?
答: 你可以主动测试——在文件中写一条规则“当你读取到本文件后,第一句话回复‘配置文件已加载’”。然后在新对话中提问,看 Claude 是否依此回复。这是一个简单有效的健康检查方式。
问:claude.md 和普通 system prompt 有什么区别?
答: 核心区别在于结构和复用性。claude.md 是一种约定俗成的文件名,用 Markdown 写结构化指令,便于版本控制、团队共享和按场景切换。而普通的 system prompt 往往是粘贴在设置栏的纯文本。前者更适合项目中长期使用的配置,后者适合快速实验。
下一步
- 先写一个最小可用版本(角色 + 3-5 条规则 + 1 组示例),运行一个真实场景测试是否能达成预期行为。
- 逐步增加规则,但保持总行数在 40 行以内,避免 Claude 在长上下文中遗漏部分规则。
- 每当你发现 Claude 在某种情况下表现不如预期,先在
claude.md中加一条能覆盖该场景的规则,然后重复测试。
更多关于提示词设计的基础思路,可参考提示词基础。如果你的项目涉及多条系统指令的组合调度,建议进一步阅读[Claude 提示词工程完全指南](ilink:Claude 提示词工程完全指南)中的“系统指令设计”部分。