2026-06-05 · Ankina Lab

Toolformer — ChatGPTは本当に「知識」を持っているのか?AIは知っているのではない。予測しているだけだった。

ChatGPTは知識を持っているのではない。予測しているだけだった。2023年にMeta AIが発表したToolformerは、AIが自分の頭の中だけで世界を理解しようとする段階から、外部世界の道具を利用して能力を拡張する段階へ進んだ転換点だった。

AIは知っているのではない。予測しているだけだった。


はじめに

2022年末、ChatGPTが世界中で話題になった。

質問をすれば答えが返ってくる。歴史を説明できる。法律について語れる。プログラムを書ける。詩を書くこともできる。まるで膨大な知識を持つ万能な専門家のようだった。

多くの人がこう考えた。「AIはついに知識を獲得したのだ」

しかし研究者たちは、少し違う見方をしていた。ChatGPTは本当に知識を持っているのだろうか。それとも、知識を持っているように見えるだけなのだろうか。

この問いは、大規模言語モデル(LLM)の本質を理解する上で非常に重要である。そして2023年、Meta AIが発表したToolformerは、この問題に対する一つの答えを示した。

Toolformerは単なるツール利用の論文ではない。それはAIが自分の頭の中だけで世界を理解しようとする段階から、外部世界の道具を利用して能力を拡張する段階へ進んだ転換点だった。

現在のChatGPT、Claude、Gemini、Manus、Devinなど、多くのAgentシステムの背後にはToolformerの思想が流れている。その意味で、この論文はAgent時代の重要な土台の一つと言えるだろう。


ChatGPTは知識を持っているのか

次の単語を予測する機械

私たちは普段、ChatGPTと会話していると、それが知識を持っているように感じる。「日本の首都はどこですか?」と質問すると「東京です」と正しく答える。歴史上の人物について聞いても答えられる。科学について質問しても説明できる。これを見ると、内部に巨大な百科事典が保存されているように思える。

しかし実際には違う。Transformerの内部にWikipediaが格納されているわけではない。辞書が保存されているわけでもない。知識ベースが存在するわけでもない。内部に存在するのは大量の数値パラメータだけである。

Transformerは本質的に非常に単純な目的で訓練されている。それは「次に来る単語を予測する」ことである。

例えば「日本の首都は」という文章が与えられたとする。モデルは過去に大量の文章を読んでいる。その経験から、「東京」が続く確率が高いことを学習している。その結果として「東京です」と答える。

重要なのは、モデルが日本地図を思い浮かべているわけでもなく、行政区分を理解しているわけでもなく、百科事典を参照しているわけでもないということである。単に膨大な文章パターンの統計的な構造を学習しているのである。

知識を持つことと正しく答えることは同じではない

人間から見ると、正しく答えられるのであれば知識を持っているのと同じではないか、と思えるかもしれない。確かに一面ではそうである。しかし両者は完全には一致しない。

違いが現れるのは未知の状況である。例えば「2024年のノーベル物理学賞受賞者は誰ですか?」という質問を考えてみよう。もしその情報が学習データに含まれていなければ、モデルは知らない。ところがLLMは多くの場合、何らかの回答を生成してしまう。存在しない人物名を挙げることもある。過去の受賞者を混同することもある。それらしい説明まで付け加えることさえある。

これが幻覚(Hallucination)と呼ばれる現象である。モデルは嘘をつこうとしているわけではない。ただ最もありそうな続きを予測しているだけなのである。

なぜ幻覚は起きるのか

幻覚という言葉を聞くと、何か異常な現象のように思える。しかし実際には、幻覚はLLMにとって極めて自然な現象である。なぜなら、モデルの目的は真実を語ることではないからだ。モデルの目的は、次に来る可能性が高い文章を生成することである。

例えば「2024年ノーベル賞受賞者は」という入力が来たとする。モデルは知らない。しかし回答を求められている。すると過去の学習データから、ノーベル賞の記事に出てきそうな文章パターンを組み合わせる。その結果、存在しない受賞者が誕生する。

つまり幻覚は故障ではない。予測システムとしては正常な動作なのである。

計算も日付計算も苦手だった

