Discourse AI: параллельные вызовы инструментов молча отбрасываются в Mistral (потоковая передача)

Большое спасибо @sam за быстрый фикс и @zogstrip за оперативный ответ

Всё работает как ожидалось :+1: и результат отличный: теперь, когда агент может запрашивать несколько чтений в одном ответе, мой тестовый сценарий RAG использует на 43% меньше вызовов LLM, тратит на 40% меньше времени на поиск и чтение и обходится на 33% дешевле.

Я проверил это на 2026.10.0-latest (f18a1985b, включает #44270) с Mistral mistral-large-2512 (после удаления моего обходного решения parallel_tool_calls: false):

  • Сценарий воспроизведения без сети из моего первого поста теперь возвращает каждый вызов: 2 из 2 и 3 из 3 в одном чанке, также с partial_tool_calls и через Endpoints::Mistral#decode_chunk. По одному вызову на чанк по-прежнему работает. (Скрипту теперь нужен .flatten, так как process_streamed_message может возвращать массив.)
  • С реальным RAG-агентом и без обходного решения Mistral отправил 4 параллельных чтения в одном чанке, и все 4 были выполнены. За 14 запусков агента каждый запрошенный вызов инструмента был выполнен.

Спасибо ещё раз!

2 лайка