Discourse AI : les appels d'outils parallèles sont silencieusement ignorés avec Mistral (streaming)

Merci beaucoup @sam pour la correction rapide, et @zogstrip pour la réponse prompte

Tout fonctionne comme prévu :+1: et le résultat est excellent : maintenant que l’agent peut effectuer plusieurs lectures en une seule réponse, mon scénario de test RAG utilise 43 % d’appels LLM en moins, a passé 40 % de temps en moins à chercher et lire, et a coûté 33 % moins cher.

Je l’ai vérifié sur 2026.10.0-latest (f18a1985b, incluant #44270) avec Mistral mistral-large-2512 (après avoir retiré mon contournement parallel_tool_calls: false) :

  • La reproduction sans réseau de mon premier message renvoie désormais tous les appels : 2 sur 2 et 3 sur 3 dans un seul bloc, même avec partial_tool_calls et via Endpoints::Mistral#decode_chunk. Un appel par bloc fonctionne toujours. (Le script a désormais besoin d’un .flatten, car process_streamed_message peut retourner un tableau.)
  • Avec un agent RAG réel et sans contournement, Mistral a envoyé 4 lectures parallèles dans un seul bloc, et les 4 ont été exécutées. Sur 14 exécutions de l’agent, chaque appel d’outil demandé a été exécuté.

Merci encore !

2 « J'aime »