GraphRAG can reduce hallucinations by combining vector search with graph relationships and traversal.
2
Agent architectures improve results by letting multiple agents observe, reason, and act, but MCP makes their tools and data sources easier to connect and secure.
3
A practical GraphRAG pattern is to use an LLM for language translation, run vector search, map the results to graph nodes, and retrieve related context.
Summary
Stephen Chin argues that language models often appear intelligent while making poor assumptions, introducing bias, and reasoning incorrectly. He uses a classroom question about fitting girls into a grid to show how a model can anchor on an unrelated article and produce an inappropriate answer. Knowledge graphs can help with the structured relationships that language models handle poorly. Chin describes agentic systems in which agents observe, think, and act, then explains how MCP can connect those agents to files, databases, graph data, memory, and cloud APIs. For retrieval, he recommends starting with vector search and then using the matching graph nodes and their relationships as context. This combines the language flexibility of embeddings with graph-based relevance. He also warns that generated Cypher can be unreliable and that models tend to focus on information near the top of a context window.
Language models can produce confident answers from bad assumptions
Chin demonstrates the problem with a question about how many girls can fit in a classroom grid. The model anchors on an article about the non-attacking kings problem and assumes a square grid. It then makes a biased assumption about girls going to cooking class after Chin supplies a misleading ratio of girls and boys. He says the same errors would be much more serious in drug discovery or supply-chain work, where incorrect reasoning leads to wrong business results and is difficult to diagnose.
Agentic systems divide work across agents that observe, think, and act
Chin describes agents as components that observe a situation, think about it, and take actions. An agentic runtime can include an orchestration layer, generative models, and tools that collaborate on a task. This can improve results compared with one language model working alone. He also points out the cost of a monolithic design: it is difficult to maintain, swap tools, or secure the system. The architecture needs a way to connect agents with separate data and capabilities.
MCP connects agents to tools, data sources, and graph databases
Chin presents MCP as a way for agents to communicate with tool servers and data sources. Those sources can include files, database records, and a graph database acting as the system of record. Neo4j has built MCP tools for generating Cypher queries from prompts, providing agent memory, and working with cloud APIs to provision databases. This lets teams plug different capabilities into an agent architecture instead of embedding every tool in one monolithic runtime.
Graph-based memory fits the way agents store and retrieve information
Chin says agents are often represented as graphs, with memory layered on top. He mentions Zep, Cognee, and Mem0 as examples of approaches discussed in a related panel, with some systems allowing a choice of graph database. He describes graph-based memory as a natural match for how language models store, communicate, and retrieve information. He also points to a video search and summarization architecture that uses short-term memory, lookup information, a GraphRAG pipeline, and a vector pipeline together.
Vector similarity becomes more useful when it leads into graph context
Chin contrasts direct language-model answers with baseline RAG and GraphRAG. Direct answers to healthcare questions can be generic, while vector RAG can remain incomplete because similarity does not equal relevance. His recommended pattern starts with vector search, then maps the returned embeddings to graph nodes and retrieves related nodes. For a question about emphysema, the system could find the emphysema node and then pull related diagnoses and conditions. This works well when structured and unstructured data need to be used together.
Traversal, graph analytics, and filtering shape the context sent to the model
A GraphRAG system can query vectors or knowledge graphs, traverse relationships, and use graph analytics for communities and groupings. The resulting information becomes context for the language model. Chin mentions pre-filtering and post-filtering vector results to move more relevant material toward the top of the context. Larger context windows do not solve this by themselves, because evaluation results show that models often ignore much of the context and pay more attention to what appears near the beginning.
Generated Cypher is useful as a starting point, but it can fail
Chin says text-to-Cypher through an MCP server can be useful, while also warning that language models do not always generate Cypher accurately enough for every case. He recommends vector search with graph context as a good starting pattern. The vector query handles the user's natural-language question, and the graph supplies the related nodes and relationships that should be passed into the model.
The same embeddings-to-graph pattern can be built with several frameworks
In the question period, Chin confirms that a simple design embeds text for semantic search and connects those embeddings to graph nodes. When importing unstructured data into Neo4j, the system can create a node structure with language models and store text embeddings as node properties. He mentions a Neo4j Python library and integrations with LangChain, LlamaIndex, and Haystack. His advice on LangChain versus LangGraph is to use whichever tool fits the project, since Neo4j integrates with multiple frameworks.
"Even if LMs now have larger context windows, basically what the evals show is they ignore most of it and they look at the stuff at the top."09:04
Who should watch
You are building a domain-specific assistant where vector similarity alone returns incomplete or weakly relevant context.
Your agent system has too many tightly coupled tools and needs a cleaner way to connect memory, databases, files, and APIs.
You want a practical starting design for combining embeddings with graph nodes and relationships, and you can evaluate whether generated Cypher is accurate enough for your use case.