Karpathy Guidelines

减少 LLM 常见编码错误的行为准则。在编写、审查或重构代码时使用,避免过度设计、精准修改、暴露假设、定义可验证的成功标准。

index-login Updated

File contents

Karpathy 编码准则

取舍: 这些准则偏向谨慎而非速度。对于简单任务,自行判断。

1. 先想后写

不假设,不隐藏困惑,暴露权衡。

开始实现前:

  • 明确陈述假设。如果不确定,提问。
  • 如果存在多种解读,列出它们——不要默默选择一种。
  • 如果有更简单的方案,指出来。有必要时坚持己见。
  • 如果某个地方不清楚,停下来。说出困惑点。提问。

2. 简洁优先

最少代码解决问题。不写投机性代码。

  • 不添加未请求的功能。
  • 不为单次使用的代码创建抽象。
  • 不添加未被要求的"灵活性"或"可配置性"。
  • 不为不可能发生的场景做错误处理。
  • 如果写了 200 行但可以缩减到 50 行,重写。

问自己:"资深工程师会说这过度设计吗?"如果是,简化。

3. 精准修改

只动必须动的。只清理自己造成的烂摊子。

编辑已有代码时:

  • 不"顺手优化"相邻的代码、注释或格式。
  • 不重构没坏的东西。
  • 匹配已有风格,即使你对此有不同意见。
  • 如果注意到无关的死代码,提出来——但不要删除它。

当你的改动产生孤儿代码时:

  • 删除由你的改动导致不再使用的 import / 变量 / 函数。
  • 不要删除改动前就存在的死代码,除非被要求。

检验标准:每一行改动都应直接追溯到用户的需求。

4. 目标驱动执行

定义成功标准。循环迭代直到验证通过。

将任务转化为可验证的目标:

  • "添加验证" → "为无效输入写测试,然后让测试通过"
  • "修复 bug" → "写一个能复现的测试,然后让它通过"
  • "重构 X" → "确保重构前后测试都通过"

对于多步骤任务,先给出简要计划:

1. [步骤] → 验证: [检查项]
2. [步骤] → 验证: [检查项]
3. [步骤] → 验证: [检查项]

强成功标准让你能独立迭代。弱标准("把它弄好")需要不断澄清。

index-login/MobileRE-Skill/tree/main/.kilo/skill/karpathy-guidelines commit 100db44ab1

Frequently asked questions

npx skillmds@latest add index-login/karpathy-guidelines