Proteger o fluxo conversacional

Proteger o fluxo conversacional é exatamente o ponto central quando a IA conversa com MCPs que dependem de sistemas legados.


O que significa “proteger o fluxo conversacional”

É impedir que a latência, falhas ou imprevisibilidade do legado:

  • quebrem o raciocínio da IA
  • causem timeout de tool call
  • façam a IA “desistir” da intenção do usuário
  • gerem respostas confusas ou contraditórias

👉 Em resumo: a IA nunca deve esperar o legado.


Os 6 pilares para proteger o fluxo conversacional

1️⃣ Responder rápido sempre (mesmo sem o dado final)

A pior coisa para a IA é silêncio.

✅ O MCP sempre responde dentro do timeout, mesmo que não tenha o preço ainda.

Exemplo de resposta saudável:

{
  "status": "processing",
  "intent": "frete",
  "confidence": "pending",
  "retryAfterMs": 800
}

✅ A IA entende:

  • a intenção foi reconhecida
  • o serviço está vivo
  • ela pode continuar conversando

❌ O que NÃO fazer:

  • segurar a resposta esperando o legado
  • estourar timeout

2️⃣ Separar “conversacional” de “transacional”

Nunca exponha o legado direto para a IA.

Camadas corretas

IA └── MCP (conversacional, rápido) └── Orquestrador / Cache └── Legado (lento, instável)
  • MCP fala a linguagem da IA
  • Legado fala a linguagem do sistema antigo
  • Eles não compartilham SLA

3️⃣ Cache agressivo (não é opcional)

Sem cache, não existe IA conversacional viável sobre legado.

Cache mínimo recomendado

  • CEP origem (prefixo)
  • CEP destino (prefixo)
  • faixa de peso
  • faixa de dimensão
  • tipo de serviço

👉 Isso cobre 80–95% das consultas.

Resultado

  • Hot path: 30–100 ms
  • IA feliz
  • Legado protegido

4️⃣ Contrato de resposta tolerante a incerteza

A IA não exige exatidão imediata, ela exige coerência.

✅ Bom contrato

{
  "status": "ok | partial | unavailable",
  "price": 23.40,
  "deadlineDays": 5,
  "confidence": "high | medium | low",
  "source": "cache | legacy",
  "retryAllowed": true
}

A IA passa a:

  • explicar incerteza ao usuário
  • pedir confirmação
  • tentar novamente sem perder contexto

5️⃣ Timeouts curtos + fallback explícito

Nunca deixe o MCP esperar indefinidamente.

Regras de ouro

  • Timeout MCP → ≤ 3 s
  • Timeout legado → ≤ 2 s
  • 1 retry no máximo
  • Fallback SEMPRE claro

Exemplo:

{
  "status": "unavailable",
  "reason": "legacy_timeout",
  "fallback": "estimate_allowed"
}

👉 A IA segue o fluxo em vez de travar.


6️⃣ Idempotência e correlação

Toda chamada deve ter:

  • correlationId
  • mesma resposta para a mesma pergunta
  • repetição segura

Isso evita:

  • respostas diferentes no mesmo diálogo
  • confusão da IA
  • perda de confiança do usuário

Como isso fica na prática (exemplo real)

Usuário

“Quanto fica o frete para Brasília?”

Fluxo protegido

  1. IA chama MCP
  2. MCP responde em 80 ms (cache)
  3. Se cache falhar:
    • responde parcial
    • chama legado em background
  4. IA continua: “Estou calculando o valor exato, já te aviso.”

✅ Conversa fluindo
✅ Nenhum timeout
✅ Usuário confiante


Frase pronta para arquitetura / governança

Proteger o fluxo conversacional significa garantir que o MCP responda rapidamente e de forma previsível, independentemente da latência dos sistemas legados, usando cache, respostas parciais e contratos tolerantes à incerteza.


Importante (experiência prática)

Se a IA perder 2 ou 3 tool calls seguidas, ela:

  • muda de estratégia
  • simplifica a resposta
  • ou abandona o frete

👉 Não é bug, é mecanismo de sobrevivência do modelo.


Próximos passos

  • ✅ Desenhar um diagrama MCP × IA × legado
  • ✅ Criar um contrato JSON oficial
  • ✅ Ajudar a definir SLO conversacional
  • ✅ Simular timeout e fallback para Copilot Studio