/ ディレクトリ / プレイグラウンド / Autoresearch (Karpathy-style)
● コミュニティ uditgoenka ⚡ 即起動

Autoresearch (Karpathy-style)

作者 uditgoenka · uditgoenka/autoresearch

ゴールを入力して結果を出力 — Claudeが変更を提案し、実行し、測定し、良いものを保存し、悪いものを捨て、繰り返す。Andrej Karpathyのautoresearchループをスキルとしてパッケージ化。

Autoresearchはリサーチャーとして閉ループでClaudeを機能させます:目標と検証器(メトリクス・テスト・ジャッジprompt)を指定すると、スキルが予算コントロール付きで変更 → 検証 → 保存/破棄を繰り返します。Karpathyのautoresearchの記事にインスパイアされています。目標は測定可能だが、検索空間が事前に計画するには大きすぎる場合に便利です — promptのチューニング・ハイパーパラメータ検索・パフォーマンスのためのリファクタリング・コピーA/B。

なぜ使うのか

主な機能

ライブデモ

実際の動作

準備完了

インストール

クライアントを選択

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "autoresearch-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/uditgoenka/autoresearch",
        "~/.claude/skills/autoresearch"
      ],
      "_inferred": true
    }
  }
}

Claude Desktop → Settings → Developer → Edit Config を開く。保存後、アプリを再起動。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "autoresearch-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/uditgoenka/autoresearch",
        "~/.claude/skills/autoresearch"
      ],
      "_inferred": true
    }
  }
}

Cursor は Claude Desktop と同じ mcpServers スキーマを使用。プロジェクト設定はグローバルより優先。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "autoresearch-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/uditgoenka/autoresearch",
        "~/.claude/skills/autoresearch"
      ],
      "_inferred": true
    }
  }
}

Cline サイドバーの MCP Servers アイコンをクリックし、"Edit Configuration" を選択。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "autoresearch-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/uditgoenka/autoresearch",
        "~/.claude/skills/autoresearch"
      ],
      "_inferred": true
    }
  }
}

Claude Desktop と同じ形式。Windsurf を再起動して反映。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "autoresearch-skill",
      "command": "git",
      "args": [
        "clone",
        "https://github.com/uditgoenka/autoresearch",
        "~/.claude/skills/autoresearch"
      ]
    }
  ]
}

Continue はマップではなくサーバーオブジェクトの配列を使用。

~/.config/zed/settings.json
{
  "context_servers": {
    "autoresearch-skill": {
      "command": {
        "path": "git",
        "args": [
          "clone",
          "https://github.com/uditgoenka/autoresearch",
          "~/.claude/skills/autoresearch"
        ]
      }
    }
  }
}

context_servers に追加。保存時に Zed がホットリロード。

claude mcp add autoresearch-skill -- git clone https://github.com/uditgoenka/autoresearch ~/.claude/skills/autoresearch

ワンライナー。claude mcp list で確認、claude mcp remove で削除。

ユースケース

実用的な使い方: Autoresearch (Karpathy-style)

ベンチマークに対してシステムpromptをイテレーティブにチューニングする

👤 promptをチューニングするAIエンジニア ⏱ ~90 min advanced

使うタイミング: promptとベンチマークがあり、ループに耐える忍耐力がある場合。

前提条件
  • スキルのインストール — git clone https://github.com/uditgoenka/autoresearch ~/.claude/skills/autoresearch
  • スコア関数付きのベンチマーク — stdoutにスコアを出力する/bench/run.sh
フロー
  1. ゴールを定義する
    Use autoresearch. Goal: maximize score from /bench/run.sh on prompt at /prompts/system.md. Budget 30 iterations.✓ コピーしました
    → ループ開始;最初の提案が行われる
  2. トレースを見る
    Show me iterations 5–10 with deltas.✓ コピーしました
    → イテレーションごとのスコアを含むトレース;保存/破棄がマーク
  3. 早期停止する
    If 3 consecutive iterations fail to improve > 1%, stop and report best.✓ コピーしました
    → 収束ガードが発動;ベストpromptが報告

結果: なぜそうなったかのトレース付きの、より良いprompt。

