## 核心的なアイデア [[LLM]]に[[MCP]]ツールを直接呼ばせるのではなく、MCPツールを[[TypeScript]] APIに変換し、そのAPIを呼び出すコードをLLMに書かせるという逆転の発想が特徴的です。 ## なぜこのアプローチが優れているのか LLMは訓練データに大量の実際のTypeScriptコードを持っているが、ツール呼び出しの例は人工的な訓練セットに限られているため、コードを書く方が得意なのです。 特に複数のツール呼び出しを連鎖させる場合、従来の方法では各ツール呼び出しの出力をLLMのニューラルネットワークに通す必要があり、時間とトークンを無駄にしていたのに対し、コードモードでは最終結果だけを読み返せばよくなります。 ## 技術的な実装の工夫 **V8 isolateベースのサンドボックス** コンテナではなくV8 isolateを使用することで、数ミリ秒で起動し、数メガバイトのメモリしか使わない軽量なサンドボックスを実現しています。エージェントが生成するコード片ごとに新しいisolateを作成できるほど高速です。 **Worker Loader API** 任意のコードを含むWorkerをオンデマンドで読み込める新しいAPIで、事前にグローバルデプロイする必要がなく、エージェントがいる場所でそのまま実行できます。 **バインディングによる隔離** サンドボックス化されたWorkerはインターネットへのアクセスを禁止されているが、接続されたMCPサーバーを表すバインディングには直接アクセスできる仕組みです。ネットワークレベルのフィルタリングよりも明確で、APIキーを隠蔽できるセキュリティ上の利点もあります。 このアプローチは、LLMの得意分野(コード生成)とWorkerの特性(軽量なisolate)を巧みに組み合わせた設計と言えます。