用途:这是一套行为准则(非工具或库),用于指导 LLM 在编写、审查、重构代码时减少常见错误,来源于 Andrej Karpathy 对 LLM 编码陷阱的观察。
主要能力(四条准则):
- 先思考再编码:不要假设,不要隐藏困惑,明确呈现取舍。实现前显式说明假设,不确定就提问;存在多种解释时应全部列出而非默默选择;若有更简单方案应指出,必要时提出反对;不清楚就停下、指出困惑点并询问。
- 简单优先:用解决问题的最少代码,不做投机性设计。不添加未要求的功能,不为一次性代码做抽象,不引入未被要求的“灵活性”或“可配置性”,不为不可能出现的场景写错误处理。若写了 200 行而 50 行即可完成,应重写。自问“资深工程师会不会认为这过度复杂”,若是则简化。
- 外科手术式改动:只改必须改的地方,只清理自己造成的混乱。编辑既有代码时,不“改进”相邻代码、注释或格式,不重构没坏的东西,遵循既有风格即使自己做法不同;发现无关死代码应提及而非删除;删除因自己的改动而变成孤儿的导入/变量/函数,但不动预先存在的死代码,除非被要求。检验标准:每一行改动都应能直接追溯到用户请求。
- 目标驱动执行:定义成功标准并循环直到验证通过。将任务转化为可验证目标,例如“添加校验”转为“为无效输入写测试,再让它们通过”;“修复 bug”转为“写复现测试,再使其通过”;“重构 X”转为“确保重构前后测试通过”。多步任务应给出简短计划,每步附验证点。强成功标准可让模型独立循环,弱标准(如“让它能用”)则需不断澄清。
权衡与限制:这些准则偏向谨慎而非速度,对琐碎任务需自行判断。资料未提供安装方式、具体实现或平台信息。