同じ問題は計算でも現れる。例えば「478 × 913」という問題を考えてみよう。人間ならどうするだろうか。多くの人は暗算しない。電卓を使う。紙に書く。スマートフォンで計算する。つまり外部ツールを利用する。しかし初期のLLMにはその選択肢がなかった。すべてを内部のパラメータだけで解こうとしていた。その結果、比較的簡単な計算でも間違えることがあった。これは知能が低いからではない。Transformerはそもそも計算機として設計されていないのである。

さらに面白い例がある。今日が2023年1月1日だとして「100日後は何日ですか?」という質問である。人間ならカレンダーを見る。あるいはスマートフォンを使う。しかし当時のLLMにはカレンダーがない。月ごとの日数を思い出しながら推測するしかない。当然ながら間違いも増える。

ここでも問題は同じだった。本来なら外部ツールを使うべき問題を、無理やり内部知識だけで解こうとしていたのである。

人間は自分の頭だけで生きていない

視点を人間に移してみよう。私たちは自分たちを知的存在だと思っている。しかし実際には、自分の頭だけで生きているわけではない。電話番号を覚える代わりにスマートフォンを使う。地図を覚える代わりにGPSを使う。難しい計算は電卓を使う。知らないことは検索する。

私たちの知能は脳だけで成立しているわけではない。外部世界にある道具と協力することで成立している。もし検索エンジンも辞書もノートも使えなかったら、私たちの知的能力は大きく低下するだろう。つまり人間の知能とは、脳単体の能力ではなく、脳と道具の協調によって生まれているのである。


AIはどのようにして道具の使い方を学んだのか

Toolformer以前に何が試みられていたのか

ツールを使わせるという発想自体は、Toolformer以前から存在していた。しかし何が限界だったのかを正確に理解しておくと、Toolformerの意義がより鮮明になる。

まずQA(質問応答)システムとの統合研究がある。2000年代から、検索エンジンと自然言語処理を組み合わせてFactoidな質問に答えるシステムが研究されていた。「日本の首都は?」のような質問に対して、Webを検索して答えを探す。しかしこれはあらかじめ「質問が来たら検索する」と人間がルールを書いていた。AIが自分で判断していたわけではない。

次にRetrieval-Augmented Generation(RAG)の原型がある。2020年のMeta AIによるRAG論文が有名だが、その発想の根底にあるのは「内部知識だけでは足りないなら外部から取ってくる」という考えだ。しかし初期のRetrievalシステムは、常に検索を行う設計になっていた。必要な時だけ検索する、という判断機能はなかった。

さらにTool-augmented NLPの研究もあった。数式を含む文章を処理する際に計算機を呼び出す研究や、固有表現を認識したら外部データベースを参照する研究が存在した。しかしこれらはすべて、ツールを使う条件を人間がルールとして定義していた。「数式が来たらCalculatorを使う」という具合に。

そしてAPI接続研究がある。外部APIをLLMから呼び出す試みは、ToolformerのほぼBefore直前まで行われていた。しかしいずれも、大量の教師データが必要だった。「このような入力が来たら、このAPIをこの引数で呼び出す」というパターンを人間が膨大に用意しなければならなかった。

これらの研究に共通するのは何か。AIは道具を使っていたが、道具を使うべき状況を自分で判断していなかったということである。

検索エンジンを接続することは難しくない。APIを呼べばよい。電卓も同じである。カレンダーも同じ。翻訳システムも同じ。技術的には可能だった。問題はもっと根本的だった。

AIはいつツールを使うべきなのか。

例えば「2 + 2」なら内部知識だけで十分かもしれない。しかし「847291 × 928371」なら電卓を使った方が良い。また「日本の首都は?」なら内部知識で答えられる。しかし「今日のドル円相場は?」なら検索が必要になる。この境界を誰が決めるのか。

人間がすべて教えるという発想とその限界

当時の研究者たちは、人間が大量の教師データを作る方法を選んでいた。例えば検索を利用するAIを作りたい場合、研究者は次のような例を大量に用意する。

質問: 日本の人口は何人ですか?
行動: Search("Japan population")
結果: 125 million
回答: 日本の人口は約1億2500万人です

計算機も同じである。

質問: 478 × 913
行動: Calculator(478*913)
結果: 436414
回答: 436,414

