最近每天还在高强度用Claude Code工作,然后发现,有些事是官方文档里学不到、得自己碰壁才能确认的。
今天讲一个我现在很确信、和官方建议完全反着的观点:Skill.md和CLAUDE.md这两类文档,越长效果越好。
Boris Cherny(Claude Code的产品负责人)和Anthropic开发者关系团队,在多次公开访谈里反复强调过几个原则:
CLAUDE.md应该精简,社区里常见的参考值是100到200行
Skill写得越精简越好,复杂逻辑放references里渐进披露
长文档会污染上下文,影响模型注意力
听起来非常合理。我一开始也是这么照做的。我那个公众号写作的CLAUDE.md,曾经被我从一千多行砍到120行,按官方教科书来。
砍完用了大概一两周,写商单时反复要跟AI解释「我不要破折号」「不要片汤味」,才意识到不对。
我自己的实证 我把这份文档慢慢加回来了,现在是483行,是官方建议上限的两倍多。效果是肉眼可见地变好的:
开头判断工作区准了
风格DNA稳了,不用我反复纠偏
「你怎么又这样了」这种对话基本消失
这不是严格的A/B对照实验(任务本身有变量)。120行版本要补多轮prompt才能纠到位的事情,483行版本基本一遍过。
为什么官方建议是反的 我不觉得Anthropic在故意误导谁。但他们的优化目标和我们的优化目标,从一开始就不是同一个。
渐进披露在长任务里其实是「渐进失忆」 官方推荐的做法是:核心规则放SKILL.md,复杂细节放references和子文档,让模型按需加载。理论上很优雅。
实际跑起来,当任务步骤一长、上下文一深,那些子文档很多时候根本不会被读。模型会优先用它已经看过的内容做决策,子文档没读过,对它来说就等于不存在。
我做长任务踩了无数次坑才反应过来:你以为你写在references里的规则在保护你,但在那个关键时刻,它并不存在于模型的工作记忆里。
反过来看Anthropic自家的产品 Claude Code、Claude Design、Claude.ai网页版的System Prompt有多长?泄露出来的版本,都在数千tokens、几百到上千行的量级,远远超过他们建议第三方写的长度。
如果短就是最佳实践,他们自己怎么不短?至少说明,长本身在他们自己的场景里是ROI划算的。
他们真正的约束在生态层面 当一个用户装了几十个甚至更多Skill,每个Skill都几千行,整个生态会出现:
Skill之间互相打架
用户token消耗噌噌往上(这件事用户会怪Anthropic)
路由复杂度上来了,模型选错Skill的概率变高
所以官方鼓励短,他们约束的是「长带来的外部性」,不是「长本身是否有效」。生态健康对Anthropic重要,对单个开发者不重要。你的KPI不是Anthropic的KPI,没必要替它扛。
我现在的实操原则 1. 核心规则全部内联在主文档里。能放主文档绝不丢references。
约束类规则(绝对不准做X)必须在主文档里,不依赖渐进披露做执行。
风格DNA、偏好记录、决策启发式这类高频引用内容,宁可重复也要写完整。
references留给「百科全书式」的查询素材,不是把规则藏进去。
超过2000行才需要重新组织,500行以内不要做任何为了短而短的精简。
token确实会多花一些。但和任务提效相比,这点钱算个啥。
官方的最佳实践是给生态写的,你的最佳实践要给自己的任务写。当两者冲突时,相信你自己跑出来的体感。