每天早上一封邮件,把昨天的 AI 梳理好订阅邮件

METAL LAB

卡帕西指出的LLM编程问题,用一份CLAUDE.md解决了

GitHub上出现了一份指南文件,专门纠正Claude Code擅自假设、把代码写得过于臃肿的毛病

이미지: METAL LAB 생성

摘要

  • multica-ai代码库基于Andrej Karpathy对LLM编程的观察,公开了一份CLAUDE.md指南
  • 这份核心CLAUDE.md由四条原则组成:禁止假设、最小代码、最小改动、成功标准
  • 无论是作为Claude Code插件安装,还是用作Cursor规则文件,都能让多个项目共用同一套指南
저장소
multica-ai/andrej-karpathy-skills
핵심 파일
CLAUDE.md; 저장소에는 README·CURSOR.md·SKILL.md·플러그인·커서 규칙 파일도 포함
근거 자료
안드레이 카파시가 엑스에 올린 LLM 코딩 문제 관찰
원칙 구성
가정 금지·최소 코드·최소 수정·성공 기준 총 4가지
설치 방법
클로드 코드 플러그인(권장) 또는 커서용 .cursor/rules 규칙 파일
적용 범위
플러그인 설치 시 클로드 코드로 여는 모든 프로젝트에 적용
라이선스
MIT
제작자 별도 프로젝트
Multica — 재사용 가능한 스킬 기반 코딩 에이전트 관리 플랫폼

卡帕西的观察,浓缩成一份文件

Andrej Karpathy在X上发文,指出了LLM编程智能体反复出现的毛病。multica-ai代码库基于这一观察,整理出一套可以接入Claude Code的指南,并以"andrej-karpathy-skills"为名公开发布。核心指南浓缩在一份CLAUDE.md文件里,但代码库中还附带了README、CURSOR.md、SKILL.md、插件以及适配其他工具的Cursor规则文件,方便安装和联动使用。CLAUDE.md里包含了四条原则,分别对应卡帕西指出的三个问题。

이미지: GitHub · multica-ai

卡帕西指出的三个毛病

卡帕西指出,LLM在写代码时会反复出现三种情况。"模型会替用户做出错误的假设,连确认都不做就直接往下推进。"也就是说,模型既不会管理不确定性,也不会主动请求澄清,更不会把矛盾之处或权衡取舍摆到台面上。第二个问题是过度设计——本来100行就能解决的事,硬是写成上千行,而且不清理无用代码。第三个问题是副作用:在没有充分理解的情况下,改动或删除与需求无关的注释和代码。

이미지: GitHub · multica-ai

CLAUDE.md的四条原则

代码库整理出四条原则,分别应对上述三个问题。

原则核心表述内容
禁止假设"Don't assume. Don't hide confusion. Surface tradeoffs."不让模型悄悄自行解读后就往下推进,而是先把不确定的部分和权衡取舍摆出来
最小代码"Minimum code that solves the problem."用来遏制过度设计的原则,标准是"如果资深工程师看了觉得多余,就应该简化"
最小改动"Touch only what you must. Clean up only your own mess."不去动与需求无关的代码,并要求每一处改动都能对应回具体需求
成功标准"Define success criteria. Loop until verified."把命令式指示转化为可验证的目标,让模型自行反复迭代、核对是否达标

第四条原则也呼应了卡帕西的另一个观察:只要给出明确的目标,模型就会自己不断迭代去逼近目标;但如果只给出"make it work"这类模糊标准,就得反反复复来回追问。

怎么使用

multica-ai/andrej-karpathy-skills代码库介绍了两种安装方式。推荐做法是作为Claude Code插件安装:先在Claude Code内添加对应的marketplace,指南就会以插件形式装好,之后不论用Claude Code打开哪个项目,都能调用这套技能,而不局限于某一个特定项目。第二种方式是用于Cursor。代码库里附带了.cursor/rules/karpathy-guidelines.mdc规则文件,在Cursor中打开项目时会自动套用同一套原则。Cursor的具体设置方法在代码库中的CURSOR.md文档里另有说明。

如果项目里已经在用CLAUDE.md文件,只需把这四条原则合并进去即可;如果某个项目还有专属规则,可以在这几条原则下面另起一节补充。代码库特别说明,这套指南的目的并不是要把改错别字这类小事也搞得繁琐复杂,而是聚焦于减少那些难以挽回的失误。

把规则写成文件、在多个编程智能体之间共享,这种做法的好处在于不会被绑定在某一个特定模型上,团队的工作原则可以反复复用。

在公开该代码库的帖子中,同一位作者还顺带介绍了另一个独立的开源项目Multica——一个用可复用技能来运行和管理编程智能体的平台,不过它与CLAUDE.md代码库是两个不同的项目。

编辑视角

这份代码库有意思的地方,不在于它把卡帕西个人的观察原封不动地写成了规则,而在于它揭示出一个事实:实际使用编程智能体的人们所遇到的问题,惊人地一致。无论是Claude Code还是Cursor,换个模型,"悄悄做假设、然后一路推进"或"本该100行的东西硬是写成1000行"这类抱怨照样反复出现。这不是某个模型特有的bug,更像是整个LLM编程智能体共有的习性——而这次的案例说明,仅靠一份指南文件,就能在一定程度上加以纠正。

在实际项目中用过类似规模的编程智能体的人都会得出相似的结论:如果把目标定得像"帮我弄好就行"这样宽泛,智能体不会反问,而是按自己的理解一路推进,结果反倒要花更多时间去检查它交出来的东西。反过来,如果给出"这个函数在这种输入下应输出这种结果才算成功"这样可验证的标准,就能看到智能体自己反复迭代、逐步逼近这个标准。这次CLAUDE.md的第四条原则,恰好点出了这个关键。

对于国内正在用Claude Code或Cursor写代码的团队来说,把这类指南文件加入项目几乎没有额外成本。不过要真正见效,还得先梳理一下团队自己反复踩的坑——比如不清理无用代码、或者动了不相关的文件——再据此调整这些原则。如果只是照搬别人写好的规则,最多只能收获一半的效果。

未来几周里,这种把某个人的观察或团队经验浓缩成CLAUDE.md、技能文件并公开分享的做法应该会越来越多。一旦开源社区形成用规则文件而非提示词互相交流的习惯,最终很可能会走向Anthropic这类开发商把经过验证的规则吸收进默认系统提示词的方向。

本文相关代码

评论