Implémentation avec le xAI SDK
Mis à jour le 29 juillet 2026
Le SDK natif de xAI
Le xAI SDK est la voie la plus directe pour utiliser le multi-agent, et la seule à exposer des paramètres comme agent_count que les SDK tiers n’ont pas. Si vous démarrez sans contrainte d’écosystème, commencez par là : vous disposerez de l’intégralité des réglages.

Configuration de base
L’initialisation du client se résume à trois imports et à la lecture de votre clé API depuis l’environnement :
import os
from xai_sdk import Client
from xai_sdk.chat import user
client = Client(api_key=os.getenv("XAI_API_KEY"))
La variable d’environnement XAI_API_KEY doit contenir votre clé API xAI. Ne codez jamais la clé en dur : elle finirait dans le dépôt git, puis dans l’historique, d’où on ne la retire pas facilement.
Requête à 4 agents (mode rapide)
Pour une recherche rapide et ciblée, vous passez agent_count=4 à la création du chat :
chat = client.chat.create(
model="grok-4.20-multi-agent-0309",
agent_count=4
)
chat.append(user("Compare TCP et UDP en detail"))
for response, chunk in chat.stream():
if chunk.content:
print(chunk.content, end="", flush=True)
Remarquez que la lecture passe par chat.stream(). C’est la méthode recommandée : sans elle, votre programme reste bloqué sans signe de vie pendant toute la recherche, et rien ne distingue une requête en cours d’une requête plantée.
Requête à 16 agents (mode approfondi)
Passer en mode approfondi ne demande qu’un changement de valeur, mais la requête qui l’accompagne doit être à la mesure de l’équipe mobilisée :
chat = client.chat.create(
model="grok-4.20-multi-agent-0309",
agent_count=16
)
chat.append(user(
"Fais un état de l'art complet des architectures RAG en 2026, "
"en comparant les approches hybrides, les performances et les coûts"
))
for response, chunk in chat.stream():
if chunk.content:
print(chunk.content, end="", flush=True)
Ajouter des outils intégrés
Les outils s’ajoutent par une simple liste, et le SDK fournit les constructeurs correspondants :
from xai_sdk.tools import web_search, x_search
chat = client.chat.create(
model="grok-4.20-multi-agent-0309",
agent_count=4,
tools=[web_search(), x_search()],
include=["verbose_streaming"],
)
chat.append(user("Quelles sont les dernières annonces d'xAI cette semaine ?"))
for response, chunk in chat.stream():
if chunk.content:
print(chunk.content, end="", flush=True)
Le paramètre include=["verbose_streaming"] change ce que vous recevez : les appels d’outils apparaissent en temps réel pendant que les agents travaillent, et vous savez sur quoi porte la recherche en cours.
Contenu chiffré pour les conversations multi-tours
Si vous prévoyez d’enchaîner plusieurs questions sur le même sujet, activez le contenu chiffré dès la création du chat :
chat = client.chat.create(
model="grok-4.20-multi-agent-0309",
agent_count=4,
use_encrypted_content=True,
)
Le modèle conserve alors l’état des sub-agents entre les tours, ce qui rend les échanges prolongés nettement plus cohérents.
Gestion des erreurs
L’API étant en beta, une requête peut échouer sans que vous y soyez pour quelque chose. Enveloppez l’appel et prévoyez une porte de sortie :
try:
chat = client.chat.create(
model="grok-4.20-multi-agent-0309",
agent_count=4
)
chat.append(user("Ma question"))
for response, chunk in chat.stream():
if chunk.content:
print(chunk.content, end="", flush=True)
except Exception as e:
print(f"Erreur multi-agent : {e}")
# Fallback vers un modèle standard si nécessaire
Le commentaire de la dernière ligne attend d’être remplacé par du vrai code. En production, ce bloc doit réellement rappeler un modèle standard, sinon votre fonctionnalité s’éteint dès la première indisponibilité du multi-agent.
Points clés à retenir
- Le xAI SDK expose
agent_countpour contrôler directement le nombre d’agents - Utilisez toujours le streaming pour le multi-agent (
.stream()) verbose_streamingrévèle les appels d’outils en temps réeluse_encrypted_content=Truepour les conversations multi-tours- Prévoyez toujours une gestion d’erreurs (API beta)