{"slug": "mesmo-com-graphrag-o-agent-se-perde-sem-contrato-de-memoria", "title": "Mesmo com GraphRAG, o agent se perde sem contrato de memória", "summary": "A developer on Dev.to reports that AI agents using GraphRAG still fail when they lack a memory contract, pulling high-similarity content from the wrong stub because they enter through grep on legacy files rather than a canonical hub. The author argues that retrieval quality depends on defining entry rules, scopes, and forbidden inputs before choosing vector or graph indexes, and that the proof of a working contract is the agent citing which hub it used.", "body_md": "# Mesmo com GraphRAG, o agent se perde sem contrato de memória\n\nPessoal, o agent puxou um trecho bonito. Similaridade alta. Confiança alta. Estava no stub errado. Não foi “RAG fraco”. Foi porta errada. Índice caro, lixo na entrada. O post anterior foi sobre consultar o grafo de código: token cai quando o agent pergunta ao mapa, não quando o gitignore está certo.\n\nPessoal, o agent puxou um trecho bonito. Similaridade alta. Confiança alta. Estava no stub errado. Não foi “RAG fraco”. Foi porta errada. Índice caro, lixo na entrada. O post anterior foi sobre consultar o grafo de código: token cai quando o agent pergunta ao mapa, não quando o gitignore está certo. Aqui é a outra conta. Vector, GraphRAG, híbrido: como recuperar. Contrato: o que pode ser lembrado e por onde se entra. Sem a segunda, o índice só erra mais rápido. A prova também não é o vendor. É o transcript. Primeiro passo foi abrir o hub canônico, ou foi grep no cemitério? 1. O índice acertou. O mundo, não 2. O que o mercado está vendendo 3. A prova está na porta 4. O contrato em quatro peças 5. O que eu corto amanhã A pergunta clássica era qual banco de vetor? A de 2026 é vector, grafo ou os dois? A minha ficou outra: quando o agent pergunta “onde está X?”, ele entra pelo hub ou grepa o bak? Se for a segunda, tanto faz o logo. Você indexou o labirinto. O debate público é retrieval. Lookup (“qual o prazo neste contrato?”) vs síntese (“quais os riscos em todos?”). Vector costuma ganhar no primeiro. GraphRAG no segundo, caro de manter. Híbrido roteia. Um recorte com data: vector vs GraphRAG, 2026. Snapshot. Não ranking. Isso importa. Não decide se legado/ pode ser porta. Não decide se o agent mistura diário com runbook no mesmo contexto. Embedding “certo” em guia morto: política ausente. No meu setup o contrato veio antes do vetor. Não estou dizendo que vetor é inútil. Estou dizendo que porta entrega valor no dia zero. Eval de recall é outra conta. Um limite só: contrato não substitui GraphRAG quando a pergunta é síntese em grafo de entidades, e não é AppSec de prompt sozinho. Mesma lógica do grafo de código. Lá eu olho se o primeiro tool foi query ou o décimo Read. Aqui eu olho se o agent cita o hub ou só a similaridade. Pergunta sintético: qual a regra de entrada da memória do agent? Turno caro (reconstruído, não é log de produção): grep \"memória\" (em tudo) Read README.bak Read (mais três hits no lixo) → responde com confiança, regra invertida Turno barato: scope = meta / ops Read o hub segue o canônico grep só depois, se precisar → a resposta diz por qual hub entrou Se o agent não consegue dizer por qual porta entrou, você não tem contrato. Tem índice. Cabem em qualquer vault. Os nomes das caixas são seus. Fonte única. Um canônico. O resto é espelho ou lixo. Scopes. Pessoal, carreira, ops, meta, o que for. Página nova declara a caixa. Sem isso o search mistura incidente com diário. Porta. Escolhe o scope, abre o hub, segue canônicos. Search é complemento. “Onde está X?” só com grep é o anti-padrão. Hop. Redirect fino. Um pulo. Labirinto de stub é indexar lixo de propósito. O que nunca vai pro contexto: segredo, PII, case que identifica empresa. Least privilege de memória. Não é feature do Pinecone. Copia. Cola no vault. ## Memory contract (agente) 1. Fonte canônica: um vault, não cinco? 2. Scopes: o que cada caixa pode conter? 3. Página nova declara scope? 4. Porta: hub-first por tipo de pergunta? 5. Redirect: hop máximo? 6. Proibido como entrada: legado, lixeira, bak? 7. Search é complemento, nunca substituto do hub? 8. Nunca no contexto: segredo, PII, case identificável? 9. Como você sabe que errou? (cita o hub usado) No seu último “RAG”: o agent entrou por porta, por similaridade, ou por grep no bak? O que você proibiria como entrada amanhã?\n\n## Key Takeaways\n\n- •Pessoal, o agent puxou um trecho bonito\n- •This story was reported by\n**Dev.to**, covering developments in the** dev**space. - •AI advancements continue to reshape industries — read the full article on Dev.to for complete coverage.\n\n📖 Continue reading the full article:\n\n[Read Full Article on Dev.to →](https://dev.to/tiagovilasboas/mesmo-com-graphrag-o-agent-se-perde-sem-contrato-de-memoria-hc8)", "url": "https://wpnews.pro/news/mesmo-com-graphrag-o-agent-se-perde-sem-contrato-de-memoria", "canonical_source": "https://ainexusdaily.vercel.app/article/2026-08-28-mesmo-com-graphrag-o-agent-se-perde-sem-contrato-de-memria", "published_at": "2026-08-28 17:50:21+00:00", "updated_at": "2026-08-28 18:49:12.031586+00:00", "lang": "en", "topics": ["artificial-intelligence", "large-language-models", "ai-agents", "ai-tools"], "entities": ["Dev.to", "GraphRAG", "Pinecone"], "alternates": {"html": "https://wpnews.pro/news/mesmo-com-graphrag-o-agent-se-perde-sem-contrato-de-memoria", "markdown": "https://wpnews.pro/news/mesmo-com-graphrag-o-agent-se-perde-sem-contrato-de-memoria.md", "text": "https://wpnews.pro/news/mesmo-com-graphrag-o-agent-se-perde-sem-contrato-de-memoria.txt", "jsonld": "https://wpnews.pro/news/mesmo-com-graphrag-o-agent-se-perde-sem-contrato-de-memoria.jsonld"}}