んだ日記

ndaDayoの技術日記です

Agentic Mesh 第6章 Enterprise-Grade Agents

こんにちは、んだです!!

今日もこちら!!

エージェントメッシュ

の読書メモです。

前回の第5章ではエージェントのアーキテクチャ(設計原則、コンポーネント、タイプ、パターン)を見ました。

nda-desu.hatenablog.com

今回は第6章「エンタープライズグレードのエージェント(Enterprise-Grade Agents)」です。

ざっくり言うと、「エージェントを実験室から本番環境に持っていくには何が必要か」という話です。

セキュリティ、信頼性、説明可能性、スケーラビリティ、発見可能性、可観測性、運用性、テスト——この8つの柱を、マイクロサービスの考え方をベースに解説しています。

「科学実験」から本番へ

冒頭がなかなか刺激的です。

NVIDIAのジェンセン・フアンは「企業は数億のデジタルエージェントを保有する」

Microsoftのサティア・ナデラは「エージェントが全てのソフトウェアに取って代わる」

Amazonのアンディ・ジャシーは「あらゆる分野に数十億のエージェント」

と言っています。

で、著者たちの問題意識はこうです。

ビジョンは大胆だけど、現実はほとんどの組織でプロトタイプ止まりだと。

多くのエージェントプロジェクトが「科学実験」の域を出ていなくて、技術的にはデモできるけど、セキュリティ、スケーラビリティ、可観測性、運用性が足りないから本番に出せない。

この章はそのギャップに直接取り組んでいて、エージェントをマイクロサービスの概念と組み合わせることで、モジュール性、コンテナ化、継続的デプロイ、耐障害性といった数十年の運用知見を活用する方法を示しています。

マイクロエージェント——マイクロサービスの資産を活用する

著者たちは、エージェントをマイクロサービスとして設計すべきだと主張しています。

LLM(脳)、ツール群(手足)、実行フレームワーク(タスク計画と実行)をデプロイ可能な単位としてパッケージ化したものを「マイクロエージェント」と呼び、マイクロサービスが数十年かけて築いたインフラ資産をそのまま活用できるのがメリットです。

ここはLLMに固有の話ではないので、先に進みます。

エージェントの信頼性——組み合わせ爆発という根本問題

ここから、LLMに固有の話に入ります。この章で最も読み応えがある部分です。

要するに「LLMは短いタスクなら正確だけど、長く複雑になると急激に精度が落ちる。なぜか? そしてどう対処するか?」という話です。

なぜLLMは長いタスクで崩壊するのか

著者たちはこの原因を「組み合わせ爆発(combinatorial explosion)」と呼んでいます。

LLMは各トークン(単語の断片)を確率的に選んでいます。

つまり、毎回サイコロを振っているようなものです。

1回のサイコロならほぼ正解を出せるけど、何百回、何千回とサイコロを振り続けると、どこかで間違いが入ります。

しかも厄介なのは、1つの間違いが次の選択に影響して、そのまた次にも影響して……と連鎖することです。

著者たちは、トークンごとの精度を99%と仮定した場合の計算を示しています。

100トークン(短い文章):全体の精度は約37%

1,000トークン(数段落の文章):精度は0.004%

10,000トークン(長い文章):事実上ゼロ

この「各ステップの小さなエラーが積み重なって指数関数的に膨れ上がる」現象が組み合わせ爆発です。

LLMを使ったコーディングでイメージするとわかりやすくて、短い関数1つなら高精度で書けるけど、複数ファイルにまたがる大きなプロジェクトを丸ごと書かせると、まず動かないコードが出てきます。

これは経験的にも納得がいく話です。

「もっと賢いLLMが出れば解決する」は本当か?

ここで著者たちがとても重要な議論をしています。

「次世代のLLMを待てばいいのでは?」——これは多くの人が自然に思う疑問です。

実際、新しいLLMが出るたびに能力は上がっています。より長い入力プロンプトを処理でき、より複雑な回答を生成でき、不正確さが意味を持ち始める閾値(応答品質がガクッと落ちるライン)も引き上げられています。つまり、品質が急落する前に、ユーザはより詳細な情報や広範な情報をリクエストできるようになりました。

