Aller au contenu principal

Conversations multi-tours avec previous_response_id

Affiner la recherche tour apres tour

Le multi-agent ne se limite pas a des requetes isolees. Vous pouvez mener des sessions de recherche iteratives ou chaque tour s’appuie sur les resultats du precedent. C’est un atout majeur pour les investigations approfondies.

Le mecanisme previous_response_id

La cle des conversations multi-tours est le parametre previous_response_id. Il permet de chainer les requetes en conservant le contexte :

# Tour 1 : vue d'ensemble
response1 = client.responses.create(
    model="grok-4.20-multi-agent",
    reasoning={"effort": "low"},
    input=[{"role": "user", "content": "Panorama des frameworks de RAG en 2026"}],
)

# Tour 2 : approfondissement (reference le tour precedent)
response2 = client.responses.create(
    model="grok-4.20-multi-agent",
    reasoning={"effort": "medium"},
    input=[{"role": "user", "content": "Approfondis les architectures hybrides mentionnees"}],
    previous_response_id=response1.id,
)

# Tour 3 : comparaison ciblee
response3 = client.responses.create(
    model="grok-4.20-multi-agent",
    reasoning={"effort": "high"},
    input=[{"role": "user", "content": "Compare Pinecone et Weaviate pour ce cas d'usage"}],
    previous_response_id=response2.id,
)

Chaque tour herite du contexte des tours precedents. Les agents savent ce qui a deja ete discute et peuvent approfondir sans repartir de zero.

Strategies de recherche multi-tours

L’entonnoir (large → precis)

C’est la strategie la plus naturelle :

  1. Tour 1 (4 agents) : question large pour cartographier le sujet
  2. Tour 2 (4 agents) : zoom sur l’aspect le plus pertinent
  3. Tour 3 (16 agents) : analyse approfondie du point specifique

Vous ne deployez 16 agents que quand vous savez exactement ce que vous cherchez. Cela optimise la consommation de tokens.

L’exploration laterale

Quand un tour revele un angle inattendu :

  1. Tour 1 : “Quels sont les defis du deploiement LLM en production ?”
  2. Tour 2 : “Tu as mentionne les problemes de latence. Quelles solutions existent ?”
  3. Tour 3 : “Compare les approches de caching semantique mentionnees”

Les agents utilisent le contexte du tour precedent pour des reponses plus ciblees.

La validation croisee

Pour verifier des informations :

  1. Tour 1 : “Quels sont les benchmarks de performance de Mistral Large 2 ?”
  2. Tour 2 : “Verifie ces chiffres avec d’autres sources independantes”
  3. Tour 3 : “Y a-t-il des contradictions entre les sources ?”

Avec le xAI SDK

Le xAI SDK gere les conversations multi-tours via l’objet chat :

chat = client.chat.create(
    model="grok-4.20-multi-agent",
    agent_count=4,
    use_encrypted_content=True,
)

# Tour 1
chat.append(user("Panorama des frameworks de RAG en 2026"))
for response, chunk in chat.stream():
    if chunk.content:
        print(chunk.content, end="", flush=True)

# Tour 2 (meme objet chat = contexte conserve)
chat.append(user("Approfondis le point sur les architectures hybrides"))
for response, chunk in chat.stream():
    if chunk.content:
        print(chunk.content, end="", flush=True)

Avec use_encrypted_content=True, l’etat des sub-agents est preserve entre les tours, ce qui garantit une meilleure continuite.

Limites des conversations multi-tours

  • Le contexte s’accumule : chaque tour ajoute des tokens. Apres plusieurs tours, la fenetre de contexte peut devenir saturee.
  • Le contenu chiffre ajoute du volume : l’etat des sub-agents prend de la place.
  • La coherence peut diminuer apres de nombreux tours : le leader doit gerer un contexte de plus en plus large.
  • Les couts augmentent : chaque tour facture tous les tokens accumules.

En pratique, limitez-vous a 3-5 tours par session de recherche. Au-dela, il est souvent preferable de demarrer une nouvelle session avec un prompt synthetique reprenant les conclusions precedentes.

Points cles a retenir

  • previous_response_id chaine les requetes en conservant le contexte
  • La strategie en entonnoir (large → precis) optimise les couts
  • use_encrypted_content=True preserve l’etat des sub-agents entre les tours
  • Limitez-vous a 3-5 tours par session pour garder coherence et couts maitrisables
  • Commencez avec 4 agents et augmentez au fur et a mesure si necessaire