Preparação para entrevista
SmellAbusos de controle

Prompt Máquina de Estados

Prompt as State Machine

Prompt Máquina de Estados (Prompt as State Machine) é um smell de IA, ou seja, um sinal de problema em sistemas com LLM, do grupo Abusos de controle. O prompt descreve etapas (primeiro pergunte o CPF, depois o endereço) e o modelo pula ou repete etapas.

Elemento
08/37
Nível
Intermediário
Leitura
3 min
Atualizado
Nesta página 7
  1. 01Como reconhecer
  2. 02Por que acontece
  3. 03Quanto custa ignorar
  4. 04Tratamento
  5. 05O que você ganha
  6. 06Quando ignorar
  7. 07É esse smell?
  8. ··Perguntas rápidas

Como reconhecer

Um onboarding por WhatsApp cadastra clientes de uma fintech. O fluxo inteiro está descrito no prompt (anonimizado):

Siga estas etapas, em ordem:
1. Cumprimente e peça o nome completo.
2. Peça o CPF. Valide o formato.
3. Peça o CNPJ da empresa.
4. Peça uma foto do documento com foto.
5. Peça o comprovante de endereço (máximo 90 dias).
6. Só depois de TODAS as etapas, envie os termos.
Não pule etapas. Não repita etapas já concluídas.

O trace de uma conversa real mostra o CPF pedido três vezes, porque o cliente respondeu com o CPF e o CNPJ na mesma mensagem e o modelo se perdeu na contagem. Em outra conversa, o cliente disse “já mandei o comprovante ontem” (não tinha mandado) e o modelo pulou para os termos.

Sinais de Prompt Máquina de Estados:

  • O prompt tem etapas numeradas e instruções como “não pule” e “não repita”.
  • O estado da conversa (o que já foi coletado) só existe no histórico de mensagens.
  • O modelo pula, repete ou inverte etapas de vez em quando.
  • Respostas fora de ordem ou com duas informações de uma vez confundem o fluxo.
  • Retomar a conversa depois de um tempo leva a perguntas repetidas.
  • O usuário consegue convencer o modelo de que uma etapa já foi feita.
flowchart LR
  IN(["1. Mensagem"]):::io --> H[("2. Histórico como único estado")]:::store
  H --> P(["3. Prompt com o roteiro"]):::llm
  P --> D{"4. Modelo adivinha a etapa"}
  D --> OUT(["5. Próxima pergunta, às vezes errada"]):::io
  1. Cada mensagem chega.
  2. Não existe um registro do que foi coletado, só a conversa.
  3. O prompt descreve o roteiro em texto.
  4. O modelo precisa reconstruir, a cada mensagem, em que etapa está.
  5. Quando reconstrói errado, pula ou repete.
Checagem +20 XP de primeiraO cliente manda CPF e CNPJ na mesma mensagem. O bot pede o CPF de novo na fala seguinte. Qual é a falha de desenho?

Por que acontece

  • Descrever o fluxo em texto é rápido. Um parágrafo substitui um diagrama de estados e o código dele.
  • Funciona no caminho feliz. No teste, o usuário responde uma coisa de cada vez, na ordem.
  • O modelo parece entender o processo. E entende na maioria das vezes, o que esconde o problema.
  • Não há lugar para o estado. O sistema nasceu como chat, e chat só tem mensagens.

KYC (cadastro de cliente) no Brasil pede CPF, documento e comprovante com prazo. LGPD pede que você saiba o que coletou. Um onboarding cujo “estado” é o histórico do WhatsApp não consegue responder nem a uma nem a outra com precisão.

A armadilha é tratar o modelo como motor de workflow. Ele extrai bem “isso é um CPF” e pergunta com tom humano. Ele é ruim em ser a fonte da verdade de “já temos comprovante válido”. Quem diz “já mandei ontem” está negociando com a máquina de estados. Se a máquina é o modelo, a negociação vence.

Quanto custa ignorar

  • Etapas obrigatórias puladas. Um cadastro sem comprovante pode ser um problema regulatório.
  • Abandono. Pedir o mesmo dado três vezes irrita, e o cliente desiste.
  • Manipulação. O usuário convence o modelo de que já entregou algo.
  • Retomada frágil. Conversas longas ou interrompidas perdem o fio.