しかし著者たちは、この改善は「避けられない事態を先送りしているに過ぎない」と言い切っています。原文はこうです。

However, this improvement merely postpones the inevitable. As organizations adopt these higher-capacity models, they quickly find that the appetite for larger outputs grows in tandem. For instance, early success on moderately complex tasks might encourage teams to pursue longer or more nuanced deliverables. Eventually, the same exponential error growth—the combinatorial explosion problem—resurfaces, returning us to the same cycle (albeit at a larger scale) that we faced with smaller models.

(しかし、この改善は避けられない事態を先送りしているに過ぎない。組織がこうした高容量モデルを採用すると、より大規模な出力を求める欲求が同時に高まることにすぐ気づく。例えば中程度の複雑なタスクでの初期の成功は、チームがより長い、あるいはより微妙なニュアンスを持つ成果物を求めるよう促すかもしれない。結局、同じ指数関数的なエラーの増加——組み合わせ爆発問題——が再発し、より小規模なモデルで直面したのと同じサイクル(ただしより大規模な形で)に戻されるのだ。)

具体例もわかりやすいです。

For instance, when ChatGPT GPT-3.5 was released, users marveled at its natural language interactions, but inaccuracies and reliability issues quickly became apparent. GPT-4 soon followed, correcting some errors but also expanding the range of what new capabilities could accomplish, and new challenges were found before error thresholds were met. Still, we demanded more, and new-generation LLMs with voice and video processing capabilities emerged. And yet errors persisted.

(例えば、ChatGPT GPT-3.5がリリースされたとき、ユーザはその自然言語でのやり取りに驚嘆したが、不正確さや信頼性の問題はすぐに明らかになった。間もなくGPT-4が登場し一部のエラーは修正されたが、新たな機能で実現できる範囲も広がり、エラー閾値に達する前に新たな課題が見つかった。それでも我々はさらに多くを求め、音声・動画処理機能を備えた新世代LLMが登場した。しかし、やはりエラーは存在した。)

つまりこういうサイクルです。

LLMの能力が上がる → ユーザがさらに多くを求める → 結局同じ組み合わせ爆発にぶつかる → 次のLLMを待つ → 能力が上がる → さらに多くを求める → ……

著者たちはこれを「繰り返しの悪循環」と呼んでいます。信頼性の幅は広がったけど、トークンが増えるごとに誤りの確率が倍増する確率的な性質は変わりません。能力の天井が上がっただけで、天井自体はなくならないのです。

じゃあ思考連鎖推論(chain-of-thought reasoning)はどうか。

これはLLMに質問と回答の中間ステップを明示させる手法で、不正確さやハルシネーションを減らす効果が実証されています。特に複雑な推論シナリオで、モデルが根拠のない結論に飛びつくのを防ぐ効果があります。

しかし著者たちは、これも根本解決にはならないと指摘しています。

レスポンスが長くなるにつれてエラーが累積するという根本的な問題は、思考連鎖推論でも解消されません。

反復的改良(人間がフィードバックして修正させる方法)も同様です。

短いコードスニペットや簡潔な説明文など小規模な出力に対しては有効ですが、規模が大きくなるにつれて、最良のプロンプティングテクニックや精緻化テクニックでさえ有効性が制限されます。

著者たちの結論は明快です。

Unfortunately, this highlights the limitations of relying solely on LLM scale-ups. Even with better models, the combinatorial explosion of choices and the problems it causes will persist.

(残念ながら、これはLLMのスケールアップだけに頼ることの限界を浮き彫りにしている。より優れたモデルであっても、選択肢の組み合わせ爆発と、それが引き起こす問題は依然として存在し続ける。)

解決策:分割→実行→専門化の3段階

じゃあどうするか。著者たちは「次のLLMを待つのではなく、アーキテクチャで解決する」という発想を提示しています。3段階のアプローチがあります。

第1段階はタスク分解です。大きなリクエストを、オーケストレーターLLM(指揮者役)が小さなステップに分割します。