こうした例を大量に集め、教師データとしてモデルに学習させる。機械学習としては自然な発想である。しかし問題も多かった。

高価である。非常に高価である。人間がラベルを作る必要がある。ツールが増えるたびに作り直す。新しいAPIが登場したらまた作る。スケールしない。

そしてもう一つ根本的な問題があった。AIは道具を理解していない。人間の真似をしているだけなのである。

Metaが立てた問い

Meta AIの研究者たちは、ここで発想を変えた。

もし人間が全部教えなくても良いとしたらどうだろう。AI自身が「ここは検索した方が良い」「ここは計算した方が良い」「ここはカレンダーを使うべきだ」と判断できるようになればどうだろう。

これは単なる効率化ではない。知能そのものに関する問いだった。人間は毎回誰かに教えられて道具を使っているわけではない。状況に応じて判断する。知らないことがあれば検索する。複雑な計算なら電卓を使う。予定を確認するならカレンダーを見る。

つまり人間は「道具を使うべき状況」を学習している。ならばAIも同じことができるのではないか。

Toolformerの核心:Self-Supervised Tool Use

この問いから生まれたのがToolformerである。論文タイトルは、

Toolformer: Language Models Can Teach Themselves to Use Tools

直訳すると「言語モデルは自分自身に道具の使い方を教えられる」となる。タイトルそのものが論文の主張になっている。

重要なのはツール利用ではない。自分自身に教えることだ。Toolformerの本質は、Self-Supervised Tool Use(自己教師ありツール利用)である。つまり人間が大量の正解ラベルを与えなくても、モデル自身がツール利用を学習できる。ここが革命だった。

Transformer革命そのものも、実は自己教師あり学習によって支えられていた。大量のラベル付きデータを作らなかった。次単語予測という単純なタスクから知識を獲得した。Toolformerはその思想を、ツール利用へ拡張したのである。

Toolformerの学習パイプライン

論文の全体構造は次のようになる。

Few-shot Examples
↓
Candidate API Calls
↓
Tool Execution
↓
Filtering
↓
Fine-Tuning

Step 1:少数の例を与える(Few-shot Prompting)

まず研究者たちは各ツールについて数個の例だけを与えた。数千件ではない。数万件でもない。本当に数件である。

例えばCalculatorなら「2 + 3 → Calculator(2+3) → 5」のような例。Searchなら「Capital of Japan → Search("Capital of Japan") → Tokyo」のような例。カレンダーなら「今日は2023年1月1日です。3日後は?」に対して「[Calendar(2023-01-01,+3)]」を利用する例を数件見せる。

普通なら到底学習できそうに思えない。しかしToolformerはここから始まる。

Step 2:ツール利用候補を生成(Candidate API Calls)

ここからモデルが自分で動き始める。

従来の研究なら、人間が「ここで検索」「ここで計算」「ここで翻訳」という正解ラベルを付ける。しかしToolformerは違う。モデル自身が「ここでツールを使ったらどうだろう?」という候補を生成する。

例えば「Mount Everest is the highest mountain in the world at」という文章を見たとする。普通の言語モデルなら続きを予測する。しかしToolformerは別のことを考える。「ここで検索した方が楽ではないか?」そこで「Search("Mount Everest height")」という候補を生成する。

重要なのは、人間が指示していないことである。モデル自身が提案している。これを見たとき、多くの研究者は驚いた。なぜなら「どこでツールを使うべきか」こそが最大の問題だと思われていたからだ。

Step 3:実際にツールを実行(Tool Execution)

候補が生成されたら、実際のツールを実行する。Searchなら検索する。Calculatorなら計算する。Calendarなら日付計算する。Translationなら翻訳する。

例えば「Search("Mount Everest height")」なら「8,848.86m」という結果が返る。ここまではそれほど難しくない。実際、多くの研究者がここまでは考えていた。本当に天才的だったのは次である。

Step 4:予測性能を評価(Filtering)

Toolformer論文最大の発明。それがFilteringである。

研究者たちは問う。「このツール利用は本当に役に立ったのか?」では何を基準に判断するのか。

ここで普通の研究者なら人間が評価する。しかしMetaは違った。モデル自身に評価させたのである。

