AI・機械学習
フロンティアモデルは一度だけの編集で十分
You only need the frontier model for one single edit (stencil.so)
要約
この記事は、AIエージェントのコスト最適化戦略について論じています。高価なフロンティアモデルを計画立案のみに限定し、安価なモデルに実行を任せるアプローチは、実際にはコスト増につながる場合があることを指摘しています。その理由として、モデルが情報を「読む」ことにかかるコストが支配的であり、計画の受け渡しは理解の受け渡しではないことを挙げています。代わりに、フロンティアモデルに計画を立てさせ、最初の編集を行った時点で安価なモデルに切り替える「/prewalk」という新しいアプローチを提案しています。
全文翻訳
モンキーシー、モンキー ทำ! 🍌
97%のフロンティアパフォーマンス
$$で41%安価に
完了まで1.9倍高速に
不正行為の可能性が3倍低い
コスト対合格率、7つのアーム・SWE-Bench Pro・ベアモデル=ワンショット・$/タスクにはフロンティアモデルの最初のターンが含まれます・†はFlash 3.5で実行されます・‡は5.6で実行されます
Luna/planは理にかなっています。そうあるべきではありません!
このピッチを聞いたことがあるかもしれませんし、実際に使ったことがあるかもしれません。高価なモデルは明らかに優れたアーキテクトですが、パイプライン全体に使用するのは無駄に感じられます。なぜ「難しい部分」だけをやらせないのでしょうか?
コードを読み、深く考え、正確な計画を書く。その後、価格の10分の1のモデルがその計画を実行します。シニアアーキテクト、ジュニアエンジニア。
素晴らしいですよね?
上記の赤い点を、Opus 4.8 + /plan†とラベル付けされたものを見つけてください。Opusは読み取り専用で計画し、Gemini Flashが実装します:タスクあたり3.18ドル、12.7分、合格率84.6%に達します。
Opusがタスク全体を単独で実行し、引き継ぎもジュニアもなし:2.78ドル、10.1分、合格率84.6%。
「コスト削減」策は、削減しない場合よりも14%高くなります。え?
すべてを読みます・$$$
すべてを再度読みます・$$$
コード・~100K トークン
opus・計画
plan.md・2Kのポストカード
flash・実装
パッチ・~2K トークン
間違いはアーキテクチャ図の上流にあります。
人々はエージェントを人々と同様に価格設定します:シニアの時間は高価なので、シニアの関与を最小限に抑えます。
しかし、エージェントの日の高価な部分は、修正、構築、あるいは思考ではありません。Opusが物事を修正してもお金はかかりません。Opusが物事を読むと、お金がかかります。
これが、私たちのトークンがどこに行ったかの、確かに逸話的な分布です。完全に自動化されたエージェントも同様に見えます。
18億1千万トークン、約200万回のツール呼び出し。「タスクを実行する」(すべての編集と書き込み)は9%であり、読むことが請求額を増加させ、両方のモデルがそのために全額を支払います。
トークンの9パーセントは編集です。残りは読書であり、この分割は、1つのハーネスの奇妙なものではなく、「修正」できるものでもありません。信じてください、私たちは試しました — snapcompactが生まれたのはそのためです。
どんなエージェント、どんなモデル、どんな足場でも:請求額は基本的にO(読み取り)です。
そのことを念頭に置いて、/planに手を伸ばすあらゆる理由を順を追って見ていきましょう。
「大きなモデルの深い理解が欲しい。」
理解は、10万以上のトークンの接地されたコンテキストに存在します:読み取られたファイル、排除された行き止まり、テストされた仮説。計画ドキュメントは、そのコンテキストからの2Kトークンのポストカードです。実行者はポストカードを受け取り、理解は受け取らず、自己負担で残りを再構築する必要があります。
「タスクは非常に複雑です。」
その場合、メインエージェントを実行させるべきではありません。単一の読み取り専用の計画ターンは答えではありません。探索させてから、サブエージェントに作業を実行させます。ここでは電話ゲームは役に立ちません。
「コストが制約されています。」
読書がコストです。/planはフロンティアモデルにフロンティア価格ですべてを読ませ、その後安価なモデルに再度読ませます。高価な部分を移動させたのではなく、複製しました。
これが、私たちが時間をかけすぎた図で、実際にはどうなるかを示しています。
OPUS 4.8 + /PLAN† · $3.18
bash
opus
glob
opus
read
opus
bash
opus
bash
opus
read
opus
bash
opus
read
opus
read
opus
read
opus
grep
opus
read
opus
read
opus
grep
opus
grep
opus
read
opus
read
opus
read
opus
¶¶prose
opus
read
opus
recon: sessions ▸ signing
write
opus
resolve
opus
▸ flash
plan
read
flash
read
flash
edit
flash
read
flash
edit
flash
edits
read
flash
bash
error
flash
grep
flash
edit
flash
grep
flash
read
flash
edit
flash
bash
flash
¶¶prose
flash
verify ▸ debug ▸ pass
Σ 1.34M
OPUS 4.8 · SAME TASK · $2.78
bash
opus
read
opus
read
opus
bash
opus
bash
opus
read
opus
grep
opus
read
opus
read
opus
bash
opus
read
opus
grep
opus
recon: sessions ▸ signing
edit
opus
read
opus
edit
opus
fix
read
opus
edit
opus
bash
opus
grep
opus
read
opus
grep
opus
read
opus
edit
opus
tests ▸ debug warnings
bash
opus
bash
opus
bash
opus
read
opus
¶¶prose
opus
verify ▸ close
Σ 1.10M
OPUS 4.8 + /PREWALK† · $1.46
bash
opus
read
opus
nudge
read
opus
bash
opus
bash
opus
read
opus
read
opus
bash
opus
read
opus
¶¶prose
opus
todo
opus
recon ▸ plan
edit
opus
▸ flash
fix
read
flash
edit
flash
todo
error
flash
todo
flash
tests
bash
error
flash
grep
flash
grep
flash
read
flash
edit
flash
bash
flash
debug warnings
grep
flash
read
flash
grep
flash
grep
flash
bash
flash
todo
flash
todo
flash
¶¶prose
flash
checks ▸ close
Σ 1.13M
opus flash read write exec todo ¶ prose error harness event Σ tokens
django-13279 test run† executes with Flash
一番上のリボンを見てください。Opusはbase.py、signing.py、テストファイル(灰色の20枚のカード)を読み、計画を書き込んで終了します。そして、Flashがその美しいドキュメントで最初に行うことは何でしょうか?計画はファイルではなく、文章を編集できないため、base.pyとテストファイルを再読します。灰色の読み取りは、まずOpusの価格で、次にFlashの価格で積み重なります。2番目のリーダーがコスト最適化になるようなバージョンはありません。
物語ではなく、軌跡を引き渡す
計画ドキュメントは文字通りのポストカードであり、それを決して取らなかったモデルに旅を説明します。
価値のあるものを実際に転送できるのは、コンテキストウィンドウ自体です。
/prewalkはこれを実行します:タスクをフロンティアモデルで1つの隠された指示をプレフィックスとして開始します:深く計画し、計画をToDoリストとしてキャプチャし、開始します。フロンティアモデルは探索し、計画を書き込み、ToDoリストを初期化します。最初の編集が着地した瞬間(行動するのに十分自信があった時点)、安価なモデルに切り替えて、コンテキストから計画指示を削除します。トリックは次のとおりです。
安価なモデルは「待って、計画していたのでは?」とは決して言いません。コンテキストに残っている計画指示はありません。それが知っている限りでは、それは探索し、ToDoリストの形で包括的な計画を作成し、自信を持って実行を開始しました。さらに良いことに、それはすでに1つの有効な移動を行いました!(無料のインコンテキスト例)
5.6 SOL + /PREWALK‡ · $1.04
read
sol
nudge
¶¶prose
sol
todo
sol
orient ▸ plan
grep
sol
glob
sol
grep
sol
lsp
sol
read
sol
read
sol
read
sol
read
sol
read
sol
read
sol
grep
sol
grep
sol
read
sol
read
sol
grep
sol
read
sol
grep
error
sol
recon: mti internals
todo
sol
todo
sol
edits
sol
first edit ▸ luna
bash
error
luna
edit
luna
swap ▸ fix
todo
luna
todo
luna
bash
luna
todo
luna
grep
luna
bash
luna
bash
luna
todo
luna
todo
luna
¶¶prose
luna
verify ▸ close
Σ 710K
5.6 SOL · SAME TASK · $1.71
read
sol
grep
sol
grep
sol
read
sol
read
sol
read
sol
grep
sol
glob
sol
read
sol
¶¶prose
sol
read
sol
read
sol
read
sol
grep
sol
read
sol
read
sol
read
sol
recon: mti internals
grep
sol
grep
sol
read
sol
read
sol
bash
sol
bash
sol
bash
sol
git archaeology
todo
sol
eval
sol
bash
sol
eval
sol
bash
sol
read
sol
grep
sol
repro script
read
sol
read
sol
read
sol
read
sol
read
sol
read
sol
read
sol
read
sol
read
sol
read
sol
cheats off of 🤣
todo
sol
edit
sol
eval
sol
fix
read
sol
read
sol
edit
sol
tests
grep
sol
grep
sol
bash
sol
grep
sol
grep
sol
read
sol
bash
sol
bash
sol
todo
sol
¶¶prose
sol
suite ▸ close
Σ 1.78M
sol luna read write exec todo ¶ prose error harness event Σ tokens
django-12325 test run‡ executes with Luna
どうやってここにたどり着いたか
オープンソースのハーネスで作業する良い点は、人々がどのように物事を行うかについてチャットできることで、ほとんどすべての人が完全に異なるセットアップを持っています。
いずれにせよ:私は時々、数ターン後にKimi K27に切り替えるために、フロンティアモデルで簡単な中程度のタスクを開始していましたが、そうしないと通常の思考ループに陥るためです。これが合理的かどうかを測定したことはありませんでした…他の誰かが同じことをしていると言及するまで。
当然、ベンチマークする必要がありました:私たちは愚か者なのか、それともこれは実際に機能するのか、そしていつ機能するのか?
最初の試み:固定ターン、例えば#4でスワップします。明らかに後知恵で悪い:時々フロンティアモデルはターン4でまだ迷っています、時々それはすでに全体の修正を終えています。2番目の試み:最初の編集後にスワップします。モデルはパターンを一度、その場で、スタイルで実証しました。かなり良いですが、まだ気まぐれです:小さなモデルは突然タスク完了を宣言し続けました。
解決策は、無意識のうちに群れをなすエージェントに計画をステップバイステップで説明させ、その後、実行する準備ができたら、各アイテムの検証ステップでToDoリストを初期化することでした。その後、コードの一部を編集し、その時にスワップをトリガーします。
編集のみでゲートをかけるのは良くありません。ToDoリストは依然としてここで非常に重要な役割を果たします。私たちの小さな友人は計画、検証ステップ、または何をしているかを完全に忘れるかもしれませんが、私たちに自由な指示を与える、無限に悩ませるToDoリマインダーを忘れることはできません。
An