Turno do Agente de IA

do inbound no WhatsApp à resposta aprovada pelos guardrails

Turno do Agente de IA do inbound no WhatsApp à resposta aprovada pelos guardrails 01 / Canal (WAHA) 02 / App (ingestão) 03 / Agent Worker 04 / Guardrails EX / Handoff Humano EX / Config (Memória da Org) EX / Skills instaláveis (Fase 2) EX / Intent Router (Fase 3) EX / Evolução da IA (Fase 4) EX / Funil: etapas + mapeamento Msg inbound · cliente escreve · Canal (WAHA) Msg inbound cliente escreve Resposta sai · via WahaAdapter · Canal (WAHA) Resposta sai via WahaAdapter Webhook ingest · HMAC + dedup · App (ingestão) Webhook ingest HMAC + dedup event_log · fila em Postgres · App (ingestão) event_log fila em Postgres Follow-up cron · reentrada agendada · Agent Worker Follow-up cron reentrada agendada Turno IA · contexto + RAG + modelo · Agent Worker · runAgentTurn Turno IA contexto + RAG + modelo runAgentTurn Tool Breaker · circuit breaker de tools · Guardrails Tool Breaker circuit breaker de tools Before-send · cadeia de 7 gates · Guardrails · veto = HARD Before-send cadeia de 7 gates veto = HARD Handoff · humano: roteamento G5 · Handoff Humano Handoff humano: roteamento G5 Memória da Org · tela + API (app/app/ai/memory) · Config (Memória da Org) Memória da Org tela + API (app/app/ai/memory) org_memory · versão + ponteiro + aprendizados · Config (Memória da Org) org_memory versão + ponteiro + aprendizados Capacidades · pacotes + uso real (app/app/ai/agents) · Config (Memória da Org) Capacidades pacotes + uso real (app/app/ai/agents) Skills · tela + import .zip (app/app/ai/skills) · Skills instaláveis (Fase 2) Skills tela + import .zip (app/app/ai/skills) Skill catalog · skill_versions + pointers · Skills instaláveis (Fase 2) Skill catalog skill_versions + pointers Routers · tela + API (app/app/ai/routers) · Intent Router (Fase 3) Routers tela + API (app/app/ai/routers) ai_routers · intents + min_confidence + sticky · Intent Router (Fase 3) ai_routers intents + min_confidence + sticky Evolução da IA · tela + API (app/app/ai/evolution) · Evolução da IA (Fase 4) Evolução da IA tela + API (app/app/ai/evolution) Buscas na base · knowledge_searches: hits + limiar · Evolução da IA (Fase 4) Buscas na base knowledge_searches: hits + limiar Etapas · tela + API: criar · renomear · ganho/perda · arquivar · Funil: etapas + mapeamento Etapas tela + API: criar · renomear · ganho/perda · arquivar Mapa do funil · tela (settings/tenant/pipelines) · Funil: etapas + mapeamento Mapa do funil tela (settings/tenant/pipelines) crm_stages · agent_stage_hint: passo → etapa · Funil: etapas + mapeamento crm_stages agent_stage_hint: passo → etapa emite evento drain reentrada tools do CRM veto instrutivo aprovado handoff escreve versão/aprendizado injeta no prefixo estável importa .zip / instala do catálogo índice no prefixo + corpo casado no sufixo + read_skill_reference cria/edita router · testa classificação classifica a intenção e decide o agentConfig do turno toda busca na base grava hits · top_score · limiar quantas perguntas a base respondeu (e quais quase acertaram) lacuna vira ação: cadastrar o assunto lacuna vira ação: escolher a etapa que recebe o passo cria · renomeia · ganho/perda · arquiva arquivar mata o vínculo com o assistente sem etapa de fechamento, conserta aqui grava os 7 passos de uma vez o card anda para a etapa escolhida (mirrorLeadStageToCrm) tool_ids da versão uso e falha auditados Legend User UI Agent logic Policy Tool action Context / trace

Saídas do painel (Fase 4)

  • • Roteador e Mapa do funil são as arestas desenhadas; as outras saem por CTA
  • • Memória da Org (publicar regra) · Skills (instalar habilidade)
  • • Base de conhecimento (publicar material que faltou)
  • • Sem saída o painel seria vitrine: o número existe para virar conserto

Ordem dos 7 gates (invariante)

  • • 1 stop/opt-out · 2 LGPD · 3 pacing anti-ban
  • • 4 spinning · 5 promise · 6 semantic_promise
  • • 7 disclosure (1ª msg se apresenta como IA)
  • • Veto volta ao modelo como erro instrutivo

Capacidades: configurar e observar são a mesma peça

  • • Entrada: o humano liga pacotes por jornada; capacidade de risco crítico exige marcação individual
  • • Saída: tool_ids da versão publicada é o que pickToolsFromMcp entrega ao modelo
  • • Volta: api_audit_log (mcp.tool_called) → fn_agent_tool_usage → usos, falhas e última vez na aba Capacidades
  • • Sem a volta, ligar uma capacidade era um ato de fé: o log existia desde a Spec 11 e nenhuma tela lia