Aller au contenu principal

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_streaming revele les appels d’outils en temps reel (debogage, UX, monitoring)
  • use_encrypted_content conserve 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