Hugging Face、少ないトークン数で思考プロセスを達成する手法を発表
本文の状態
日本語全文を表示中
詳細モードで約12分の本文を読めます。
同じ出来事の情報源
この情報源を基点に整理
Hugging Face Blog
IBM Research の Vatche Isahagian 氏らは、Hugging Face Blog にて ACE(Active Context Expansion)手法をより少ないトークンで実現する技術的アプローチを発表した。
Continue in AI NEW LAB
このニュースを、実務の判断につなげる
AI NEW LABで、試したことや先に確認したい条件を共有できます。まずはログインなしで読めます。
AI NEW LABで論点を見るAI深層分析を開く2026年8月11日 22:55
AI深層分析
キーポイント
ACE 手法の効率化提案
IBM Research の研究者らが、既存の ACE(Active Context Expansion)技術をより少ないトークン数で実行可能にする新しい方法を提示している。
リソース最適化への貢献
この発表は、大規模言語モデルの推論コストや計算リソースを削減する可能性を示唆しており、実用面での効率向上を目指すものである。
Hugging Face における発表
Vatche Isahagian、Jayaram Radhakrishnan、Vinod Muthusamy の 3 名が IBM Research を代表して、同ブログ記事を通じてこの知見を共有した。
学習成果の活用方法の違い
ALTK-Evolve と ACE はどちらもエージェントが自身の軌跡から学習できるが、得られた知識をどう扱うかが異なる。この違いが最終的なトークンコストを決定づける要因となる。
圧縮しない原則
両システムとも、エージェントの学習成果を要約して圧縮することには反対している。個々のルールや教訓を独立したオブジェクトとして保持し、頻度に基づいて評価するアプローチを採用している。
重要な引用
Thinking of ACE? We Can Do It with Fewer Tokens
IBM Research
The difference is what they do with what they learn — and that decides the token bill.
ACE and ALTK-Evolve give the same answer: no. Count them, don't collapse them.
編集コメントを表示
編集コメント
トークン数の削減は、大規模モデルの運用コストを抑制する上で極めて重要な課題である。IBM Research のこのアプローチは、リソース制約のある環境での実用性を高める有望な技術的知見と言える。
Source Article
元記事を日本語で読む
本文に関係しない購読案内、埋め込み通知、サイト内プロモーションは除いています。
ALTK-Evolve と ACE はどちらも、エージェントが自身の行動履歴から学習することを可能にします。両者の決定的な違いは、その学習内容をどう扱うかであり、それがトークン使用量(コスト)に直結します。
LLM エージェントに現実的な多段階タスク(請求書の分割、曲の検索、9 つのシミュレーションアプリ間での注文照合など)を任せて失敗させた場合、その原因は通常、知識不足ではありません。API のページネーション処理を誤ったり、対象者を間違えたり、求められていない値を返したりするのです。モデル自体は API を知っています。重要なのは「いかに信頼性を持ってそれらを使うか」というノウハウが内部化されていない点です。このノウハウこそが、エージェント自身の履歴から学習可能です。
最近登場した 2 つのシステムがまさにこれを実現しています。同じタイプのエージェントを対象とした ACE(Agentic Context Engineering)と、私たちが開発した ALTK-Evolve(こちらで紹介)です。両者とも「アジェンシー・メモリ」の一種であり、エージェントの過去の行動履歴を再利用可能な「教訓」として変換し、推論時にフィードバックします。重みの更新も人間のラベル付けも不要です。さらに、解決すべき難問については両者の認識も一致しています。決定的な違いは、その情報をどう届けるかという点にあります。
用語についての補足です。2 つのシステムでは名称が異なるため、ここではエージェントが学習する生データのことを「教訓」と呼ぶことにします。ACE はこれらの教訓を 1 つの包括的で進化し続ける「プレイブック」に整理します。一方、私たちが採用したのは、個別に検索可能な「ガイドライン」に集約する方法です。中身は同じ教訓ですが、格納する容器が異なります。
私たちの共通認識
両システムとも、情報を圧縮することには反対しています。
ACE は失敗のモードを正確に名指しします。1 つ目は「簡略化バイアス」で、最適化が短く汎用的な指示へと収斂してしまう現象です。2 つ目は「文脈崩壊」で、モデルが各ステップで全体の文脈を書き換えるよう求められた際、詳細を要約して消去してしまう問題です。ACE の答えは、豊富で項目ごとのプレイブックを維持し、各項目に有益・有害のカウントを持たせ、関連性の絞り込みを読取時に任せるというものです。
私たちは逆の方向から同じ結論に至りました。それぞれの明確なガイドラインには「サポート数」が保持されており、これはそのルールが生成された独立したエピソードの数です。そして、記憶を少数のルールに要約することはありません。5 つの異なるタスクで発見された教訓は、1 回だけ現れたものとは異なる対象であり、両方とも保存する価値があります。
つまり、「エージェントが苦労して得た教訓を、すっきりした要約に圧縮すべきか」という核心的な問いに対し、ACE と ALTK-Evolve は同じ答えを出しています。いいえ。要約せず、数えるのです。ACE の項目ごとのカウントと、私たちのサポート数は、同じ考え方の異なる表現に過ぎません。
違いはどこにあるか
2 つの点です。記憶を構築する方法と、それを提供する方法です。そして、トークンコストに現れるのはこの「提供方法」の違いです。
統合プロセス(ストアの構築方法)
ACE は「ジェネレーター→リフレクター→キュレーター」というループを通じて、単一のプレイブックを成長させます。このプロセスでは、逐次的なデルタ更新を適用し、埋め込み表現を用いて重複するデータを削除します。ほぼ同一の教訓はクラスタリングされ、クラスタ内で統合されます。この際、「サポート数を維持する」アプローチを採用しています。複数の教訓が統合される際、生き残った教訓はそれらの合計値を引き継ぐため、ストア全体のサイズは縮小しても、各ガイドラインを裏付ける経験の総量が失われることはありません。
さらに、戦略・回復・最適化といった「型付き」のガイドラインも抽出されます。これらは因果関係の帰属と出典情報を元の軌跡まで遡って保持しており、サブタスクレベルで管理されています。そのため、あるアプリで得られた教訓を別のアプリへ転送することが可能になります。
配信プロセス(推論時にモデルに届く情報)
ここが数値に直結する重要な部分です。ACE は、モデルやタスクに関わらず、すべてのステップで包括的なプレイブックを注入します。配信は一定値ではなく、調整可能なダイヤルとして扱われます。具体的には、高サポート数の教訓からなる小さな固定コアを用意し、現在のタスクに合わせて数個の教訓を追加選択します(コサイン類似度や LLM のガイダンスに基づき、優先度重み付け付き)。あるいは、モデルに余力がある場合は、統合されたセット全体を送信します。同じ教訓が両方のエージェントで利用可能ですが、違いは ACE が常に全教訓を送る点と、各モデルが実際に処理できる数の教訓を配信する点にあります。
なぜ重要なのか
AppWorld において、同一のベースとなる ReAct エージェントを用いて、自社開発の両システムを実行した結果は以下の通りです。
| モデル | TGC / SGC | タスクあたりのトークン数 | |
|---|---|---|---|
| DeepSeek-V3.2 | ACE | 80.4 / 73.2 | 634K |
| ALTK-Evolve | 89.3 / 80.4 | 263K | |
| gpt-oss-120b | ACE | 54.8 / 35.7 | 777K |
| ALTK-Evolve | 56.0 / 37.5 | 116K |
強モデルでは、ACE の推論コストの約 40% で両方の指標において上回っています。弱モデルでは、56.0 対 54.8 とわずかに ACE を上回りましたが、これは精度において「同点」と言えるレベルです(再実行した結果も 54.8 となり、ACE とほぼ完全に一致しており、ベンチマークのランごとのノイズ範囲内です)。コストは約 7 分の 1 です。
コストについて公平に述べるなら、ACE の効率性の物語は「コンテキストを安価に構築する」ことにあります。一方、私たちのアプローチは異なる軸、「コンテキストを提供する」ことに焦点を当てています。トークン消費の多くは、各ステップでプレイブック全体を注入するのではなく、タスクごとに数本のガイドラインを取得することにあります。これは前述の提供方法の違いによる直接的な結果です。
精度はどこから生まれるのでしょうか?難易度別の内訳を見ると、2 つの異なるストーリーが浮かび上がります。
*Figure 1. Post-memory Task Goal Completion by difficulty, ours vs. ACE. On DeepSeek-V3.2 (right) we win Easy, Hard, and Overall; ACE only edges Medium. On gpt-oss-120b (left) ACE leads easy and medium, but per-task selection wins the hard tasks — and the aggregate. Each system improves from its own no-memory baseline (see the by-difficulty reference tables under Method notes below).*
2 つのモデルは異なる結果を示しました。gpt-oss-120b では、ACE のフルプレイブックが Easy および Medium タスクでわずかに上回っています。これは、一般的な指示に従うだけでタスクの一部が解決できるため、包括的なプロンプトが混乱よりも効果をもたらすからです。しかし、モデルがすべてのレッスンの中から「正しい」ものを選ばなければならない Hard タスクでは、厳選された検索の方が有利になります。この難易度層こそが、総合スコアを決定づける鍵となります。
一方、DeepSeek-V3.2 では状況が逆転しました。性能の高いこのモデルは ACE のフルプレイブックを十分に吸収できるため、Medium タスクでわずかに上回ります。しかし、Easy、Hard、そして Overall では我々がリードしています。より多くのリソースとレッスン(我々の方式で提供されたもの)があることで、互いに邪魔し合うことなく、継続的に効果が得られるのです。
各モデルには最適な設定を適用しました。高性能なモデルには統合されたフルセットを、弱めのモデルには選択的な検索を採用します。なぜなら、文脈が長すぎると、むしろ弱めのモデルにとっては負担となり、性能向上につながらないからです。(どの程度の量を注入すべきか、そしてそれが能力のスペクトラム全体でどのようにスケールするかについては、次の記事で詳しく解説します。)
同じ教訓、異なる伝達方法
両方のシステムとも、エージェントが苦労して得た経験を簡潔な要約に圧縮することには反対しています。この点では意見の一致があります。違いは、その提供方法が固定されているか、調整可能であるかの点です。ACE はどのような状況でもプレイブック全体をステップごとに送信しますが、私たちのアプローチでは、特定のモデルが実際に活用できるガイドラインセットの一部のみを送信します。この調整こそが、上記の数値を実現した要因です。つまり、推論コストは ACE の数分の一でありながら、同等かそれ以上の精度を達成しました。特に性能の低いモデルにおいては、これが「役立つガイダンス」と「邪魔になるガイダンス」の違いを生みました。
ALTK-Evolve ライブラリを試す — ここで使用した抽出・統合・検索パイプラインが含まれています — または、完全な手法とアブレーション分析については 技術レポート をお読みください。
関連するアーティファクト / リファレンス
- 以前の投稿: ALTK-Evolve の紹介 — リンク
- ACE (Agentic Context Engineering) — リンク
- AppWorld ベンチマーク — リンク
- ALTK-Evolve — リンク
- 完全な技術レポート — リンク
手法に関する注記
AppWorld の test_normal ベンチマーク(168 タスク)では、ReAct コードエージェント(各ステップで Python を記述し、環境がその出力を返す形式)を用いています。TGC はタスク目標達成率、SGC はシナリオ目標達成率で、これはシナリオのすべてのバリアントに合格することを意味します。メモリは train/dev のみから抽出しており、結果はベンチマークの標準通り単一実行(pass@1)です。
ACE の数値は、ALTK-Evolve と同じ AppWorld スプリットおよび同じベースモデル(DeepSeek-V3.2 および gpt-oss-120b)を用いて社内評価した ACE エージェントの実行結果です。ACE 論文では異なるベースモデル(DeepSeek-V3.1)を対象としているため、自社で再実行することでモデルとハッチの条件を統一し、公平な比較を実現しています。両システムとも *同じ* ReAct エージェントであり、異なるのはプロンプトテンプレートのみです。そのため、メモリなしのベースラインでも 72.0 と 79.8 の TGC に差が生じていますが、この差に依存するのではなく、プロンプトの微調整では変えられない部分——つまり、トークン数を大幅に削減しながらも同等以上の精度を達成したという主張——に焦点を当てています。
参考テーブル
DeepSeek-V3.2 — test_normal (168 タスク):
| システム | ガイドライン | TGC | SGC | タスクあたりのトークン数 |
|---|---|---|---|---|
| ReAct, メモリなし | 0 | 79.8 | 64.3 | 148K |
| ReAct + ACE | 106 | 80.4 | 73.2 | 634K |
| ReAct + ALTK-Evolve | 191 | 89.3 | 80.4 | 263K |
gpt-oss-120b — test_normal:
| システム | ガイドライン | TGC | SGC | タスクあたりのトークン数 |
|---|---|---|---|---|
| ReAct, メモリなし | 0 | 39.9 | 21.4 | 110K |
| ReAct + ACE | フル | 54.8 | 35.7 | 777K |
| ReAct + ALTK-Evolve (選択済み) | ~29 | 56.0 | 37.5 | 116K |
難易度別 gpt-oss-120b(TGC):
| 難易度 | ベースライン | ACE | ALTK-Evolve |
|---|---|---|---|
| Easy | 66.7 | 84.2 | 82.5 |
| Medium | 35.4 | 60.4 | 56.2 |
| Hard | 19.1 | 23.8 | 31.8 |
| Aggregate | 39.9 | 54.8 | 56.0 |
DeepSeek-V3.2 — 難易度別(ベースライン→メモリ追加):上記のプレースホルダーテンプレート違いにより、両システムは異なるメモリーなしベースラインから出発します(全体 TGC は 79.8 と 72.0)。
| ティア | ALTK TGC | ALTK SGC | ACE TGC | ACE SGC |
|---|---|---|---|---|
| 全体 | 79.8 → 89.3 | 64.3 → 80.4 | 72.0 → 80.4 | 57.1 → 73.2 |
| Easy | 93.0 → 94.7 | 84.2 → 84.2 | 78.9 → 84.2 | 63.2 → 78.9 |
| Medium | 81.2 → 97.9 | 62.5 → 93.8 | 85.4 → 100.0 | 75.0 → 100.0 |
| Hard | 66.7 → 77.8 | 47.6 → 66.7 | 55.6 → 61.9 | 38.1 → 47.6 |
原文を表示
*ALTK-Evolve and ACE both let an agent learn from its own trajectories. The difference is what they do with what they learn — and that decides the token bill.*
Give an LLM agent a realistic multi-step task — split a bill, find a song, reconcile an order across nine simulated apps — and when it fails, it usually isn't for lack of knowledge. It mis-paginates an API, resolves the wrong person, or returns a value when none was asked for. The model knows the APIs; what it hasn't internalized is *how to use them reliably*. That's learnable from the agent's own history.
Two recent systems do exactly this, on the same kind of agent: ACE (Agentic Context Engineering) and our ALTK-Evolve (introduced here). Both are a form of agentic memory — turning an agent's past trajectories into reusable lessons and feeding them back at inference time, no weight updates, no human labels. They even agree on the hard part. Where they part ways is *delivery*.
A note on words, because the two systems name things differently: we'll call the raw thing an agent learns a lesson. ACE organizes its lessons into one comprehensive, evolving playbook; we consolidate ours into individually retrievable guidelines. Same lessons, two containers.
What we agree on
Both systems refuse to compress.
ACE names the failure modes precisely: brevity bias — optimization collapsing toward short, generic instructions — and context collapse — a model asked to rewrite its whole context each step summarizing the detail away. Its answer is to keep a rich, itemized playbook, with a helpful/harmful counter on every bullet, and let the model distill relevance at read time.
We reach the same conclusion from the other direction. Every distinct guideline keeps a support count — how many independent episodes produced it — and we never summarize the store down to a handful of rules. A lesson five different tasks discovered is a different object from one that appeared once, and both are worth keeping.
So on the core question — *should you compress an agent's hard-won lessons into a tidy summary?* — ACE and ALTK-Evolve give the same answer: no. Count them, don't collapse them. ACE's per-bullet counters and our support counts are two spellings of the same idea.
Where we differ
Two places: how the memory is built, and how it's delivered — and it's the delivery difference that shows up in the token bill.
Consolidation (how the store is built). ACE grows one playbook through a Generator → Reflector → Curator loop, applying incremental delta updates and de-duplicating by embedding. We cluster near-duplicate lessons and merge *within* a cluster, support-conserving — when several lessons merge, the survivor inherits their combined count, so the store shrinks without losing the record of how much experience backs each guideline. We also extract *typed* guidelines — strategy, recovery, and optimization — with causal attribution and provenance back to the source trajectory, and at subtask granularity, so a lesson learned on one app can transfer to another.
Delivery (what reaches the model at inference). This is the one that drives the numbers. ACE injects the comprehensive playbook on every step, the same way regardless of model or task. We treat delivery as a dial, not a constant: a small fixed core of high-support guidelines, extended per task with a handful selected for the task at hand (cosine or LLM-guided, priority-weighted) — or, when a model has the headroom to use it, the full consolidated set. The same lessons are *available* to both agents; the difference is that ACE always sends all of them, and we send however many a given model can actually use.
なぜ重要か
On AppWorld, with the *same* base ReAct agent, running both systems in-house:
| Model | TGC / SGC | Tokens/task | |
|---|---|---|---|
| DeepSeek-V3.2 | ACE | 80.4 / 73.2 | 634K |
| ALTK-Evolve | 89.3 / 80.4 | 263K | |
| gpt-oss-120b | ACE | 54.8 / 35.7 | 777K |
| ALTK-Evolve | 56.0 / 37.5 | 116K |
On the strong model we're better on both metrics at ~40% of ACE's inference cost. On the weak model we edge ACE 56.0 to 54.8 — close enough that we call it a tie on accuracy (a repeat run of ours landed at 54.8, matching ACE almost exactly, which is within this benchmark's run-to-run noise) — at about one-seventh the cost.
A fair word on cost: ACE's own efficiency story is about *building* its context cheaply. Ours is on a different axis — *serving* it. Retrieving a few guidelines per task instead of injecting the whole playbook on every step is where the tokens go, and it's the direct consequence of the delivery difference above.
Where does the accuracy come from? The by-difficulty breakdown tells two different stories:
*Figure 1. Post-memory Task Goal Completion by difficulty, ours vs. ACE. On DeepSeek-V3.2 (right) we win Easy, Hard, and Overall; ACE only edges Medium. On gpt-oss-120b (left) ACE leads easy and medium, but per-task selection wins the hard tasks — and the aggregate. Each system improves from its own no-memory baseline (see the by-difficulty reference tables under Method notes below).*
The two models tell different stories. On gpt-oss-120b, ACE's full playbook has the edge on Easy and Medium — there's enough of the task solved by generic instruction-following that a comprehensive prompt helps more than it distracts. But on Hard tasks, where the model has to pick the *right* lesson rather than wade through all of them, curated retrieval pulls ahead — and that's the tier that decides the aggregate. On DeepSeek-V3.2 the story flips: the stronger model absorbs ACE's full playbook well enough to edge us on Medium, but we lead Easy, Hard, and Overall — with more capacity to spare, more lessons (delivered our way) keep helping instead of crowding each other out.
We give each model its best configuration — the full consolidated set for the strong model, selective retrieval for the weaker one, because a large context overwhelms a weaker model rather than helping it. (Exactly *how much* to inject, and how it scales across the capability spectrum, is the subject of a next post.)
Same lessons, different delivery
Both systems refuse to compress an agent's hard-won experience into a tidy summary — that part, we agree on. The difference is whether delivery is fixed or calibrated: ACE sends the whole playbook every step no matter what; we send however much of the guideline set a given model can actually use. That calibration is what bought the numbers above — same-or-better accuracy at a fraction of ACE's inference cost — and on the weaker model, it was the difference between guidance that helped and guidance that got in the way.
Try the ALTK-Evolve library — which includes the extraction, consolidation, and retrieval pipeline used here — or read the full technical report for the complete method and ablations.
Linked artifacts / references
- Earlier post: ALTK-Evolve introduction — link
- ACE (Agentic Context Engineering) — link
- AppWorld benchmark — link
- ALTK-Evolve — link
- Full technical report — link
Method notes
AppWorld test_normal, 168 tasks. A ReAct code agent (each step writes Python; the environment returns the output). TGC = Task Goal Completion; SGC = Scenario Goal Completion, which requires *every* variant of a scenario to pass. Memory is mined from train/dev only; results are single runs (pass@1), as is standard on this benchmark.
The ACE numbers are our own runs of the ACE agent, evaluated in-house on the same AppWorld splits and the same base models as ALTK-Evolve (DeepSeek-V3.2 and gpt-oss-120b). The ACE paper reports on a different base model (DeepSeek-V3.1), so running it ourselves keeps the comparison controlled for model and harness. Both systems are the *same* ReAct agent and differ only in the prompt template — which is why the two no-memory baselines differ (72.0 vs 79.8 TGC); we don't rest the comparison on that baseline gap, only on the claims a prompt tweak can't touch: same-or-better accuracy at a fraction of the tokens.
Reference tables
DeepSeek-V3.2 — test_normal (168 tasks):
| System | Guidelines | TGC | SGC | Tokens/task |
|---|---|---|---|---|
| ReAct, no memory | 0 | 79.8 | 64.3 | 148K |
| ReAct + ACE | 106 | 80.4 | 73.2 | 634K |
| ReAct + ALTK-Evolve | 191 | 89.3 | 80.4 | 263K |
gpt-oss-120b — test_normal:
| System | Guidelines | TGC | SGC | Tokens/task |
|---|---|---|---|---|
| ReAct, no memory | 0 | 39.9 | 21.4 | 110K |
| ReAct + ACE | full | 54.8 | 35.7 | 777K |
| ReAct + ALTK-Evolve (selected) | ~29 | 56.0 | 37.5 | 116K |
gpt-oss-120b — by difficulty (TGC):
| Difficulty | Baseline | ACE | ALTK-Evolve |
|---|---|---|---|
| Easy | 66.7 | 84.2 | 82.5 |
| Medium | 35.4 | 60.4 | 56.2 |
| Hard | 19.1 | 23.8 | 31.8 |
| Aggregate | 39.9 | 54.8 | 56.0 |
DeepSeek-V3.2 — by difficulty (baseline → +memory): the two systems start from different no-memory baselines (79.8 vs 72.0 TGC overall) because of the prompt-template difference above.
| Tier | ALTK TGC | ALTK SGC | ACE TGC | ACE SGC |
|---|---|---|---|---|
| Overall | 79.8 → 89.3 | 64.3 → 80.4 | 72.0 → 80.4 | 57.1 → 73.2 |
| Easy | 93.0 → 94.7 | 84.2 → 84.2 | 78.9 → 84.2 | 63.2 → 78.9 |
| Medium | 81.2 → 97.9 | 62.5 → 93.8 | 85.4 → 100.0 | 75.0 → 100.0 |
| Hard | 66.7 → 77.8 | 47.6 → 66.7 | 55.6 → 61.9 | 38.1 → 47.6 |
関連記事
今日のまとめ
AIデイリーブリーフで今日の重要ニュースをまとめ読み