AI エージェントとは何か — チャットボットと何が違うのか
AI エージェントとは、ツールに接続され目標を与えられた言語モデルである。実際にそれが何を意味し、どこで今も壊れるのか。
ひとことで言うと
AI エージェントとは何か?
AI エージェントとは、呼び出せるツールと追うべき目標を与えられ、各ステップで人間に尋ねずに複数の手順を進める権限を持った言語モデルである。チャットボットは質問に答えて止まるが、エージェントは目標が達成されたと判断するか、予算を使い切るまで行動し続ける。
要点
- 技術的な違いは «ループ» 一つ — ツールを呼び、結果を読み、次の行動を決めることを繰り返す。
- ツールはごく普通のソフトウェア関数である。モデルが新しい能力を得るのではなく、既存の能力を «呼び出せる» ようになる。
- 限界は知能ではなく信頼性だ。95% 正確なステップを 20 回続けると成功率は約 3 分の 1 に落ちる。
- 現実的な解は、より大きなモデルではなく、狭い範囲・チェックポイント・権限境界である。
「エージェント」という語は、言語モデルが入っているほぼ何にでも貼られるようになった。それはマーケティングの問題であって技術の問題ではない。その下には、かなり狭くはっきりした定義がある。知っておく価値はある。何が起こりうるかがその違いで決まるからだ。
定義:ツールを持ったモデルがループを回す
普通のチャットボットがするのは一つだけだ。テキストを受け取り、テキストを返す。知っていることはモデルの中にあるか、プロンプトに入っていなければならない。
エージェントは三つを加える。
- ツール。 モデルが呼び出してよい普通の関数 — データベース検索、HTTP リクエスト、シェルコマンド、ファイル書き込み。モデル自身は実行しない。構造化された呼び出し要求を出し、こちらのコードが実行して結果を返す。
- 目標。 一手順より上の水準の課題。「4 行目を読め」ではなく「これらの請求書を照合せよ」。
- ループ。 ツールの結果が出るたびにモデルが次の行動を決める。目標達成と判断するか、ステップ上限に達するか、失敗するまで続ける。
このループが全てだ。メモリ、計画、サブエージェント、スクラッチパッド — すべてその上の最適化にすぎない。
ツールとは実際には何か
ここで多くの人が驚く。ツールは特別な AI 部品ではない。名前と説明、引数スキーマを持つ関数である。半日あれば書ける。
name: search_orders
description: 顧客のメールアドレスまたは注文番号で注文を検索する。
parameters:
query: string
limit: integer (既定 20)モデルはコンテキストに載ったこの説明を見て search_orders が適切だと判断し、引数付きの呼び出しを出す。実際の関数はランタイムが実行し、結果はテキストで返る。モデルがデータベースに直接触れることはない。
ここから二つが導かれる。第一に、エージェントは 与えられたツールの分だけ有能 である。モデルが寄与するのは「どのツールを、どんな引数で」という判断だけだ。第二に、ツールの «説明» はプロンプトの一部である。指示が曖昧なら答えが外れるのと同じく、説明が曖昧なら呼び出しが外れる。
MCP(Model Context Protocol) は、全員が同じツールサーバーを作り直す事態を止めるために存在する。サーバーが提供内容を告知する方法を標準化し、一つの実装が複数のエージェント製品に対応できるようにする。
難しいのは信頼性だ
エージェントは、デモでは見えにくい形で失敗する。各ステップが 95% の確率で成功するとしよう。判断を要する開かれた手順としては悪くない数字だ。
| 連続ステップ数 | すべて成功する確率 |
|---|---|
| 3 | 86% |
| 10 | 60% |
| 20 | 36% |
| 50 | 8% |
モデルが悪いのではない。誤りが掛け算されるだけだ。本番で回っているエージェントがそろって地味なのはこのためである — 5〜15 ステップ、きつく絞った領域、費用のかかる箇所ごとの人間のチェックポイント。
ベンダーの指針に繰り返し出てくる原則も同じ理由だ。うまくいく中で最も単純な構成を選べ。 よく書かれた単発の呼び出しはチェーンに勝り、チェーンは自律ループに勝り、自律ループはエージェントの群れに勝る。一段上がるたびに柔軟性を買い、予測可能性を支払う。
エージェントが本当に元を取る場所
向いている仕事には共通の形がある。目標が明確で、経路が不明確で、結果の検証が安い。
- コーディング。 テストは通るか通らないかだ。客観的な信号に対して自分で反復できる。
- 調査と収集。 複数の情報源から資料を集める作業 — どのみち人間が読む。
- トリアージ。 チケットの分類とルーティング、異常のフラグ付け、レビュー用の下書き。
- データ整理。 スキーマが «ほぼ» 一致するシステム間のレコード照合。
向いていない仕事はその鏡像だ。検証が高くつく、間違いが取り返しがつかない、あるいは正しい経路が既に分かっている — 最後の場合はスクリプトを書けばよい。夜間レポートの送信にエージェントは要らない。
権限境界
エージェントは自分で手順を決めるので、「何ができるのか」をコードの経路を読んで答えることはできない。モデルの «外» で強制する必要がある。
実務的にはこうなる。
- 読みは広く、書きは狭く。 必要なものは見せてよいが、状態を変える行動には門を置く。
- 不可逆な行為には承認。 金銭、外部への送信、削除、本番デプロイ。
- 予算。 ステップ数、実時間、トークン支出に上限を置く。ループに嵌ったエージェントは課金事故そのものだ。
- 再生できるログ。 すべてのツール呼び出しと結果を残す。問題が起きたとき「実際に何をしたか」が数秒で答えられねばならない。
プロンプトインジェクション は別に触れる価値がある。エージェントがウェブページやメール、プルリクエストのコメントを読むなら、攻撃者はその内容に指示を仕込める。モデルには、こちらの指示と今読んだ指示を確実に区別する方法がない。防御はより良いプロンプトではなく、そもそもその権限を与えないこと である。
誇張と実体を見分ける
「エージェンティック」を名乗る製品には、三つ尋ねれば足りる。
- 正確にどのツールを呼べるのか? 読めるリストがあるか、手振りだけか。
- 一つのステップが失敗したらどうなるのか? 再試行・エスカレーション・停止か、それとももっともらしい誤答を黙って出すのか。
- 尋ねずにできることは何か? 答えが「すべて」なら、それは自律性ではなく上限のない負債である。
エージェントは賢くなったチャットボットではない。操縦桿に手を掛けたチャットボットであり、重要なエンジニアリングはほぼ全てその手に関するものだ。
よくある質問
- AI エージェントは既存の自動化ソフトと同じか?
- 違う。従来の自動化は事前に書かれたスクリプトに従う。エージェントは観測した内容をもとに実行時に手順を決める。柔軟である分、予測しにくい。
- エージェントは人手なしで動くのか?
- 本番ではまれだ。多くは権限境界の中で動く — 読み取りは自由だが、金銭の支出・メッセージ送信・データ削除には承認を要する。
- マルチエージェントシステムとは?
- 指示とツールが異なる複数のエージェントが一つの作業を分担する構成で、しばしば調整役が付く。サブタスクごとに本当に別のツールが要るときに有効で、そうでなければオーバーヘッドが増えるだけだ。
- MCP がよく話題になるのはなぜか?
- Model Context Protocol は、ツールとデータソースをモデルに記述するためのオープン標準である。同じツールサーバーを製品ごとに作り直さず、複数のエージェント製品で使えるようにする。
出典
- Model Context Protocol — specification — MCP
- Building effective agents — Anthropic
- Function calling — API documentation — OpenAI