Pular para o conteudo
MODULO 5.3

πŸ“‹ Biblioteca de prompts

Este e o modulo que voce volta pra consultar. Seis prompts prontos, testados, com o sinal exato de que a resposta prestou e o que fazer quando nao prestou. Cole, rode, verifique β€” nessa ordem.

6
Topicos
35
Minutos
Pratico
Nivel
Consulta
Tipo
Progresso deste modulo
0%0 de 6

Voce ja sabe o que e no, aresta, estado, verificador e teto de custo β€” isso foi o curso inteiro. Este modulo nao ensina conceito novo. Ele empacota tudo em seis prompts copy-run, cada um resolvendo um pedaco concreto do trabalho de graph engineering. Use a tabela abaixo pra achar rapido qual prompt serve pro que voce tem em maos agora.

Prompt Use quando O que devolve
1. Desenhe o grafoVoce tem um processo descrito em texto corrido, sem estruturaJSON com nos, arestas e perguntas de ambiguidade
2. Grafo vira scriptVoce ja tem um grafo.json e quer o codigo que executaScript que percorre o grafo com teto de custo e de voltas
3. Audite o grafoVoce quer achar defeitos antes de rodar em producaoLista dos cinco defeitos estruturais, um a um
4. Colisao entre loopsVoce tem varios objetivos automatizados rodando ao mesmo tempoPares em tensao, metrica-efeito-colateral, restricao faltando
5. State schemaDois nos vizinhos e voce nao sabe o que passa entre elesContrato da aresta em JSON Schema, com o que NAO deve passar
6. Verificador primeiroUm agente que entrega coisa ruim e voce nao sabe medir issoVerificador + caso ruim de teste, so depois o prompt do agente
o que voce tem em maos? um processo em texto um grafo.json varios objetivos automatizados (loops/agentes) dois nos que nao se entendem agente que entrega coisa ruim prompt 1 prompt 2 prompt 3 prompt 4 prompt 5 prompt 6 prompts 2 e 3 partem do mesmo grafo.json β€” script executavel Γ— auditoria prompt 6 tem brilho de proposito: se voce so tem uma coisa pra guardar deste modulo, e ele todo prompt aqui vem com "como verificar" β€” o agente concorda com voce se voce deixar

O que olhar: a caixa do topo so tem cinco saidas β€” voce sempre parte do que voce TEM (texto, grafo.json, lista de objetivos, dois nos, ou uma saida ruim) e nao do que voce quer produzir. Repare tambem que dois ramos (grafo.json) levam a prompts diferentes: um audita, o outro executa. Sao etapas distintas.

Conteudo detalhado

1

πŸ—ΊοΈ Desenhe o grafo do meu processo

Objetivo: voce descreve um processo do seu jeito, em texto corrido, do jeito que explicaria pra um colega novo. O agente devolve a primeira versao estruturada β€” nos, arestas e uma lista do que ficou ambiguo. Use este quando ainda nao existe grafo nenhum, so a bagunca na sua cabeca.

Voce e um engenheiro de grafos. Vou colar a descricao de um processo em texto
corrido. Sua tarefa:

1. Identifique os NOS β€” cada unidade de trabalho, decisao ou papel envolvido.
2. Identifique as ARESTAS β€” o que liga um no a outro, e QUANDO essa aresta e
   seguida (nunca escreva uma aresta sem a condicao "quando").
3. Devolva SOMENTE um JSON no formato abaixo, sem comentario fora do JSON:

{
  "nos": [
    { "id": "<nome-curto>", "papel": "<o que esse no faz>",
      "modelo_sugerido": "<ex: gpt-4o-mini, claude-haiku, humano>",
      "ferramentas": ["<ferramenta 1>", "<ferramenta 2>"] }
  ],
  "arestas": [
    { "de": "<id do no de origem>", "para": "<id do no de destino>",
      "quando": "<condicao exata, nunca 'sempre' se houver alternativa>",
      "passa": "<o que atravessa essa aresta β€” que dado>" }
  ],
  "perguntas": [
    "<o que ficou ambiguo na minha descricao e precisa de resposta minha>"
  ]
}

Processo: <cole aqui a descricao em texto corrido do seu processo>
Como verificar: abra o campo arestas e olhe o valor de quando em cada uma. Se TODAS disserem "sempre", o agente desenhou um pipeline linear, nao o seu processo real β€” quase todo processo com mais de tres passos tem pelo menos uma decisao. Peca de volta: "identifique onde ha decisao real β€” onde o caminho muda dependendo de alguma condicao".

πŸ†• Novo aqui? Duas palavras antes de seguir

  • Entrada orfa: uma situacao possivel que nenhuma aresta cobre β€” o fluxo chega ali e nao sabe pra onde ir. Aparece de novo no prompt 3.
  • Cardinalidade: quantas coisas precisam chegar (ou sair) de um no pra ele seguir em frente β€” "todas", "qualquer uma" ou "pelo menos N". Aparece no prompt 3.

