Limites pratiques et bonnes pratiques
Tirer le meilleur de Code Execution
Maintenant que vous connaissez les contraintes techniques du sandbox, cette leçon se concentre sur les bonnes pratiques pour obtenir des résultats fiables et optimiser votre utilisation de Code Execution. Ces recommandations sont issues de l’utilisation en production et des conseils de xAI.
Choix du modèle
xAI recommande d’utiliser grok-4.20-reasoning pour la génération de code. Ce modèle produit un code plus structuré, mieux commenté et avec moins d’erreurs que les modèles non-reasoning. La différence est particulièrement visible sur les problèmes complexes nécessitant une réflexion en plusieurs étapes.
Réglage de la température
Pour les calculs mathématiques et l’analyse de données, utilisez des températures basses :
response = client.responses.create(
model="grok-4.20-reasoning",
input="Calcule l'écart-type pondéré de ces valeurs : ...",
tools=[client.tools.code_execution()],
temperature=0.1
)
- 0.0 à 0.1 : calculs mathématiques purs, résultats déterministes
- 0.1 à 0.3 : analyse de données avec interprétation
- 0.3 à 0.7 : génération de code créatif (à éviter pour les calculs critiques)
Une température élevée peut produire des approches algorithmiques différentes à chaque appel, ce qui rend les résultats non reproductibles.
Structurer vos prompts
Fournir les données dans le prompt
Puisque le sandbox n’a pas accès au réseau, les données à analyser doivent être incluses dans le prompt :
data = """
Mois,Ventes,Coûts
Jan,15000,8000
Fev,18000,9500
Mar,22000,11000
Avr,19000,10000
"""
response = client.responses.create(
model="grok-4.20-reasoning",
input=f"Analyse ces données de ventes et calcule les marges mensuelles :\n{data}",
tools=[client.tools.code_execution()],
temperature=0.1
)
Préciser le format de sortie attendu
Le modèle produit de meilleurs résultats quand vous précisez ce que vous attendez :
input_text = """
Données : [2.5, 3.1, 4.7, 2.8, 5.2, 3.9, 4.1]
Calcule :
1. La moyenne et la médiane
2. L'écart-type
3. Le coefficient de variation
4. Identifie les valeurs aberrantes (méthode IQR)
Présente les résultats dans un tableau formaté.
"""
Décomposer les problèmes complexes
Pour les analyses en plusieurs étapes, structurez votre prompt de façon séquentielle :
input_text = """
Étape 1 : Charge ces données de rendement de portefeuille
Étape 2 : Calcule le rendement annualisé
Étape 3 : Calcule la volatilité (écart-type annualisé)
Étape 4 : Calcule le ratio de Sharpe (taux sans risque = 4%)
Étape 5 : Présente un résumé avec tous les indicateurs
"""
Gestion des erreurs
Le modèle peut rencontrer des erreurs d’exécution. Dans ce cas, il tente généralement de corriger son code et de réexécuter. Cela signifie :
- Plusieurs invocations peuvent être facturées pour une seule requête
- Le résultat final peut prendre plus de temps à arriver
- Dans de rares cas, le modèle peut ne pas réussir à corriger l’erreur
Pour minimiser les erreurs, soyez précis dans vos instructions et fournissez des données dans un format clair et structuré (CSV, JSON, tableaux).
Validation des résultats
Code Execution est un outil puissant mais pas infaillible. Pour les calculs critiques :
- Vérifiez les résultats sur un sous-ensemble connu
- Demandez au modèle d’expliquer sa méthodologie
- Comparez avec des résultats obtenus par d’autres moyens
- Demandez le code source pour le relire si nécessaire
Le modèle inclut souvent le code exécuté dans sa réponse, ce qui vous permet de vérifier la logique.
Combiner Code Execution avec Web Search
Un cas d’usage avancé consiste à combiner les deux outils :
response = client.responses.create(
model="grok-4.20-reasoning",
input="Trouve les cours boursiers actuels de Apple, Google et Microsoft, puis calcule leur corrélation sur le dernier mois",
tools=[
{"type": "web_search"},
{"type": "code_interpreter"}
],
temperature=0.1
)
Le modèle utilise Web Search pour récupérer les données, puis Code Execution pour les analyser. Ce workflow est entièrement automatique.
Points clés à retenir
- Utilisez grok-4.20-reasoning pour la meilleure qualité de code
- Température basse (0.0-0.3) pour les calculs, plus élevée pour le code créatif
- Incluez les données dans le prompt (le sandbox n’a pas accès au réseau)
- Structurez vos demandes : format attendu, étapes séquentielles
- Validez les résultats critiques — le modèle n’est pas infaillible
- La combinaison Web Search + Code Execution est un workflow puissant