Pular para o conteudo
MODULO 3.2

βš–οΈ O comparativo de verdade

Agentic, loop e graph nao sao um ranking β€” sao tres estruturas diferentes pra tres tamanhos de problema. Este e o modulo que voce guarda: o mesmo caso, construido nas tres formas, pra voce ver com os proprios olhos onde cada uma ganha e onde cada uma cobra o preco.

6
Topicos
45
Minutos
Central
Nivel
Comparativo
Tipo
Progresso deste modulo
0%0 de 6
1

🧭 Entenda "agentic": um agente com ferramentas e julgamento

"Agentic" descreve um jeito de usar um modelo, nao uma arquitetura. Voce descreve o objetivo, entrega um conjunto de ferramentas (busca, terminal, editor de arquivo) e deixa o modelo decidir, passo a passo, o que fazer a seguir. Nao ha um diagrama previo do caminho β€” o caminho e descoberto em tempo real, dentro da propria conversa.

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

  • Julgamento do modelo: a decisao de "o que fazer agora" acontece dentro da cabeca do modelo, token a token β€” nao existe uma linha de codigo que diz "depois disso, faca aquilo".
  • Teste de saida: uma condicao explicita e verificavel que diz quando o trabalho terminou (ex.: "os testes passaram"). Agentic puro raramente tem um; ele para quando o modelo "acha" que acabou.

Isso nao e defeito, e a caracteristica. Serve exatamente pra tarefa aberta e exploratoria β€” "investiga esse bug estranho", "le esse repositorio e me conta o que faz" β€” coisa que roda uma vez, onde voce nao sabe de antemao quais passos vai precisar. Tentar desenhar o fluxograma antes seria perda de tempo: voce nao sabe o fluxo ainda.

βœ“ Agentic serve bem quando

  • βœ“A tarefa e exploratoria β€” voce nao sabe os passos de antemao
  • βœ“Roda uma vez ou poucas vezes, sob supervisao humana
  • βœ“O custo de um passo errado e baixo e reversivel

βœ— Agentic cobra caro quando

  • βœ—A tarefa se repete todo dia β€” voce reexplica o mesmo objetivo sempre
  • βœ—Precisa de garantia de "isso sempre vai acontecer nessa ordem"
  • βœ—Ninguem consegue prever o custo de tokens porque o caminho muda a cada rodada

Conceitos-chave

Decisao

Mora na cabeca do modelo

Ferramentas

Voce da, ele escolhe usar

Sem ciclo desenhado

Caminho descoberto na hora

Tarefa aberta

Roda uma vez, exploratoria

2

πŸ” Entenda "loop": o ciclo desenhado com teste de saida

No loop voce para de escrever prompt e comeca a projetar ciclo. Em vez de confiar que o modelo vai lembrar de verificar o proprio trabalho, voce escreve isso em codigo: descobrir β†’ planejar β†’ agir β†’ verificar β†’ parar. A estrutura sai da cabeca do modelo e vira algo que voce le, versiona e testa.

πŸ’‘ A condicao de parada e o que muda tudo

Um loop so vira loop de verdade quando existe um teste de saida explicito β€” algo que voce pode rodar e que responde sim/nao: "os testes passaram", "o schema validou", "a nota do revisor e maior que 8". Sem esse teste, voce so tem um agentic com mais uma volta.

  • β€’O modelo ainda decide o que fazer dentro de cada etapa, mas nao decide mais a ordem das etapas
  • β€’Voce ganha reprodutibilidade: o mesmo processo roda igual na segunda-feira e na sexta
  • β€’Voce paga com engenharia: alguem precisa escrever e manter esse ciclo

Serve pra tarefa repetivel com criterio de sucesso verificavel: gerar um relatorio toda manha, corrigir um bug ate os testes ficarem verdes, escrever um texto ate passar num checklist de qualidade. Se voce roda a mesma coisa mais de uma vez e sabe dizer quando ela deu certo, o loop e a estrutura certa.

Conceitos-chave

Ciclo desenhado

Descobrir/planejar/agir/verificar/parar