各ステップが短いから組み合わせ爆発が起きにくいし、あるステップのエラーが他に波及しません。

ポイントは、1つのLLMに全部やらせるのをやめて、「何をすべきか計画する役」と「個々のステップを実行する役」を分けること。

さらに副次的な利点として、各ステップのLLMが触れるデータも限定されるので、「金融データを処理するLLMとマーケティング文案を作るLLMを分ける」といったセキュリティ面のメリットもあります。

第2段階は決定論的実行です。

計画ができたら、各ステップを独立したツールやエージェントに任せて実行します。

エージェントは実行結果を検証して、ダメなら再試行させます。ここでのポイントは、計画(LLMが確率的に考える部分)と実行(決まった手順で動く部分)を分離すること。LLMが「何をすべきか」を決め、実行は決定論的に行います。

これにより、LLM1つにエンドツーエンドで全部やらせる場合に比べて、エラーの影響範囲が限定されます。

第3段階は特殊化です。

「実行を任せる専門の担当者」をどう用意するかという話です。

LLMのコスト低下により、1つの万能モデルに頼る代わりに、特定タスクに特化した小型モデルを複数使い分ける方が効率的になっています。

著者たちは半導体製造の例を挙げています。

かつてチップ全体を自社で作ろうとした企業が、専門工場に外部委託する方が品質もコストも良いと気づいたように、LLMも「得意分野に集中した専門モデルの分業」の方が全体の精度が上がります。

経済学でいう「比較優位」の考え方です。

つまり「大きな問題を分割→分割したものを独立に実行→実行は専門モデルに任せる」という流れで、組み合わせ爆発を構造的に回避します。

次のLLMを待つのではなく、アーキテクチャで解決するという発想です。

エージェントの説明可能性——信頼の前提条件

次は説明可能性です。「エージェントが何をやったか、なぜやったかを後から追えるようにする」話です。

なぜ説明可能性がLLMエージェントで特に重要なのか

従来のソフトウェアなら、コードを読めば何をしているかわかります。入力に対して決まった出力が返ってくるから、バグがあってもデバッグできます。

しかしLLMはブラックボックスで、2つの問題があります。

第一に、LLMは時に信頼性が低く、エラーを起こしやすい出力を生みます(信頼性の節で見た通り)。

第二に、エラーが発生しても、なぜそうなったのか内部ロジックが見えないから原因を特定できません。

正しく動いた場合でさえ、なぜ正しかったのかわかりません。

この「不透明性」が、エージェントへの信頼の根本的な障壁になります。しかも今後、エージェントにはより重要な責任が委ねられていきます。金融取引の判断、医療記録の処理、顧客対応——エラーの影響は大きくなる一方です。

フライトレコーダーのアナロジー

著者たちは航空業界のフライトレコーダー(いわゆるブラックボックス)を引き合いに出しています。

飛行機のブラックボックスは対気速度、高度、操縦入力、パイロットの会話といった重要データを常に記録しています。事故を防ぐものではないけど、事故が起きたときに「何が起きたか」を説明できるようにします。

この「説明できること」が航空業界全体の改善と信頼を支えています。

事故のたびに原因を特定し、対策を打ち、再発を防ぐ。エージェントにも同じものが必要だと著者たちは主張しています。

面白いのは、名前こそ「ブラックボックス」だけど、その中身は実は透明だということです。記録された全てのデータが検査・検証可能な形で残っています。これがエージェントに求められる姿だと。

4つのアーティファクト——エージェント版フライトレコーダー

具体的に何を記録すべきか。著者たちは4つの記録(アーティファクト)を提案しています。

これは「何を→誰と→どう準備して→どう実行したか」をエンドツーエンドで記録する仕組みです。

1つ目はタスク計画です。

エージェントが「何をしようとしていたか」の構造化された記録です。重要なのは、エージェントが他のエージェントに仕事を委譲する場合、委譲先のタスク計画も再帰的に捕捉する必要があることです。

2つ目はコラボレーター情報です。「誰と/どのツールとやり取りしたか」の記録です。

