概要
- ユーザーリクエストに基づき、サーバーでツール呼び出しを実行する方法
- LLMがプログラミング言語のコードブロックを生成
- サンドボックス内でコードブロックを実行
- 保留中のツール呼び出し時にクライアントと連携
- 実行結果をLLMに返却する一連のプロセス
サーバーによるツール呼び出し実行プロセス
- サーバー でユーザーからの ツール呼び出し実行リクエスト を受信
- LLM が プログラミング言語のコードブロック を生成
- コードブロックは、指定された ツール呼び出し をカプセル化
- サーバーが サンドボックス環境 でコードブロックを実行
- 保留中のツール呼び出し が発生した場合、コードブロックの 実行を一時停止
- 保留中のツール呼び出しを クライアントに送信 し、クライアント側で実行
- クライアントから ツール呼び出しの実行結果 を受信
- サーバーがコードブロックの実行を 再開 し、保留中のツール呼び出し部分を実行結果で 置換
- コードブロックの 最終実行結果 をLLMに返却
クライアントとの連携フロー
- サンドボックス内での安全な実行管理
- クライアント側でのみ実行可能な処理への柔軟な対応
- サーバーとクライアント間での 非同期通信 による効率的な処理分担
メリット
- セキュリティ向上 :サンドボックス実行による隔離
- 柔軟性 :クライアントでしか実行できないツール呼び出しも対応可能
- 効率化 :LLMによる自動コード生成と逐次的な実行管理