Teste de saida

Condicao verificavel, nao "achismo"

Estrutura em codigo

Sai da cabeca, vira artefato

Tarefa repetivel

Roda toda vez, criterio claro

3

πŸ•ΈοΈ Entenda "graph": loops compostos com arestas explicitas

Um grafo (nesse sentido de arquitetura de agentes) e varios loops ligados por arestas escritas antes de rodar. Cada no do grafo e, ele mesmo, um loop β€” com seu proprio modelo, suas proprias ferramentas, suas proprias permissoes e sua propria instrucao. O caminho entre os nos e o que o grafo acrescenta.

grafo β€” o caminho entre os nos e escrito antes de rodar no A loop no B loop no C loop cada caixa continua sendo um loop β€” o que muda e a aresta ENTRE elas, escrita antes de rodar

O que olhar: a caixa tracejada e nova, mas o conteudo de dentro nao e β€” cada no ainda tem sua propria voltinha (o "loop" escrito dentro dele). O grafo nao substitui o loop, ele compoe loops. E o que o proximo topico vai construir com um caso real.

Conceitos-chave

No = loop

Cada no tem seu proprio ciclo

Aresta pre-escrita

O caminho existe antes de rodar

Isolamento

Modelo, ferramentas e permissoes proprios por no

Composicao

Grafo compoe, nao substitui, o loop

4

πŸ“° Construa o mesmo caso nos tres formatos

O caso e um resumo diario de pesquisa: toda manha o sistema le algumas fontes sobre um tema, escreve um resumo de uma pagina, e confere se o resumo esta correto antes de mandar. Vamos construir esse mesmo objetivo tres vezes β€” e comparar o que acontece em cada versao.

1

Como loop unico sobrecarregado

Um agente faz tudo numa janela so: busca fontes, escreve, revisa.

Ele abre as fontes uma por uma β€” porque loop e sequencial por forma β€” e despeja o HTML bruto de cada uma no mesmo contexto (a janela de texto que o modelo esta "vendo" naquele momento). Quando chega na hora de revisar, esse contexto virou um pantano: HTML cru, prosa meio escrita e raciocinio anterior tudo boiando junto. E o pior: ele revisa no mesmo contexto onde escreveu β€” entao tende a carimbar o proprio trabalho.

2

Como grafo pequeno

Tres nos, estado fluindo entre eles, cada um com contexto proprio.

Pesquisador abre em N fontes em paralelo β€” isso e fan-out: abrir uma tarefa em varios ramos ao mesmo tempo. Ele entrega so as notas (nao o HTML cru) pro escritor, que recebe um contexto limpo β€” sem o lixo da busca, so o que importa pra escrever. O escritor entrega o rascunho pro revisor, que tambem tem contexto novo: ve so o texto e o criterio de qualidade, com uma aresta de volta "reprovado" pro escritor se nao passar.

f1 f2 fN pesquisador fan-out em N fontes notas escritor contexto limpo rascunho revisor contexto novo reprovado + criticas (volta pro escritor) envia

O que olhar: tres coisas cruzam as arestas β€” notas, rascunho e criticas β€” e nenhuma delas e o HTML bruto das fontes. Isso e o que separa a versao grafo da versao loop unico: cada no recebe so o que precisa, nunca o transcript inteiro do no anterior. (Transcript = o historico completo de uma conversa/execucao, com todo o raciocinio intermediario β€” util pra depurar, pesado demais pra passar adiante como entrada.)

Dimensao agentic loop graph
Quem decide o proximo passoo modelo, a cada tokeno modelo, dentro de um ciclo fixoo modelo, dentro de cada no; o roteamento entre nos e fixo
Onde mora a estruturana cabeca do modeloem codigo, um cicloem codigo, um diagrama de nos e arestas
Paralelismonenhum nativonenhum β€” o loop e sequencial por formafan-out/fan-in de primeira classe
Contextouma janela so, cresce sem limiteuma janela por volta do cicloum contexto limpo por no
Como voce depuralendo o transcript inteirolendo o transcript de cada voltalendo o diagrama + o estado em cada aresta
Custo de manutencaobaixo (so o prompt)medio (ciclo + condicao de parada)alto (N prompts + state schema + roteamento)
Quando usartarefa aberta, roda uma veztarefa repetivel, um agente bastatarefa repetivel que precisa de especializacao/paralelismo real