Conceitos-chave

Ponto de partida

Texto corrido, sem estrutura

Saida

JSON: nos, arestas, perguntas

Sinal de pipeline falso

Todo "quando" = sempre

Proximo passo

Vira grafo.json pro prompt 2/3

2

βš™οΈ Transforme o grafo em script

Objetivo: este e o segundo passo do metodo de duas etapas β€” primeiro voce desenha o grafo (prompt 1), depois voce gera o codigo que o executa de verdade. Use este quando ja tem um grafo.json aprovado e quer sair do papel pra rodar.

Aqui esta o grafo.json de um processo (colado abaixo). Escreva um script em
<Python ou Node, escolha> que:

1. Carregue esse grafo.json.
2. Percorra os nos a partir de "<no-inicial>", respeitando a condicao
   "quando" de cada aresta antes de segui-la.
3. Para cada no, execute a acao descrita em "papel" (pode ser uma chamada de
   LLM, uma funcao, ou um print de placeholder se ainda nao tiver a
   implementacao real).
4. Aplique um TETO DE CUSTO total (em <tokens ou dolares>, defina um
   valor) β€” se ultrapassar, pare e reporte onde parou.
5. Para toda aresta de volta (uma aresta cujo destino ja foi visitado antes
   no mesmo caminho), exija um campo "max_voltas" no grafo.json e FALHE
   explicitamente se esse campo nao existir naquela aresta.
6. Logue cada no executado com: nome do no, duracao em ms, custo estimado,
   timestamp.

grafo.json:
<cole aqui o conteudo do seu grafo.json>
Como verificar: pegue o grafo.json que voce usou, apague o campo max_voltas de uma unica aresta de volta e rode o script de novo. Ele TEM que falhar de proposito, com uma mensagem clara apontando qual aresta esta sem teto. Se ele rodar do mesmo jeito (ou entrar num loop silencioso), o script nao implementou a trava β€” peca de volta explicitamente essa checagem.

πŸ’‘ Dica pratica

Peca sempre o log estruturado (nome, duracao, custo, timestamp) mesmo em rascunho. E o embriao da sua observabilidade (modulo 4.3) β€” sem log por no, voce nunca vai saber qual passo comeu o orcamento quando o grafo crescer.

Conceitos-chave

Metodo de 2 etapas

Desenhe, depois execute

Teto de custo

Para e reporta ao estourar

Teto de voltas

Obrigatorio em aresta de retorno

Log por no

Duracao, custo, timestamp

3

πŸ” Audite meu grafo

Objetivo: procura cinco defeitos estruturais especificos num grafo.json antes dele ir pra producao. Use este antes de rodar qualquer coisa com custo real β€” e antes de mostrar o grafo pro time como se estivesse pronto.

Audite o grafo.json abaixo. Procure especificamente estes cinco defeitos β€”
nao pule nenhum, mesmo que o grafo pareca limpo:

1. CICLO SEM TETO DE VOLTAS β€” alguma aresta de volta (destino ja visitado)
   sem campo "max_voltas"?
2. ARESTA CONDICIONAL SEM "QUANDO" β€” alguma aresta com valor generico tipo
   "sempre" ou "quando" ausente, saindo de um no que tem mais de uma
   aresta de saida?
3. ENTRADA ORFA β€” existe alguma combinacao de condicoes que NENHUMA aresta
   cobre? (ex: no de decisao com "aprovado"/"reprovado" mas falta o caso
   "sem resposta")
4. JUNCAO SEM CHECAGEM DE CARDINALIDADE β€” algum no recebe de multiplas
   arestas (fan-in) sem dizer se precisa de TODAS chegarem, QUALQUER UMA,
   ou um numero minimo?
5. NO SEM TETO DE CUSTO β€” algum no (principalmente os que chamam LLM ou
   ferramenta externa) sem limite de custo/tokens/tempo definido?

Para cada defeito encontrado, aponte: o id do no/aresta exato, por que e
um problema, e uma correcao sugerida em uma frase. Se nao encontrar nenhum
defeito de um tipo, diga explicitamente "nao encontrado" para aquele tipo
β€” nao pule a categoria.

grafo.json:
<cole aqui o conteudo do seu grafo.json>
Como verificar: pegue um grafo.json que voce sabe estar correto e quebre de proposito β€” apague um "quando", remova um "max_voltas", tire o teto de custo de um no. Rode a auditoria. Se ela nao apontar o defeito que voce acabou de inserir, o prompt esta frouxo demais e voce precisa reforcar a instrucao "nao pule a categoria" ou dividir em cinco chamadas separadas, uma por defeito.

