π¦ Confira os tres sinais antes de migrar
Existem exatamente tres sinais que autorizam trocar um loop por um grafo. Nenhum outro motivo conta β nem "grafo parece mais avancado", nem "todo mundo esta fazendo". Se nenhum dos tres esta presente no seu caso, migrar so vai te custar complexidade sem retorno.
Voce precisa rodar partes ao mesmo tempo
Buscar em tres fontes, gerar duas variacoes, checar dois criterios independentes β trabalho que nao depende um do outro e que um loop sequencial so consegue fazer um de cada vez.
Voce precisa de um revisor que NAO veja como o trabalho foi feito
Num loop de um contexto so, quem revisa carrega o mesmo raciocinio de quem escreveu β e tende a aprovar o proprio trabalho. Revisao cega exige um contexto limpo: um no que recebe so o resultado, nunca o caminho ate ele.
O contexto esta virando pantano
Depois de muitas voltas no mesmo loop, o agente acumula tanta coisa no contexto que perde a instrucao original β comeca a "esquecer" o objetivo. Isso e sinal de que uma responsabilidade precisa sair pra outro no, com contexto proprio.
π Novo aqui? Duas palavras antes de seguir
- Linha de base: os numeros da versao atual (custo, tempo, qualidade) medidos ANTES de qualquer mudanca β sem ela voce nunca sabe se uma migracao valeu.
- Contexto limpo: um no que recebe apenas o que precisa pra fazer o seu trabalho β nunca o raciocinio ou rascunho de quem fez a etapa anterior.
β Sinais que autorizam migrar
- βHa trabalho independente que hoje roda em fila
- βVoce precisa de um julgamento que nao veja o rascunho
- βO agente perde a instrucao original depois de N voltas
β Sinais de que o problema e outro
- β"Ta lento" β meca antes: pode ser prompt ruim, nao arquitetura
- β"O verificador aprova qualquer coisa" β troque o verificador, nao a estrutura
- β"Parece mais profissional ter varios agentes" β moda nao e engenharia
Conceitos-chave
Paralelismo, revisor cego, pantano
Moda nao autoriza migrar
Quase sempre e o culpado real
A base da revisao cega
π Meca antes de mexer
Antes de tocar em qualquer codigo, anote tres numeros da versao atual: custo por execucao (tokens ou dolares), tempo total (do inicio ao fim) e uma medida de qualidade que voce consiga verificar sozinho β por exemplo, quantas afirmacoes do resumo voce checou manualmente e estavam corretas, em 10.
Migracao sem linha de base e fe, nao engenharia. Sem esses tres numeros, voce nunca vai saber se o grafo entregou algo real ou se so trocou um problema por outro β mais bonito, mais caro.
π Os tres numeros que voce precisa anotar
- Custo por execucao β tokens consumidos ou dolares gastos numa rodada tipica
- Tempo total β do disparo ate o resultado final pronto
- Qualidade verificavel β uma amostra que voce mesmo confere (ex.: 10 afirmacoes, quantas batem)
π§ͺ Exemplo pratico: a planilha de linha de base
Objetivo: registrar os tres numeros da versao atual (o loop) antes de migrar, e o mesmo bloco depois β pra comparar de verdade no topico 6.
// linha-de-base.json β preencha ANTES de migrar
{
"versao": "loop",
"data": "<aaaa-mm-dd>",
"custo_por_execucao_usd": <numero>,
"tempo_total_min": <numero>,
"qualidade": {
"amostra": 10,
"afirmacoes_corretas": <numero de 0 a 10>
},
"observacoes": "<o que voce notou rodando 3-5 vezes>"
}
// linha-de-base.json β preencha DEPOIS de migrar, MESMAS entradas
{
"versao": "grafo",
"data": "<aaaa-mm-dd>",
"custo_por_execucao_usd": <numero>,
"tempo_total_min": <numero>,
"qualidade": {
"amostra": 10,
"afirmacoes_corretas": <numero de 0 a 10>
},
"observacoes": "<o que mudou de verdade>"
}
Como verificar: rode cada versao 3 a 5 vezes com as mesmas entradas antes de anotar β um numero unico pode ser sorte. Se voce nao consegue preencher os tres campos da versao atual agora, pare: meca primeiro, migre depois.
π‘ Dica pratica
Nao existe metrica de qualidade perfeita. A regra e simples: escolha algo que voce mesmo consiga checar sem ferramenta nova, e use o mesmo criterio nas duas versoes. Trocar de metrica no meio do caminho invalida a comparacao.
Conceitos-chave
Numeros ANTES de migrar
Custo, tempo, qualidade
Sem ferramenta nova
Um numero so pode ser sorte
βοΈ Corte nos pontos de mudanca de contexto
Quebre o loop onde muda a responsabilidade, a ferramenta ou o contexto necessario. Nao quebre em pontos arbitrarios β cada corte tem que corresponder a uma dessas tres mudancas, senao voce so criou mais nos sem criar mais clareza.
No resumo diario isso da tres nos naturais: quem busca (precisa de internet, produz notas), quem escreve (nao precisa de internet, precisa so das notas), quem confere (precisa de internet de novo pra checar fatos, mas NAO pode ver o rascunho sendo feito).
O que olhar: a esquerda, tudo empilhado num contexto so β busca, HTML bruto, rascunho e revisao amontoados, girando na mesma seta. A direita, tres caixas separadas: o pesquisador tem um leque de fontes em ciano (pode rodar em paralelo), passa notas pro escritor, que devolve um rascunho pro revisor. So a aresta vermelha volta β e com teto (max 2) e rotulo do que carrega.
β οΈ Corte errado: quebrar por "achar bonito"
Se voce nao consegue apontar qual das tres coisas mudou (responsabilidade, ferramenta, contexto) num corte, ele e artificial. Um grafo com nos artificiais e pior que o loop original: mais prompts pra escrever, mais arestas pra manter, e nenhum ganho real.
Conceitos-chave
Responsabilidade, ferramenta, contexto
Precisa de internet, produz notas
So precisa das notas
Internet de novo, mas contexto limpo
π Escreva o contrato entre os nos
Antes de escrever qualquer codigo, defina o que cada aresta carrega β isso e o state schema, o formato exato do dado que passa de um no pro proximo. O pesquisador entrega notas (nao HTML bruto β isso e o pantano voltando pela porta dos fundos); o escritor entrega rascunho; o revisor devolve aprovado + criticas.
Escreva tambem o que explicitamente NAO passa: o raciocinio do escritor nao vai pro revisor. Isso nao e um detalhe β e a diferenca entre um revisor de verdade e um revisor que so concorda com quem escreveu.
π§ͺ Exemplo pratico: o grafo.json do resumo diario migrado
Objetivo: ver o contrato completo β tres nos com config propria e as arestas com condicao (quando), payload (passa) e teto de volta (max_voltas).
// grafo.json β resumo diario migrado (loop -> grafo)
{
"nos": {
"pesquisador": {
"modelo": "<modelo-rapido>",
"ferramentas": ["busca_web", "leitor_rss"],
"contexto_limpo": false,
"produz": "notas"
},
"escritor": {
"modelo": "<modelo-de-escrita>",
"ferramentas": [],
"contexto_limpo": false,
"recebe": "notas",
"produz": "rascunho"
},
"revisor": {
"modelo": "<modelo-rapido>",
"ferramentas": ["busca_web"],
"contexto_limpo": true,
"recebe": "rascunho",
"produz": "aprovado_ou_criticas"
}
},
"arestas": [
{ "de": "pesquisador", "para": "escritor", "passa": "notas" },
{ "de": "escritor", "para": "revisor", "passa": "rascunho" },
{
"de": "revisor", "para": "escritor",
"quando": "aprovado == false",
"passa": "criticas",
"max_voltas": 2
}
]
}
Como verificar: se o revisor recebe qualquer campo
alem do texto e do criterio (por exemplo, as notas do pesquisador ou o historico de tentativas do escritor), o contexto
contexto_limpo nao esta cumprindo o que promete β e voce nao vai ganhar nada com a migracao,
porque o vies de "aprovar o proprio trabalho" continua ali, so que espalhado em dois nos.
π‘ O contrato e o que sobra depois que o hype passa
Frameworks de grafo v ao e vem. O que fica e a disciplina de dizer, por escrito, o que cada aresta carrega e o que ela nunca deveria carregar. Se voce escrever isso antes do codigo, a implementacao vira traduΓ§Γ£o mecanica; se pular essa etapa, o codigo vira o unico lugar onde o contrato existe β e ninguem revisa codigo pensando em contrato.
Conceitos-chave
Formato exato do dado na aresta
Bruto demais e o pantano de volta
Raciocinio fica com quem o gerou
Escreva o contrato primeiro
π Adicione a aresta de volta com teto
O revisor reprovando devolve pro escritor β essa e a aresta de volta, o ciclo dentro do grafo. Ela precisa de no maximo N voltas e de um criterio de progresso: "duas voltas sem melhora = desiste e me avisa" e um criterio; "tenta ate dar certo" nao e.
Sem teto, a fatura e infinita β o mesmo problema de qualquer ciclo sem condicao de parada. Sem criterio de progresso, voce paga N voltas mesmo quando duas ja bastavam pra saber que aquilo nao vai melhorar.
O que olhar: repare que ha duas perguntas, nao uma. A primeira filtra quem nem precisava mexer em nada (melhore o verificador). Sa se voce chegar na segunda pergunta e responder "sim" a caixa com brilho β "monte o grafo" β e que a migracao esta autorizada. Qualquer outro caminho leva de volta pro loop ou pra um problema que grafo nenhum resolve.
β οΈ Sem teto, a fatura e infinita
Toda aresta de volta que voce desenhar precisa carregar, ao lado, o numero maximo de voltas e o criterio que encerra antes desse maximo. Se voce nao consegue escrever essas duas coisas numa frase, a aresta ainda nao esta pronta pra producao.
Conceitos-chave
Maximo N, nunca infinito
Quando desistir antes do teto
Nao trava, notifica e para
O loop mora dentro do grafo
βοΈ Compare e tenha coragem de voltar atras
Rode os dois β loop e grafo β em paralelo por alguns dias, com as mesmas entradas. Preencha de novo a mesma planilha de linha de base do topico 2. Se o grafo nao melhorou nenhum dos tres numeros, volte pro loop: voce comprou complexidade sem retorno.
Admitir isso e parte do trabalho, nao fracasso. E o que separa engenharia de moda: engenharia mede e decide pelo numero; moda decide pela aparencia e defende a decisao depois.
Confira os tres sinais
Paralelismo, revisor cego ou pantano de contexto β sem um dos tres, nao migre.
Meca a linha de base
Custo, tempo e qualidade verificavel, da versao loop, repetidos 3-5x.
Corte nos pontos certos
Responsabilidade, ferramenta ou contexto β nunca corte arbitrario.
Escreva o contrato
O que cada aresta carrega β e o que explicitamente nao carrega.
Adicione a aresta de volta com teto
Maximo N voltas + criterio de progresso, nunca "tenta ate dar certo".
Compare e decida
Mesmas entradas, mesma planilha. Sem ganho nos tres numeros, volte pro loop.
β Fique com o grafo se
- βO tempo total caiu por causa do paralelismo real
- βA qualidade subiu porque o revisor de fato nao via o rascunho
- βO custo compensa o ganho β voce comparou os dois numeros lado a lado
β Volte pro loop se
- βO custo subiu e nenhum dos outros dois numeros melhorou
- βA qualidade e igual, so que agora com mais pecas pra manter
- βVoce nao sabe dizer o que melhorou β sinal de que nao mediu direito
Checagem rapida (nao bloqueia nada): voce migrou um resumo diario pro grafo de 3 nos, mas o custo por execucao dobrou e a qualidade ficou igual. O que fazer?
Conceitos-chave
Comparacao justa exige isso
Custo, tempo, qualidade β de novo
E parte do metodo
O numero decide, nao a aparencia
π Resumo do Modulo
Proximo Modulo:
5.2 β Grafos de negocio e de tarefas: modelar o funil multi-metrica e o backlog com depende/bloqueia.