O que o código veria, se o estado fosse explícito

Depois da mensagem com CPF e CNPJ juntos, o registro deveria ser:

{
  "name": "Ana Souza",
  "cpf": "123.456.789-00",
  "cnpj": "12.345.678/0001-99",
  "id_photo": null,
  "address_proof": null,
  "terms_sent": false
}

A próxima pergunta é a foto do documento, sempre. “Já mandei o comprovante” não muda address_proof enquanto o arquivo não estiver salvo. O modelo escreve a fala. O grafo decide a etapa.

Tratamento

Refatoração Escolha quando
Trocar Regra de Prompt por Aresta de Grafo Sempre. As etapas viram estados e transições em código; o modelo extrai dados e escreve as perguntas. Destinos: Roteamento e Encadeamento de Prompts.
Mover para Execução Durável O fluxo dura horas ou dias, com esperas por documentos ou aprovações. O estado é persistido a cada etapa. Destinos: Workflow Durável e Checkpoint e Retomada.

Papel de cada parte:

  1. O código guarda os campos e escolhe a próxima etapa.
  2. O modelo extrai o que veio na mensagem (um campo ou vários) e redige a pergunta.
  3. Validação de formato (CPF, data do comprovante) é código, não “valide o formato” no prompt.
  4. Se o cliente some e volta no dia seguinte, a execução retomada lê o mesmo registro, não o chat.

Erro comum: o grafo está em código, mas a cada mensagem você pede ao modelo “leia o histórico e diga em que etapa estamos”. Isso é o smell de novo, com um diagrama na parede.

Checagem +20 XP de primeiraO fluxo já é um grafo em código, mas a cada mensagem o sistema pede ao modelo que leia o WhatsApp e devolva os campos preenchidos. Qual risco sobra?

O que você ganha

  • Etapas obrigatórias garantidas por código.
  • Respostas fora de ordem aproveitadas, sem perguntar de novo.
  • Retomada exata depois de dias, porque o estado está salvo.
  • Nenhum “já mandei” aceito sem o dado estar registrado.

Quando ignorar

  • Conversas abertas sem etapas obrigatórias. Um assistente que só tira dúvidas não precisa de máquina de estados.
  • Fluxo curto e de baixo risco. Duas perguntas opcionais podem ficar no prompt.

É esse smell?

Checagem +20 XP de primeiraUm bot de agendamento descreve no prompt: 'pergunte o serviço, depois a data, depois o horário'. Às vezes ele pergunta o horário antes da data, mas o agendamento sempre sai certo porque o código valida tudo no fim. É Prompt Máquina de Estados?

Checagem +20 XP de primeiraO fluxo de cadastro está num grafo em código, mas o estado (campos coletados) é reconstruído lendo o histórico a cada mensagem. Qual é o risco que sobra?

Checagem +20 XP de primeiraO prompt tem 20 regras em maiúsculas, nenhuma sobre ordem de etapas, todas sobre tom e conteúdo. Qual smell se aplica?

Checagem +20 XP de primeiraUm assistente interno faz duas perguntas opcionais ('setor?' e 'urgente?') descritas no prompt. Se o usuário já disser os dois, o bot segue. Vale fatiar isso numa máquina de estados agora?

Perguntas rápidas

O que é Prompt Máquina de Estados?

Prompt Máquina de Estados (Prompt as State Machine) é um smell de IA, ou seja, um sinal de problema em sistemas com LLM, do grupo Abusos de controle. O prompt descreve etapas (primeiro pergunte o CPF, depois o endereço) e o modelo pula ou repete etapas.

Como corrigir Prompt Máquina de Estados?

Com Trocar Regra de Prompt por Aresta de Grafo e Mover para Execução Durável. Cada refatoração traz o passo a passo seguro, com eval antes e depois.

Onde Prompt Máquina de Estados aparece na prática?

Nos cenários reais Onboarding conversacional.

Para ir além

Relações

Aparece nos cenários 1
Buscar