O que seu operador de IA fez ontem à noite.
Semant guarda cada execução dos seus agentes, passo a passo, e marca o trecho em que eles ficaram em silêncio. Para reportar uma execução basta uma requisição HTTP no fim do fluxo.
Para agentes feitos na Senda ou em qualquer outro lugar.
Os spans que Semant guardaria
| span | duração | duração | status |
|---|---|---|---|
| invoke_agent inbox-triage249189a7b6e2999d | 2 min 41 s | erro | |
| fetch-messagesa2b1520ba83e7117 | 4 s | bem | |
| classifyb2296e1792001763 | 37 s | bem | |
| draft-replies2c8da6f43fd21373 | 2 min 00 s | erro |
curl -X POST https://semant.trysenda.xyz/v1/runs \ -H "Authorization: Bearer sk_semant_..." \ -H "Content-Type: application/json" \ -d '{ "agent": { "name": "inbox-triage" }, "run_id": "2026-10-01-0200", "started_at": "2026-10-01T02:00:00-03:00", "ended_at": "2026-10-01T02:02:41-03:00", "status": "error", "error_message": "draft-replies: no reply from the model after 120 s", "steps": [ { "name": "fetch-messages", "started_at": "2026-10-01T02:00:00-03:00", "ended_at": "2026-10-01T02:00:04-03:00", "status": "ok" }, { "name": "classify", "started_at": "2026-10-01T02:00:04-03:00", "ended_at": "2026-10-01T02:00:41-03:00", "status": "ok" }, { "name": "draft-replies", "started_at": "2026-10-01T02:00:41-03:00", "ended_at": "2026-10-01T02:02:41-03:00", "status": "error" } ], "metadata": { "trigger": "every 30 min" } }'
HTTP 200 { "trace_id": "e401386c50fd91d5e577c94da77f309d", "spans": 4 }
Troque sk_semant_... pela sua chave. As chaves vão ser criadas dentro de Semant.
Duas formas de reportar.
Sem escrever código: um passo HTTP no fim do fluxo.
Se o seu agente roda numa ferramenta de fluxos, adicione um último passo que envia o relatório. É a requisição lá de cima, com a sua chave.
- A cada 30 minutos
- fetch-messages
- classify
- draft-replies
- POST /v1/runsReporta a execução
Se o seu agente já emite OpenTelemetry: uma linha de ambiente.
Aponte o exportador para Semant com a sua chave. Cada span chega como você enviou.
OTEL_EXPORTER_OTLP_ENDPOINT=https://semant.trysenda.xyz OTEL_EXPORTER_OTLP_HEADERS=Authorization=Bearer%20sk_semant_...
Se o agente não reporta, a linha fica em branco.
O agente anota a sua execução a cada meia hora. Esta noite o livro ficou em branco das 02:02 às 05:30, e o Semant marca esse trecho.
Livro de plantão
inbox-triage · das 22:00 às 06:00
ExemploSem novidades
2 min 28 sSem novidades
2 min 32 sSem novidades
2 min 19 sSem novidades
2 min 51 sSem novidades
2 min 24 sSem novidades
2 min 38 sSem novidades
2 min 30 sSem novidades
2 min 43 sdraft-replies: no reply from the model after 120 s
erro2 min 41 sSem relatórios por 3 h 27 min
Retomou sozinho. Sem novidades
2 min 35 s
O que não chega.
Semant vê o que recebe. Hoje isto não chega, e preferimos dizer antes.
| O quê | Por quê |
|---|---|
| Um agente hospedado por outro, que você não pode editar. | Se você não pode adicionar um passo nem configurar um exportador, ele não reporta nada. |
| Uma ferramenta sem requisições de saída. | Se o seu plano não permite enviar uma requisição HTTP, o relatório não tem como sair. |
| O que acontece dentro de um passo. | Um relatório traz a execução e os passos que o seu fluxo anota. Para ver mais, envie um relatório por passo ou use OpenTelemetry. |
| Prompts e respostas completos. | Semant não os captura por enquanto. Guarda o que você envia, nada mais. |
| OTLP por gRPC, métricas e logs. | Por enquanto entram traces por OTLP/HTTP e relatórios de execução. |
Perguntas.
Preciso usar Line ou o Corpus?
Não. Semant é vendido sozinho e recebe execuções de agentes feitos em qualquer lugar.
E se eu enviar a mesma execução duas vezes?
Se o relatório traz o mesmo run_id, Semant guarda uma vez só. Uma nova tentativa não duplica nada.
E se o relatório estiver malformado?
Semant recusa com um 400 que nomeia o campo e diz por quê. Teste lá em cima: apague o nome do agente.
Guarda o que meus agentes dizem?
Guarda o que você envia, como chega. O relatório de execução não tem campo para prompts nem respostas.
Quando posso usar?
Semant abre por lista de espera. Escrevemos quando você puder criar a sua chave.
Que a próxima noite fique registrada.
Entre na lista. Escrevemos quando você puder reportar a sua primeira execução.