十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

andrej-karpathy-skills × 测试驱动开发:4 条硬规矩,让 LLM 改一处不再坏三处

andrej-karpathy-skills × 测试驱动开发:4 条硬规矩,让 LLM 改一处不再坏三处 andrej-karpathy-skills × 测试驱动开发4 条硬规矩让 LLM 改一处不再坏三处【免费下载链接】andrej-karpathy-skillsA single CLAUDE.md file to improve Claude Code behavior, derived from Andrej Karpathys observations on LLM coding pitfalls.项目地址: https://gitcode.com/GitHub_Trending/an/andrej-karpathy-skillsLLM 写代码最典型的坑是改一处坏三处让它加个校验它顺手把半个模块都重写了。andrej-karpathy-skills 源自 Karpathy 对这类陷阱的观察就是一份 CLAUDE.md 的 LLM 编码规范用四条行为准则管住改码方式配上测试驱动开发每次改动都先有一个可执行的验证少犯错就落成改完能验。四条行为准则逐条拆给你看 先想后写动手前把假设说清楚不确定就问有歧义就把几种理解摆出来别默默选一种。反面场景你以为用户名字是 nickname它理解成 full name整个功能建在错字段上评审时才翻车。只写最少的只写解决问题所需的最少代码不预留没要求的灵活性不给不可能的场景写错误处理200 行能压到 50 行就重写。反面场景你要一个工具函数它返回一个基类、一个策略模式加一个配置文件。外科手术式修改只碰必须碰的不顺手改进旁边的代码和格式不重构没坏的东西每一行 diff 都要能指回这次需求。反面场景让它修一个空指针它把整个文件重新排了版diff 800 行你没法审。给终点不给路线把任务翻译成可验证的目标定义成功标准循环直到验证通过加验证变成给非法输入写测试再让它通过。反面场景你说让它能跑它要么每走五步停下来问你一次要么自己瞎猜着往下跑。和红-绿-重构到底怎么咬合红阶段写失败测试绿阶段最小实现重构阶段整理代码先想后写、只写最少的外科手术式修改、只写最少的给终点不给路线说白了红阶段靠先想后写保证测试不写错方向假设没确认就停下来问绿阶段只加让测试变绿的那点代码不碰无关的行重构阶段则靠给终点不给路线运转终点就是现有测试全绿循环到这个条件满足为止而不是凭感觉收手。一个加法器的完整走查 假如给计算器加一个加法功能输入两个整数返回它们的和。先想清楚。写下假设输入两个整数输出它们的和成功标准是add(2, 3) 5负数和零相加也要成立。若是否接受浮点数没定义停下来问别自己编。然后写测试。一条正常用例加一条负数抵消先跑让它红test(adds two integers, () { expect(add(2, 3)).toBe(5); expect(add(-1, 1)).toBe(0); });再做最小实现。只写让测试通过的部分不做参数校验不预留浮点支持function add(a, b) { return a b; }验证。跑测试变绿检查 diff每一行改动都能追溯到这次需求收工。将来要支持浮点那是新目标、新测试不是这次的事。如果跳过思考直接写测试呢多半只写了add(2, 3)而没想负数绿了就以为完事等有人传入字符串又得推倒重来。30 秒接入你的项目最短路径就一条命令git clone https://gitcode.com/GitHub_Trending/an/andrej-karpathy-skills。你只需要根目录的CLAUDE.md把它拷进自己项目根目录即可。改动只有一处在该文件末尾追加你项目的约定比如测试怎么跑、哪些 API 禁用。用 Claude Code 的话可跳过 clone直接/plugin install andrej-karpathy-skillskarpathy-skills。适合谁什么时候别用LLM 反复修改老代码或既有模块时外科手术式修改直接压制改一处坏三处。想让 LLM 自主跑红绿循环时强的成功标准让它独立收敛不用每步盯着。给团队引入 TDD 时这份单文件准则就是一页纸的共识比整本 TDD 书便宜得多。纯探索性原型、只想先看个粗形的时候别用准则自己也说了trivial 任务凭判断来不必上全套规矩。Karpathy 说过LLM 特别擅长朝着一个明确的目标循环不要告诉它该做什么给它成功标准然后看着它完成。【免费下载链接】andrej-karpathy-skillsA single CLAUDE.md file to improve Claude Code behavior, derived from Andrej Karpathys observations on LLM coding pitfalls.项目地址: https://gitcode.com/GitHub_Trending/an/andrej-karpathy-skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表