3つ目はパラメータ置換ログです。入力データを「どう分解してパラメータに変換したか」の記録です。例えば「明日の東京の天気を教えて」という入力が、天気APIの「location=Tokyo, date=tomorrow」というパラメータにどう変換されたかを追跡します。

4つ目はタスク実行ログです。「実際にどう実行されたか」の記録です。タスクの進捗、分岐した判断、予期せぬ条件への対応、エラー処理の振る舞いなどを含みます。

今のAIワークフローでは、LLMが内部で計画を作って実行して、終わったら計画を捨ててしまいます。計画は一時的なもので、後から検査できません。説明可能なエージェントでは、これらの記録を永続化して後から検査できるようにします。

金融やヘルスケアなど規制産業では、この透明性は任意ではなく必須になります。

「なぜその判断をしたのか」を監査で説明できなければ、そもそも使えません。

しかし著者たちは、規制産業だけの話ではないと強調しています。

説明可能性は継続的改善の土台でもあります。中間状態や判断の偏差が見えるから、デバッグも改善もできます。著者たちはこの節をこう締めくくっています。

The challenge is clear: opaque agents inevitably erode trust. The solution is equally clear: we must design agents that can explain themselves.

(課題は明らかだ:不透明なエージェントは必然的に信頼を損なう。解決策も同様に明白だ:自らを説明できるエージェントを設計しなければならない。)

エージェントのスケーラビリティ——LLM固有の壁

次はスケーラビリティです。ここは話題が多いけど、実は1つのストーリーとしてつながっています。

現在のAIワークフローが単一プロセスでスケールしない問題は、マイクロサービスベースの分散アーキテクチャで解決できます。ここまではインフラの話。しかし分散させると、LLMエージェント固有の問題が次々と出てきます。

コラボレーション標準——MCPの「ケーブル」と「中身」

まず「バラバラのエージェントがどうやって会話するの?」という問題です。ここでコラボレーション標準が必要になります。

AnthropicのMCP(モデルコンテキストプロトコル)が先導的な仕様として紹介されています。Anthropicの説明はこうです。

Think of MCP as like a USB-C port for AI applications. Just as USB-C provides a standardized way to connect your devices to various peripherals and accessories, MCP provides a standardized way to connect AI models to different data sources and tools.

(MCPをAIアプリケーションのUSB-Cポートのようなものと考えてほしい。USB-Cがデバイスを様々な周辺機器やアクセサリに接続する標準化された方法を提供するように、MCPはAIモデルを異なるデータソースやツールに接続する標準化された方法を提供する。)

ただし著者たちの指摘が鋭いです。

That is great, but pushing Anthropic's analogy further, what you get is the USB-C cable standard. What we still need are established standards for what is transmitted over the cable.

(それは素晴らしいが、Anthropicの比喩をさらに推し進めると、得られるのはUSB-Cケーブルの規格に過ぎない。我々がまだ必要としているのは、ケーブルを介して伝送される内容に関する確立された規格だ。)つまりMCPは「接続の仕方」を標準化したけど、「メッセージの形式」「やり取りの手順」「セキュリティの取り決め」「タスクの依頼方法」といった、ケーブルの上を流れる中身の標準化がまだ残っています。著者たちはMCPの上に動作する標準的なプロトコルに取り組むべきだと提案しています。

会話・状態管理——エージェント固有の難しさ

コラボレーション標準があっても、会話が長期間にわたると別の問題が出ます。これはLLMエージェントならではの課題です。

従来のWebサービスならリクエストとレスポンスで完結するけど、エージェントの「会話」は数分、数時間、場合によっては数日にわたることがあります。

例えば複雑な調査タスクで、エージェントが途中まで分析を進めて、外部データの到着を待って、追加の分析をして……という流れです。

エージェントが途中で落ちたらどうなるか。

メモリに状態を保存するだけだとクラッシュで全部消えます。

永続的な状態管理があれば、中断したところから再開でき、別のエージェントへの引き継ぎもできます。さらに複数のエージェントが同じ状態を同時に更新しようとした場合の競合制御、問題が起きたときに「最後に正常だった状態」に戻すロールバック機構も必要になります。

