Um usuário clica em Enviar depois que um assistente diz “Enviar fatura para Alice”, pois a interface faz com que esse resumo pareça corresponder à ação que será realizada.
A interface então executa uma solicitação cujo destinatário real é bob@vendor.com, e o usuário só descobre isso depois do ocorrido, quando a fatura chega à caixa de entrada errada.
Nada nessa falha exige que o modelo “invada” o produto.
A falha ocorre na fronteira da interface, onde o texto gerado se torna algo aprovado por um humano, e a interface permite que a descrição fluida do assistente substitua os parâmetros que serão efetivamente executados.
O próximo exemplo é uma interface de assistente simples que mostra a discrepância diretamente ao clicarmos no botão.
Este código torna o problema concreto ao separar o que a interface exibe do que a ação realmente enviaria; o clique revela o payload (dados) real que o produto transmitiria.
A discrepância que acabamos de ver ocorre porque o fluxo de um assistente no frontend possui múltiplos estágios distintos, e cada estágio pode gerar um tipo diferente de percepção equivocada ou insegura.
Podemos identificar quatro estágios controlados pelo frontend e associar cada um deles ao mesmo cenário de “envio de fatura”, garantindo que correções futuras sejam aplicadas no ponto correto do fluxo.
A vantagem de separar esses estágios é que cada um exige um controle de interface diferente, e um aviso exibido no estágio incorreto não evita o problema resultante.
O diagrama a seguir destaca as duas fronteiras mais importantes neste curso: onde o texto se transforma em DOM e onde a aprovação se transforma em uma solicitação.