MCP vs API:なぜ従来のAPIはAIエージェントにおいて失敗するのか

従来のAPIは、AIエージェントの動作を遅くし、コストを増大させています。

私は長年、RESTやGraphQLを用いてウェブアプリを構築してきました。状態管理やペイロードの最適化については熟知しています。しかし、AIエージェント向けの開発はそれとは異なります。

私たちはLLMを人間の開発者のように扱いがちです。APIエンドポイントを与えれば、それだけで動いてくれると期待してしまう。これは間違いです。

Model Context Protocol (MCP) は、この状況を一変させます。これはAI接続のためのオープンスタンダードです。LLMをツールに接続するためにカスタムのグルーコード(glue code)を書き続けているなら、それは技術的負債を生み出していることになります。

従来のAPIがAIエージェントにおいて失敗する理由:

  • N x M問題: 5つのAIフレームワークと5つのエンタープライズツールがある場合、25個のカスタムコネクタを書かなければなりません。MCPはこれをN + Mアーキテクチャへと変えます。すべてのツールは1つのMCPサーバーを使用し、すべてのエージェントは1つのMCPクライアントを使用します。
  • 静的 vs 動的: REST APIはハードコードされたパスを必要とします。一方、AIエージェントは実行時にツールを検出する必要があります。MCPは、動的なディスカバリーを通じて、エージェントが利用可能な機能を即座に把握することを可能にします。
  • トークンの浪費: 従来のAPIは、しばしば巨大なJSONペイロードを返します。大きなペイロードはコストを浪費し、レイテンシを増大させます。また、モデルが集中力を失う「コンテキストの劣化(context rot)」を引き起こす原因にもなります。MCPは、LLMのコンテキストウィンドウに最適化されたデータを返します。
  • ステートレス性: RESTはステートレスです。しかし、AIエージェントは思考と行動の連続的なループの中で動作します。MCPはステートフルなセッションを使用することで、膨大なデータを再送することなくコンテキストを維持します。

MCPは主に3つの要素で構成されています:

  • Tools(ツール): SQLクエリの実行など、モデルが行うアクション。
  • Resources(リソース): ログファイルやドキュメントなどの読み取り専用データ。
  • Prompts(プロンプト): モデルの推論をガイドするテンプレート。

MCPはデータベースやバックエンドを置き換えるものではありません。MCPサーバーは、引き続き既存のAPIを呼び出します。MCPが置き換えるのは、それらのサービスをLLMに接続するために書かれる、脆弱なコードです。

LLM呼び出しのためにJSONを文字列化するようなカスタム関数を書くのは、もうやめましょう。エージェント主導の未来に向けて、拡張性のあるアーキテクチャを構築してください。

皆さんはどう思われますか?すでにMCPを使っていますか?それとも、引き続きカスタムの関数呼び出し(function calling)を使い続けますか?

Source: https://dev.to/chaudharidevam/mcp-vs-api-why-traditional-apis-are-failing-ai-agents-28m8

Optional learning community: https://t.me/GyaanSetuAi