Conceitos-chave

Mesmo caso

Daily brief nos tres formatos

Fan-out

Abrir 1 tarefa em N ramos

Contexto limpo

Cada no ve so o que precisa

Aresta de volta

Reprovado leva de volta ao escritor

5

✨ Saiba o que o grafo da de genuinamente novo

Sao tres coisas concretas, nao uma vibe de "mais avancado". Primeiro: nos paralelos especializados com contextos limpos e separados β€” o pesquisador nao carrega o vocabulario de revisor, o revisor nao carrega o ruido da busca. Segundo: fan-out e fan-in como movimento de primeira classe β€” abrir uma tarefa em N ramos, rodar ao mesmo tempo, juntar o resultado. Terceiro: fluxo de controle explicito e auditavel β€” o caminho e um diagrama que voce le, nao algo que voce reconstroi lendo um transcript de 40 mil tokens.

PROFUNDIDADE β€” o loop no no no fim LARGURA β€” o grafo plano ag1 ag2 agN resultado

O que olhar: os dois lados resolvem "fazer mais coisa" de jeitos opostos. O loop cresce pra baixo β€” mais voltas no mesmo no. O grafo cresce pra fora β€” mais nos rodando ao mesmo tempo. Nao da pra fazer um fan-out real dentro de um loop unico; ele so sabe repetir, nao dividir.

Panorama em quatro estagios mostrando a evolucao de agentic para loop e depois para graph, com uma faixa horizontal comparando loop (ciclo unico, sequencial) e graph (nos paralelos ligados por arestas com fan-out e fan-in).
O que olhar: a faixa que separa loop de graph nesse panorama e a mesma divisoria do SVG acima β€” profundidade de um lado, largura do outro. Os quatro estagios nao sao um ranking de maturidade; sao quatro respostas a perguntas diferentes sobre o mesmo problema.

Conceitos-chave

No especializado

Contexto limpo e separado

Fan-in

Juntar os N ramos de volta

Auditavel

Diagrama que se le, nao se reconstroi

Largura x profundidade

Grafo cresce pra fora, loop pra baixo

6

πŸ’Έ Saiba o que o grafo cobra

Nada disso e de graca. Voce passa a manter tres prompts em vez de um β€” cada no tem sua propria instrucao, e as tres precisam evoluir juntas sem quebrar as arestas entre elas. Voce precisa definir um state schema: o formato exato do que o pesquisador entrega pro escritor, do que o escritor entrega pro revisor. Sem esse contrato escrito, os nos comecam a se desentender sobre o que "notas" ou "rascunho" significam.

⚠️ Modos de falha que so existem no grafo

  • Merge que engole uma fonte em silencio β€” o fan-in junta 5 ramos, um falhou, e ninguem percebeu que faltou uma fonte no resumo final.
  • Roteamento que fica indo e voltando pra sempre β€” a aresta "reprovado" manda de volta pro escritor, que escreve de novo, que e reprovado de novo, sem limite de tentativas.
  • Estado que vaza de um no pro outro β€” o contexto que deveria estar limpo carrega lixo do no anterior porque o state schema nao foi respeitado.

βœ“ A sobrecarga compra qualidade quando

  • βœ“A tarefa roda todo dia β€” o custo fixo de montar o grafo se paga em repeticoes
  • βœ“Existe paralelismo real a explorar (N fontes, N ramos)
  • βœ“Especializar cada no de fato melhora o resultado (revisor com criterio proprio)

βœ— A sobrecarga e imposto puro quando

  • βœ—A tarefa roda uma vez β€” voce nunca recupera o custo de montar tres prompts
  • βœ—Nao ha nada pra paralelizar β€” e um processo genuinamente sequencial
  • βœ—Um unico no, com todas as ferramentas e todas as instrucoes β€” isso e loop reinventado; a estrutura de grafo nao esta fazendo nada

