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.

A noite de um agente, de 30 de setembro a 1º de outubroamostra
Das 22:00 às 06:0010 execuções, 1 com erro. 3 h 27 min em silêncio desde as 02:02.
O relatório da execução das 02:00
Status
Passos

Os spans que Semant guardaria

spanduraçãoduraçãostatus
invoke_agent inbox-triage249189a7b6e2999d2 min 41 serro
fetch-messagesa2b1520ba83e71174 sbem
classifyb2296e179200176337 sbem
draft-replies2c8da6f43fd213732 min 00 serro
A requisição que o último passo do fluxo envia
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"
  }
}'
Respostacalculada aqui, nada foi enviado
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.

  1. A cada 30 minutos
  2. fetch-messages
  3. classify
  4. draft-replies
  5. 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.

Ambiente do agente
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

Exemplo
  1. Sem novidades

    2 min 28 s
  2. Sem novidades

    2 min 32 s
  3. Sem novidades

    2 min 19 s
  4. Sem novidades

    2 min 51 s
  5. Sem novidades

    2 min 24 s
  6. Sem novidades

    2 min 38 s
  7. Sem novidades

    2 min 30 s
  8. Sem novidades

    2 min 43 s
  9. draft-replies: no reply from the model after 120 s

    erro2 min 41 s
  10. Sem relatórios por 3 h 27 min

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