> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-fbfa8bee.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# interpréteur de code

> Exécution de code isolée dans ClickHouse Agents

export const Image = ({img, alt, size}) => {
  return <Frame>
      <img src={img} alt={alt} />
    </Frame>;
};

export const galaxyOnClick = eventName => () => {
  try {
    if (typeof window !== "undefined" && window.galaxy && eventName) {
      window.galaxy.track(eventName, {
        interaction: "click"
      });
    }
  } catch (e) {}
};

export const BetaBadge = ({link, galaxyTrack, galaxyEvent}) => {
  if (link) {
    return <a href={link} target="_blank" rel="noopener noreferrer" className="betaBadge" onClick={galaxyTrack && galaxyEvent ? galaxyOnClick(galaxyEvent) : undefined}>
                <Icon />
                <span>Beta</span>
            </a>;
  }
  return <div className="betaBadge">
            <Icon />
            <span>
                Fonctionnalité en bêta. 
                <u>
                    <a href="/docs/beta-and-experimental-features#beta-features">
                        En savoir plus.
                    </a>
                </u>
            </span>
        </div>;
};

L’interpréteur de code permet à un agent d’exécuter du code dans un sandbox géré. Utilisez-le pour effectuer des calculs, transformer des données, convertir des formats, créer des graphiques et toute autre tâche plus simple à réaliser en code qu’en langage naturel.

<div id="enable-it">
  ## Activer l’interpréteur de code
</div>

Dans l’Agent Builder, activez **Run Code** dans la section **Capabilities**, puis enregistrez. L’agent décide quand exécuter du code en fonction de la demande de l’utilisateur et de ses instructions.

<Image img="https://mintcdn.com/private-7c7dfe99-mintlify-fbfa8bee/TCLsdkFwl4CgDiNY/images/cloud/agent-builder/run-code/run-code.png?fit=max&auto=format&n=TCLsdkFwl4CgDiNY&q=85&s=9e91e8cf1e3b83151488bfd87327ca9e" alt="Section Run Code du panneau Capabilities avec la case à cocher Run Code activée et un bouton Upload to Code Environment" size="sm" width="616" height="1412" data-path="images/cloud/agent-builder/run-code/run-code.png" />

<div id="supported-languages">
  ## Langages pris en charge
</div>

Le sandbox est un environnement Unix avec deux environnements d’exécution polyvalents et quelques utilitaires shell :

* **Python 3** - l’option par défaut pour les tâches liées aux données.
* **Node.js (JavaScript)** - lorsqu’un agent préfère JS pour ce type de travail.
* **Bash** et **sh** - scripts shell pour enchaîner des commandes et effectuer rapidement des E/S.
* **AWK** et **sed** - traitement de texte ligne par ligne.
* **bc** - calcul en précision arbitraire.

Les agents privilégient d’abord Python pour tout ce qui touche à l’analyse, à la transformation ou au calcul de données.

<Tip>
  Réservez les outils shell aux tâches qui tirent réellement parti d’une commande sur une seule ligne.
</Tip>

<div id="files">
  ## Fichiers
</div>

Les utilisateurs peuvent téléverser des fichiers dans une conversation ; l’interpréteur de code peut y accéder dans le répertoire de travail du sandbox. Le code peut également écrire des fichiers de sortie (CSV, graphiques, archives), qui apparaissent dans la conversation sous forme de pièces jointes téléchargeables.

<div id="sandbox-isolation">
  ## Isolation du sandbox
</div>

Chaque exécution se déroule dans un sandbox éphémère, sans accès au réseau ni stockage persistant. Les sessions ne partagent pas d’état — les variables et les fichiers d’une exécution ne sont pas reportés sur la suivante, sauf si l’agent les recharge explicitement.

Des limites de ressources propres au plan (mémoire, nombre de fichiers par exécution, quotas mensuels de requêtes) s’appliquent. Les erreurs et `stderr` s’affichent dans la conversation aux côtés de `stdout`.

<div id="when-to-use-it">
  ## Quand l’utiliser
</div>

Utilisez l’interpréteur de code lorsque la réponse nécessite un calcul déterministe qu’un modèle de langage ne peut pas produire de manière fiable par le seul raisonnement.
Les cas typiques incluent :

* Analyser un fichier CSV ou JSON téléversé par l’utilisateur.
* Calculer des statistiques de synthèse ou exécuter une simulation rapide.
* Convertir d’un format à un autre (Parquet, JSON, CSV).
* Générer un graphique à partir des résultats d’une requête.

<Tip>
  Évitez-le pour les tâches auxquelles le modèle peut déjà répondre à partir du contexte.
  L’exécution de code ajoute de la latence et consomme du quota.
</Tip>