利用した指標がPerplexity(パープレキシティ)である。Perplexityとは一言で言えば、「次の単語の予測しにくさ」を示す数値だ。値が低いほどモデルは次の単語を正確に予測できている。値が高いほど「どの単語が来るか分からない」状態を意味する。Transformer研究で最も広く使われる評価指標のひとつである。

Toolformerはここを巧みに利用した。具体的には次のように評価する。

まず、ツールを呼び出していない場合に続きのテキストを予測したときのPerplexityを計算する。次に、ツールを呼び出してその結果を文脈に加えた場合の同じテキストのPerplexityを計算する。両者を比較して、ツールを使った方がPerplexityが下がっていれば(つまり予測しやすくなっていれば)、そのツール利用を採用する。改善しなければ捨てる。

その検索結果を使った場合、次の単語予測は改善したか?

それだけである。

なぜこれがSelf-Supervisedになるのか。Transformer自体がそもそも「次単語予測」という自己教師あり学習で訓練されている。その訓練目標をそのままツール利用の評価基準として転用した点が天才的だった。新たな評価軸を人間が定義する必要がない。追加の注釈作業も不要だ。「ツールを使って予測がしやすくなったかどうか」という判断を、モデルが自分自身の言語モデルとしての能力を使って行う。

ここで人手ラベルが不要になる理由を、もう少し丁寧に考えてみよう。

通常の教師あり学習では、「正解」を外部から与える必要がある。「この文章でSearchを呼ぶのが正解」「この文章でCalculatorを呼ぶのが正解」という判断を、人間が何万件も付けなければならない。これが従来の研究が抱えていたコストと限界だった。

しかしToolformerでは、「正解」の定義そのものが変わっている。ツール利用が正解かどうかを判断するのは人間ではない。「そのツール結果を使った後、次の単語を予測しやすくなったか」という事実が正解を決める。そしてこの計算はモデル自身が行える。人間が介在する必要がない。

言い換えれば、Toolformerは言語モデルとしての自分自身を評価者として使っている。ツールを使う価値があるかどうかを、「言語モデルとして続きを予測しやすくなるか」という基準で自動的に判定する。この循環が成立するのは、PerplexityがモデルのパラメータだけあればAPIコールなしに計算できるからだ。外部の審判が不要で、自己完結する評価システムになっている。

結果として、人間が「ここで検索しなさい」と指示しなくても、モデルが「ここで検索した方が次の言葉を予測しやすくなる」を自分で発見する。これがSelf-Supervisedの本質であり、Toolformerが大規模なアノテーションコストなしにツール利用を学習できた理由である。

候補生成
↓
実行
↓
ツールあり Perplexity < ツールなし Perplexity?
↓
Yes → 採用
No → 破棄

モデル自身の性能が教師になる。これがSelf-Supervised Tool Useの核心である。

Step 5:再学習(Fine-Tuning)

こうして集められた高品質なツール利用例は、新しい学習データになる。重要なのは、人間が作ったわけではないことだ。モデル自身が生成し、モデル自身が選別した。その結果、巨大なツール利用データセットが生まれる。そして最終的に、モデルはそのデータで再学習される。

Toolformerが扱ったツール

Calculator

計算はLLMの弱点として有名である。なぜならTransformerは計算機ではないからだ。数式を理解しているように見えても、実際には数値パターンを学習しているに過ぎない。そのため桁数が増えると失敗する。しかしCalculatorを使えば違う。計算は計算機に任せれば良い。

Toolformerは「どの場面でCalculatorを呼び出すべきか」を学習した。重要なのは計算能力が向上したことではない。必要な時だけ使うことを学んだことである。これは現在のChatGPTがPythonを利用する仕組みにも繋がっている。

Search

Searchはさらに重要だった。LLMの知識は学習時点で固定される。しかし世界は変化する。企業のCEOは変わる。株価は変わる。ドル円は変わる。ニュースは毎日発生する。内部知識だけでは限界がある。そこで検索を使う。

現在のWeb Search、RAG、Deep Researchの思想に非常に近い。検索を利用することで、モデルは内部知識に依存しなくなった。

Calendar

