108 lines
3.9 KiB
Markdown
108 lines
3.9 KiB
Markdown
# Andrej Karpathy Skills 安裝與使用筆記
|
||
|
||
## 基本資訊
|
||
|
||
- **專案**: https://github.com/forrestchang/andrej-karpathy-skills
|
||
- **作者**: Forrest Chang(forrestchang)
|
||
- **授權**: MIT
|
||
- **類型**: Claude Code 外掛(plugin/skill)+ 可貼到 CLAUDE.md 的規則集
|
||
- **靈感來源**: [Andrej Karpathy 對 LLM coding 缺陷的觀察](https://x.com/karpathy/status/2015883857489522876)
|
||
- **安裝日期**: 2026-04-19
|
||
|
||
## 是什麼
|
||
|
||
一份讓 Claude Code(以及 Cursor)寫 code 時更「克制、精準、以目標為導向」的行為準則。核心觀點:**LLM 擅長為了達成目標而反覆迭代,所以把「目標」定義清楚,比教它怎麼寫 code 更重要。**
|
||
|
||
### 四大原則
|
||
|
||
1. **Think Before Coding(先思考再動手)**
|
||
- 明確說出假設;不確定就問
|
||
- 看到多種詮釋時攤開來,不要偷偷選
|
||
- 有更簡單的做法就直說,該推回時推回
|
||
|
||
2. **Simplicity First(簡單優先)**
|
||
- 只寫能解決問題的最小程式碼
|
||
- 不做沒要求的功能、抽象、彈性、錯誤處理
|
||
- 200 行能壓到 50 行就重寫
|
||
|
||
3. **Surgical Changes(外科手術式修改)**
|
||
- 只動必要的部分,別順手「改進」相鄰程式碼
|
||
- 不要 refactor 沒壞的東西;維持原有風格
|
||
- 每一行變更都要能對應到使用者的請求
|
||
|
||
4. **Goal-Driven Execution(目標驅動執行)**
|
||
- 把任務轉成可驗證的成功條件,例如:
|
||
- 「加驗證」→「寫失敗測試,讓它通過」
|
||
- 「修 bug」→「寫能重現 bug 的測試,讓它通過」
|
||
- 多步驟任務先列計畫,每步附 verify 檢查項
|
||
|
||
## 安裝方式
|
||
|
||
### 方法 A:Claude Code Plugin(推薦)
|
||
|
||
在 Claude Code 對話中執行:
|
||
|
||
```text
|
||
/plugin marketplace add forrestchang/andrej-karpathy-skills
|
||
/plugin install andrej-karpathy-skills@karpathy-skills
|
||
/reload-plugins
|
||
```
|
||
|
||
### 方法 B:直接放到專案 CLAUDE.md
|
||
|
||
```bash
|
||
# 新專案
|
||
curl -o CLAUDE.md https://raw.githubusercontent.com/forrestchang/andrej-karpathy-skills/main/CLAUDE.md
|
||
|
||
# 既有 CLAUDE.md 附加
|
||
echo "" >> CLAUDE.md
|
||
curl https://raw.githubusercontent.com/forrestchang/andrej-karpathy-skills/main/CLAUDE.md >> CLAUDE.md
|
||
```
|
||
|
||
### 方法 C:Cursor
|
||
|
||
專案 repo 內附 `.cursor/rules/karpathy-guidelines.mdc`,放進你的專案即可。詳見原 repo 的 `CURSOR.md`。
|
||
|
||
## 與現有 karpathy-guidelines skill 的差異
|
||
|
||
本機 `~/.claude/skills/karpathy-guidelines/SKILL.md` 已存在一份同概念 skill(Anthropic / 預設安裝),內容涵蓋完全相同的四大原則。
|
||
|
||
| 比較項 | 本機既有 skill | forrestchang plugin |
|
||
|--------|---------------|---------------------|
|
||
| 位置 | `~/.claude/skills/karpathy-guidelines/` | plugin marketplace |
|
||
| 格式 | 單檔 SKILL.md | plugin 套件 |
|
||
| 可更新 | 手動 | `/plugin update` |
|
||
| 內容 | 四原則 + trade-off 說明 | 四原則 + Cursor 支援 |
|
||
|
||
**實務建議**:兩者任擇其一即可,重複安裝會讓 skill 名稱衝突。
|
||
|
||
- 若只想在 Claude Code 使用並保持簡單:維持現有 skill。
|
||
- 若要跨 Cursor / 多機器同步並接受 plugin 更新機制:改裝 plugin 版本。
|
||
- 若要在特定專案強制執行:方法 B 把 CLAUDE.md 放進 repo,團隊成員都會讀到。
|
||
|
||
## 成功指標(來自原作者)
|
||
|
||
- 不必要的 diff 變動變少
|
||
- 第一次嘗試就產出更簡潔的程式碼
|
||
- 實作前會先提釐清問題
|
||
- PR 更小、更聚焦
|
||
|
||
## 常用檢查
|
||
|
||
```bash
|
||
# 既有 skill
|
||
cat ~/.claude/skills/karpathy-guidelines/SKILL.md
|
||
|
||
# Plugin 安裝後
|
||
ls ~/.claude/plugins/marketplaces/ | grep -i karpathy
|
||
cat ~/.claude/plugins/known_marketplaces.json
|
||
|
||
# 在 Claude Code 查看 skill 列表
|
||
/skill list # 或直接輸入 / 查看建議
|
||
```
|
||
|
||
## 備註
|
||
|
||
- Karpathy 原推文提醒的幾個 LLM 缺陷:過度抽象、加非必要功能、改到不該改的地方、沒問就猜。這份 skill 就是針對這些的反制。
|
||
- 文件開頭已聲明 trade-off:偏向「謹慎優先於速度」;瑣碎任務自行拿捏。
|