Limpia y analiza un CSV desordenado con un agente de IA

Un agente perfila un CSV con comandos reales en un sandbox e informa de duplicados, valores que faltan, formatos incorrectos y valores atípicos.

  • Archivos
  • Shell
  • Límite de presupuesto

Mira una ejecución real

Una ejecución real del 7 oct 2026, reproducida. Modelo: openai/gpt-6-luna.

Completadarun_a95629e4250a32c985f2bd387bfe25f3$0.006427 de $0.05
  1. En colapresupuesto de $0.05 reservado
  2. MicroVMmicroVM ready
  3. MicroVMworker started · shell on · web off
  4. Archivoread 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. Completada3 llamadas al modelo, 9,333 tokensResultado grabado (en inglés)

    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 destruido$0.006427 cobrados, $0.043573 liberados
Modelo $0.001027 · Web $0.00 · Cómputo $0.0054

Ejecútalo tú mismo

Abre el ejemplo en el playground con la solicitud completa ya rellenada. Se ejecuta en tu propia cuenta, dentro del presupuesto indicado, contra los mismos sistemas de ejemplo de solo lectura.

Presupuesto de este ejemplo: $0.05

Cómo funciona

El archivo es de solo lectura y el sandbox no tiene red, así que los datos se quedan donde están. El agente cuenta los problemas con el shell en lugar de estimarlos a ojo, y enumera cada incidencia con los números de fila y una corrección sugerida.

Lo que el agente puede y no puede hacer

Los permisos forman parte de la solicitud. Todo lo que no figura aquí no está disponible para la ejecución.

AjustePermitido
ConexionesNinguna
WebDesactivado
ShellActivado, dentro de la máquina sellada
Archivosorders.csv (solo lectura)
Retención cero de datosDesactivada: el registro se conserva 30 días
Presupuesto$0.05, límite estricto
Tiempo límite120 segundos

Las credenciales nunca entran en la máquina: un broker las añade a cada llamada y aplica los métodos indicados arriba.

El código

Esta es la solicitud exacta que envía el ejemplo. Define EPHEMERAL_API_KEY con una clave de miembro de tu organización.

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

Archivos de la solicitud

Se pasan en línea, así que no hay que subir nada antes. El agente ve cada uno como un archivo de solo lectura.

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
Cuerpo completo de la solicitud request.json

El mismo cuerpo, con los archivos en línea.

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
}

Más información

Ejemplos relacionados

esc

Nada coincide con “”.