日付計算は意外と難しい。100日後。3か月前。来週の金曜日。人間でも間違える。だからカレンダーを使う。Toolformerはそれを学習した。ここでも重要なのは、日付計算能力を獲得したことではない。適切な道具を選択する能力を獲得したことである。

Translation と Question Answering

翻訳専用システムの方が優れているなら、それを利用すればよい。外部知識ベースも同じである。LLM内部に全ての知識を詰め込む必要はない。必要なら外部知識ベースを使う。

つまりToolformerは「知識を増やした論文」ではない。**「知識の取得方法を変えた論文」**なのである。内部能力に固執しない。必要なら外部能力を借りる。これは人間と同じ発想だった。

実験結果

論文の実験結果は非常に興味深い。Toolformerは、ほぼ全てのツール関連タスクで性能向上を示した。

特に顕著だったのがCalculatorである。数値計算のベンチマークでは、ツールなしのLLMに対して大幅な精度向上が確認された。これは予想通りの結果だが、重要なのはモデルが「計算が必要な場面」を自律的に判断できていた点だ。全ての文章でCalculatorを呼び出していたわけではなく、実際に計算が必要な箇所だけを正確に識別していた。

Question Answeringでも顕著な改善が見られた。外部知識ベースを参照することで、LLMが単独で答えにくい事実確認問題の精度が上がった。特に、学習データに含まれていない可能性の高い具体的な数値や固有名詞を問う問題で差が出た。

Searchについては、最新情報を必要とするタスクで効果が現れた。LLMの知識は固定されているため、学習後に更新された情報には弱い。検索ツールと組み合わせることでその弱点を補えることが示された。

Calendarは日付計算の正確性において、TranslationはLLM単体よりも専門翻訳システムを活用した場合の品質向上において、それぞれ改善が確認された。

全体を通じて論文が示したのは重要な主張だった。モデルサイズを大きくするだけではなく、必要に応じてツールを使う方が強い。 これは当時の主流だった「より大きなモデルを作れば解決する」という考え方への明確な反論でもあった。

ReActとの違い、そして統合

ここで重要な比較がある。ReActは「Reasoning + Acting」である。

Thought(考える)
↓
Action(行動する)
↓
Observation(結果を見る)
↓
Thought(また考える)

このループを繰り返すことで、AIが問題を段階的に解いていく。これは「どう行動するか」の枠組みを与えた論文だった。

一方Toolformerは、行動そのものではなくツール利用に焦点を当てている。「何を使うか」である。ReActは行動の手順を整理したが、どのツールをいつ使うべきかは明確にしていなかった。

そして現代のAgentは、この両者を統合している。

Goal(目標)
↓
Reasoning(考える:ReActの貢献)
↓
Tool Selection(道具を選ぶ:Toolformerの貢献)
↓
Action(行動する)
↓
Observation(結果を見る)
↓
Reasoning(また考える)

つまりReActが「考えながら動く」枠組みを与え、Toolformerが「適切な道具を自律的に選ぶ」能力を与えた。現在のChatGPT Agent、Claude Code、Manusのいずれも、この統合された構造の上に成り立っている。Toolformer以前には「Tool Selection」のステップが存在しなかった、あるいは人間が手作業でルールを書いていた。その意味でToolformerとReActは、現代Agentの二つの柱と言えるだろう。


Toolformerが生んだAgent革命

「知識量競争」の終わり

2020年代前半のAI研究には、ある種の常識が存在した。「モデルを大きくすれば強くなる」という考え方である。実際、GPT-2からGPT-3、GPT-3からGPT-4へ進むにつれて、能力は大きく向上した。だから研究者たちは、さらに大きなモデルを作った。さらに大量のデータを学習させた。さらに巨大なGPUクラスタを投入した。

しかしToolformerは、別の方向性を示した。それは「知らないなら調べれば良い」という発想だった。これは極めて人間的である。人間は世界中の知識を暗記していない。必要なときに調べる。だからこそ、限られた脳容量で複雑な社会を構築できる。Toolformerは、LLMも同じ方向へ進めることを示した。

なぜ会社は存在するのか

もし一人で全てできるなら、会社は必要ない。しかし現実はそうではない。人間は専門化する。研究者、エンジニア、デザイナー、営業、弁護士、医師。それぞれ異なる能力を持ち、協力する。だから大きな成果を出せる。人類の文明そのものが、分業によって発展してきた。ならばAIも同じではないか。

