Nettoyer et profiler un CSV en désordre avec un agent IA

Un agent profile un CSV avec de vraies commandes dans un bac à sable et signale doublons, valeurs manquantes, formats incorrects et valeurs aberrantes.

  • Fichiers
  • Shell
  • Plafond de budget

Regardez une vraie exécution

Une vraie exécution du 7 oct. 2026, rejouée. Modèle : openai/gpt-6-luna.

Réussierun_a95629e4250a32c985f2bd387bfe25f3$0.006427 sur $0.05
  1. En file d'attentebudget de $0.05 réservé
  2. MicroVMmicroVM ready
  3. MicroVMworker started · shell on · web off
  4. Fichierread orders.csv
  5. Shell$ python3 - <<'PY' import csv p='/tmp/ephemeral-run-s2TPIy/bundle/orders.csv' with open(p,newline='')…
  6. Shell$ python3 - <<'PY' import csv,re,datetime,collections p='/tmp/ephemeral-run-s2TPIy/bundle/orders.csv'…
  7. MicroVMmicroVM destroyed
  8. Réussie3 appels au modèle, 9,333 jetonsSortie enregistrée (en anglais)

    Verdict: Found data-quality issues in missing values, duplicates, email, casing, dates, and quantity.

    IssueCountAffected data rowsSuggested fix
    Missing customer_email13Populate or explicitly mark unknown.
    Missing unit_price19Populate or explicitly mark unknown.
    Duplicate full rows27, 8Remove one duplicate.
    Duplicate order_id27, 8Confirm which order is valid; make IDs unique.
    Invalid email14Correct the address (e.g., add a valid domain).
    Inconsistent country casing12Normalize de to DE.
    Inconsistent status casing112Normalize Shipped to shipped.
    Date not in YYYY-MM-DD format15Convert to 2026-09-02.
    Nonexistent date114Correct 2026-09-31 to the intended valid date.
    Negative quantity16Verify and correct the quantity.
    Extreme quantity outlier (1000)115Verify against the source order.
  9. Worker détruit$0.006427 facturé, $0.043573 libéré
Modèle $0.001027 · Web $0.00 · Calcul $0.0054

Lancez-le vous-même

Ouvrez l'exemple dans le playground avec toute la requête déjà remplie. Il s'exécute sur votre propre compte, dans le budget indiqué, sur les mêmes systèmes d'exemple en lecture seule.

Budget pour cet exemple : $0.05

Fonctionnement

Le fichier est en lecture seule et le bac à sable n'a pas de réseau : les données restent donc où elles sont. L'agent compte les problèmes avec le shell au lieu de les estimer à l'œil, et liste chaque anomalie avec les numéros de ligne et une correction suggérée.

Ce que l'agent peut et ne peut pas faire

Les permissions font partie de la requête. Tout ce qui n'est pas listé ici n'est pas disponible pour l'exécution.

ParamètreAutorisé
ConnexionsAucune
WebDésactivé
ShellActivé, à l'intérieur de la machine isolée
Fichiersorders.csv (lecture seule)
Rétention zéro des donnéesDésactivée : l'historique est conservé 30 jours
Budget$0.05, un plafond strict
Délai120 secondes

Les identifiants n'entrent jamais dans la machine : un broker les ajoute à chaque appel et impose les méthodes ci-dessus.

Le code

Voici la requête exacte envoyée par l'exemple. Définissez EPHEMERAL_API_KEY avec une clé de membre de votre organisation.

curl -X POST $EPHEMERAL_URL/v1/runs \
  -H "Authorization: Bearer $EPHEMERAL_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d @request.json

Fichiers de la requête

Transmis en ligne, rien n'est donc importé au préalable. L'agent voit chacun comme un fichier en lecture seule.

