1. Think Before Coding

张开发
2026/4/8 10:24:51 15 分钟阅读

分享文章

1. Think Before Coding
1. Think Before Coding【免费下载链接】andrej-karpathy-skills项目地址: https://gitcode.com/GitHub_Trending/an/andrej-karpathy-skillsDont assume. Dont hide confusion. Surface tradeoffs.Before implementing:State your assumptions explicitly. If uncertain, ask.If multiple interpretations exist, present them - dont pick silently.If a simpler approach exists, say so. Push back when warranted.If something is unclear, stop. Name whats confusing. Ask.**实践案例**当用户要求添加用户数据导出功能时AI不应直接实现完整功能而应先澄清 - 导出范围全部用户还是筛选子集 - 导出格式JSON、CSV还是其他 - 数据字段哪些字段需要导出 - 性能考虑数据量多大 ### 2. 简单优先对抗过度工程化 **核心思想**用最少的代码解决问题不添加推测性功能 在[EXAMPLES.md](https://link.gitcode.com/i/a2be1bc7294383137496e42579ad9f4e)中展示了过度工程化与简单实现的对比 python # ❌ 过度工程化策略模式抽象类配置对象 from abc import ABC, abstractmethod from dataclasses import dataclass class DiscountStrategy(ABC): abstractmethod def calculate(self, amount: float) - float: pass # ... 30多行代码只为简单计算 # ✅ 简单优先单一函数解决问题 def calculate_discount(amount: float, percent: float) - float: 计算折扣金额百分比应为0-100 return amount * (percent / 100)关键洞察好的代码是简单解决今天的问题而不是过早解决明天的问题。3. 精准修改只改必要代码核心思想只修改必须修改的内容只清理自己造成的问题在skills/karpathy-guidelines/SKILL.md中这一原则强调When editing existing code: - Dont improve adjacent code, comments, or formatting. - Dont refactor things that arent broken. - Match existing style, even if youd do it differently. - If you notice unrelated dead code, mention it - dont delete it.测试标准每一行修改都应直接追溯到用户的请求。如果修改不能直接对应请求就不要做。✂️4. 目标驱动执行定义成功标准核心思想将模糊指令转化为可验证的目标LLM擅长循环执行直到满足特定目标。Karpathy指出不要告诉它做什么给它成功标准然后看它执行。这一原则体现在模糊指令转化为可验证目标添加验证为无效输入编写测试然后让测试通过修复bug编写重现bug的测试然后修复它重构X确保重构前后测试都通过 技术实现架构原则集成机制andrej-karpathy-skills项目通过以下方式实现行为修正CLAUDE.md文件集成- 将四大原则嵌入项目配置文件Claude Code插件- 通过插件系统全局应用原则技能定义- 在skills/karpathy-guidelines/SKILL.md中封装行为模式流程图四大原则工作流程 实际应用效果减少不必要的代码变更应用这些原则后代码差异diff中不必要的变化显著减少。AI助手不再重构未损坏的代码更改代码风格或格式删除无关的注释或死代码添加未请求的功能或抽象层提升代码质量通过karpathy_principles_diagram.md中的对比分析可以看到原则常见错误修正后行为编码前思考默默选择一种解释并继续明确列出假设询问澄清简单优先为单一用途添加抽象层只实现请求的功能精准修改重构相邻代码改变格式只修改与任务直接相关的行目标驱动我会改进代码的模糊方法编写测试→修复→验证的明确流程加速开发流程虽然这些原则偏向谨慎而非速度但它们通过减少返工和错误修复的时间从长远来看加速了开发减少误解导致的返工- 提前澄清需求避免过度工程化的重构- 保持代码简洁减少代码审查冲突- 只做必要的修改提高代码可维护性- 简单代码更易理解和维护 部署与定制安装方式选项AClaude Code插件推荐/plugin marketplace add forrestchang/andrej-karpathy-skills /plugin install andrej-karpathy-skillskarpathy-skills选项B项目级CLAUDE.md文件curl -o CLAUDE.md https://raw.githubusercontent.com/forrestchang/andrej-karpathy-skills/main/CLAUDE.md项目特定定制这些指导原则设计为可与项目特定指令合并。在现有CLAUDE.md中添加## 项目特定指导原则 - 使用TypeScript严格模式 - 所有API端点必须有测试 - 遵循src/utils/errors.ts中的现有错误处理模式【免费下载链接】andrej-karpathy-skills项目地址: https://gitcode.com/GitHub_Trending/an/andrej-karpathy-skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

更多文章