AutoGPT — AIは自律的に働けるのか

Toolformerの発表から間もなくして、世界はAgentブームを迎える。その象徴がAutoGPTだった。2023年春、AutoGPTはSNS上で爆発的な注目を集めた。

従来のChatGPTは質問に答えるだけだった。しかしAutoGPTは違った。目標を与えると、AIが計画を立てる。必要な情報を検索する。結果を評価する。次の行動を決める。そして再び実行する。人間が細かく指示しなくても、自律的にタスクを進めるように見えた。

しかし実際には問題も多かった。AutoGPTを実際に使った人なら覚えているだろう。失敗が非常に多かった。

同じ検索クエリを何度も繰り返す。タスクの途中で無関係な方向へ脱線する。「競合分析をせよ」という目標を与えたのに、いつの間にか関係のないウェブページを巡回し続ける。意味のない中間ステップを量産して、それがまた次のステップを呼ぶ。終了条件を満たせず、同じ処理を延々と繰り返す無限ループ。APIコストだけがかさんでいく。

ある研究者が後に振り返ったように、「AutoGPTはAIが自律的に働く未来を見せてくれたが、同時にそれがいかに難しいかも見せてくれた」。

当時Agentを試した研究者やエンジニアの多くが、「面白いが使えない」という感想を持った。そしてこの経験が、次のAutoGenへの動機になっていく。一人のAIに全部任せるのは無理だ。役割分担が必要だ。

この失敗の歴史は重要だ。AutoGPT → AutoGen → CrewAI → LangGraphという流れは、単なる機能追加ではない。AutoGPTの失敗から学んだ設計思想の進化である。「一人に全部やらせる」から「チームで分担する」へ、「自由に動かせる」から「状態を管理する」へ。各ステップに具体的な失敗の反省が刻まれている。

根本的な原因は単純だった。全部一人でやろうとしていたのである。調査もする。計画もする。執筆もする。評価もする。修正もする。全て同じモデルが担当する。これは会社で言えば、社長が営業も経理も開発も法務も全部やるようなものだった。当然無理がある。

それでも歴史的な価値は大きかった。なぜならAutoGPTは「AIがツールを利用しながら目標達成を目指す」という新しい可能性を示したからである。そしてその前提にはToolformerの思想があった。検索できなければ計画は実行できない。計算できなければ分析もできない。ToolformerはAgentの手足を作った。AutoGPTはその手足を動かしたのである。

ここで研究者たちは、人間社会と同じ結論に到達する。役割分担が必要だ。

AutoGen — AIはなぜチームを作り始めたのか

2023年後半、Microsoft ResearchはAutoGenを発表する。これはAgent研究における大きな転換点だった。

AutoGPTの発想は「一人の超優秀なAI」である。しかしAutoGenは違った。複数のAIを協力させるのである。

AutoGenでは複数のAgentが登場する。

  • Planner:全体の計画を立て、タスクを分解する
  • Researcher:情報を収集し、事実確認を行う
  • Engineer:コードを書き、実装する
  • Reviewer:成果物の品質を確認し、フィードバックを返す

それぞれが異なる役割を持ち、会話を通じて協力する。Plannerが「次はResearcherに調査を頼もう」と判断し、Researcherが結果を返し、EngineerがそれをもとにコードをWriteし、Reviewerが確認する。この流れが自律的に回る。

ここで初めて、Agent研究は「個人」から「組織」へ進化した。そしてこの発想が、次のCrewAIへ自然に繋がっていく。

なぜ研究者たちは、モデルを大きくする方向へ進まなかったのだろうか。人間社会を見ると分かる。巨大な脳を持つ一人より、複数の専門家の方が強い。例えば病院。医師だけではない。看護師、薬剤師、放射線技師、検査技師、事務。全員が異なる役割を持つ。だから複雑な医療が成立する。

つまり「知能の拡大」だけではなく、**「知能の組織化」**が重要なのである。

CrewAI — AI組織の誕生

さらにCrewAIは、Agentを組織として捉え始めた。名前が象徴的である。Crew、つまり乗組員である。