著者たちは、この状態管理をエージェントの設計の中核に組み込むべきだと主張しています。後付けで継ぎ接ぎすると、機能追加のたびに複雑さが爆発するからです。

再利用の量子単位——関数→API→エージェント

分散+標準化+状態管理が揃うと、エージェントを再利用可能な部品として扱えるようになります。著者たちはエージェントを「再利用の量子単位(quantum of reuse)」と呼んでいます。

この概念は、ソフトウェアの「再利用の単位」の進化として理解するとわかりやすいです。昔は関数がプログラムの再利用単位でした。ライブラリに入れて使い回す。次にHTTP/RESTやgRPCの普及で、APIが再利用の単位になりました。関数より高い抽象度で、ビジネス機能をカプセル化できます。

エージェントはその次の段階です。

APIよりさらに高い抽象度で、しかもLLMを通じた「スマートな」判断能力を持ちます。

一度作った「金融分析エージェント」「翻訳エージェント」「不正検知エージェント」をレゴブロックのように組み合わせて使い回せます。

エコシステムが大きくなるほど、必要な機能が既に誰かに作られている可能性が高まるので、再利用の動機と可能性が強まる好循環が生まれます。

LLM推論コスト——キロワットとメガワットの壁

エージェントのスケーラビリティには、アーキテクチャ以外にもう1つ現実的な壁があります。

LLM推論コストです。これはLLMエージェントに完全に固有の問題です。

推論し、計画し、会話するあらゆるエージェントは、1つのタスクを完了するだけでも大規模なモデルクエリを実行しています。

しかも1回では済まず、複数回呼ぶのが普通です。

小規模なら1回のやり取りあたり数セントで済むけど、数万、数百万のエージェントが同時に動くと、やり取りの量・頻度・継続期間に比例して運用コストは数百万ドル規模に膨れ上がる可能性があります。

対策として、全ての呼び出しに大型モデルを使うのではなく、日常的な判断には小型モデルを使う「階層化アーキテクチャ」が必要になります。

リクエストのバッチ処理、エッジでの軽量モデルのデプロイといった戦略も鍵になります。

さらに物理的な制約もあります。

数百万のエージェントを維持するには、専用GPUやAIアクセラレータを備えた次世代データセンターが必要で、膨大な電力と冷却能力が要ります。

In many ways, the future of large-scale agent ecosystems will be constrained as much by kilowatts and megawatts as by algorithms.

(多くの点で、大規模エージェントエコシステムの未来は、アルゴリズムと同様にキロワットやメガワットによって制約されるだろう。)

巧妙なソフトウェアだけでは解決しない、インフラの物理的限界が立ちはだかるということです。

エージェントの発見可能性——検索問題ではない

スケーラビリティでエージェントが大量に増えると、当然次の問題が出てきます。

「何千ものエージェントの中から、今のタスクにぴったりの1つをどう見つけるか」。

著者たちは、これは単なる検索問題ではないと強調しています。

Google検索のように上位10件を返すのではなく、特定のタスク・タイミング・制約に最も合う「たった1つ」のエージェントを見つける必要があります。

しかも「最も能力が高いエージェント」ではなく「文脈上最もふさわしいエージェント」を選びます。

例えばある金融取引の検証タスクがあったとして、技術的にはいくつものエージェントが処理できるかもしれません。

でも、その企業の規制ポリシーに準拠していて、必要なデータへのアクセス権があって、今のタイミングで利用可能な「ちょうどいい1つ」を見つける必要があります。

フィルタリングは2段階です。まず「可視性範囲」で候補をざっくり絞ります(「この部署のエージェントだけ」など、粗いフィルタ)。

次に「特性範囲」で、エージェントの目的・機能・遵守ポリシーなどの属性で絞り込みます(細かいフィルタ)。著者たちは、エージェント数が増えるにつれ、この発見能力がエージェントエコシステムを定義する能力の1つになると述べています。

可観測性・運用性・テスト・AgentOps

残りの柱は「見る→守る→確かめる→回す」という流れでつながっています。

可観測性(見る)と運用性(守る)は、マイクロサービスの既存ツールが活用できる領域です。

