文章目录
- ❌ 过度工程化(错误示范) # 30多行代码,使用了抽象类、策略模式等 from abc import ABC, abstractmethod class DiscountStrategy(ABC): @abstractmethod def calculate(self, amount: float) -> float: pass # … 更多复杂代码 ✅ 简单优先(正确做法) # 3行函数解决实际问题 def calculate_discount(amount: float, percent: float) -> float: “””计算折扣金额,百分比应为0-100″”” return amount * (percent / 100)
- ❌ 添加未请求的功能 # 添加了缓存、验证、通知等未请求的功能 class PreferenceManager: def save(self, user_id: int, prefs: dict, merge: bool = True, validate: bool = True, notify: bool = False) -> bool: # … 复杂实现 ✅ 只做被请求的事 # 简单直接的实现 def save_preferences(db, user_id: int, preferences: dict): “””保存用户偏好到数据库””” db.execute( “UPDATE users SET preferences = ? WHERE id = ?”, (json.dumps(preferences), user_id) ) 到此这篇关于claude code添加 andrej-karpathy-skills的文章就介绍到这了,更多相关claude添加andrej-karpathy内容请搜索风君子博客以前的文章或继续浏览下面的相关文章,希望大家以后多多支持风君子博客!
目录
- 什么是andrej-karpathy-skills?
- 本地添加
- 正式安装:Install
- 实践案例:避免常见陷阱
- 案例1:折扣计算功能
- 案例2:用户偏好保存
andrej-karpathy-skills是一个专门为AI编程设计的指导框架,源自著名AI研究员Andrej Karpathy对LLM编程问题的深刻观察。
https://github.com/ForrestChang/andrej-karpathy-skills
他发现LLM在编程时存在几个关键问题:
- 错误假设:AI会默默做出假设而不验证
- 过度复杂化:喜欢创建复杂的抽象和API
- 无意识修改:会修改不相关的代码和注释
- 目标模糊:缺乏明确的成功标准
这个项目的核心思想是:通过四大原则指导AI编程,减少错误,提高代码质量。

我倒是觉得这个准则和 Superpowers 是冲突的,二选一即可。
在全局 claude.md里添加:
# 全局行为准则 (Global Guidelines) ## 1. RTK (Token 优化代理) **原则:优先使用 RTK 代理以节省 Token。** - 常用:`rtk git status/log/diff`, `rtk ls`, `rtk grep`, `rtk log`。 - 统计:使用 `rtk gain` 查看节省数据。 ## 2. 运行模式 (Superpowers) - **按需调用**:默认**不**使用 Superpowers 流程。 - **触发机制**:仅在用户明确要求 "TDD"、"Debugging"、"Brainstorming" 或 "写计划" 时调用对应 Skill。 - **常规操作**:代码修改、Bug 修复、读写文件直接执行。 ## 3. AI 编码准则 (Karpathy 简洁模式) > 谨慎优于速度。琐碎任务(如拼写纠正)可自行处理,其余遵循: ### 编码前思考 - **禁猜**:明确说明假设,不确定或困惑时立即停下提问。 - **透明**:歧义时呈现多种方案,不默默选择。 - **求简**:存在更简单的路径必须指出。 ### 简洁优先 (Simplicity) - **禁过度设计**:不添加未要求的功能,不为一次性代码抽象。 - **禁防御过当**:不处理不可能发生的错误场景。 - **重构逻辑**:如果 200 行逻辑能用 50 行实现,必须重写。 ### 精准修改 (Surgical Changes) - **最小干预**:不主动“改进”相邻代码、注释或格式;不重构没坏的东西。 - **风格兼容**:强制匹配项目现有风格。 - **自我清理**:仅删除因本次改动导致的废弃导入/变量/函数。 ### 目标驱动 - **验证闭环**:定义可验证的成功标准。 - **计划先行**:多步任务必须列出简短计划 `1. [步骤] → 验证: [检查]`。 ## 4. 跨平台开发通用规范 (Android & HarmonyOS) - **异步处理**:涉及 UI 或数据持久化时,注意线程/协程安全。 - **资源规范**:引用字符串、颜色、图标时,优先检查资源文件而非硬编码。 - **环境一致性**:使用 `CLAUDE_CODE_ATTRIBUTION_HEADER` 以维持第三方代理 (如 mimo) 的缓存命中。
Option A: Claude Code Plugin (recommended)
From within Claude Code, first add the marketplace:
/plugin marketplace add forrestchang/andrej-karpathy-skills
Then install the plugin:
/plugin install andrej-karpathy-skills@karpathy-skills
This installs the guidelines as a Claude Code plugin, making the skill available across all your projects.
Option B: CLAUDE.md (per-project)
New project:
curl -o CLAUDE.md https://raw.githubusercontent.com/forrestchang/andrej-karpathy-skills/main/CLAUDE.md
Existing project (append):
echo "" >> CLAUDE.md curl https://raw.githubusercontent.com/forrestchang/andrej-karpathy-skills/main/CLAUDE.md >> CLAUDE.md
❌ 过度工程化(错误示范)
# 30多行代码,使用了抽象类、策略模式等
from abc import ABC, abstractmethod
class DiscountStrategy(ABC):
@abstractmethod
def calculate(self, amount: float) -> float: pass
# ... 更多复杂代码
✅ 简单优先(正确做法)
# 3行函数解决实际问题
def calculate_discount(amount: float, percent: float) -> float:
"""计算折扣金额,百分比应为0-100"""
return amount * (percent / 100)
❌ 添加未请求的功能
# 添加了缓存、验证、通知等未请求的功能
class PreferenceManager:
def save(self, user_id: int, prefs: dict,
merge: bool = True,
validate: bool = True,
notify: bool = False) -> bool:
# ... 复杂实现
✅ 只做被请求的事
# 简单直接的实现
def save_preferences(db, user_id: int, preferences: dict):
"""保存用户偏好到数据库"""
db.execute(
"UPDATE users SET preferences = ? WHERE id = ?",
(json.dumps(preferences), user_id)
)
到此这篇关于claude code添加 andrej-karpathy-skills的文章就介绍到这了,更多相关claude添加andrej-karpathy内容请搜索风君子博客以前的文章或继续浏览下面的相关文章,希望大家以后多多支持风君子博客!