mcpField
A
andrej-karpathy

andrej-karpathy

github.com/sickn33エージェントワークフロー48.7k397 回インストール今日更新
リポジトリ

andrej-karpathy について

andrej-karpathy は、Andrej Karpathy による LLM のコーディング上の問題の観察に基づく行動指針を適用するスキルです。実装、レビュー、リファクタリングを行うコーディングエージェント向けで、前提の明示、最小限の変更、検証を重視します。

主な機能

  1. 01前提と曖昧さの明示
  2. 02最小限の実装を優先
  3. 03変更範囲を必要な箇所に限定
  4. 04検証可能な成功基準の設定
  5. 05複雑になったコードの簡素化

活用シーン

  1. 01不明確なコーディングタスクの計画
  2. 02範囲を限定したコード変更
  3. 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.

制限事項

  • これらのガイドラインは行動上のガードレールであり、プロジェクト固有のアーキテクチャやスタイルルールの代わりになるものではありません。
  • 緊急の修正では、広範な計画よりも最小限の検証済みの修正を優先してください。
  • 探索的なプロトタイプでは、慎重さの一部を緩めてもかまいませんが、前提と検証は依然として明示すべきです。

コメント