Tire a regra de negócio do prompt do seu agente
Uma política de crédito, descontos ou elegibilidade pode ficar como código no GitHub e rodar dentro do fluxo como uma Function. Assim, você pode alterar e testar a regra separadamente e reconstruir depois qual versão estava em vigor.
Risco define que o limite do microcrédito sobe de 150 para 200 dólares. A regra que aplica esse limite está escrita dentro do prompt do seu agente, entre as instruções sobre como cumprimentar, pedir o documento e explicar uma rejeição.
Meses depois, chega uma consulta sobre uma solicitação específica: qual política estava em vigor quando ela foi avaliada, quem fez a última alteração e o que foi testado antes da publicação. Para responder, você precisa reconstruir o estado dessa regra naquela data. Se a política e as instruções da conversa são o mesmo texto, cada edição entra na mesma linha do tempo, e cabe a quem lê o histórico distinguir um ajuste de redação de uma mudança de política.
Quais regras escrever separadamente
Versionar o prompt inteiro não separa o histórico da regra do histórico das instruções da conversa. Os dois continuam compartilhando arquivo, autor e commit, mesmo quando esse arquivo está em um repositório.
Nem toda instrução precisa ser separada. Pergunte se o resultado da regra precisa ser verificável e se uma mudança pode precisar de revisão ou reconstrução mais adiante. Um valor máximo, um critério de elegibilidade ou um percentual de desconto atendem às duas condições. Uma instrução sobre como cumprimentar ou pedir um dado pode continuar no prompt.
Se você precisa verificar o resultado ou reconstruir a mudança, escreva a regra como lógica explícita. Assim, pode testá-la e implantá-la separadamente, e o histórico fica registrado como uma mudança própria.
Onde a regra fica e como é executada
Em um repositório, a política entra no mesmo circuito de qualquer outra mudança de software: você pode ver o que mudou, quem fez a alteração e conservar o histórico. Cada organização define quem revisa e como a aprovação do negócio é registrada. A regra fica disponível para uma revisão separada do prompt.
Jelou Functions faz esse arquivo rodar dentro do fluxo. Uma Function é um código TypeScript que você implanta e que o agente invoca como ferramenta. Ela recebe os dados que o fluxo já consultou, aplica a política e devolve uma decisão estruturada. Neste padrão, a Function não consulta nada por conta própria, por isso você pode executá-la com dados fornecidos por você.
Ela não inventa a regra: executa a política que sua empresa já definiu. No exemplo, a política inteira está em três constantes:
const MAX_AMOUNT = 150;
const MIN_MONTHS = 3;
const MAX_MORA = 15;
A resposta traz a decisão e os motivos que a sustentam. O agente usa esses motivos para explicar o resultado, enquanto a pessoa no WhatsApp vê uma única conversa.
O que acontece quando Risco aumenta o limite
Risco aumenta o limite para 200, e isso é uma linha em um arquivo.
O diff mostra exatamente o que mudou. Os testes rodam com casos conhecidos e dados que não saem da produção. A implantação também não acontece sozinha: o workflow do exemplo não tem trigger por push. Uma pessoa o executa na aba Actions ao selecionar Run workflow.
A mesma solicitação de 180 dólares é rejeitada enquanto o limite é 150:
{
"decision": "rejected",
"approvedAmount": 0,
"reasons": ["O valor supera o limite de $150"],
"nextStep": "none"
}Com o limite em 200, a resposta é uma aprovação:
{
"decision": "approved",
"approvedAmount": 180,
"reasons": ["Atende à política vigente"],
"nextStep": "biometrics"
}O prompt não foi alterado. Para responder à consulta inicial, você pode seguir três registros: o commit mostra o que mudou e quem fez a alteração; o histórico de implantações mostra quando ela chegou à produção; e, se passou por um pull request, a revisão ficou registrada ali.
Quando deixar a instrução no prompt
Separar uma regra tem um custo: você define entradas e saídas, escreve testes, implanta código e faz a manutenção. Esse custo não se justifica para uma instrução que orienta o tom de uma resposta. Ela pertence ao prompt.
Abra o prompt de um dos seus agentes e procure as frases que tomam uma decisão: um valor, um limite, um critério de elegibilidade. Para cada uma, pergunte se alguém pode precisar verificar por que aquele resultado foi devolvido ou revisar a mudança que o alterou. Essas são boas candidatas para uma lógica separada.
Suporte
Ficou alguma dúvida?
Abra pela sua conta.
Como nos escrever