Artigos
Pare de jogar o SOP direto no AI Agent: use a RFC 2119 (MUST/SHOULD/MAY) para controlar o comportamento do Agent com precisão
Jogar o SOP humano direto no LLM faz o Agent acertar uma vez e quebrar nas outras três. Veja como reescrever System Prompts e Agent Skills usando MUST, SHOULD e MAY da RFC 2119, separando restrições rígidas, recomendações fortes e decisões discricionárias, com três princípios práticos para implementação.
· 3 min de leitura
Ao colocar Agents em produção, a maior armadilha dos times é pegar um SOP feito para humanos no Word ou Notion e jogar direto no LLM, esperando que ele resolva tudo sozinho. O resultado parece loteria: funciona na primeira, quebra nas três seguintes.
O problema não é a capacidade do modelo, mas sim o volume de Tacit Knowledge (conhecimento tácito) embutido no SOP humano. O cérebro humano deduz no automático que "valores abaixo de 500 dispensam aprovação" ou que "se essa etapa der erro, dá para pular por enquanto". Já para o LLM, um texto não estruturado não tem limites de prioridade — ele simplesmente improvisa.
Para trazer determinismo ao comportamento do Agent, o primeiro passo não é trocar por um modelo maior, mas adotar um clássico dos padrões de protocolos de rede: a gradação semântica da RFC 2119.
Direto ao ponto: marque apenas compliance, segurança e o Schema principal como MUST; deixe as demais bordas para SHOULD e MAY; e delegue nós de alto risco para aprovação humana.
Por que a RFC 2119?#
Ao escrever um System Prompt, Agent Skill ou Workflow Rule, termos vagos como "preste atenção", "seria bom se" ou "tente ao máximo" não impõem limite algum ao modelo. Usar níveis claros de verbos força uma linha nítida de decisão.
MUST / REQUIRED: Restrição rígida, tolerância zero#
- Semântica: terminantemente proibido pular, sem exceções.
- Casos de uso: validação de dados, checagens de segurança, especificações de output de Schema, bloqueios de alto risco.
- Exemplo: "Antes de chamar a API de notas fiscais,
MUST validar se o ID do funcionário existe; se o retorno for vazio, MUST interromper a execução imediatamente."
- Semântica: a não ser que haja um motivo contextual muito forte, deve ser seguido; se houver desvio, o Agent deve justificar o Reasoning.
- Casos de uso: seleção de estratégia de algoritmos, preferências de classificação, lógica de retry.
- Exemplo: "Para Tickets de suporte ao cliente,
SHOULD priorizar o encaminhamento ao atendimento de primeiro nível; mas se envolver contestação financeira, é permitido rotear para a equipe de auditoria financeira."
MAY / OPTIONAL: Opcional e discricionário, decisão do modelo#
- Semântica: o modelo pode decidir se executa com base no contexto disponível ou no orçamento de tokens.
- Casos de uso: explicações complementares, sugestões de aprofundamento, formatos opcionais de log.
- Exemplo: "Ao gerar o resumo do atendimento,
MAY anexar 1~2 IDs de Tickets históricos com casos semelhantes para referência."
Três princípios para colocar em prática#
1. Evite entupir tudo de MUST, preserve o espaço de Reasoning#
Escrever todas as regras como MUST é tratar o LLM como um Deterministic Compiler, o que gera conflito entre regras ou deadlocks lógicos quando o Context estoura. Reserve o MUST apenas para compliance, segurança e o Schema principal; o restante das margens fica com o SHOULD.
Divida o Prompt nos quatro blocos abaixo para deixar o Scope de cada nível semântico evidente:
## Parameters
## Constraints (RFC 2119)
## Execution Steps
## Error Handling
3. Amarre nós de alto risco ao Human-in-the-loop#
Quando uma condição atingir uma fronteira crítica de MUST (como transação única > $5,000 ou alterações de permissão de Admin), o único comportamento de MUST do Agent deve ser "pausar a pipeline e aguardar o OK da aprovação humana", e nunca tomar a decisão no lugar de uma pessoa.
Conclusão: de brinquedo de Demo a Production-Ready#
Pense no Agent como uma linha de montagem industrial, e não como um faz-tudo onipotente. Criando esse contrato de comportamento com a RFC 2119, seu Agent finalmente deixa de ser um mero brinquedo de Demo para se tornar Production-Ready de verdade.