☕ 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.
🆕 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
Onde voce esta
Como voce sai dali
Quanto custou
Onde ha o que otimizar
👥 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.
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
Distancia em arestas
A relacao tem nome
Amizade vale nos 2 lados
A aresta que liga mundos
📈 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.
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.
Conceitos-chave
Cada etapa e um no
A % da aresta
Aresta que o loop nao ve
Uma so sempre engana
🎫 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.
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.
✓ 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
Aresta que bloqueia
Quantos cabem agora
Quebrar pra liberar frente
Mesma conta, outra frota
📚 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
Cada arquivo, um no
Nem toda ligacao e igual
Menos contexto queimado
Conhecimento ≠ execucao
🧱 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
O ancestral do work graph
Nao refazer o que nao mudou
Detectado, nao sofrido
Reexecuta so o que faltou
📌 Resumo do Modulo
Proximo Modulo:
1.3 — Como se anda num grafo: travessia, caminho minimo, ordem topologica e deteccao de ciclo.