Alerta de estoque baixo com IA e sugestões de reposição
Um agente lê o estoque e oito semanas de vendas, sinaliza os SKUs que vão acabar em breve e sugere o que repor.
- Conexão somente leitura
- Agendado
- Callback
- Limite de orçamento
Veja uma execução real
Uma execução real em 7 de out. de 2026, reproduzida. Modelo: openai/gpt-6-luna.
{
"threshold_days": 14
}- Na filaorçamento de $0.03 reservado
- MicroVMmicroVM ready
- MicroVMworker started · shell off · web off
- Conexãoops GET /inventory
- Resultado
ops GET → 200 - MicroVMmicroVM destroyed
- Concluída2 chamadas ao modelo, 4,167 tokensSaída gravada (em inglês)
SKU Stock Daily rate (units/day) Days of cover Reorder quantity TEE-BLK-M 64 5.86 10.9 230 CAP-NVY-01 9 1.29 7.0 70 NTBK-A5-01 0 3.54 0.0 0 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.
- Worker destruído$0.004414 cobrados, $0.025586 liberados
Execute você mesmo
Abra o exemplo no playground com a requisição inteira preenchida. Ele roda na sua própria conta, dentro do orçamento indicado, contra os mesmos sistemas de exemplo somente leitura.
Orçamento deste exemplo: $0.03
Como funciona
Ele lê estoque, pedidos em aberto, prazos de entrega e vendas semanais em uma API de estoque somente leitura e aplica a regra que você definir. A resposta é uma tabela curta que um comprador pode usar, com os números à mostra para que possam ser conferidos.
O que o agente pode e não pode fazer
As permissões fazem parte da requisição. Tudo o que não está listado aqui não está disponível para a execução.
| Configuração | Permitido |
|---|---|
| Conexões | ops: somente GET, em ephemer.al/api/samples/ops-api |
| Web | Desativado |
| Shell | Desativado |
| Arquivos | Nenhuma |
| Retenção zero de dados | Desativada: o registro é mantido por 30 dias |
| Orçamento | $0.03, um limite rígido |
| Tempo limite | 60 segundos |
As credenciais nunca entram na máquina: um broker as adiciona a cada chamada e aplica os métodos acima.
O código
Esta é a requisição exata que o exemplo envia. Defina EPHEMERAL_API_KEY com uma chave de membro da sua organização.
curl -X POST $EPHEMERAL_URL/v1/runs \
-H "Authorization: Bearer $EPHEMERAL_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d @request.jsonCorpo completo da requisição workflow.json
O mesmo corpo, com os arquivos inline.
{
"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 exemplo roda em um horário fixo: 0 8 * * 1-5 em Europe/Berlin. Um agendamento inicia um fluxo de trabalho salvo, então salve a requisição como fluxo de trabalho primeiro e depois crie o agendamento.