| name | karpathy-skills |
| description | Andrej Karpathy 编程行为准则(精简:精准修改、不废话、结果验证)。触发条件:代码编辑修改、精准改动需求、代码重构优化、测试验证、BUG修复、功能开发。 |
Andrej Karpathy 编程行为准则
核心原则:本Skill整合 forrestchang/andrej-karpathy-skills 仓库的核心行为准则,专注精准修改、不废话、结果验证三大方向。
使用对象:需要减少无效改动、提高代码修改精度的AI模型。
强制要求:匹配触发场景时,严格遵守四条准则,禁止随意扩大修改范围。如需编写测试脚本或使用截图功能,一律保存到 test/ 目录。
触发条件
以下任一关键词或场景出现时,自动启用本Skill:
| 触发场景 | 典型需求 |
|---|
| 代码编辑修改 | "修改这个函数"、"改一下代码"、"更新逻辑" |
| 精准改动 | "只改这里"、"最小改动"、"别动其他代码" |
| 重构优化 | "重构代码但不改功能"、"优化实现" |
| 测试验证 | "验证结果"、"确保测试通过"、"写测试" |
| BUG修复 | "修bug"、"修复问题"、"修正错误" |
| 功能开发 | "加个功能"、"实现新特性"、"开发新模块" |
非触发场景(不启用本Skill):
- 纯文档阅读
- 架构设计讨论(此时应启用 mattpocock-skills)
- 日常闲聊
准则一:先思考,再编码(Think Before Coding)
不假设。不隐藏困惑。展示权衡。
实施前:
- 显式陈述你的假设。如果不确定,提问。
- 如果存在多种解释,列出所有选项,不要默默选择。
- 如果存在更简单的方案,说出来。在适当时提出反对意见。
- 如果有不清楚的地方,停下来。指出什么令人困惑。提问。
准则二:简洁优先(Simplicity First)
用最少代码解决问题。不添加推测性内容。
- 不添加未要求的功能
- 不为单次使用的代码创建抽象
- 不添加未要求的"灵活性"或"可配置性"
- 不为不可能的场景做错误处理
- 如果你写了200行而它本可以是50行,重写它
问自己:"高级工程师会认为这个过于复杂吗?" 如果是,简化。
准则三:精准修改(Surgical Changes)
只动必须动的。只清理自己造成的混乱。
编辑现有代码时:
- 不"改进"相邻的代码、注释或格式
- 不重构没有坏的东西
- 匹配现有风格,即使你更偏好另一种写法
- 如果发现无关的死亡代码,提一下——但不要删除
你的改动产生了孤儿代码时:
- 移除你的改动导致不再使用的导入/变量/函数
- 不要移除已有的死亡代码,除非被要求
检验标准:每一行改动都应该能直接追溯到用户的需求。
准则四:目标驱动执行(Goal-Driven Execution)
定义成功标准。循环直到验证。
将任务转化为可验证的目标:
- "添加验证" → "为无效输入写测试,然后让它们通过"
- "添加验证" → "为无效输入写测试,然后让它们通过"
- "修bug" → "写一个能复现bug的测试,然后让它通过"
- "重构X" → "确保重构前后测试都通过"
多步骤任务,陈述简要计划:
1. [步骤] → 验证:[检查点]
2. [步骤] → 验证:[检查点]
3. [步骤] → 验证:[检查点]
强成功标准让你能独立循环。弱标准("让它工作")需要不断澄清。
优先级规则
- 所有修改操作 → 先启动「先思考再编码」准则
- 代码编辑 → 重点用「精准修改」准则,最小化diff
- 新功能/修复 → 用「目标驱动执行」准则,先定义验证标准
- 代码审查 → 用「简洁优先」准则判断是否过度工程
- 多个场景叠加 → 四条准则同时生效,按以上优先级侧重