注意点
  • 検証器がゲーム可能 — 品質なしにスコアが上がる — サニティチェック検証器(LLMジャッジまたはホールドアウトセット)を追加してください
組み合わせ: filesystem

自動イテレーションでホットな関数から20%のパフォーマンスを搾り出す

👤 プロファイルデータを持つバックエンド開発者 ⏱ ~120 min advanced

使うタイミング: どの関数が遅いか分かっている;Claudeにより速い等価物を見つけてほしい場合。

フロー
  1. 定義する
    Goal: minimize wall-time of /bench/perf.sh which exercises foo(). Constraint: tests must keep passing.✓ コピーしました
    → ループ開始;ベースラインが記録
  2. 繰り返す
    Run 20 iterations. Show the top 3 improvements at the end.✓ コピーしました
    → 測定されたスピードアップ付きの3件のリファクタリング候補

結果: 検証済みの具体的なスピードアップ。

注意点
  • イテレーションがテストで見逃される微妙な正確性の問題を導入する — ユニットテストと並行してプロパティベーステストを検証器として追加してください
組み合わせ: github

CTRジャッジに対してランディングページのコピーを自動イテレーションする

👤 コンテンツテストを実行するマーケター ⏱ ~60 min intermediate

使うタイミング: CTRターゲット(またはシミュレートするジャッジprompt)があり、繰り返す時間がある場合。

フロー
  1. ジャッジをセットアップする
    Goal: maximize judge_score on /copy/headline.md. Judge prompt: 'rate likelihood a Series-B SaaS founder clicks this headline'.✓ コピーしました
    → ジャッジのベースラインがスコア化;ループ開始
  2. 繰り返す
    Run 15 iterations; keep top 3 distinct candidates.✓ コピーしました
    → 3件の異なるヘッドライン上位候補

結果: 人間レビュー用の3件のヘッドライン候補。

注意点
  • ジャッジにクリック率と無関係の強いスタイル好みがある — 明示的な基準を持つルーブリックファイルにジャッジを固定してください

組み合わせ

他のMCPと組み合わせて10倍の力を

autoresearch-skill + filesystem

検査のためにイテレーショントレースを永続化する

Save trace to /research/traces/<ts>.md after each loop.✓ コピーしました
autoresearch-skill + github

優勝候補でPRをオープンする

When loop finishes, open PR titled 'autoresearch: <metric> +X%'.✓ コピーしました

ツール

このMCPが提供する機能

ツール入力呼び出すタイミングコスト
loop goal, verifier, max_iter, budget_tokens? 閉ループ最適化 Variable — bound by budget
trace loop_id? 実行を検査する 0
rollback to_iteration ループが逸脱した 0

コストと制限

運用コスト

APIクォータ
LLMに依存
呼び出しあたりのトークン
重い — フルループは100k+ tokenになる可能性
金額
無料;LLMコストはお客様負担
ヒント
常にmax_iterとbudget_tokensを設定してください — オープンエンドのループはお金を使い尽くします

セキュリティ

権限、シークレット、影響範囲

認証情報の保管: なし
データ送信先: LLMプロバイダーに依存

トラブルシューティング

よくあるエラーと対処法

ループが詰まる — 毎回同じ提案

プロポーザーの探索温度を上げるか、多様な候補でシードしてください

検証器が不一致に失敗する

検証器のフレイキーネスはループを無効にします — シードを固定し、イテレーションごとにN=3で検証を繰り返してください

収束前に予算が尽きる

トレースを検査してください — 単調な改善が続いていれば予算を上げてください;そうでなければ検証器かプロポーザーがボトルネック

代替案

Autoresearch (Karpathy-style) 他との比較

代替案代わりに使う場面トレードオフ
wanshuiyin/Auto-claude-code-research-in-sleep (ARIS)特にMLリサーチの非同期オーバーナイトループが欲しい場合ARISはMLに集中;autoresearchは汎用
スクリプト化されたイテレーションによる手動A/Bゴールが小さくて一回限りの場合スキルはオーケストレーションのオーバーヘッドを取り除く

その他

リソース

📖 GitHub の公式 README を読む

🐙 オープンな issue を見る

🔍 400以上のMCPサーバーとSkillsを見る