Sonar

Em desenvolvimento

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

Função
Solo — design, engenharia, deploy
Período
set. de 2025 → Atual
Stack
  • Next.js 16
  • TypeScript
  • Claude Sonnet 4.6
  • Claude Haiku 4.5
  • Groq Whisper Large v3
  • Tavily
  • Supabase Storage
  • PostgreSQL
  • Prisma
  • Tailwind v4
  • shadcn/ui

O que faz

Um SDR faz upload da gravação da ligação. Cerca de vinte segundos depois, o Sonar retorna:

  1. Pesquisa sobre a empresa do prospect (Tavily + Claude Haiku 4.5)
  2. Análise estruturada da ligação — tópicos, dores, objeções, action items, sentimento (Claude Sonnet 4.6)
  3. Próximo passo recomendado com talking points e urgência (Claude Sonnet 4.6)
  4. 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 em AWAITING_APPROVAL apó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.

← Todos os projetos