Sonar
Em desenvolvimentoProjeto pessoal explorando orquestração multi-agente. O caso de uso é revisão de ligação de vendas; o ponto real foi aprender tool use da Anthropic, prompt caching e estado persistido de agente.
O que faz
Um SDR faz upload da gravação da ligação. Cerca de vinte segundos depois, o Sonar retorna:
- Pesquisa sobre a empresa do prospect (Tavily + Claude Haiku 4.5)
- Análise estruturada da ligação — tópicos, dores, objeções, action items, sentimento (Claude Sonnet 4.6)
- Próximo passo recomendado com talking points e urgência (Claude Sonnet 4.6)
- Rascunho do e-mail de follow-up com citações em colchetes ligadas a trechos da transcrição (Claude Sonnet 4.6)
O revisor vê uma UI dividida: e-mail à esquerda, transcrição à direita. Passar o mouse sobre uma citação destaca o trecho correspondente. O revisor pode aprovar, editar o corpo no lugar ou regerar o escritor com feedback. A regeração reusa o estado anterior de pesquisa, análise e estratégia; só o escritor roda de novo.
Por que construí
Queria um único projeto que exercitasse o stack moderno de IA inteiro em qualidade de produção: orquestração multi-agente com estado persistido, manipulação de áudio real, tool use estruturado, prompt caching e formato multi-tenant B2B. Sales enablement foi o domínio porque o workflow é genuinamente linear-com-rollback, que é o ponto-doce para grafos de agentes.
Como funciona
Orquestração multi-agente
- Quatro nós sequenciais (pesquisa → transcrição → análise → estratégia → escritor)
- Cada nó retorna output estruturado via Anthropic tool use + schema Zod. Sem outputs em texto livre.
- Cada passo grava uma linha
AgentRunStep. A execução pausa emAWAITING_APPROVALapós o nó escritor. - Prompt caching da Anthropic ativado em mensagens de sistema — ~70% de redução de tokens de input em execuções repetidas.
- Regeração do escritor reusa estado upstream.
- Execução em background via
after()route handler do Next.js 16 (maxDuration = 300).
Processamento de áudio
- Upload drag-drop vai do browser para Supabase Storage via URL assinada. Servidor não está no caminho do upload.
- Groq Whisper Large v3 transcreve com timestamps em nível de segmento.
- Tipo MIME e cap de 100 MB validados tanto na server action quanto na bucket policy.
- O escritor recebe segmentos de transcrição taggados com índices em colchetes; as citações referenciam esses índices.
- A UI dividida faz scroll até o segmento citado quando o revisor passa o mouse.
Multi-tenant B2B
Workspaces, papéis (OWNER, ADMIN, MEMBER), convites, API keys, audit log. Três camadas de isolamento — escopo de linha no Postgres, guards na camada de aplicação em toda server action e bucket policies do Supabase Storage com chave no ID do workspace.
Status
Em desenvolvimento ativo. O pipeline de agentes + tenancy de workspace funcionam; polimento de UI e demo público estão em andamento.
Perguntas
O que é o Sonar?
Sonar é um workspace de IA multi-agente para times de vendas. Um SDR faz upload da gravação de uma ligação; ~20 segundos depois tem pesquisa sobre a empresa do prospect, análise estruturada da ligação, próximo passo recomendado e um rascunho de e-mail de follow-up com citações ligadas a trechos específicos da transcrição.
Como funciona a orquestração multi-agente do Sonar?
Quatro nós sequenciais — pesquisa, análise, estratégia, escritor — cada um retornando output estruturado via tool use da Anthropic com schemas Zod. Cada passo grava uma linha AgentRunStep no Postgres; a execução pausa em AWAITING_APPROVAL após o nó escritor para revisão humana. O escritor pode ser regerado com feedback sem reexecutar os nós upstream.
Por que o Sonar usa prompt caching da Anthropic?
As mensagens de sistema são cacheadas em todos os nós. Em execuções repetidas contra o mesmo workspace, isso reduz tokens de input em ~70%, o que se compõe diretamente em ganhos de latência e custo conforme o corpus de contexto do workspace cresce.