4 ポイント 投稿者 GN⁺ 2026-03-24 | 1件のコメント | WhatsAppで共有
  • Autoresearch システムは、LLM エージェントが train.py を繰り返し修正しながら性能を改善する制約最適化ループ構造で、仮説設定から評価までを自動で循環実行する
  • 実験はコンテナベースのサンドボックス環境で実行され、ネットワークアクセスと任意コード実行を遮断する
  • Ukiyo-eVG データセットを用いて、約 11,000 枚の日本木版画画像と注釈情報を学習に活用し、CLIP ベースのモデルで Mean Rank 34.30R@5 約 53% の性能を達成した
  • 主な改善は temperature パラメータの制約緩和(Mean Rank -113)ハイパーパラメータチューニング(Mean Rank -30) で、1 日 42 回の実験のうち 13 回のコミットを通じて 54% の性能向上を記録した
  • LLM エージェントは明確に定義された探索空間では効果的だったが、構造変更フェーズ以降は不安定性が増し、完全な自律研究には限界があることが明らかになった

コアアイデア

  • Autoresearch は LLM エージェントを中心とした制約最適化ループ構造で、エージェントが train.py を修正しながら評価指標を反復的に改善する
    • エージェントは program.md の指示を読み、scratchpad.md を作業メモとして使って実験過程を記録する
  • 探索はいくつかの**フェーズ(phase)**で構成され、初期はハイパーパラメータチューニングから始まり、小規模な構造変更を経て、その後は制約を最小化した自由探索へと拡張される
  • 全体ループは 仮説設定 → コード修正 → 学習 → 評価 → コミットまたはロールバック → 反復 の循環構造として設計されている
  • 各実験は約 5 分以内で完了するよう制限され、高速な反復と過学習防止を促す
  • エージェントは時間制限内で train.py を自由に修正できる
  • サンドボクシング

    • 任意コード実行の危険を防ぐため、コンテナ環境で学習ループを実行し、ネットワークアクセスを遮断する
    • run.sh が実験全体のフローを管理し、Claude Code は train.pyprogram.md のみ修正可能
    • Python の直接実行、pip インストール、ネットワークアクセス、git push などはすべて制限される
    • 関連実装は GitHub リポジトリで公開されている

データセット

  • 元の研究で使われた医療 X-ray データセットにアクセスできなかったため、代わりに Ukiyo-eVG データセットを新たに使用した
    • 約 11,000 枚の日本木版画画像とフレーズ-バウンディングボックス注釈を含む
    • バウンディングボックスを ガウシアンヒートマップに変換してモデル入力に追加し、元の eCLIP 論文の専門家 attention メカニズムに近い方式を適用した
  • ヒートマップはモデルが特定領域に集中するよう誘導する

Claude Code との実験設定

  • Claude Code が既存研究コードを最新の Python 環境向けにアップグレードし、新しいデータセット読み込みと実験ループのスキャフォールディングを作成した
  • 交差検証分割、評価ロジック、program.md の初期アイデアを設定した
  • 評価指標には Mean Rank を使用し、最終報告では Recall@K も併記した
    • Mean Rank は直感的な判断用に用いられたが、外れ値の影響を受けにくい Median Rank のほうが適切だった可能性があると述べられている
  • モデル構成: CLIP バックボーンは ViT-Small(22M)+ DistilBERT(66M)+ HeatmapProcessor で、合計約 90M パラメータ
    • 学習: 800 ステップ(RTX 4090 基準で約 3 分/実験)
    • 評価: 1,000 枚のテストセットで Mean Rank および Recall@K を測定
    • ベースライン性能: Val Mean Rank 344.68、img→txt R@1 17.2%、txt→img R@1 16.5%

実験結果

  • 1 日のあいだに合計 42 回の実験を行い、そのうち 13 回をコミット、29 回をロールバックした
    • Mean Rank は 344.68 から 157.43 へ 54% 低下した
  • 全データセットで最終学習を行うと、テストスコアが検証スコアより高く現れた
    • これは短い 800 ステップ実験がアンダーフィット状態だったことを示唆する
  • 最終テスト性能: Mean Rank 34.30、img→txt R@5 53.0%、txt→img R@5 51.4%

主な改善ポイント

  • Temperature clamp の修正(Mean Rank -113)

    • コード内の学習可能な temperature パラメータが 2 に固定されていたが、エージェントがこの制約を緩和して性能が大きく向上した
    • 全体改善の中で最も大きい単独効果を示した
  • Optuna++(Mean Rank -30)

    • その後の改善は主にハイパーパラメータチューニングから生じた
    • 射影次元の増加と学習率の再調整により、さらに 30 ポイント改善した
    • 人間が繰り返し行う退屈な作業を、エージェントがより速く体系的に実行した
  • 収穫逓減の区間

    • 第 4 フェーズ(構造変更)以降、LLM の仮説成功率は急激に低下した
    • attention メカニズムの変更や**大胆なアイデア(moonshot)**の試みは大半が失敗した
    • 探索後半ではランダムな試行が多くなった
  • サンドボックスの重要性

    • Claude Code はときどき権限を忘れて不適切な bash 呼び出しを試みたり、学習待機中にループを中断したりするなど、不安定な挙動を見せた
    • 完全な自律実行にはなお限界がある

総括的な観察

  • 全体プロセスでは最初の 90% はスムーズに進行し、最後の 10% では多くの介入が必要だった
  • LLM エージェントは明確に定義された探索空間の中では、ML 研究を効果的に進められる
  • Autoresearch のコミット-ロールバックループは、構造化された探索戦略として有用である
  • しかし未知の領域へ拡張すると、最適化ループは不安定になる
  • 実験ごとに 1 回の変更しか許さない制約は、大規模なアイデア探索には厳しすぎた可能性がある
    • 今後は計画フェーズの追加や**サブエージェント(subagent)**の導入が改善案として示されている
  • 実験終了後、Claude Code との協業は日常へ戻る形で締めくくられた

