andrej-karpathy について
andrej-karpathy は、Andrej Karpathy による LLM のコーディング上の問題の観察に基づく行動指針を適用するスキルです。実装、レビュー、リファクタリングを行うコーディングエージェント向けで、前提の明示、最小限の変更、検証を重視します。
主な機能
- 01前提と曖昧さの明示
- 02最小限の実装を優先
- 03変更範囲を必要な箇所に限定
- 04検証可能な成功基準の設定
- 05複雑になったコードの簡素化
活用シーン
- 01不明確なコーディングタスクの計画
- 02範囲を限定したコード変更
- 03リファクタリング案のレビュー
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ sickn33/ agentic-awesome-skills --skill andrej-karpathyインストール後、Claude Code で/andrej-karpathyを入力して読み込まれたか確認します。
詳細
Karpathy ガイドライン
LLM によるコーディングでよくある間違いを減らすための行動ガイドラインです。LLM のコーディング上の落とし穴に関する Andrej Karpathy の観察から導き出されました。
トレードオフ: これらのガイドラインは、速度よりも慎重さに傾いています。些細なタスクでは、判断を働かせてください。
このスキルを使う場面
- LLM を使ってコードを書いたり、レビューしたり、リファクタリングしたりするときに使います。
- 変更を外科的にとどめ、投機的な抽象化を避ける必要があるときに使います。
- 前提、トレードオフ、検証基準を明示すべきときに使います。
- コードが過度に複雑になり、簡素化が必要なときに使います。
1. コーディングの前に考える
仮定しない。混乱を隠さない。トレードオフを表面化させる。
実装する前に:
- 自分の前提を明示してください。不確かな場合は、質問してください。
- 複数の解釈が存在する場合は、それらを提示してください。黙って一つを選ばないでください。
- よりシンプルなアプローチが存在する場合は、そう伝えてください。必要なら反論してください。
- 不明な点がある場合は、止まってください。何が混乱しているのかを言葉にしてください。質問してください。
2. シンプルさを最優先
問題を解決する最小限のコード。投機的なものは何も入れない。
- 求められた以上の機能は入れない。
- 単一用途のコードのための抽象化はしない。
- 求められていない「柔軟性」や「設定可能性」は入れない。
- 起こり得ないシナリオのためのエラー処理はしない。
- 200 行書いて 50 行にできるなら、書き直してください。
自問してください:「シニアエンジニアはこれは過度に複雑だと言うだろうか?」もしそうなら、簡素化してください。
3. 外科的な変更
必要なものだけに触れる。自分の後始末だけをする。
既存のコードを編集するとき:
- 隣接するコード、コメント、フォーマットを「改善」しないでください。
- 壊れていないものをリファクタリングしないでください。
- たとえ自分なら違う書き方をするとしても、既存のスタイルに合わせてください。
- 無関係なデッドコードに気づいたら、言及してください。削除はしないでください。
自分の変更が孤立したものを生み出すとき:
- 自分の変更によって未使用になった import/変数/関数は削除してください。
- 求められていない限り、既存のデッドコードは削除しないでください。
テスト: 変更されたすべての行は、ユーザーのリクエストに直接たどれるべきです。
4. 目標駆動の実行
成功基準を定義する。検証できるまでループする。
タスクを検証可能な目標に変換してください:
- 「バリデーションを追加する」->「無効な入力に対するテストを書き、それを通す」
- 「バグを修正する」->「それを再現するテストを書き、それを通す」
- 「X をリファクタリングする」->「前後でテストが通ることを確認する」
複数ステップのタスクでは、簡単な計画を述べてください:
1. [Step] -> verify: [check]
2. [Step] -> verify: [check]
3. [Step] -> verify: [check]
強い成功基準があれば、独立してループできます。「動くようにする」のような弱い基準では、絶えず確認が必要になります。
例
User request: "Add validation to this form."
Better response:
1. Assumption: validation should run before submit and show inline errors.
2. Plan: add a small validator, add tests for invalid inputs, then verify existing submit behavior.
3. Scope: only touch the form component and its test file.
User request: "Refactor this service."
Better response:
1. Ask what behavior must remain unchanged.
2. Identify a concrete smell, such as duplicated parsing logic.
3. Make the smallest refactor and run the existing service tests.
制限事項
- これらのガイドラインは行動上のガードレールであり、プロジェクト固有のアーキテクチャやスタイルルールの代わりになるものではありません。
- 緊急の修正では、広範な計画よりも最小限の検証済みの修正を優先してください。
- 探索的なプロトタイプでは、慎重さの一部を緩めてもかまいませんが、前提と検証は依然として明示すべきです。
コメント
Markdown 対応