orders.csv
orders.csv
order_id,customer_email,country,order_date,quantity,unit_price,status
1001,[email protected],DE,2026-09-01,2,19.90,shipped
1002,[email protected],de,2026-09-01,1,19.90,shipped
1003,,US,2026-09-02,3,9.50,shipped
1004,carla@example,US,2026-09-02,1,49.00,delivered
1005,[email protected],FR,02/09/2026,1,49.00,delivered
1006,[email protected],FR,2026-09-03,-1,19.90,refunded
1007,[email protected],US,2026-09-03,2,9.50,shipped
1007,[email protected],US,2026-09-03,2,9.50,shipped
1008,[email protected],GB,2026-09-04,1,,shipped
1009,[email protected],JP,2026-09-04,5,19.90,delivered
1010,[email protected],DE,2026-09-05,1,19.90,shipped
1011,[email protected],US,2026-09-05,1,9.50,Shipped
1012,[email protected],KR,2026-09-06,1,49.00,delivered
1013,[email protected],US,2026-09-31,2,9.50,shipped
1014,[email protected],DE,2026-09-07,1000,19.90,shipped
1015,[email protected],FR,2026-09-08,1,19.90,delivered
1016,[email protected],GB,2026-09-08,2,49.00,delivered
1017,[email protected],US,2026-09-09,1,9.50,cancelled
1018,[email protected],DE,2026-09-09,1,19.90,delivered
1019,[email protected],US,2026-09-10,2,9.50,shipped
1020,[email protected],JP,2026-09-10,1,49.00,delivered
Corps complet de la requête request.json

Le même corps, avec les fichiers en ligne.

request.json
{
  "prompt": "Profile orders.csv (columns: order_id, customer_email, country, order_date, quantity, unit_price, status). Use the shell (python3, awk, sort, uniq, whatever is installed) to count the problems; do not count by eye. Check duplicate rows and duplicate order_ids, missing values per column, invalid emails, inconsistent country or status casing, dates that are not YYYY-MM-DD or do not exist, negative quantities and extreme outliers. Reply in Markdown, at most 220 words: a one-line verdict, then a table of issue, count, affected row numbers (data rows, header excluded) and a suggested fix. If a check finds nothing, omit it.",
  "files": [
    {
      "path": "orders.csv",
      "content": "order_id,customer_email,country,order_date,quantity,unit_price,status\n1001,[email protected],DE,2026-09-01,2,19.90,shipped\n1002,[email protected],de,2026-09-01,1,19.90,shipped\n1003,,US,2026-09-02,3,9.50,shipped\n1004,carla@example,US,2026-09-02,1,49.00,delivered\n1005,[email protected],FR,02/09/2026,1,49.00,delivered\n1006,[email protected],FR,2026-09-03,-1,19.90,refunded\n1007,[email protected],US,2026-09-03,2,9.50,shipped\n1007,[email protected],US,2026-09-03,2,9.50,shipped\n1008,[email protected],GB,2026-09-04,1,,shipped\n1009,[email protected],JP,2026-09-04,5,19.90,delivered\n1010,[email protected],DE,2026-09-05,1,19.90,shipped\n1011,[email protected],US,2026-09-05,1,9.50,Shipped\n1012,[email protected],KR,2026-09-06,1,49.00,delivered\n1013,[email protected],US,2026-09-31,2,9.50,shipped\n1014,[email protected],DE,2026-09-07,1000,19.90,shipped\n1015,[email protected],FR,2026-09-08,1,19.90,delivered\n1016,[email protected],GB,2026-09-08,2,49.00,delivered\n1017,[email protected],US,2026-09-09,1,9.50,cancelled\n1018,[email protected],DE,2026-09-09,1,19.90,delivered\n1019,[email protected],US,2026-09-10,2,9.50,shipped\n1020,[email protected],JP,2026-09-10,1,49.00,delivered\n"
    }
  ],
  "web": false,
  "shell": true,
  "timeout_seconds": 120,
  "max_cost_micros": 50000
}

En savoir plus

Exemples liés

esc

Aucun résultat pour « ».