コードだけ読んでも「浅い仮説」しか生まれない
AIコーディングエージェントの活用が進む中、ひとつの本質的な問いが浮かび上がっている。「エージェントにコードを読ませるだけで、本当に深い最適化ができるのか?」
SkyPilotチームが公開した実験レポートは、この問いに対して明確な答えを突きつける。コードだけを読んで実験を繰り返すエージェントは、知識の天井に早々に当たる。しかし論文・競合フォーク・他バックエンドの実装を先に調査させる「リサーチフェーズ」を加えると、コード単独では絶対に気づけなかった最適化を発見できる。
実証対象はCPU向けLLM推論ライブラリとして広く使われるllama.cpp。そこにAIエージェントのループ実行フレームワーク「pi-autoresearch」を組み合わせ、4台のクラウドVMで約3時間動かした結果、5つの最適化を実装しx86環境でのテキスト生成速度を**+15%(ARM環境で+5%)向上させた。総コストはわずか約4,300円**(API代+VM代)。
リサーチフェーズで何が変わったか
コードのみのアプローチの限界
リサーチなしの初期フェーズで、エージェントはllama.cpp内のAVX2プリフェッチや量子化ドット積のループアンロールといった「目に見える部分」を最適化しようとした。効果は+0.8%程度。コードを読めばわかる範囲の改善しか生み出せなかった。
研究論文・競合実装を読ませたことで得た洞察
リサーチフェーズを追加したエージェントは以下を調査した:
- arxivの関連論文(カーネルフュージョン、メモリアクセスパターン)
- ik_llama.cpp(人気の競合フォーク)
- llama.cppのCUDA/Metalバックエンド実装
結果として得たキーインサイトは「このワークロードはコンピュート律速ではなくメモリ律速」という認識の転換だった。これにより最適化の方向が変わり、5つの具体的な改善が着地した。
着地した5つの最適化
- Softmaxフュージョン — 複数パスをAVX2 FMAループに統合
- RMS Normフュージョン — 正規化計算の多重パスを削減
- from_floatの適応的並列化 — データサイズに応じた動的なスレッド割り当て
- グラフレベルのRMS_NORM + MULフュージョン — 演算グラフ全体の最適化
- Flash AttentionのKQフュージョン — QKタイルに対する3パスを1つのAVX2 FMAループに統合(最大の成果)
研究フォーク(ik_llama.cpp)とCUDAバックエンドが直接ヒントを与えた最適化は、実に5件中2件に上る。「他人がすでに解いた問題」を参照させることの威力が鮮明に出ている。
実務への影響
エージェント設計の発想を変える
日本のエンジニアがAIエージェントを設計する際、多くの場合は「タスクを渡せば動く」という前提で組む。しかしこの実験が示すのは、タスク前の情報収集フェーズの設計こそが成果を左右するという事実だ。
実装上の示唆を整理すると:
- ベンチマークとテストスイートを必ず用意する — エージェントが仮説を検証するには測定基盤が不可欠
- 競合実装・フォークをコンテキストに含める — 論文より先に「すでに動いているコード」が役に立つことが多い
- コンピュート律速かメモリ律速かを先に分析させる — 最適化戦略の前提が変わる
コスト感覚の更新を
「エージェントに3時間動かして4,300円」というコスト感は、従来のエンジニアリング工数感覚と比べると破格だ。シニアエンジニアが数日かけて探索するような最適化空間を、低コストで自動探索できる時代に入りつつある。この感覚を持っておくことは、今後のプロジェクト見積もりや技術選定においても重要になる。
筆者の見解
この実験が面白いのは、最適化の成果そのものよりも「エージェントに何を読ませるかの設計が結果を決定する」という知見にある。
これはAIエージェント活用の本質に関わる問いだ。コードを渡してループを回せば自動的に賢くなる、という幻想を捨てて、エージェントが思考する前の「インプット設計」に人間の知恵を使う——これが次のフェーズのエージェント活用だと思う。
AIエージェントが自律的にループで動き、仮説→実験→検証を繰り返す仕組みは、今まさに実用段階に入っている。pi-autoresearchのフレームワークはGitHubで公開されており、「ベンチマークとテストスイートがあれば任意のプロジェクトに適用できる」とされている。まずは自分の手元にある小さなプロジェクトで試してみる価値は十分にある。
「30件以上の実験を走らせて5件が着地」というエラーレートを、失敗と見るか成功と見るかも重要な視点だ。人間のエンジニアが5件の最適化を3時間・4,300円で見つけられるかと考えれば、答えは明らかだろう。完璧なエージェントを待つより、今すぐ動かして学ぶ方が圧倒的に速い。
出典: この記事は Research-Driven Agents: When an agent reads before it codes の内容をもとに、筆者の見解を加えて独自に執筆したものです。