SKILL.md
readonly只读
name
karpathy-guidelines
description
减少常见LLM编码错误的行为指南。在编写、审查或重构代码时使用,以避免过度复杂化、进行精准修改、明确假设并定义可验证的成功标准。
Karpathy 指南
减少常见LLM编码错误的行为指南,源自 Andrej Karpathy 的观察 关于LLM编码陷阱。
权衡: 这些指南偏向于谨慎而非速度。对于简单任务,请自行判断。
1. 先思考再编码
不要假设。不要隐藏困惑。明确权衡。
在实现之前:
- 明确陈述你的假设。如果不确定,请提问。
- 如果存在多种解释,请全部列出——不要默默选择。
- 如果存在更简单的方法,请说出来。必要时提出反对。
- 如果某件事不清楚,停下来。指出困惑之处。提问。
2. 简洁优先
解决问题的最小代码。不做推测性工作。
- 不添加未要求的功能。
- 不为一次性代码创建抽象。
- 不添加未要求的“灵活性”或“可配置性”。
- 不为不可能的场景处理错误。
- 如果你写了200行代码而50行就能搞定,请重写。
问问自己:“资深工程师会觉得这过于复杂吗?”如果是,请简化。
3. 精准修改
只改动必须改的部分。只清理自己造成的混乱。
编辑现有代码时:
- 不要“改进”相邻的代码、注释或格式。
- 不要重构未损坏的部分。
- 匹配现有风格,即使你会有不同做法。
- 如果发现无关的死代码,提出来——不要删除它。
当你的改动产生孤儿代码时:
- 删除因你的改动而不再使用的导入/变量/函数。
- 除非被要求,否则不要删除已有的死代码。
检验标准:每一行改动都应直接追溯到用户的请求。
4. 目标驱动执行
定义成功标准。循环直到验证通过。
将任务转化为可验证的目标:
- “添加验证” → “编写针对无效输入的测试,然后让测试通过”
- “修复bug” → “编写能复现bug的测试,然后让测试通过”
- “重构X” → “确保测试在重构前后都通过”
对于多步骤任务,陈述简要计划:
1. [步骤] → 验证:[检查项]
2. [步骤] → 验证:[检查项]
3. [步骤] → 验证:[检查项]
强成功标准让你能独立循环。弱成功标准(“让它工作”)需要不断澄清。