πŸ§ͺ Exemplo pratico: grafo degenerado x grafo de verdade

Objetivo: comparar o mesmo grafo.json do daily brief em dois formatos β€” o "grafo de um no so" (nome de grafo, corpo de loop) e o de tres nos (grafo de verdade) β€” e ver a diferenca no proprio arquivo.

// grafo.json β€” VERSAO DEGENERADA (1 no, todas as ferramentas, todas as instrucoes)
{
  "nodes": [
    { "id": "faz-tudo", "model": "<seu-modelo>",
      "tools": ["buscar", "escrever", "revisar"],
      "prompt": "Busque as fontes, escreva o resumo e revise ate ficar bom." }
  ],
  "edges": []
}
// isto NAO e um grafo funcional β€” e um loop com nome de grafo.
// zero arestas = zero coisa que a estrutura de grafo esta fazendo.

// grafo.json β€” VERSAO DE TRES NOS (grafo de verdade)
{
  "nodes": [
    { "id": "pesquisador", "model": "<modelo-rapido>", "tools": ["buscar"],
      "prompt": "Para cada fonte em paralelo, extraia so os fatos relevantes ao tema." },
    { "id": "escritor", "model": "<modelo-de-escrita>", "tools": [],
      "prompt": "Com base APENAS nas notas recebidas, escreva um resumo de 1 pagina." },
    { "id": "revisor", "model": "<modelo-critico>", "tools": [],
      "prompt": "Compare o rascunho com as notas originais. Aprove ou reprove com criticas especificas." }
  ],
  "edges": [
    { "from": "pesquisador", "to": "escritor", "carrega": "notas" },
    { "from": "escritor", "to": "revisor", "carrega": "rascunho" },
    { "from": "revisor", "to": "escritor", "quando": "reprovado", "carrega": "criticas", "limite_voltas": 2 }
  ]
}

Como verificar: conte os edges. Se a versao "grafo" do seu projeto tiver zero arestas ou um unico no com todas as ferramentas, e a versao degenerada β€” um loop disfarcado. Se tiver arestas com carrega definido (o que passa de um no pro outro), e um grafo de verdade.

Teste de vies: peca pro Claude Code julgar uma tarefa sua e dizer se ela merece agentic, loop ou graph β€” exigindo que ele justifique por que as outras duas nao servem. Se ele responder "grafo" pra uma tarefa que roda <uma vez so>, isso e viΓ©s de hype. Peca o custo de manutencao: quantos prompts, qual state schema, qual modo de falha novo ele esta assumindo.

Checagem rapida (nao bloqueia nada): voce tem um grafo com UM unico no, que tem todas as ferramentas e todas as instrucoes do processo. O que isso realmente e?

Conceitos-chave

State schema

O contrato entre nos

N prompts

Um por no, evoluindo juntos

Falhas novas

Merge, loop de roteamento, vazamento

NΓ³ degenerado

1 no com tudo = loop disfarcado

πŸ“Œ Resumo do Modulo

βœ“
Agentic β€” decisao na cabeca do modelo, sem ciclo desenhado; serve pra tarefa aberta que roda uma vez.
βœ“
Loop β€” ciclo desenhado com teste de saida explicito; serve pra tarefa repetivel com criterio verificavel.
βœ“
Graph β€” loops compostos, com arestas explicitas escritas antes de rodar; cada no e seu proprio loop.
βœ“
O que e novo de verdade β€” nos especializados com contexto limpo, fan-out/fan-in, fluxo auditavel.
βœ“
O que e rebatismo β€” a palavra "grafo"; maquina de estados e orquestracao ja existiam antes.
βœ“
A frase que sobrevive β€” "um loop e um no do grafo". Voce nao gradua de loop pra grafo; compoe loops em grafos quando um loop deixa de bastar.

Proximo Modulo:

3.3 β€” Mito x fato: separando o que o graph engineering promete do que ele de fato entrega.