Pular para o conteudo
MODULO 1.2

🌍 Grafos no mundo real

Seis grafos que voce ja usa sem saber. Comecamos pela sua manha e terminamos no grafo de dependencias do seu build — que e, tecnicamente, quase a mesma coisa que um grafo de agentes.

6
Topicos
40
Minutos
Basico
Nivel
Aplicado
Tipo
Progresso deste modulo
0%0 de 6
1

☕ Modele sua manha

Voce dormindo. Voce acorda. Leva 2 minutos pra levantar. Mais 5 ate escovar os dentes. Mais 3 ate o cafe estar na xicara. Cada estado e um no, cada transicao e uma aresta, e cada intervalo e o peso. Voce acabou de modelar um processo.

O interessante comeca quando aparece um caminho alternativo. Digamos que alguem (ou um robo) traga o cafe na cama: agora existe uma aresta que sai de “acordar” e chega direto em “cafe”, pulando dois nos. O grafo nao mudou de natureza — so ganhou uma aresta. E, de repente, existe uma escolha a ser otimizada.

Diagrama em estilo lousa da rotina da manha como grafo: acordar, levantar, escovar os dentes, preparar cafe, tomar cafe e sair de casa, ligados por setas com pesos em minutos. Uma seta amarela liga acordar direto a preparar cafe com peso 5, rotulada cafe pronto ou automatizado. Legenda: circulos sao etapas, setas sao relacoes, numero e o peso em tempo.
O que olhar: repare que o grafo nao termina no cafe — ele segue ate “sair de casa”. Isso importa: onde voce corta o grafo define que pergunta ele responde. Se o seu objetivo e “sair de casa mais cedo”, o no “tomar cafe” (8 minutos ate a porta) pesa mais que toda a economia da seta amarela.

🆕 Novo aqui? O que e “modelar”

Modelar e escolher o que vira no, o que vira aresta e o que vira peso. Nao existe modelagem “certa” em abstrato — existe modelagem util pra pergunta que voce quer responder. Se a pergunta e “quanto tempo demoro”, o peso e minutos. Se e “quanto custa”, o peso e dinheiro.

Conceitos-chave

Estado = no

Onde voce esta

Transicao = aresta

Como voce sai dali

Intervalo = peso

Quanto custou

Atalho = escolha

Onde ha o que otimizar

2

👥 Leia o grafo social

Quando o LinkedIn diz “voces tem 3 conexoes em comum, adicione o Lucas”, ele esta te dando o resultado de uma travessia de grafo. Cada pessoa e um no. Cada relacao e uma aresta com peso: amizade, colegas de trabalho, temas em comum, outras redes onde voces aparecem juntos. “Estar a tres conexoes” significa literalmente tres arestas de distancia.

1 · trabalho 2 · faculdade 3 · tema voce Ana Bruno Lucas “3 conexoes de distancia” = 3 arestas no caminho

O que olhar: os numeros 1, 2, 3 em cima das linhas. “Graus de separacao” nao e metafora — e a contagem de arestas do caminho mais curto. E o rotulo de cada aresta (trabalho, faculdade, tema) mostra que arestas podem ter tipo, nao so peso.

📊 O que o algoritmo faz com isso

  • Recomendar pessoa: quem esta a 2-3 arestas e tem muitos vizinhos em comum
  • Recomendar conteudo: o que os vizinhos com aresta de peso alto consumiram
  • Detectar comunidade: grupos onde quase todo mundo se liga a quase todo mundo
  • Achar ponte: a pessoa que liga dois grupos que nao se conhecem — a aresta mais valiosa da rede

Conceitos-chave

Grau de separacao

Distancia em arestas

Aresta tipada

A relacao tem nome

Nao-dirigido

Amizade vale nos 2 lados

Ponte

A aresta que liga mundos

3

📈 Veja o trade-off: CAC, churn e LTV

Este e o exemplo mais importante do modulo, porque e ele que prepara o problema central do curso. Campanha → trafego → signup → conta criada → ativacao → assinante → (churn) → LTV. Os nos sao estados do cliente; as arestas sao as taxas de conversao entre eles.

🆕 Novo aqui? As tres siglas

  • CAC (custo de aquisicao de cliente): quanto voce gasta, em media, pra conquistar um cliente novo.
  • Churn: a taxa de gente que cancela. Churn alto = balde furado.
  • LTV (valor no tempo de vida): quanto um cliente te da de dinheiro no total, antes de ir embora. Se o LTV nao for bem maior que o CAC, o negocio perde dinheiro em cada venda.
2% 30% 45% 12% campanha trafego signup ativacao assinante LTV churn baixar o custo da campanha traz lead mais frio → churn sobe