AutoGenが「複数Agentが会話する」ことに重点を置いていたとすれば、CrewAIは「役割を持った組織」に重点を置いていた。

例えば市場調査を行う場合、Researcherが情報を集める。Writerが文章を書く。Editorが品質を確認する。Managerが全体を管理する。これはもはやチャットボットではない。小さな会社である。

ここでAgent研究は大きく変化する。初期のChatGPTは質問に答える存在だった。AutoGPTでは自律的に動く存在になった。AutoGenではチームになった。CrewAIでは組織になった。

LangGraph — Agentを工学にする

Agentブームが広がるほど、別の問題が大きくなっていく。再現性である。

昨日うまく動いた。今日は動かない。なぜ失敗したのか分からない。Agent同士が勝手に議論を続ける。どこで問題が起きたのか分からない。企業システムとしては非常に危険だった。

実際のAgentは、検索結果によって行動が変わる。取得したデータによって判断が変わる。外部ツールの結果にも影響される。つまり、同じ入力でも結果が変わることがある。これは研究としては面白い。しかし業務システムとしては問題になる。

そこで登場したのがLangGraphである。LangGraphの発想は非常に工学的だった。Agentを自由に会話させるのではない。状態遷移として管理する。

例えば「Research → Analysis → Draft → Review → Publish」という流れを明示的に定義する。どこで何をするかを明示する。こうしてAgent開発は研究からソフトウェア工学へと移行していった。

OpenAI Agents — Agentの標準化

そして現在、Agentは個人開発者だけのものではなくなった。OpenAIはAgent開発の標準化を進めている。

検索、コード実行、ファイル処理、ブラウザ操作、メモリ管理、トレーシング。これらを統合し、開発者が一から実装しなくても利用できる環境を提供している。かつてAutoGPTで苦労していた機能が、今では標準装備になりつつある。Agentは研究テーマからプラットフォームへ進化したのである。

DevinとManus

この流れの先に現れたのがDevinとManusである。

DevinはソフトウェアエンジニアそのものをAgent化しようとした。コードを書く。テストする。修正する。Gitを操作する。ブラウザを使う。まるで一人の開発者のように働く。

一方のManusはさらに広い領域を目指した。市場調査、旅行計画、レポート作成、情報収集。複数のツールを利用しながら成果物を完成させる。特定の職種に限定されていない点が興味深い。ここではもはや「チャットボット」という言葉は適切ではない。Digital Workerという表現の方が近いだろう。

なぜAgentは必然だったのか

振り返ると、この流れは偶然ではない。

  • ChatGPTは知識を扱った
  • Toolformerは道具を与えた
  • AutoGPTは自律性を与えた
  • AutoGenは協力を与えた
  • CrewAIは組織を与えた
  • LangGraphは構造を与えた
  • OpenAI Agentsは標準化した
  • Devinは専門職になった
  • Manusは汎用労働者を目指した

一見すると別々の研究に見える。しかし実際には、一本の流れで繋がっている。


Toolformerはなぜ歴史に残る論文になったのか

地味だった、しかし深かった

AIの歴史を振り返ると、一目で革命だと分かる論文がある。Transformer、GPT、ChatGPT、ReAct。それらは発表された瞬間から話題になった。誰が見ても変化が分かった。

しかしToolformerは少し違った。発表当時、多くの研究者はこう考えた。「ツール利用の論文か」「検索を使う研究か」「便利そうだね」それくらいだった。SNSでも大きな話題にはならなかった。

しかし後から振り返ると、Toolformerは極めて重要な転換点だった。なぜなら、AIの能力そのものを変えたのではなく、AIの考え方を変えたからである。

知能の定義が変わった

Toolformer以前のAI研究では、知能とは内部能力だった。どれだけ知識を持っているか。どれだけ推論できるか。どれだけ大きなモデルか。それが重要だった。

しかしToolformer以後、知能の定義は少し変わる。**「必要な時に必要な能力を利用できるか」**が重要になった。

これは人間に近い。例えば優秀な医師は全てを暗記しているわけではない。必要なら論文を調べる。専門医へ相談する。検査機器を使う。つまり、能力を組み合わせる。Toolformerは、AIにもその方向性を与えた。

Toolformerの歴史的意義

