Aller au contenu principal

Combiner Web et X : Stratégies Avancées

Orchestrer les deux moteurs de recherche

Vous maîtrisez désormais web_search et x_search individuellement. La vraie puissance de l’API Grok apparaît lorsque vous les combinez de manière stratégique. Cette leçon vous montre comment orchestrer les deux outils pour construire des pipelines d’information sophistiqués, tout en maîtrisant les coûts et les limites.

$5
/ 1 000 appels outil
2x
outils par requête
Multi
invocations possibles
Auto
sélection par le modèle

Stratégie 1 : complémentarité faits/réactions

La combinaison la plus naturelle utilise le web pour les faits et X pour les réactions. Le modèle choisit l’outil approprié selon la nature de l’information recherchée :

response = client.responses.create(
    model="grok-3",
    input="""Analyse l'annonce récente de l'AI Act européen.

    PARTIE 1 (recherche web) :
    - Contenu exact de la nouvelle réglementation
    - Dates d'application et obligations
    - Entreprises et secteurs concernés

    PARTIE 2 (recherche X) :
    - Réactions des entreprises tech
    - Critiques et soutiens des experts
    - Impact perçu par la communauté

    SYNTHÈSE : convergences et divergences
    entre les faits officiels et la perception publique.""",
    tools=[
        {"type": "web_search"},
        {"type": "x_search"}
    ]
)

Stratégie 2 : validation croisée

Utilisez les deux sources pour valider une information. Si le web et X convergent, la confiance augmente :

response = client.responses.create(
    model="grok-3",
    input="""On me dit que [entreprise X] prépare
    un licenciement massif.

    Vérifie cette information :
    1. Recherche web : articles de presse, communiqués
    2. Recherche X : posts d'employés, insiders

    Évalue la crédibilité (1-10) en croisant les sources.
    Indique explicitement si les deux canaux convergent.""",
    tools=[
        {"type": "web_search"},
        {"type": "x_search"}
    ]
)

Stratégie 3 : pipeline séquentiel

Parfois, il est plus efficace de faire deux appels séparés plutôt qu’un seul combiné. Cela vous donne plus de contrôle sur les paramètres de chaque recherche :

# Étape 1 : collecte web avec filtrage strict
web_result = client.responses.create(
    model="grok-3",
    input="Dernières avancées en informatique quantique",
    tools=[{
        "type": "web_search",
        "allowed_domains": ["arxiv.org", "nature.com", "science.org"]
    }]
)

# Étape 2 : réactions X avec filtrage par handles
x_result = client.responses.create(
    model="grok-3",
    input=f"""En tenant compte de ces avancées :
    {web_result.output_text[:500]}

    Quelles sont les réactions des chercheurs sur X ?""",
    tools=[{
        "type": "x_search",
        "allowed_x_handles": [
            "@PeterShor_MIT",
            "@ScottAaronson"
        ]
    }]
)

Maîtriser les coûts

Chaque invocation d’outil coûte 0,005 $, indépendamment du nombre de résultats. Quand le modèle utilise les deux outils dans un même appel, le coût est doublé. Si le modèle appelle un outil plusieurs fois (par exemple, deux recherches web successives pour affiner), chaque appel est facturé :

# Coût minimal : 1 outil x 1 invocation = 0,005 $
tools=[{"type": "web_search"}]

# Coût potentiel : 2 outils = 0,01 $ minimum
# Mais le modèle peut invoquer chaque outil
# plusieurs fois si nécessaire
tools=[
    {"type": "web_search"},
    {"type": "x_search"}
]

Optimiser le rapport qualité/coût

  • Ne combinez que si nécessaire : si la question est purement factuelle, web_search seul suffit
  • Filtrez en amont : les paramètres de domaines et handles réduisent le bruit et améliorent la pertinence sans coût supplémentaire
  • Utilisez le pipeline séquentiel pour les analyses complexes : la première étape informe la seconde, réduisant les recherches inutiles

Gérer les limites de l’API

Limites de paramètres

Chaque outil a ses propres contraintes. Ne les mélangez pas :

  • web_search : allowed_domains OU excluded_domains (max 5 chacun)
  • x_search : allowed_x_handles OU excluded_x_handles (max 10 chacun) + from_date/to_date

Comportement non déterministe

Le modèle décide de manière autonome quand et combien de fois utiliser chaque outil. Deux requêtes identiques peuvent donner des patterns de recherche différents. Si la reproductibilité est critique, utilisez le pipeline séquentiel avec des requêtes ciblées.

Latence

Les requêtes avec deux outils sont plus lentes. Prévoyez des timeouts adaptés dans vos applications, surtout si l’analyse d’images ou de vidéos est activée.

Mise en pratique

Implémentez les trois stratégies (complémentarité, validation croisée, pipeline séquentiel) sur un même sujet d’actualité. Comparez la qualité des résultats, le temps de réponse et le coût total pour chaque approche. Identifiez quelle stratégie convient le mieux à votre cas d’usage.

Points clés à retenir

  • Deux outils dans un même appel : le modèle choisit automatiquement lequel utiliser
  • La stratégie complémentaire (web = faits, X = réactions) est la plus courante
  • La validation croisée renforce la confiance dans les informations
  • Le pipeline séquentiel offre plus de contrôle sur les paramètres
  • Chaque invocation d’outil coûte 0,005 $, indépendamment du nombre de résultats
  • Optimisez les coûts en ne combinant que lorsque les deux sources apportent une valeur distincte