謝辞

  • Ukiyo-eVG データセット: 約 11K の日本木版画画像とフレーズ-バウンディングボックス注釈を含む
  • Autoresearch: Andrej Karpathy の元のアイデアに基づく

1件のコメント

 
GN⁺ 2026-03-24
Hacker Newsの意見
  • メインリンクが遅い場合は、archive.is版を試すとよいとの提案

  • 私はよくLLMを使って既存研究を探ったり、問題を別のやり方で考えたりしている
    結果の90%は自分のドメインには合わないが、残りの10%はかなり有用だった
    ただ、LLMが勧めたものをすべて実際に試させるエージェントを置くのはコスト($$$)が高すぎる
    推薦リストには、しばしば保守されていないニッチなライブラリが多い
    一方で、会社の「専門コンサルタント」も同じように突拍子もない提案をしがちなので、むしろエージェントに代わりに相手してほしい

    • エージェントの価値は、ユーザーが休んでいる間に自動で実験を繰り返せることにある
      ただし、1回のテストが速い場合に限って意味がある。私の仕事ではテスト1件に半日かかるので、一晩中回すのは難しい
    • どんなドメインで仕事をしているのか気になる
    • 私はLLMが、覚えておくのが面倒な短い文や、間違っていても構わない部分で役立つと感じる
      MCPサーバーやAGENTS.mdのようなものを設定している人たちを見ると、結局LLMが宣伝どおりには動かない証拠のようにも思える
      特定のワークフロー向けにうまくチューニングすれば素晴らしいが、それがスケールするかは疑問だ
      莫大な資金が学習とインフラを支え続けない限り、持続可能なビジネスモデルになり得るのだろうか?
    • コストが問題なのかもしれない。私はClaude Codeを軽く使っているが、Maxプランでもトークンがほとんど減らない
  • 「エージェントがハイパーパラメータ最適化アルゴリズムのように振る舞った」という表現が印象的だった
    核心はprogram.mdというシステムプロンプト用ファイル1つで、「train.pyの改善 → 学習実行 → 評価 → 結果記録」を繰り返す構造だ
    残りは任意のMLモデルにすぎない

  • 動いているコードをLLMに渡し、バグ修正、性能測定、テストカバレッジ評価を繰り返すやり方が、私たちのチームの標準的なアプローチだ
    反復ごとに別のモデルを使うと、新しい視点が得られる感じがしてよかった

    • この方法を、特定の言語やフレームワークに特化したローカルLLMの学習に適用できるのか気になる
  • なぜ「Autoresearch」がここまで話題になったのか疑問だった
    AI/MLのボトルネックは常にデータ品質計算資源だと思っていたので、これがそれを改善するのかよく分からない

    • 実際、こうした試みは以前からあった。AutoML分野がその例だが、実際にはうまくいかなかった
      Bayesian最適化やGaussian Processのようなアプローチもあったが、結局はランダムサーチのほうが良かった
      LLMは文献を見て常識的な推論ができる点が違う
      完璧ではないが、従来手法より良い可能性はある
    • 単純なハイパーパラメータ調整を超えて、非パラメトリックな構造変更も可能だという点が違う
      まったく新しい概念ではないが、よりbrute-forceでないことが期待されているようだ
    • 「Swarm optimization」のような既存手法もあるが、LLMは過去の研究を学習して重要な軸に集中できる点が異なる
      つまり、すでに誰かが行った研究をLLMが活用できる
    • 「データや計算資源がボトルネック」という意見には同意しない
      MLの本質は、同じ入力Xに対してより良い関数マッピングを見つけることだ
      単に計算資源を増やせば解決するわけではない
    • 結局Autoresearchは、考えること自体をLLMに委ねるやり方だ
  • 結果的には機能していた。LLMがバグを見つけて最適化も行っていた

    • ただ、実際には改善の大半がバグ修正 + Optunaチューニングのおかげだった
      こういうことはClaude Codeでもすぐできる
      Autoresearchの本当の価値はアーキテクチャ探索にありそうだ
      誰か探索的モデリングに使ってみた経験があるのか気になる
  • コミットログ(GitHubリンク)を見ると、大半がハイパーパラメータ調整だった
    その程度ならトークンコスト($$$)がもったいないと感じる

    • Autoresearchにコスト見積もりと優先順位付けの段階を追加し、人がレビューしてから実行するようにすれば効率的かもしれない
      LoRaアダプターでコストフィードバックを与える形にも改善できそうだ
    • 実際、Optunaskoptのようなオープンソースツールで、GPUなしでも可能だ
  • 元論文では医療X線データを使っていたが、アクセス権がなかったためUkiyo-eVG(日本の木版画1.1万点)で代用したとのこと
    奇妙な切り替えに見えた。無料の医療画像データは Cancer Imaging Archive にも多い

    • その通りだと思う。ただ、医療データをエージェントに任せるのは気が進まなかったし、ドメイン転移も試してみたかった
  • 誰かがこういう実験をしてくれたらと思っていたので、実際にやってくれてうれしかった
    「学習が終わるのを待っているうちに疲れて会話を終了した」という部分が面白かった
    結果の共有に感謝する

    • ありがとう、楽しく読めたという返信
  • これは自動化された研究というより、構造化された試行錯誤に近い
    結局のところ鍵になるのは評価指標の品質だ。それが弱ければ、間違った方向により速く最適化するだけだ

    • 良い適応度関数の設計は、今も昔も難しい
    • 結局それこそが科学的方法論ではないか、という意見もある