O que olhar: a linha vermelha tracejada la embaixo. Um agente rodando em loop com o objetivo “baixar o custo de aquisicao” vai enxergar so a primeira aresta e vai acertar a missao dele. So que ele nao ve a tracejada: lead mais barato costuma ser lead mais frio, o churn sobe, o LTV cai — e o negocio piora enquanto a metrica melhora. Este e o motivo tecnico de uma metrica nunca ser suficiente.

Diagrama em estilo lousa do funil de crescimento como grafo: orcamento alimenta campanha, campanha gera trafego (alcance/impressoes), trafego leva a landing page, landing a signup, signup a ativacao, ativacao a retencao, retencao a LTV (receita por usuario) e tambem a churn (abandono, 1 menos retencao). Churn e LTV apontam de volta para CAC e campanha. Uma linha tracejada liga LTV a CAC com a razao LTV sobre CAC saudavel maior que 3. Em vermelho, um laco marcado otimizar CAC (baixar custo ou subir qualidade da campanha) e a nota melhor campanha gera trafego melhor, menor churn, maior LTV. No canto, a nota: um loop simples otimiza 1 metrica; o grafo mostra o impacto no sistema.
O que olhar: as setas vermelhas, que fecham um ciclo. O funil sozinho seria um DAG (so pra frente). Mas CAC volta pra campanha e o churn volta pro comeco — e e essa volta que faz o sistema ter comportamento proprio. Um agente em loop mira uma caixa; o grafo mostra que puxar “baixar CAC” move churn, retencao e LTV junto. Repare tambem no rotulo tracejado LTV/CAC > 3: e uma restricao entre duas metricas — algo que uma metrica sozinha nao consegue nem expressar.

Conceitos-chave

Estado do cliente

Cada etapa e um no

Conversao = peso

A % da aresta

Efeito colateral

Aresta que o loop nao ve

Multi-metrica

Uma so sempre engana

4

🎫 Aloque em paralelo: o grafo do backlog

Todo time grande acaba com um processo: primeiro uma epic (o objetivo grande), dentro dela stories (as historias de uso), dentro delas tasks, e as vezes subtasks. Isso parece uma arvore. Nao e: uma story quase sempre depende de outra, e ai a arvore vira grafo.

E por isso que gerente de produto gosta desse desenho: o grafo responde a pergunta que ele faz todo dia — quantas pessoas cabem trabalhando ao mesmo tempo aqui? Se dois ramos nao se bloqueiam, cabem dois. Quando uma tarefa terminar, libera mais um. Se duas subtasks estao em sequencia, nao adianta jogar duas pessoas nelas.

epic story A story B task A1 task A2 task B1 subtask B1.1 depende de livre agora

O que olhar: a linha vermelha tracejada. Sem ela, isto e uma arvore bonitinha e voce diria “cabem 3 pessoas”. Com ela, a task B1 so pode comecar depois da A2 — entao na verdade so duas frentes andam agora. Essa unica aresta cruzada e a diferenca entre um plano que funciona e um time parado esperando.

Diagrama em estilo lousa de um projeto de software: um EPIC no topo se decompoe em Historia A e Historia B; a Historia A tem Tarefa 1 e Tarefa 2, e a Tarefa 1 tem duas subtarefas; a Historia B tem Tarefa 3 e Tarefa 4, e a Tarefa 4 tem uma subtarefa. Uma seta vermelha vai da Tarefa 2 para a Tarefa 3 rotulada depende, e uma seta azul vai da Tarefa 3 para a Tarefa 1 rotulada bloqueia. A legenda distingue tres tipos de aresta: decomposicao em branco, depende (precisa terminar antes) em vermelho e bloqueia (impede o inicio) em azul.
O que olhar: a legenda, no canto inferior direito. Sao tres tipos de aresta diferentes no mesmo desenho — e e essa distincao que separa um organograma bonito de um grafo util. As linhas brancas (decomposicao) formam a arvore; a vermelha e a azul sao as que quebram a arvore e viram grafo. Conte as frentes que podem andar agora: a Tarefa 3 bloqueia a Tarefa 1, entao a metade esquerda que parecia livre… nao esta.

✓ Quebrar tarefa pra desbloquear

  • Fazer a tela com dados falsos enquanto o banco nao existe
  • Combinar o contrato (o formato dos dados) antes, e cada lado toca o seu
  • Separar “o que decide” de “o que executa”

✗ Falso paralelismo

  • Jogar 5 pessoas (ou 5 agentes) num ramo que so libera 1 no por vez
  • Chamar de “subtarefas independentes” duas coisas que mexem no mesmo arquivo
  • Ignorar a dependencia porque ela esta em outra epic

Conceitos-chave

Dependencia

Aresta que bloqueia

Largura

Quantos cabem agora

Desbloqueio