βœ“ Auditoria bem usada

  • βœ“Rodar antes de cada mudanca grande no grafo, nao so na primeira versao
  • βœ“Testar o prompt contra um grafo quebrado de proposito, periodicamente
  • βœ“Guardar o "nao encontrado" explicito β€” vira historico de que foi checado

βœ— Auditoria mal usada

  • βœ—Rodar uma vez e nunca mais, mesmo com o grafo mudando toda semana
  • βœ—Aceitar "parece tudo certo" sem passar pelas cinco categorias
  • βœ—Rodar so no proprio grafo β€” nunca testar contra um caso quebrado conhecido

Conceitos-chave

5 defeitos fixos

Ciclo, condicao, orfa, cardinalidade, custo

Entrada orfa

Caso que nenhuma aresta cobre

Cardinalidade

Todas Γ— qualquer Γ— N minimo

Teste do prompt

Contra grafo quebrado de proposito

4

πŸ’₯ Ache a colisao entre loops

Objetivo: voce lista os objetivos automatizados (loops ou agentes) que ja rodam na sua operacao, e o agente aponta quais se pressionam mutuamente, qual metrica de um e efeito colateral do outro, e qual restricao entre metricas esta faltando. Use este quando tem mais de um loop rodando ao mesmo tempo β€” o cenario do modulo 2.3, so que aplicado ao seu caso.

Aqui esta a lista de objetivos automatizados (loops ou agentes) que rodam
na minha operacao hoje:

1. <objetivo 1 β€” ex: "loop de suporte: fecha ticket em menos de 2h">
2. <objetivo 2 β€” ex: "loop de vendas: maximiza conversao do funil">
3. <objetivo 3 β€” ex: "loop de qualidade: reduz taxa de reembolso">

Para cada PAR desses objetivos, responda:

1. Eles se PRESSIONAM MUTUAMENTE? Ou seja, otimizar um piora o outro?
2. Existe alguma METRICA que e efeito colateral direto de outro loop?
   (ex: "tempo de fechamento" cai, mas "reincidencia" sobe)
3. Que RESTRICAO entre metricas esta faltando no meu sistema hoje?
   (ex: "fechar rapido, MAS reincidencia abaixo de X%")

Nao me diga que nao ha colisao nenhuma sem antes checar cada par
explicitamente, um por um, e escrever o resultado do par.
Como verificar: se a resposta disser "nao ha colisao entre esses objetivos", peca de novo, forcando a checagem par a par. Em qualquer operacao real com mais de dois objetivos automatizados, sempre existe pelo menos uma tensao β€” se o agente nao achou nenhuma, ele nao olhou fundo o suficiente.

⚠️ O agente concorda com voce por padrao

Este e o motivo de todo "como verificar" existir neste modulo: um modelo de linguagem tende a validar a sua pergunta, nao a desafiar. Se voce perguntar "existe colisao?" de um jeito que soa como voce ja esperando "nao", e provavel que ele responda "nao" mesmo quando existe. Formule o prompt pra forcar a checagem explicita β€” como fizemos aqui, pedindo par a par β€” em vez de aceitar um veredito de bloco so.

Conceitos-chave

Par a par

Checagem explicita, nao veredito geral

Efeito colateral

Metrica de um que reage ao outro

Restricao faltando

O "mas" que falta no seu sistema

>2 objetivos

Sempre ha tensao em algum par

5

πŸ“ Escreva o state schema entre dois nos

Objetivo: dado dois nos vizinhos, este prompt define o contrato exato da aresta entre eles β€” nome dos campos, formato, o que e obrigatorio, e o que explicitamente NAO deve passar. Use este quando dois nos "nao se entendem" β€” um manda dado demais, dado de menos, ou no formato errado.

πŸ†• Novo aqui? Uma palavra antes de seguir

  • State schema: a definicao formal do que passa numa aresta β€” como um contrato entre dois nos, dizendo exatamente quais campos, em que formato, e o que fica de fora. Sem isso, cada no interpreta o dado de um jeito diferente.
Dados estes dois nos vizinhos do meu grafo:

NO A (origem): <nome e o que ele faz>
NO B (destino): <nome e o que ele faz>

Escreva o STATE SCHEMA da aresta entre eles β€” o contrato exato do que
atravessa essa ligacao. Devolva:

1. CAMPOS β€” nome de cada campo que passa de A para B.
2. FORMATO β€” tipo de cada campo (string, numero, enum, lista, objeto) e
   um exemplo de valor.
3. OBRIGATORIO x OPCIONAL β€” quais campos B nao funciona sem, quais sao
   so contexto extra.
4. O QUE EXPLICITAMENTE NAO DEVE PASSAR β€” liste pelo menos 3 coisas que A
   NAO deve mandar pra B (ex: raciocinio bruto do modelo, saida crua de
   ferramenta, historico completo da conversa) e por que cada uma
   incharia ou confundiria o no B.

