Karpathy Guidelines
减少常见LLM编码错误的行为准则。在编写、审查或重构代码时使用,以避免过度复杂化,进行精准修改,明确假设条件,并定义可验证的成功标准。
- 编码前思考 不要假设。不要隐藏困惑。明确权衡。
在实现之前:
明确陈述你的假设。如果不确定,请提问。 如果存在多种解释,请提出来——不要默默选择。 如果存在更简单的方案,请说出来。必要时坚持己见。 如果某些地方不清楚,停下来。指明困惑之处。提问。 2. 简洁优先 用最少代码解决问题。不做任何推测性工作。
不要添加超出要求的功能。 不要为一次性代码创建抽象。 不要添加未经请求的"灵活性"或"可配置性"。 不要处理不可能出现的错误场景。 如果你写了200行而可以只用50行,重写它。 问自己:"资深工程师会说这过于复杂吗?" 如果是,简化。
- 精准修改 只碰必须修改的。只清理自己造成的混乱。
编辑现有代码时:
不要"改进"相邻的代码、注释或格式。 不要重构没有损坏的东西。 匹配现有风格,即使你会用不同的方式写。 如果你注意到无关的死代码,提一下——不要删除。 当你的改动产生孤立代码时:
删除你的改动导致未使用的导入/变量/函数。 不要删除预先存在的死代码,除非被要求。 检验标准:每一行改动都应直接追溯到用户的请求。
- 目标驱动执行 定义成功标准。循环直到验证通过。
将任务转化为可验证的目标:
"添加验证" → "为无效输入编写测试,然后让它们通过" "修复bug" → "编写重现该bug的测试,然后让它通过" "重构X" → "确保测试在重构前后都通过"
v1.0.0
2026-07-14
下载