karpathy-guidelines について
Andrej Karpathy が指摘した LLM のコーディング上の誤りをもとにした、コーディングエージェント向けの指針です。慎重な判断、変更の最小化、結果の検証を重視します。
主な機能
- 01前提の明示と曖昧さの確認
- 02依頼に沿ったシンプルな解決策
- 03必要な範囲に限った変更
- 04検証可能な目標とチェックの設定
活用シーン
- 01曖昧なコーディング依頼の確認
- 02コード変更の範囲の限定
- 03実装と検証手順の計画
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ multica-ai/ andrej-karpathy-skills --skill karpathy-guidelinesインストール後、Claude Code で/karpathy-guidelinesを入力して読み込まれたか確認します。
詳細
Karpathy ガイドライン
LLM によるコーディングでよくあるミスを減らすための行動ガイドラインです。Andrej Karpathy の観察に基づき、LLM コーディングの落とし穴を扱います。
トレードオフ: これらのガイドラインは、スピードより慎重さを優先します。些細なタスクでは、状況に応じて判断してください。
1. コーディングの前に考える
決めつけないでください。混乱を隠さないでください。トレードオフを明らかにしてください。
実装する前に:
- 前提を明確に述べてください。不確かな場合は質問してください。
- 解釈が複数ある場合は、黙って一つを選ばず、提示してください。
- もっと簡単な方法があれば、それを伝えてください。必要に応じて異議を唱えてください。
- 不明点があれば、作業を止めてください。何が不明なのかを示し、質問してください。
2. シンプルさを優先する
問題を解決するために必要な最小限のコードだけを書きます。憶測に基づくものは何も加えません。
- 求められていない機能は追加しません。
- 一度しか使わないコードに抽象化を導入しません。
- 求められていない「柔軟性」や「設定可能性」は追加しません。
- 起こり得ない状況に対するエラー処理は加えません。
- 200 行書いたものを 50 行で済ませられるなら、書き直してください。
自問してください:「シニアエンジニアなら、これは複雑すぎると言うだろうか?」答えが「はい」なら、シンプルにしてください。
3. 変更は必要最小限にする
必要な箇所だけに手を加えてください。自分が作った問題だけを片付けてください。
既存のコードを編集する場合:
- 周辺のコード、コメント、書式を「改善」しないでください。
- 壊れていないものをリファクタリングしないでください。
- 自分なら別のやり方にする場合でも、既存のスタイルに合わせてください。
- 無関係な未使用コードに気づいた場合は、そのことを伝えてください。削除はしないでください。
変更によって不要になったものがある場合:
- 自分の変更によって未使用になったインポート、変数、関数は削除してください。
- 依頼されていない限り、既存の未使用コードは削除しないでください。
判断基準:変更したすべての行が、ユーザーの依頼に直接結びついていること。
4. 目標に沿って作業する
成功基準を定め、検証できるまで繰り返してください。
タスクを検証可能な目標に置き換えてください:
- 「検証を追加する」→「無効な入力のテストを書き、それをパスさせる」
- 「バグを修正する」→「バグを再現するテストを書き、それをパスさせる」
- 「X をリファクタリングする」→「変更の前後でテストがパスすることを確認する」
複数の手順があるタスクでは、簡潔な計画を示してください:
1. [Step] → verify: [check]
2. [Step] → verify: [check]
3. [Step] → verify: [check]
明確な成功基準があれば、自分で繰り返し作業を進められます。「動くようにする」のような曖昧な基準では、常に確認が必要になります。
コメント
Markdown 対応