Alerta de stock bajo con IA y sugerencias de reposición

Un agente lee el inventario y ocho semanas de ventas, señala los SKU que se agotarán pronto y sugiere qué reponer.

  • Conexión de solo lectura
  • Programado
  • Callback
  • Límite de presupuesto

Mira una ejecución real

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

Entrada
{
  "threshold_days": 14
}
Completadarun_140400c56f2633ed9b2e58f2b62a6e23$0.004414 de $0.03
  1. En colapresupuesto de $0.03 reservado
  2. MicroVMmicroVM ready
  3. MicroVMworker started · shell off · web off
  4. Conexiónops GET /inventory
  5. Resultadoops GET → 200
  6. MicroVMmicroVM destroyed
  7. Completada2 llamadas al modelo, 4,167 tokensResultado grabado (en inglés)
    SKUStockDaily rate (units/day)Days of coverReorder quantity
    TEE-BLK-M645.8610.9230
    CAP-NVY-0191.297.070
    NTBK-A5-0103.540.00

    Human look:

    • NTBK-A5-01: Sales fell from 26 to 14 in the latest week while stock is 0; the data doesn’t establish the cause.
    • BAG-CNV-01: Sales declined across the last four weeks (8, 6, 5, 4) despite stock of 250.
  8. Worker destruido$0.004414 cobrados, $0.025586 liberados
Modelo $0.000814 · Web $0.00 · Cómputo $0.0036

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.03

Cómo funciona

Lee existencias, pedidos abiertos, plazos de entrega y ventas semanales desde una API de inventario de solo lectura y aplica la regla que le des. La respuesta es una tabla breve sobre la que un comprador puede actuar, con las cifras a la vista para poder comprobarla.

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
Conexiones
ops: solo GET, en ephemer.al/api/samples/ops-api
WebDesactivado
ShellDesactivado
ArchivosNinguna
Retención cero de datosDesactivada: el registro se conserva 30 días
Presupuesto$0.03, límite estricto
Tiempo límite60 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
Cuerpo completo de la solicitud workflow.json

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

workflow.json
{
  "prompt": "Read GET /inventory on the ops connection. For each SKU, daily_rate is the average of the last 4 values of weekly_sales divided by 7, and days_of_cover is stock divided by daily_rate (treat a daily_rate of 0 as unlimited cover). Flag every SKU whose days_of_cover is below input.threshold_days. For each flagged SKU suggest a reorder quantity: daily_rate times (lead_time_days plus 28), minus stock, minus on_order, rounded up to the next 10, and never below 0 (when stock plus on_order already covers it, the reorder quantity is 0). Reply in Markdown: a table with SKU, stock, daily_rate, days_of_cover and reorder quantity, then one line per SKU that deserves a human look (for example a sales dip caused by a stockout). Use only what the data returns and never guess; if a call fails or a field is missing, say so.",
  "connections": {
    "ops": {
      "type": "http",
      "url": "https://ephemer.al/api/samples/ops-api",
      "auth": {
        "type": "bearer",
        "token": "sample_read_key"
      },
      "allowed_methods": [
        "GET"
      ],
      "instructions": "GET /inventory returns as_of, the week start dates, and items with sku, name, stock, on_order, lead_time_days, unit_cost_usd and weekly_sales (units per week, oldest first, the last entry is the most recent week)."
    }
  },
  "shell": false,
  "timeout_seconds": 60
}

Este ejemplo se ejecuta según un horario: 0 8 * * 1-5 en Europe/Berlin. Una programación inicia un flujo de trabajo guardado, así que primero guarda la solicitud como flujo de trabajo y después crea la programación.

Más información

Ejemplos relacionados

esc

Nada coincide con “”.