@sam さんの素早い修正、そして @zogstrip さんの素早い返信(repply は typo)に感謝します。
すべてが期待通りに動作しています
結果も素晴らしいです。エージェントが1回の応答で複数の読み取りリクエストを送れるようになったことで、私の RAG テストシナリオでは LLM 呼び出しが 43% 減少し、検索と読み取りに費やした時間が 40% 短縮され、コストも 33% 削減されました。
2026.10.0-latest(f18a1985b、#44270 を含む)で Mistral mistral-large-2512 を使用して検証しました(私の parallel_tool_calls: false ワークアラウンドを削除した状態):
- 最初の投稿で共有したネットワークなしの再現スクリプトは、すべての呼び出しを返すようになりました。1チャンクで 2 中 2、3 中 3 が返され、
partial_tool_callsを使用した場合やEndpoints::Mistral#decode_chunkを通した場合でも同様です。チャンクごとに1つの呼び出しという方式も引き続き動作します。(process_streamed_messageが配列を返す可能性があるため、スクリプトには.flattenが必要になりました。) - 実際の RAG エージェントでワークアラウンドなしでテストしたところ、Mistral は単一のチャンクで4つの並列読み取りを送信し、4つすべてが実行されました。14回にわたるエージェント実行において、要求されたすべてのツール呼び出しが実行されました。
改めて感謝します!