Karpathy亲授!4个原则根治Claude编码的“瞎猜、臃肿、乱改”三大顽疾
andrej-karpathy-skills 是一个 帮助用户学习和掌握AI领域核心技能 的 学习指南项目。简单讲,它是一套系统化的课程路径,教你如何像AI专家Andrej Karpathy一样思考和实践人工智能技术,涵盖编程、机器学习、神经网络等内容。适用人群:想深入AI领域的开发者、学生和研究人员。
主要语言:
stars: 41.8k
项目简介
该项目提供了一份 CLAUDE.md 文件,其灵感源自 Andrej Karpathy 对大语言模型(LLM)编码陷阱的观察,旨在改善 Claude Code 的编码行为。
项目核心问题
- 模型会在未检查的情况下做出错误假设,不处理困惑、不寻求澄清、不指出不一致性、不展示权衡,该反驳时不反驳。
- 倾向于过度复杂化代码和 API,使抽象臃肿,不清理死代码,能用 100 行实现的却写了 1000 多行。
- 有时会在不充分理解的情况下更改或删除与任务无关的注释和代码。
解决方案
文件提出了四个原则来直接解决上述问题:
- Think Before Coding:避免错误假设、隐藏困惑和缺失权衡。要求明确陈述假设,存在歧义时给出多种解释,有更简单方法时提出,困惑时停止并请求澄清。
- Simplicity First:以最少的代码解决问题,避免过度工程化。不添加额外功能,不使用单用途代码的抽象,不添加未要求的“灵活性”或“可配置性”,不处理不可能出现的错误场景,若代码可简化则进行重写。
- Surgical Changes:只修改必要的部分,清理自己产生的冗余。编辑现有代码时,不“改进”相邻代码、注释或格式,不重构未损坏的部分,匹配现有风格,发现无关死代码时仅提及不删除;若更改产生了孤立元素,删除因自己的更改而变得无用的导入、变量或函数,除非被要求,否则不删除原有的死代码。
- Goal-Driven Execution:定义成功标准并循环验证。将命令式任务转化为可验证的目标,如“添加验证”转化为“编写无效输入的测试,然后使测试通过”等。对于多步骤任务,制定简要计划并明确验证步骤。
安装方式
- Claude Code 插件(推荐) :在 Claude Code 中,先添加市场
plugin marketplace add forrestchang/andrej-karpathy-skills,再安装插件plugin install andrej-karpathy-skills@karpathy-skills,这样技能可在所有项目中使用。 - CLAUDE.md(按项目) :新项目可使用
curl -o CLAUDE.md https://raw.githubusercontent.com/forrestchang/andrej-karpathy-skills/main/CLAUDE.md;现有项目可使用echo "" >> CLAUDE.md和curl https://raw.githubusercontent.com/forrestchang/andrej-karpathy-skills/main/CLAUDE.md >> CLAUDE.md追加内容。
项目优势
- 减少代码差异中的不必要更改,只呈现请求的更改。
- 避免因过度复杂化导致的重写,使代码一开始就简洁。
- 在实现前提出澄清问题,避免犯错后再解决。
- 生成干净、最小化的拉取请求,无随意的重构或“改进”。
应用场景
适用于使用 Claude Code 进行编码的项目,特别是非琐碎的工作,可帮助减少编码过程中的错误和不必要的复杂性。同时,这些准则可与特定项目的说明合并,实现定制化使用。
注意事项
这些准则更倾向于谨慎而非速度,对于简单的任务(如简单的拼写错误修复、明显的单行代码),可根据情况灵活处理,并非每个更改都需要严格遵循所有准则。
开源了!教科书级前端架构的3D建筑编辑器,React Three Fiber+WebGPU打造,抄作业走起
[pascalorg/editor] 是一个 基于 TypeScript 开发的代码编辑器 的 工具。简单讲,它是一个功能强大的在线代码编辑器,支持语法高亮、智能提示等特性,类似轻量版 VS Code。适用人群:前端开发者、需要嵌入代码编辑功能的产品团队。
主要语言:TypeScript
stars: 12.5k
仓库概述
Pascal Editor 是一个基于 React Three Fiber 和 WebGPU 构建的 3D 建筑编辑器。它采用 Turborepo 管理的单仓库多包架构,包含三个主要包,这种架构使得代码结构清晰,职责分离明确。
主要优势
- 多包架构:将功能拆分为
@pascal-app/core、@pascal-app/viewer和apps/editor三个包,每个包专注于特定的功能,提高了代码的可维护性和可扩展性。 - 状态管理:使用 Zustand 进行状态管理,每个包都有自己独立的状态存储,便于管理不同层面的状态,并且集成了 Zundo 实现了撤销和重做功能。
- 性能优化:通过脏节点机制,仅对有变化的节点重新计算几何信息,提高了渲染性能。
- 事件总线:使用 mitt 实现的事件总线,方便组件之间的通信,增强了代码的解耦性。
- 丰富的工具和系统:提供了多种编辑工具和系统,可满足不同的建筑编辑需求。
- 技术栈先进:采用了 React 19、Next.js 16、Three.js 等一系列先进的前端技术,保证了项目的性能和兼容性。
核心功能
- 节点管理:使用节点来描述 3D 场景,节点具有层次结构,存储在扁平字典中,方便管理和查询。
- 场景渲染:通过 React Three Fiber 进行 3D 渲染,支持默认的相机和控件,以及后期处理效果。
- 几何生成:核心系统负责生成各种建筑元素的几何形状,如墙壁、地板、天花板和屋顶等。
- 编辑功能:编辑器提供了多种工具,如选择、绘制墙壁、创建区域、放置家具等,支持交互式编辑和选择管理。
- 碰撞检测和放置验证:使用空间网格管理器进行碰撞检测和放置验证,确保元素的合理放置。
应用场景
- 建筑设计:设计师可以使用该编辑器创建和编辑 3D 建筑模型,进行方案设计和展示。
- 室内设计:用于设计室内空间,包括家具布置、墙面处理等。
- 游戏开发:可以创建游戏中的场景和建筑元素。
代码架构
-
多包结构
apps/editor:是一个 Next.js 应用,包含 UI 组件、工具、自定义行为和编辑器特定的系统。packages/core:负责节点模式定义、场景状态管理、系统(几何生成)、空间查询和事件总线。packages/viewer:主要进行 3D 渲染,提供默认的相机/控件和后期处理。
-
状态存储
useScene:存储场景数据,包括节点、根节点 ID、脏节点和 CRUD 操作,支持持久化到 IndexedDB 和撤销/重做。useViewer:管理查看器状态,如当前选择、级别显示模式和相机模式。useEditor:管理编辑器状态,如活动工具、结构层可见性、面板状态和编辑器特定的偏好设置。
-
主要模块
- 节点:是描述 3D 场景的基本数据单元,具有层次结构。
- 场景注册表:将节点 ID 映射到 Three.js 对象,方便快速查找。
- 节点渲染器:为每种节点类型创建 Three.js 对象,并通过
useRegistry进行注册。 - 系统:在渲染循环中运行,处理脏节点并更新几何信息和变换。
- 事件总线:用于组件之间的通信,支持多种类型的事件。
- 空间网格管理器:处理碰撞检测和放置验证。
技术栈
- 前端框架:React 19 和 Next.js 16
- 3D 渲染:Three.js(WebGPU 渲染器)和 React Three Fiber + Drei
- 状态管理:Zustand 和 Zundo
- 模式验证:Zod
- 布尔几何运算:three - bvh - csg
- 单仓库管理:Turborepo
- 包管理:Bun
开发与部署
-
开发
- 安装依赖:
bun install - 启动开发服务器:
bun dev
- 安装依赖:
-
生产构建
- 构建所有包:
turbo build - 构建特定包:
turbo build --filter=@pascal-app/core
- 构建所有包:
-
发布包
-
构建包:
turbo build --filter=@pascal-app/core --filter=@pascal-app/viewer -
发布到 npm:
npm publish --workspace=@pascal-app/core --access publicnpm publish --workspace=@pascal-app/viewer --access public
-
关键文件
packages/core/src/schema/:节点类型定义(Zod 模式)packages/core/src/store/use-scene.ts:场景状态存储packages/core/src/hooks/scene-registry/:3D 对象注册表packages/core/src/systems/:几何生成系统packages/viewer/src/components/renderers/:节点渲染器packages/viewer/src/components/viewer/:主查看器组件apps/editor/components/tools/:编辑器工具apps/editor/store/:编辑器特定的状态
原文:mp.weixin.qq.com/s/F2-0TywG8…
欢迎关注g*h:AI Tech研习社
关注g*h,后台回复【OpenClaw完全使用手册】,领取OpenClaw完全使用手册.pdf学习资料,更多学习资源敬请期待。