タイトルは釣りです(懐かしいブログ仕草)
正確には、元Wantedly CTOのkawasyさんが、ISUCON参加に向けて3ヶ月以上の試行錯誤をしたハーネスを、本番では無停止で自律的に8時間動作させて1位のスコアを叩き出したらしい。
もちろん他のチームも競技にClaude CodeやCodexなどを大活用して挑んだようだけど、完全自律実行で優勝したので、すごい話題になっていた。以下の記事やポッドキャストで詳細が本人の一次情報として出ているので参照してほしい。
これを見て思ったのが、当日の完全自律実行で優勝したインパクトが取り上げられがちだけど、準備期間のハーネス検証が本質だなぁと思った。ISUCONの過去問を使ったハーネスのツールセットの組み換え、Google DeepMindのAlphaEvolveをはじめとする理論の参照とか研究とか、自作問題の作成、評価ループの設計とか。そもそも8時間動くものを事前にずっと作り込んでるわけで、めちゃくちゃトークン使用やインフラ費用がかかりそう、準備だけで。
kawasyさんは、素のClaude Code + Herdr、Ralph的なループの自作レイヤー(ユーザーハーネスと呼んでいたはず)で、ワークフローとして流し込むプロンプトや全体工程、通知、監査エージェントなど、いろいろ工夫を話していたが、他のチームには、より複雑なマルチエージェントオーケストレーションを構築して挑んだ人たちもいたようだ。
面白いと思ったのが、競技エージェントのデバッグ方法が、事前に用意したスクリプトではなくて、都度動的コード生成するCode Modeと呼ばれるようなものだったこと。最適化が多様化してくると、より柔軟な方法として動的コード生成でデバッグが選ばれるっていうのは、感覚としてあったので納得した。
私はモバイルアプリ開発出身で、デバッグの際はデバッガをタッチして、コマンドでメモリを見たりしていたので、プリントデバッグよりこっちの方が効率がいいというのはわかっていたんですけど、AIがコード生成だけじゃなくデバッグもするようになったら、あいつらはリモートで動的コード生成して秒速でデバッグしてるので、もう叶わないなぁと思っていた。
同じような考え方で、AIが使うんだから人間用に設計されたインターフェースは最初から取っ払ってしまってもいいのでは、という思想もある。Elixir作者のJosé Valimがブログに書いていたAI向けのプログラミング言語という話もそうだし、マルチエージェントオーケストレーション系のツールには、エージェント間の会話を謎に暗号化されたJSONでやりとりする、ReactFlightでイルカ同士が話しているようなアーキテクチャがある。LLMがコード生成の代わりに機械語を出すというのはちょっと飛躍があるけど、人間は読まないけどLLM間だけでメッセージングが完結するというのは結構想像できる。現に、パーソナルアシスタント系も人間のインターフェイスは一つだけど、バックグラウンドで小人さんのようにマルチセッションがせっせと作業していることがある。
モデル自身が解決策を考えて、人間はゴールを指すだけの方がうまくいくっていうパターンは、ISUCONのような評価が明確なプロジェクトにはかなり効いているというのは、インタビューで本人たちも語っていた。明確な定義に落とし込める証明記述や型化の分野に、最近熱心に取り組んでいる人たちもいるのも、その流れだろう。SoEなアプリケーション開発にもそれが適用できるかはちょっとわからないが。
私たちの開発でも、最近はAIが視覚情報なしにビューを構築できることを利用したUIプログラミングができるのではないかと考えている。ちょうどShopifyが、一つの契約から複数のモバイルアプリのビューを作るっていう記事を出していたところだった。
ただ、準備期間の検証と評価が重要だなと思ったが、対象の内容を理解することもまだ地道に有効なのではないか。優勝スコアの決定打となった構成要素はいくつかあって、Postgresを廃止して、過去データはダンプしてmmapで読み込み、書き込みは変更イベントを代表のサーバーが順序付けてファイルに永続化し、全台のメモリへ同じ順序で適用するイベントソーシング的な設計にする。nginxの機能をGoのアプリケーション側に移して外す。画像の署名検証のボトルネックを、事前計算で潰す。などは、結構古典的な回答だと思った(抽象的に見ると、負荷分散の定石の疎結合アーキテクチャを結合してジェンガが崩壊しないよう密を維持するAIロボコンと言える)。
あとは、レイテンシーから来るベンチマーカーのスループットを上げる最適化は、AIが仮説を立てて自動で解いていくっていうので、結構面白いと思った。スコア履歴と残り時間から期待値を計算して、閾値を超えた走行で自動停止させる停止判定ツールまで事前に用意していたっていうのも、かなりやり込んでる人の発想だと思った。
準備編の記事も出てくるらしいので、あとはkawasyさんに期待しましょう。