Quebrar pra liberar frente

Vale pra agente

Mesma conta, outra frota

5

📚 Ligue a documentacao que o agente le

A forma mais comum de dar contexto a um agente hoje e largar uma pasta cheia de arquivos .md e torcer. O agente le tudo, queima contexto e ainda mistura informacao velha com nova. A alternativa e transformar essa pasta num grafo: cada documento vira um no e voce declara como um documento se relaciona com o outro.

🧪 Exemplo pratico: transforme sua pasta de docs num grafo

Objetivo: sair de “um monte de .md solto” pra um mapa que o agente consegue navegar. Cole este prompt no Claude Code (ou em qualquer agente com acesso aos seus arquivos), dentro da pasta do projeto.

Leia todos os arquivos .md em <./docs> e me devolva um grafo de conhecimento em JSON.

Regras:
- Cada arquivo e um no: { "id", "arquivo", "assunto_em_1_frase", "publico" }
- Cada aresta e uma relacao TIPADA entre dois nos. Use SO estes tipos:
  "pre_requisito_de" | "detalha" | "contradiz" | "substitui" | "exemplo_de"
- Se dois documentos se contradizem, crie a aresta "contradiz" e explique
  em uma frase QUAL afirmacao conflita.
- Se um documento nao se liga a nenhum outro, liste-o em "orfaos".

Formato de saida (so o JSON, sem texto em volta):
{ "nos": [...], "arestas": [{"de","para","tipo","porque"}], "orfaos": [...] }

Como verificar: tres sinais de que deu certo — (1) o JSON e valido; (2) existe pelo menos uma aresta contradiz ou a lista de orfaos nao esta vazia (documentacao real sempre tem lixo); (3) voce olha o campo porque de 3 arestas e concorda com elas. Se todas as arestas forem “detalha”, o agente foi preguicoso — peca de novo exigindo variedade de tipo.

Troque: <./docs> pela sua pasta.

⚠️ Nao confunda com “graph engineering”

O que voce acabou de fazer e um grafo de conhecimento: um grafo de informacao que o agente consulta. Graph engineering (Trilha 4) e um grafo de execucao: quem roda, em que ordem, com que ferramentas. Sao coisas diferentes e o mercado mistura as duas o tempo todo. A Trilha 3 tem uma tabela so pra desfazer essa confusao.

Conceitos-chave

Doc = no

Cada arquivo, um no

Relacao tipada

Nem toda ligacao e igual

Navegar > ler tudo

Menos contexto queimado

Nao e o mesmo

Conhecimento ≠ execucao

6

🧱 Copie do build: o grafo de dependencias

Este e o grafo mais parecido com o que voce vai construir na Trilha 4 — e a boa noticia e que ele ja existe e ja funciona ha decadas. Quando voce roda npm install, make ou um pipeline de CI, uma ferramenta monta um grafo dirigido de dependencias e decide sozinha o que roda antes, o que roda depois e o que pode rodar ao mesmo tempo.

🎯 Tudo que o build ja resolveu, o seu grafo de agentes vai precisar

  • Ordem: ninguem roda antes de quem ele depende (ordem topologica)
  • Paralelismo: ramos independentes vao juntos
  • Cache: se nada mudou naquele no, nao refaz
  • Deteccao de ciclo: dependencia circular = erro explicito, nao travamento silencioso
  • Retomada: falhou no meio? reexecuta so o que faltou

Nenhuma dessas ideias e nova nem exclusiva de IA. E por isso que muita gente do mundo de orquestracao reagiu ao hype de “graph engineering” com um dar de ombros — a Trilha 3 conta essa historia com honestidade.

Checagem rapida: no funil campanha → ... → LTV, um agente que so olha o custo de aquisicao pode piorar o negocio. Por que, em termos de grafo?

Conceitos-chave

DAG de build

O ancestral do work graph

Cache por no

Nao refazer o que nao mudou

Ciclo = erro

Detectado, nao sofrido

Retomada

Reexecuta so o que faltou

📌 Resumo do Modulo

Modelar e escolher — o que e no, o que e peso, em funcao da pergunta que voce quer responder.
Grau de separacao e distancia em arestas — e arestas podem ter tipo, nao so peso.
Uma metrica nunca basta — otimizar uma aresta mexe nas outras; o grafo e o que te deixa ver isso.
Paralelismo e propriedade do grafo — a dependencia cruzada e que decide quantas frentes andam.
Grafo de conhecimento ≠ graph engineering — informacao que o agente le vs. execucao que o agente segue.
O build ja fez isso — ordem, paralelismo, cache, deteccao de ciclo e retomada.

Proximo Modulo:

1.3 — Como se anda num grafo: travessia, caminho minimo, ordem topologica e deteccao de ciclo.