Architecture & CoreDecisions
0005 agent telemetry proxy architecture
ADR 0005: Arquitetura de Proxy de Telemetria de Agentes
Status
Aceito
Contexto
Precisamos monitorar a performance e custos (tokens) de cada agente do IA Swarm no Dashboard Administrativo do SaaS. O agent-hub reside em um domínio separado e possui chaves de API internas que não podem ser expostas ao frontend. Além disso, precisamos garantir que clientes vejam apenas seus próprios dados de telemetria (isolamento multi-tenant).
Decisão
Implementar uma camada de proxy no backend-worker (SaaS Backend) que atua como ponte segura entre o saas-frontend e o agent-hub.
- Proxy no Backend: O
backend-workerexpõe a rota/manager/telemetry/analytics. - Segurança: Este endpoint exige autenticação administrativa (
verifyJwt) e utiliza aINTERNAL_API_KEYpara falar com oagent-hub. - Multi-tenancy: O código do proxy encaminha o
clientId(se presente) para oagent-hub, que filtra os logs do D1 antes de retornar a agregação. - Resiliência: O logging de telemetria no
agent-hubé assíncrono (usandoexecutionCtx.waitUntil) para evitar que falhas ou lentidão no registro afetem o tempo de resposta das APIs de IA.
Consequências
- Positivas:
- Proteção completa de chaves internas do Hub.
- Facilidade de consumo pelo frontend sem lidar com CORS complexos.
- Isolamento de dados por cliente nativamente suportado.
- Negativas:
- Pequena latência adicional introduzida pela camada de proxy.
- Dependência do SaaS Backend estar operacional para visualização de métricas de IA.