AIコーディングエージェントは便利だが、「なぜそこを変えたのか」と問いたくなる余計な変更が紛れ込むことがある。仮定のまま突き進む、抽象化しすぎる、関係ない部分を触る——Andrej Karpathyはこれらの問題を言語化し、それを修正するスキルファイルが登場した。

この記事でわかること:

  • Karpathyが指摘したLLMのコーディング問題
  • スキルを構成する4つの行動原則の内容
  • Claude Codeへの2種類の導入方法
  • Cursorへの適用方法

Karpathyスキルとは

「andrej-karpathy-skills」は、Andrej KarpathyがAIエージェントコーディングの問題点として挙げた観察を、CLAUDE.md 1枚に落とし込んだオープンソースプロジェクトだ。作者はForrest Chang氏で、2026年1月27日に公開された。GitHubスター数は107,000超(2026年5月時点)、フォーク数は10,600超にのぼる。ファイルが実質1つしかないリポジトリとしては異例のスター数で、コミュニティからの注目度の高さがわかる。

Karpathyが指摘した問題

Karpathyは2026年1月のポストで、エージェントコーディングへの移行を振り返りながら、AIが繰り返す典型的なミスを列挙した。

「モデルは勝手に仮定を立てて、確認もせずに突き進む。混乱を管理せず、明確化を求めず、矛盾を表面化させず、トレードオフを提示せず、反論すべきときにしない」「コードやAPIを複雑にしすぎる傾向がある。100行で済む処理を1000行で実装してしまう」「関係のない部分のコードやコメントを副作用として変更・削除することがある」——これらは多くのClaude Codeユーザーが経験する問題と重なる。

Forrest Chang氏はこの観察をそのままCLAUDE.mdの指示文に変換し、エージェントが読んで行動を変えられる形にまとめた。

4つの行動原則

CLAUDE.mdは4つのセクションで構成される。それぞれが上記の問題に対応している。

1. Think Before Coding(コーディング前に考える)

仮定を黙って通過させない原則。実装前に仮定を明示し、曖昧さがあれば複数の解釈を提示する。シンプルな方法があれば先に言う。混乱したら立ち止まり、何が不明かを明示してから質問する。「黙って走り出さない」を徹底する。

2. Simplicity First(シンプルさを優先する)

依頼されたことだけを実装する原則。投機的な機能追加・単一用途コードへの抽象化・要求されていない柔軟性はすべてNG。「シニアエンジニアが複雑すぎると言うか?」が判断の基準とされている。200行で書いたコードが50行で書けるなら書き直す、という姿勢だ。

3. Surgical Changes(外科的な変更)

触る必要のない部分には手を出さない原則。既存コードのスタイルやコメントを「改善」するのは禁止。自分の変更で不要になったimportや変数は削除するが、それ以前から存在する不要コードは指摘にとどめ削除しない。すべての変更行がユーザーの依頼に直結するかどうかが判断基準になる。

4. Goal-Driven Execution(ゴール駆動の実行)

タスクを検証可能なゴールに変換する原則。「バリデーションを追加して」ではなく「無効な入力のテストを書いて、それを通す」という形で指示を言い換える。成功基準が明確であれば、エージェントは自律してループを回せる。Karpathy自身も「LLMは特定のゴールを満たすまでループするのが得意だ」と述べている。

導入方法

導入方法は2種類ある。

方法A: Claude Codeプラグイン(全プロジェクト共通)

Claude Codeの中から以下のコマンドを順に実行する。

/plugin marketplace add forrestchang/andrej-karpathy-skills
/plugin install andrej-karpathy-skills@karpathy-skills

インストール後はすべてのプロジェクトでスキルが有効になり、プロジェクトごとにCLAUDE.mdを編集する手間がない。

方法B: CLAUDE.mdに直接追記(プロジェクト個別)

既存のCLAUDE.mdに追記する場合は以下のコマンドを使う。

echo "" >> CLAUDE.md
curl https://raw.githubusercontent.com/forrestchang/andrej-karpathy-skills/main/CLAUDE.md >> CLAUDE.md

新規プロジェクトの場合は curl -o CLAUDE.md で直接配置できる。プロジェクト固有のルールと組み合わせて使いたい場合にも向く。

Cursorにも対応

同リポジトリにはCursor向けのルールファイル(.cursor/rules/karpathy-guidelines.mdc)も含まれており、CursorとClaude Codeを併用している開発環境でも同じ指針を使える。

ガイドラインが効いているサインとは

READMEには「機能している証拠」として3点が挙げられている。差分に不要な変更が入らなくなる、過剰設計によるリライトが減る、実装前に確認の質問が来るようになる——この3点が改善されていれば、スキルが意図通りに動いていると判断できる。

なお、このガイドラインは「速さより慎重さ」に傾くチューニングになっている。簡単な1行修正のようなタスクでは全原則を適用する必要はなく、非自明な作業でのコストの高いミスを減らすことが主な目的だ。