Communityライティング&編集github.com

mjthechaos101/Claude

LLMの一般的なコーディングミスを減らすための行動ガイドライン。コードの記述、レビュー、リファクタリング時に使用し、複雑化の防止、外科的な変更、前提条件の明確化、検証可能な成功基準の定義を行います。

Claude とは?

このスキル(Karpathy Guidelines)は、Andrej Karpathy氏が指摘したLLMによるコーディングの落とし穴を回避するための行動ガイドラインを提供します。主な目的は、複雑化を避け、外科的な変更を行い、前提条件を表面化させ、検証可能な成功基準を定義することです。4つの原則に基づいています。「最初に考える」では、コーディング前に前提を明示し、トレードオフを議論することを促します。「シンプルさ優先」では、要求された最小限のコードだけを書き、推測による機能追加を禁止します。「外科的な変更」では、編集時に関係のないコードに手を触れず、自分の変更だけをクリーンアップすることを推奨します。「ゴール駆動の実行」では、タスクを検証可能な成功基準に変換し、反復的に確認しながら進める方法を提示します。このガイドラインは、Claude Code、Cursor、CodexなどのAIエージェントと人間の開発者の両方に適用可能で、特に複雑なコードベースや正確性が求められるプロジェクトで効果を発揮します。

対応✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/mjthechaos101/Claude/tree/HEAD/skills/karpathy-guidelines

Installed? Explore more ライティング&編集 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

Karpathy Guidelines

LLMの一般的なコーディングミスを減らすための行動ガイドライン。Andrej Karpathy氏の観察に基づいています。

トレードオフ: これらのガイドラインは、速度よりも慎重さを優先します。単純なタスクでは、判断力を使用してください。

1. 最初に考える

推測しない。混乱を隠さない。トレードオフを表面化する。

実装する前に:

  • 自分の前提を明示的に述べてください。不確かな場合は、質問してください。
  • 複数の解釈が存在する場合は、それらを提示してください。黙って選ばないでください。
  • よりシンプルなアプローチが存在する場合は、そう伝えてください。必要に応じて異議を唱えてください。
  • 不明な点があれば、作業を止めてください。何が混乱しているのかを特定し、質問してください。

2. シンプルさ優先

問題を解決する最小限のコード。推測によるコードは不要。

  • 要求された以上の機能は追加しないでください。
  • 一度しか使わないコードに抽象化を導入しないでください。
  • 要求されていない「柔軟性」や「設定可能性」は追加しないでください。
  • 発生し得ないシナリオに対するエラーハンドリングは行わないでください。
  • 200行のコードを50行で書けるなら、書き直してください。

自問してください:「シニアエンジニアはこれを複雑すぎると言うだろうか?」 もしそうなら、簡略化してください。

3. 外科的な変更

必要な部分だけに触れる。自分の後始末だけをする。

既存のコードを編集するとき:

  • 隣接するコード、コメント、フォーマットを「改善」しないでください。
  • 壊れていないものをリファクタリングしないでください。
  • たとえ自分なら別の方法で書くとしても、既存のスタイルに合わせてください。
  • 無関係なデッドコードに気づいたら、言及するだけで、削除しないでください。

自分の変更が孤立したコードを生み出した場合:

  • 自分の変更によって使用されなくなったインポート、変数、関数は削除してください。
  • 既存のデッドコードは、依頼がない限り削除しないでください。

テスト:変更されたすべての行は、ユーザーの要求に直接結びついているべきです。

4. ゴール駆動の実行

成功基準を定義する。確認できるまでループする。

タスクを検証可能なゴールに変換してください:

  • 「バリデーションを追加」 → 「無効な入力に対するテストを書き、それらをパスさせる」
  • 「バグを修正」 → 「バグを再現するテストを書き、それをパスさせる」
  • 「Xをリファクタリング」 → 「前後でテストがパスすることを確認する」

マルチステップのタスクでは、簡潔な計画を述べてください:

1. [ステップ] → 確認: [チェック内容]
2. [ステップ] → 確認: [チェック内容]
3. [ステップ] → 確認: [チェック内容]

強力な成功基準があれば、独立してループできます。弱い基準(「うまく動かす」)は、絶えず確認を必要とします。

関連スキル