ただしエージェント固有の難しさとして、エージェントは単純なリクエスト/レスポンスではなく長時間の状態保持型の会話をするので従来のサービスより監視が難しいこと、また個人情報や決済データに触れる可能性があるため規制(GDPRやPCI DSSなど)に準拠したログ設計が必要なことが挙げられています。

エージェントのテスト——確率的な世界での品質保証

テスト(確かめる)は、LLMエージェントならではの根本的な難しさがある部分です。

従来のソフトウェアテストは「同じ入力に対して同じ出力が返ってくること」を確認します

しかしLLMエージェントは毎回違う答えを返す可能性があります。

「東京の天気を教えて」と聞いて、ある時は「晴れです」、ある時は「本日は晴天でございます」と返ってくる。言葉は違うけど意味は同じです。

これを「合格」とするのか「不合格」とするのか——従来のテストの枠組みでは判断できません。

著者たちは3つのアプローチを紹介しています。

1つ目は意味的類似度スコアリングです。

コサイン類似度や埋め込みベースの距離を使って、「言葉は違っても意味が同じか」を測ります。完全一致ではなく、意味の近さで判定します。

2つ目は統計的テストです。

1回ではなく何十回、何百回と実行して、結果の分布を見ます。

「許容可能な回答を生成する頻度は何%か」「推論の一貫性はどの程度か」を信頼区間と期待変動範囲で評価します。合格/不合格の二値判定ではなく、確率的な品質指標として扱います。

3つ目は敵対的テストです。

わざと意地悪な入力を与えて壊れないか確認します。

プロンプトを撹乱し、表現を変え、不完全なデータを注入して、エージェントが落ち着き、正確性、一貫性を維持できるかを検証します。

さらにマイクロエージェントの利点として、LLMの推論部分は確率的だけど、その周りのインフラ(通信、認証、監視、フォールトトレランスなど)は従来の決定論的テストがそのまま使えます。

つまり「確率的な推論のテスト」と「決定論的なインフラのテスト」を組み合わせることで、全体の品質を保証するアプローチが可能になります。

AgentOps——DevOpsの次の進化形

そして可観測性・運用性・テストの全てをまとめて回す枠組みがAgentOpsです。

DevOps(開発と運用の統合)→LLMOps(LLMのライフサイクル管理)→AgentOps(エージェントのライフサイクル管理)という進化の系譜の最新形です。

AgentOpsが従来のDevOpsと根本的に違うのは、管理対象が「静的なソフトウェア」ではなく「進化するシステム」だという点です。

従来のソフトウェアはデプロイしたらバージョンアップするまで同じ挙動をします。

しかしエージェントは、推論モデルの変化、コンテキストの変化、ポリシーの変化に応じて挙動が変わります。同じエージェントが昨日と今日で違う判断をすることがあります。

だからAgentOpsでは、従来の稼働率や遅延だけでなく、推論の品質(答えの正確さが維持されているか)、意味的な正しさ(意図通りの判断をしているか)、振る舞いのドリフト(知らないうちに挙動が変わっていないか)もトラッキングする必要があります。

セキュリティ・コンプライアンス・倫理審査をデプロイパイプラインに直接統合し、リリース前に全ての更新の妥当性を確認します。

さらにAgentOpsは「フリートレベル」の可観測性も扱います。個々のエージェントの監視だけでなく、エージェントのネットワーク全体で行動メトリクスを集約し、精度、協調状態、エージェント間の創発的やり取りを追跡します。これにより「デバッグ」が「行動分析」に変わります。著者たちはこう述べています。

In many ways, AgentOps is the operational discipline that brings order to the complexity of intelligent systems.

(多くの点でAgentOpsは、知能システムの複雑さに秩序をもたらす運用規律である。)

まとめ

第6章の核心は「エンタープライズグレード」の定義です。エージェントが本番環境で使い物になるためには、8つの柱が設計段階から組み込まれている必要があります。インフラ面(セキュリティ、可観測性、運用性など)はマイクロサービスの既存資産が活用できます。

僕から以上!あったかくしてねろよー

次回は第7章です。