AI耐性コンテストでAIとそこそこやる
著者は2026年のICFPプログラミングコンテストに単独で参加し、AI(Fable)のみを使用して約200チーム中25位前後でフィニッシュしました。AIの長所と短所、テストとオーケストレーションの重要性、AIが文脈を忘れる課題について振り返ります。
私は2026年のICFPプログラミングコンテストに、チーム1人(実質0人)で参加しました。要するに、Fableを中心としたAIのみを使用し、参加約200チーム中で上位25位前後(最終結果は約1ヶ月後に発表)というまずまずの結果を収めました。
主催者(親しい友人の素晴らしい人々)は参加者にレポートの共有を奨励しており、それを読んでいるのがこれです。他にもっと面白くて技術的で「本物」のレポートが多数あります(例えばこれは本当に素晴らしい)。私のレポートは技術的にはなり得ません——なぜなら、私自身はほとんど何もせず、AIが作業するのを監督していただけだからです。
つまり、純粋な努力と思考の比率(うーん、悪い比率だ)で言えば、私は0です。しかし……AIは新しいものであり、私たちは皆それを新しい方法で使っています。マッキンゼーは高額な「あなたのAI戦略」PPTを販売しているでしょう。そして私は同じレベルのアドバイス(いや、それ以上!)を無料で提供します、親愛なる読者の皆さん。プレミアムGreg Technologyブログ購読者はさらに…いやいや、冗談です。ハハ!
まず、Nolen、Eliot、Henry、Frankが並外れた仕事をしたことを認識すべきです。しかし、彼らがこのコンテストをこのような形にしたのは、AIが多くのことを素早く解決できる(そして完全に役に立たなくなる)からであり、特にプログラミング関連のことに顕著です。
まあ……「線形」プログラミング関連のこと!一次元的な形のプログラミング関連のこと!トップからボトムへ進む種類のこと——それらについてはLLMは比較的マシです。四方八方に進む種類はそうでもありません。そのため、NEHF(彼らのファーストネーム)は今年、2次元の難解プログラミング言語(Esolang)で競わせることにしました。2D Esolangは、人生の他の多くのものと同様、エソの完全なカテゴリです。
貴重なAIの教訓を教えてくれ、技術屋よ。
まず、必要なリマインダーをいくつか:
AIはすべてに優れているわけではない——得意なこともあれば、苦手なこともある。
(マッキンゼーのPPTのこの時点で、あなたは既に彼らに40万ドル支払っている。)
あなたもAIも、互いの得手不得手を理解していると思い込んでいるが、それは間違っているかもしれない。そして、それがわかるのは手遅れになってからだ。「誰も—今も、そして永遠に—何が興行で成功するか失敗するかについて、まったく何も知らない」という格言がある。少し関係ないが、AIに関しては「これはうまくいくのか?」という問いにすら答えが出せないことがある。あなたは試し、苦しまなければならない。(私はそうした。)あるいは、プラセボでないことを願いながら、役立つかもしれない戦略を採用する。
AIに自身の能力を尋ねるのはコメディだ。
「その新しいアルゴリズムには何時間もかかる!」と自発的に言うくせに、実装には10分しかかからない。あるいは現在時刻に混乱し(!!)、締め切りに「近すぎる」として解決策の作業をやめようと「最適化」しようとする。Opusは一度、自分はFableだと言った——そしてもう一度尋ねると(それが今の私たちの仕事だ)、「あら、間違えました」と言う。
おいおい、明日フォーチュン100企業に乗り込んで「AIでこんなに多くのことができる(これら全員を解雇することを想像してみて!)」と宣言しようとしているのに、AIは自分の名前/モデルすら知らず、それについて無料で議論する?(いや、無料ではない——トークンごとに支払う。)
AIは、自分自身の作り出したソースの中で迷子になることが多い。
これらの重みの山と作業する際に常に心に留めている唯一の真実かもしれない。彼らは計画を立てては忘れ、サブ問題を解決するためにエージェントを生成するが、そのサブエージェントは自分が何をしていたかを忘れ、狭い道を進み、学習をどこにも統合しない。
1.5年前に優れたプロンプトを追いかけていたのと同じように、今のゲームはオーケストレーション/フレームワーク/ツールだ。
絶対に確かなこととして、AIが触れたり変更したりできないテスト/検証を持つことは必須だ——私はコンテストのWASM評価器(黄金のリファレンス)のコピーを持っており、すべてのgitコミットで実行していた。その方向に行き過ぎて、習慣でruff(Pythonリンター)をgitフックとして追加してしまった。その結果、多くのエージェントが機能するソリューションを提供するのに苦労した。なぜならリンターが通らなかったからだ。そして、たった一つの問題に遭遇したエージェント/AIシステムが何をするか知っているだろう!——迷子になる!その一つのサブタスク(コードをlintさせること!)に過集中し、より大きなコンテクストを忘れる(コンテストに勝ち、ついに深夜番組に招待され、世界中が私の信じられないほどユーモラスで魅力的な姿を見て、すぐに恋に落ち、次々と映画契約を獲得し、業界の寵児になる——私は一緒に仕事をするのも楽しく、時間を守るからだ)。
(すみません)
私はただ、AIが有用/不注意のグラデーションで激しく揺れ動くのを目の当たりにしていた。ある瞬間、異なる会社(agy/codex/fable)のLLMがすべて計画を練り、コードの2次元配置に関する既存の過去のアルゴリズムを研究していた。生産的に感じられた。最終的に構築された最適化器が何らかの形でこの研究に基づいているようにも思えた。しかし、それはすべてを忘れ続け、私だけがそれを元に戻すことができた。「ねえ、あの戦略は覚えてる?」「なぜそれに取り組んでるの?」など——何時間も。
私は視覚モダリティを完全に無視していた——もしかすると、より高い順位を絞り出すための「ジュース」があったかもしれない。音声がスペクトログラムに変換される(LLMが見て操作できる)ように、2D Esolangの「フーリエ変換」が存在するのかもしれない……ええと、かっこいい。誰か調べてくれないか?私が調べるべきか?どこから始めれば……頭がぐちゃぐちゃだ。週末にはひどい日焼けをした、Fableがコーディングしている間に——おそらく、こんな手を出さない方法で参加した報いで、他の人々が本気で汗を流していたのに。
親愛なる読者……そうですね。マッキンゼーが今なぜそんなに高い料金を取るのか分かりました。付け加えることはあまりありません。「AIを信頼しない」という植物に水をやりながら、AIが何をするか目撃することは啓発的だったと言えます。ツール(私が知らないが存在するツール?私が作るべきツール?)は次のフロンティアだと考えています。決定論的なツールが、これらのおしゃべりな混沌の予測不可能性を管理できるのか?それとも、ただ「作業を行うAIを監視するAIを監視するAIをもっと導入すれば、絶対に失敗しない!」と言っているだけなのか?もしそれらがすべて狂ったネズミ講ピラミッドを形成したら?私が狂ってしまったら?決して分からない。
xx
追伸:Fableが生成した有用なコードのほとんどはこちらにあります。