用途:这是一份编码实施前的门禁式检查契约,源自对 Andrej Karpathy 关于智能体编码失败模式观察的提炼(由 Forrest Chang 整理,MIT 许可)。用于在开始编码、代码审查或提交前自审时,对方法进行核验。
四项原则:一、编码前先思考:列出假设、暴露困惑、列出多种解释而不默默选择,给出更简单的替代方案,不清楚就停下来提问,让判断强度与证据匹配。二、简洁优先:只写解决问题所需的最少代码,不做未要求的功能、抽象、可配置性与不可能场景的错误处理;若 200 行可缩到 50 行则重写,并用“资深工程师是否会认为过度复杂”自检。三、外科式修改:只改必须改的地方,不动相邻代码、注释与格式,不重构未坏的东西,匹配现有风格,发现无关死代码只提不删,清理自己产生的孤儿引用;每一行改动都应可追溯到用户请求。四、目标驱动执行:把模糊任务转为可验证标准,如“加校验”变为“非法输入测试通过”,“修 bug”变为“先写复现测试再使其通过”,多步任务须给出每步验证计划。
使用方式:作为前置门禁调用时,创建以下待办项:karpathy:assumptions-listed、karpathy:simplicity-checked、karpathy:trace-back-verified、karpathy:success-criteria-defined。退出条件为四项原则各自有具体产出物(假设清单、范围理由、diff 追溯、验证计划),至少应用一次资深工程师测试,并在实现前写下可验证的成功标准;当权衡了真实备选方案时,将决策与舍弃内容记录到 docs/tradeoffs.md。若已安装 leyline,可调用 Skill(leyline:decision-journal) 追加权衡条目;否则使用文件内 ENTRY TEMPLATE 追加并分配下一个 TR-NNN 编号。
适用场景与限制:用于任何大于拼写修正的编码任务前、代码审查中命名失败模式、写完 diff 后自审,以及训练初级工程师阅读智能体 diff。该原则偏向谨慎而非速度,对琐碎修复、探索性原型、纯文档修改与限时原型等情形并不适用,需自行判断;资料未提供具体工具安装命令与官方定价信息。