Claude Codeを10倍活用する方法:Karpathyループと「ループ内ループ」
概要
Andrej Karpathyの「AutoResearcher」型ループ(固定チェック・変更の採用/取り消し・program.md)を、Claude Codeのスキルとエージェントで自作アプリ開発に応用した事例の紹介です。ループは自分のチェックを甘くしたり、前回の失敗を次回に引き継げないという弱点があります。その解決策として、結果ログを読んでprogram.mdの作業手順を書き換える「オートループ(ループ内ループ)」を追加しています。
主なポイント
- Karpathyの手法は、編集可能な学習ファイル、編集不可の評価ファイル、指示用のprogram.mdの3つで構成される。スコアが上がれば変更を維持し、下がれば取り消す。約2日で700回の実験を行い、20の改善を発見した。
- ShopifyのCEOも同様のループを一晩回し、37回の実験でモデル性能が19%向上した。
- ループが向くタスクの条件は4つ。①頻繁に繰り返す、②トークン消費に耐えられる利用枠がある、③明確なスコアで検証できる、④実際に実行して壊れた箇所を確認できる。一度きりの作業は、良いプロンプト1つで足りる。
- 「プロジェクトコンテキスト」スキルに、機能・ページ構成・規約・避ける点を蓄積する。ファイルと違い、短い説明文だけが常時コンテキストに載り、詳細は必要時だけ読み込まれる。
- 「ビルド」スキルは、機能の実装前にチェックを書き、平易な言葉で一覧にして人が承認する。承認後はロック済みフォルダへ移し、Claude Codeの設定ルールで編集を禁止したうえでコミットする。
- 機能ごとにリセット状態の「機能ビルダー」エージェントを起動してコンテキストを分離し、各ラウンドの結果をファイルに記録する。
- 実演では、持ち帰り注文機能のチェック11項目が1ラウンドで合格した。ただしチェックはルールしか見ておらず、注文フォームが未作成だったことをループが検知して補った。
- 通常のループは学習を次の機能に持ち越せない。「オートループ」スキルは、結果ファイルから繰り返すミス(癖)を抽出し、program.mdの作業手順だけを書き換える。チェックは編集不可のままにする。
- オートループが追加した習慣の例は、「チェック合格と同じラウンドでアプリに接続する」「既存の処理箇所を全て探して新ルールを適用する」の2つ。共有プロジェクトの実装では、メンション機能の破壊や合計99になる計算ミスが起きたが、チェックで検出されて修正された。
- スポンサーのUpstash Boxは、エージェントごとにクラウド上のサンドボックスを提供する。ローカル環境から隔離でき、状態を保持し、従量課金で使える。
実践に使えること
- 繰り返し発生し、スコアで検証できる開発タスクに限ってループを導入する。アプリ全体を1ループで作らず、1機能単位に区切る。
- 実装前にテスト(チェック)を書かせて人が承認し、ロックしたフォルダへ移す。Claude Codeの設定で、そのフォルダへの編集を禁止する。
- プロジェクトの規約や構成をスキル化して蓄積し、毎回の読み込みを減らす。
- 結果ログを定期的に読ませて、繰り返しているミスをprogram.mdの手順に反映させる。
- 長時間のループは、サンドボックスなどの隔離環境で回すことを検討する。