歴史を振り返ると、Toolformerは過小評価されがちな論文である。Attention Is All You Needのような派手さはない。ChatGPTのような社会的インパクトもない。ReActのようにAgentブームを象徴する存在でもない。

しかし、その影響は非常に深い。

Toolformer以前、AIは閉じた存在だった。

学習データが世界のすべてだった。内部パラメータが知識のすべてだった。モデルが知らないことは知らない。計算できないことは計算できない。確認できないことは確認できない。すべてを自分の頭だけで処理しようとしていた。知識量を増やすには、モデルを大きくするしかなかった。データを増やすしかなかった。それがAI研究の常識だった。

Toolformer以後、AIは開いた存在になった。

必要なら検索する。必要なら計算する。必要なら外部知識を取得する。内部に持っていない情報は外部から借りれば良い。内部にない能力は外部から使えば良い。知能を内部だけで完結させることを諦めた。そしてこの転換こそが、現在のAgent時代を生み出した。

この「閉じた存在から開いた存在へ」という変化は、AIの設計哲学そのものの転換だった。モデルを賢くするのではなく、モデルが賢く道具を使えるようにする。その発想の転換なしに、現在のAgent革命はなかった。

多くの人はAgent革命の始まりをAutoGPTだと思っている。確かに社会的にはそうかもしれない。AutoGPTは非常に目立った。SNSで爆発的に拡散した。「ついにAIが自律的に働く」という熱狂を生んだ。

しかし技術的な視点では、Agent革命の種はもっと前に蒔かれている。Toolformerである。

なぜならAgentとは、単に考える存在ではないからだ。Agentとは「環境を利用する存在」だからである。検索する。計算する。ブラウザを使う。コードを書く。ファイルを読む。外部世界と相互作用する。その能力なしにAgentは成立しない。

Toolformerはその最初の一歩だった。AutoGPTはその一歩の上に乗っている。AutoGenも、CrewAIも、LangGraphも、OpenAI Agentsも同じだ。つまりAgent革命を遡れば、その根底にはToolformerが問うた「AIはいつ道具を使うべきか」という問いがある。

Attention Is All You Needが脳を作ったとすれば、Toolformerは手足を与えた。そしてその手足が、現在のAgent革命を支えている。

現在私たちが使っているChatGPT、Claude、Geminiを見ると、まるで最初からそうだったように感じる。しかし違う。AIが外部世界へ手を伸ばすという発想は、少しずつ積み上げられてきた。Toolformerはその中でも重要な一歩だった。


次回予告:Lost in the Middle

ToolformerによってAIは道具を使えるようになった。検索し、計算し、外部世界の知識を利用できるようになった。Agentも作れるようになった。

しかし、ここで新たな問題が浮かび上がる。

AIは本当に与えられた情報を理解しているのだろうか。

業界はより長いコンテキストウィンドウを競い始めた。4,000トークン。32,000トークン。100,000トークン。そして100万トークンへ。だが研究者たちは奇妙な現象を発見する。AIは文書の先頭を覚えている。末尾も覚えている。しかし最も重要な情報が真ん中に置かれると、その性能は大きく低下した。

これがLost in the Middleである。

振り返ると、ToolformerとLost in the Middleは対称的な問題を指している。

Toolformerが示したのは「外部能力を利用する方法」だった。知らないなら検索する。計算できないなら電卓を使う。必要な能力を外部から取得する。

Lost in the Middleが示したのは「情報を保持することの難しさ」だった。外部から情報を取得しても、コンテキストの中で適切に扱えなければ意味がない。

つまり、Agentが本当に賢くなるためには両方が必要だった。必要な能力を取得すること。そして必要な情報を保持すること。

その後のMemGPT、長期記憶研究、Dynamic Context Management、そしてPersonal AIの研究は、まさにこの問題に向き合うことになる。なぜAIは長い会話の途中で迷子になるのか。次回はその核心を見ていこう。


参考文献

Schick, T., Dwivedi-Yu, J., Dessì, R., Raileanu, R., Lomeli, M., Zettlemoyer, L., Cancedda, N., & Scialom, T. (2023). Toolformer: Language Models Can Teach Themselves to Use Tools. Advances in Neural Information Processing Systems, 36. arXiv:2302.04761

ブログに戻る