Streaming verbose et contenu chiffre
Suivre le travail des agents en temps reel
Le multi-agent peut prendre du temps, surtout avec 16 agents. Deux mecanismes vous permettent de mieux comprendre et exploiter ce qui se passe pendant l’inference : le streaming verbose et le contenu chiffre.
Le streaming standard
En mode streaming standard, vous recevez uniquement le texte de la reponse du leader au fur et a mesure qu’il est genere :
chat = client.chat.create(
model="grok-4.20-multi-agent",
agent_count=4,
)
chat.append(user("Ma question"))
for response, chunk in chat.stream():
if chunk.content:
print(chunk.content, end="", flush=True)
C’est suffisant pour la plupart des cas d’usage, mais vous ne voyez pas ce que font les agents en arriere-plan.
Le streaming verbose
En ajoutant verbose_streaming dans le parametre include, vous recevez egalement les appels d’outils en temps reel :
from xai_sdk.tools import web_search, x_search
chat = client.chat.create(
model="grok-4.20-multi-agent",
agent_count=16,
tools=[web_search(), x_search()],
include=["verbose_streaming"],
)
chat.append(user("Analyse les reactions aux dernieres annonces d'Apple"))
for response, chunk in chat.stream():
if chunk.content:
print(chunk.content, end="", flush=True)
# Les appels d'outils sont aussi visibles en temps reel
Avec verbose_streaming, vous pouvez voir les recherches web se declencher, les resultats arriver, et le leader commencer sa synthese. C’est precieux pour :
- Le debogage : verifier que les agents cherchent dans la bonne direction
- L’experience utilisateur : afficher un indicateur de progression
- Le monitoring : comprendre pourquoi une requete prend du temps
Le contenu chiffre (use_encrypted_content)
Le contenu chiffre est un mecanisme different. Il ne vous donne pas acces au raisonnement des sub-agents en clair. Il permet au modele de conserver l’etat interne des agents entre les tours d’une conversation.
chat = client.chat.create(
model="grok-4.20-multi-agent",
agent_count=4,
use_encrypted_content=True,
)
Quand use_encrypted_content=True :
- La reponse inclut un bloc de contenu chiffre
- Ce bloc contient l’etat des sub-agents (resultat de leurs recherches, contexte, etc.)
- Quand vous envoyez un message suivant, ce contenu chiffre est retransmis automatiquement
- Le modele peut alors s’appuyer sur le contexte precedent sans tout recalculer
Quand utiliser le contenu chiffre
Activez use_encrypted_content dans ces cas :
- Conversations multi-tours : quand vous prevoyez de poser plusieurs questions liees
- Approfondissement iteratif : “D’abord une vue d’ensemble, puis zoom sur le point 3”
- Sessions de recherche longues : quand le contexte precedent est essentiel
N’activez pas le contenu chiffre pour :
- Les requetes isolees : une question, une reponse, terminee
- Les cas ou le volume de tokens compte : le contenu chiffre ajoute des tokens a chaque tour
Combiner les deux
Vous pouvez utiliser le streaming verbose et le contenu chiffre simultanement :
chat = client.chat.create(
model="grok-4.20-multi-agent",
agent_count=16,
tools=[web_search(), x_search()],
include=["verbose_streaming"],
use_encrypted_content=True,
)
C’est la configuration la plus complete : vous voyez tout ce qui se passe en temps reel, et le contexte est preserve entre les tours.
Points cles a retenir
verbose_streamingrevele les appels d’outils en temps reel (debogage, UX, monitoring)use_encrypted_contentconserve l’etat des sub-agents entre les tours de conversation- Le contenu chiffre n’est pas lisible — il sert au modele, pas a vous
- Combinez les deux pour les sessions de recherche interactives
- N’activez le contenu chiffre que si vous prevoyez des conversations multi-tours