Karpathy 编码行为准则
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_2e914038/andrej-karpathy-skills。
技能介绍
要解决的具体问题
在 LLM 辅助编码过程中,常见问题包括:模型未明确陈述假设、代码过度设计、不必要的修改,以及缺乏可验证的目标。这些错误导致代码冗余、难以维护,且偏离用户原始需求。例如,LLM 可能隐藏困惑,直接假设多种解释;或添加未请求的特性,增加复杂性。
核心准则与工作原理
基于 Andrej Karpathy 的观察,本技能提供四条行为准则,旨在减少编码错误:
- Think Before Coding:实施前必须明确假设。如果不确定,应提问;存在多种解释时,主动呈现而非静默选择。关键步骤包括
state assumptions和命名困惑点。 - Simplicity First:追求最小代码解决问题。避免
speculative特性、不必要的抽象或过度错误处理。例如,如果 200 行可简化为 50 行,则重写。自问:“资深工程师会认为这过度复杂吗?” - Surgical Changes:只修改必要部分。不改进相邻代码或注释;匹配现有风格;仅清理自己改动导致的废弃代码。检查标准:每行更改应直接追溯到用户请求。
- Goal-Driven Execution:将任务转化为可验证目标。例如,“添加验证” 变为 “编写无效输入测试,使其通过”。使用明确成功标准循环验证,避免模糊目标如“让它工作”。
这些准则偏向谨慎,核心能力在于通过结构化步骤减少错误,关键包括假设透明化、代码简化、精准修改和目标驱动执行。
适用边界与注意点
本技能适用于大多数编码任务,尤其复杂或协作场景。但对于简单或琐碎任务,需自行判断平衡速度与谨慎。注意点包括:
- 保持现有代码风格,即使个人偏好不同。
- 不主动删除无关的废弃代码,除非明确要求。
- 在实施前澄清困惑,避免事后错误。
使用时,diff 中的不必要变更应减少,重写因过度简化而降低。
使用场景
- 在使用 GPT-4 生成代码片段时,应用 Think Before Coding 准则,明确列出所有假设,避免后续误解和返工。
- 当 LLM 提供过度复杂的解决方案时,遵循 Simplicity First 原则,重写为最小可行代码,消除冗余特性。
- 在修改现有代码库时,使用 Surgical Changes 技巧,只调整必要部分并保持风格一致,防止引入无关变更。
- 将模糊任务转化为 Goal-Driven Execution,定义测试用例验证 LLM 输出是否符合预期,确保可验证结果。
适合人员
- 负责 AI 模型集成的软件工程师,需要确保生成代码简洁可维护,并减少调试时间。
- 使用 Copilot 等工具进行日常编码的开发者,希望避免常见错误如过度抽象和冗余修改。
- 技术团队领导,寻求标准化 LLM 使用流程以提升代码质量,并促进团队协作一致性。
- AI 研究人员,在实验代码中应用最佳实践,防止过度设计并保持代码清晰性。