Devolva em JSON Schema simplificado, pronto pra colar como validacao.
Como verificar: olhe a lista do item 4. Se ela vier vazia ou com "nada precisa ser bloqueado", o schema esta incompleto β€” sempre ha alguma coisa que nao deve atravessar (raciocinio bruto do modelo, saida crua de ferramenta, historico completo). Peca de volta especificamente esse item.

Conceitos-chave

Contrato da aresta

O que atravessa, formato e obrigatoriedade

O que NAO passa

Sempre ha algo β€” nunca lista vazia

JSON Schema

Formato pronto pra validar em codigo

Nos vizinhos

Um par por vez, nao o grafo inteiro

6

βœ… Escreva o verificador antes do prompt

Objetivo: inverte a ordem normal de trabalho. Em vez de escrever o prompt do agente e so depois pensar em como avaliar a saida, voce escreve primeiro como vai saber que deu certo β€” com um caso ruim de teste incluido β€” e so entao pede o prompt do agente. Use este quando um agente ja esta entregando coisa ruim e voce percebe que nunca definiu, de verdade, o que "bom" significa ali.

πŸ†• Novo aqui? Uma palavra antes de seguir

  • Caso ruim de teste: um exemplo de saida que parece boa a primeira vista mas esta errada β€” o teste de verdade de um verificador nao e aprovar o caso bom, e reprovar o caso que engana.
Antes de escrever o prompt do agente, quero o VERIFICADOR primeiro. O no
vai fazer: <descreva a tarefa do no, ex: "resumir um ticket de suporte em
ate 3 frases">.

1. Escreva uma funcao ou checklist de verificacao que recebe a SAIDA do no
   e devolve aprovado/reprovado com o motivo.
2. Inclua pelo menos um CASO RUIM DE TESTE β€” um exemplo de saida que
   PARECE boa a primeira vista mas esta errada (ex: resumo de 3 frases
   que omite a informacao mais importante do ticket), e o verificador tem
   que reprovar esse caso.
3. SO DEPOIS escreva o prompt do agente que gera essa saida.

Devolva nesta ordem: (a) verificador, (b) caso ruim de teste + resultado
esperado do verificador nesse caso, (c) prompt do agente.
Como verificar: pegue exatamente o caso ruim de teste que veio na resposta e rode o verificador contra ele, isoladamente. Se o verificador aprovar aquele caso, ele esta quebrado β€” e todo o loop construido em cima dele vai convergir pra algo que so PARECE bom, nunca pra algo que e bom de verdade.

⚠️ Este e o prompt mais importante da biblioteca

Todos os "como verificar" deste modulo existem porque um agente tende a concordar com voce quando o prompt e frouxo β€” e um verificador escrito depois do agente, sem caso ruim, herda essa mesma frouxidao. Escrever o verificador primeiro, com um caso que engana, e o unico jeito de saber se ele esta realmente medindo algo ou so validando o que voce ja esperava ver.

Checagem rapida (nao bloqueia nada): voce escreveu um verificador, testou contra o caso ruim, e ele aprovou o caso ruim mesmo assim. O que isso significa?

Conceitos-chave

Ordem invertida

Verificador antes do prompt

Caso ruim

Parece bom, esta errado

Verificador quebrado

Aprova o caso ruim = falha

Teto de qualidade

O loop nao passa do verificador

πŸ“Œ Resumo do Modulo

βœ“
Prompt 1 β€” desenhe o grafo β€” processo em texto vira nos, arestas e perguntas.
βœ“
Prompt 2 β€” vire script β€” grafo.json vira codigo com teto de custo e de voltas.
βœ“
Prompt 3 β€” audite β€” cinco defeitos fixos, testados contra um grafo quebrado de proposito.
βœ“
Prompt 4 β€” colisao entre loops β€” par a par, sempre ha tensao com mais de dois objetivos.
βœ“
Prompt 5 β€” state schema β€” contrato da aresta, sempre com o que NAO deve passar.
βœ“
Prompt 6 β€” verificador primeiro β€” o mais importante: teste contra um caso ruim antes de confiar nele.

🎯 Fim do curso β€” o que fica

Um loop ja e um grafo β€” um grafo cujo caminho volta a um no anterior. Voce nao gradua de loops pra grafos; voce compoe loops em grafos quando um loop deixa de bastar β€” e paga isso em prompts, state schema e modos de falha novos. Acerte o loop primeiro. So depois vale a pena compor.

E o recado final do curso: quem sabe o que e no e aresta absorve o proximo termo da moda em cinco minutos β€” le o anuncio, encontra o no e a aresta debaixo do nome novo, e segue trabalhando. Quem nao sabe larga tudo pra estudar de novo toda semana. IA e alavanca do que voce ja sabe β€” nao substituto por saber a base.