promptdojo_promptdojo_promptdojo_promptdojo_promptdojo_promptdojo_promptdojo_promptdojo_promptdojo_promptdojo_promptdojo_

RAG vs long context vs fine-tune — the decision that's killed more AI startups than any model swap — step 7 of 10

Inside the RAG fork: vector, graph, or both

If you picked RAG, there's a second decision hiding inside it that vendors love to blur: how do you find the relevant material? The honest answer depends on the shape of the question, not on which technique is newer.

Direct lookup — "what does the refund policy say?" The answer lives in one or two passages that sound like the question. Vector similarity search, the RAG you already know, handles this well. Done.

Multi-hop — "where is Acme's parent company based?" No single chunk contains the answer. One document says Acme is owned by Globex; a different document says Globex is based in Berlin. Similarity search retrieves chunks that resemble the question — and no chunk resembles a question whose answer spans two documents. This is where retrieval built on relationships earns its keep: follow the owned_by edge, then the based_in edge. The editor does exactly that hop, in ten lines, over the same list-of-edge-dicts shape from chapter 2.

Neighborhood — "show me everything connected to this incident." Also relationship-shaped: you want the edges around one node, not the passages similar to a phrase.

Global summary — "what are the recurring themes across all our retros?" Neither trick works alone: similarity retrieves fragments, and edge-hopping needs you to know where to start. Summary questions want aggregation over the whole corpus, which is a different (and more expensive) pipeline entirely.

The honest version of the "GraphRAG" pitch

You'll hear that graph-based retrieval beats vector retrieval. It doesn't, in general — it beats vector retrieval on relationship-shaped questions, costs real effort to build (someone must extract those edges, with the provenance discipline from chapter 14), and does nothing extra for direct lookups, which are most questions in most products. Hybrid systems use vector search to find an entry point, then walk edges from there — paying both costs to cover both shapes.

So the rubric-before-the-rubric: listen to your users' questions. Mostly direct lookups → vector RAG, stop there. A steady diet of "how is X related to Y" and "what's upstream of Z" → that's the signal to start extracting edges. Choosing by question shape is cheap. Choosing by hype costs you the pipeline you didn't need.

Run the editor. Two hops, one answer no single document contained.

Inside the RAG fork: vector, graph, or both

If you picked RAG, there's a second decision hiding inside it that vendors love to blur: how do you find the relevant material? The honest answer depends on the shape of the question, not on which technique is newer.

Direct lookup — "what does the refund policy say?" The answer lives in one or two passages that sound like the question. Vector similarity search, the RAG you already know, handles this well. Done.

Multi-hop — "where is Acme's parent company based?" No single chunk contains the answer. One document says Acme is owned by Globex; a different document says Globex is based in Berlin. Similarity search retrieves chunks that resemble the question — and no chunk resembles a question whose answer spans two documents. This is where retrieval built on relationships earns its keep: follow the owned_by edge, then the based_in edge. The editor does exactly that hop, in ten lines, over the same list-of-edge-dicts shape from chapter 3.

Neighborhood — "show me everything connected to this incident." Also relationship-shaped: you want the edges around one node, not the passages similar to a phrase.

Global summary — "what are the recurring themes across all our retros?" Neither trick works alone: similarity retrieves fragments, and edge-hopping needs you to know where to start. Summary questions want aggregation over the whole corpus, which is a different (and more expensive) pipeline entirely.

The honest version of the "GraphRAG" pitch

You'll hear that graph-based retrieval beats vector retrieval. It doesn't, in general — it beats vector retrieval on relationship-shaped questions, costs real effort to build (someone must extract those edges, with the provenance discipline from chapter 14), and does nothing extra for direct lookups, which are most questions in most products. Hybrid systems use vector search to find an entry point, then walk edges from there — paying both costs to cover both shapes.

So the rubric-before-the-rubric: listen to your users' questions. Mostly direct lookups → vector RAG, stop there. A steady diet of "how is X related to Y" and "what's upstream of Z" → that's the signal to start extracting edges. Choosing by question shape is cheap. Choosing by hype costs you the pipeline you didn't need.

Run the editor. Two hops, one answer no single document contained.

Inside the RAG fork: vector, graph, or both

If you picked RAG, there's a second decision hiding inside it that vendors love to blur: how do you find the relevant material? The honest answer depends on the shape of the question, not on which technique is newer.

Direct lookup — "what does the refund policy say?" The answer lives in one or two passages that sound like the question. Vector similarity search, the RAG you already know, handles this well. Done.

Multi-hop — "where is Acme's parent company based?" No single chunk contains the answer. One document says Acme is owned by Globex; a different document says Globex is based in Berlin. Similarity search retrieves chunks that resemble the question — and no chunk resembles a question whose answer spans two documents. This is where retrieval built on relationships earns its keep: follow the owned_by edge, then the based_in edge. The editor does exactly that hop, in ten lines, over the same list-of-edge-dicts shape from chapter 3.

Neighborhood — "show me everything connected to this incident." Also relationship-shaped: you want the edges around one node, not the passages similar to a phrase.

Global summary — "what are the recurring themes across all our retros?" Neither trick works alone: similarity retrieves fragments, and edge-hopping needs you to know where to start. Summary questions want aggregation over the whole corpus, which is a different (and more expensive) pipeline entirely.

The honest version of the "GraphRAG" pitch

You'll hear that graph-based retrieval beats vector retrieval. It doesn't, in general — it beats vector retrieval on relationship-shaped questions, costs real effort to build (someone must extract those edges, with the provenance discipline from chapter 14), and does nothing extra for direct lookups, which are most questions in most products. Hybrid systems use vector search to find an entry point, then walk edges from there — paying both costs to cover both shapes.

So the rubric-before-the-rubric: listen to your users' questions. Mostly direct lookups → vector RAG, stop there. A steady diet of "how is X related to Y" and "what's upstream of Z" → that's the signal to start extracting edges. Choosing by question shape is cheap. Choosing by hype costs you the pipeline you didn't need.

Run the editor. Two hops, one answer no single document contained.

Inside the RAG fork: vector, graph, or both

If you picked RAG, there's a second decision hiding inside it that vendors love to blur: how do you find the relevant material? The honest answer depends on the shape of the question, not on which technique is newer.

Direct lookup — "what does the refund policy say?" The answer lives in one or two passages that sound like the question. Vector similarity search, the RAG you already know, handles this well. Done.

Multi-hop — "where is Acme's parent company based?" No single chunk contains the answer. One document says Acme is owned by Globex; a different document says Globex is based in Berlin. Similarity search retrieves chunks that resemble the question — and no chunk resembles a question whose answer spans two documents. This is where retrieval built on relationships earns its keep: follow the owned_by edge, then the based_in edge. The editor does exactly that hop, in ten lines, over the same list-of-edge-dicts shape from chapter 3.

Neighborhood — "show me everything connected to this incident." Also relationship-shaped: you want the edges around one node, not the passages similar to a phrase.

Global summary — "what are the recurring themes across all our retros?" Neither trick works alone: similarity retrieves fragments, and edge-hopping needs you to know where to start. Summary questions want aggregation over the whole corpus, which is a different (and more expensive) pipeline entirely.

The honest version of the "GraphRAG" pitch

You'll hear that graph-based retrieval beats vector retrieval. It doesn't, in general — it beats vector retrieval on relationship-shaped questions, costs real effort to build (someone must extract those edges, with the provenance discipline from chapter 14), and does nothing extra for direct lookups, which are most questions in most products. Hybrid systems use vector search to find an entry point, then walk edges from there — paying both costs to cover both shapes.

So the rubric-before-the-rubric: listen to your users' questions. Mostly direct lookups → vector RAG, stop there. A steady diet of "how is X related to Y" and "what's upstream of Z" → that's the signal to start extracting edges. Choosing by question shape is cheap. Choosing by hype costs you the pipeline you didn't need.

Run the editor. Two hops, one answer no single document contained.

Inside the RAG fork: vector, graph, or both

If you picked RAG, there's a second decision hiding inside it that vendors love to blur: how do you find the relevant material? The honest answer depends on the shape of the question, not on which technique is newer.

Direct lookup — "what does the refund policy say?" The answer lives in one or two passages that sound like the question. Vector similarity search, the RAG you already know, handles this well. Done.

Multi-hop — "where is Acme's parent company based?" No single chunk contains the answer. One document says Acme is owned by Globex; a different document says Globex is based in Berlin. Similarity search retrieves chunks that resemble the question — and no chunk resembles a question whose answer spans two documents. This is where retrieval built on relationships earns its keep: follow the owned_by edge, then the based_in edge. The editor does exactly that hop, in ten lines, over the same list-of-edge-dicts shape from chapter 3.

Neighborhood — "show me everything connected to this incident." Also relationship-shaped: you want the edges around one node, not the passages similar to a phrase.

Global summary — "what are the recurring themes across all our retros?" Neither trick works alone: similarity retrieves fragments, and edge-hopping needs you to know where to start. Summary questions want aggregation over the whole corpus, which is a different (and more expensive) pipeline entirely.

The honest version of the "GraphRAG" pitch

You'll hear that graph-based retrieval beats vector retrieval. It doesn't, in general — it beats vector retrieval on relationship-shaped questions, costs real effort to build (someone must extract those edges, with the provenance discipline from chapter 14), and does nothing extra for direct lookups, which are most questions in most products. Hybrid systems use vector search to find an entry point, then walk edges from there — paying both costs to cover both shapes.

So the rubric-before-the-rubric: listen to your users' questions. Mostly direct lookups → vector RAG, stop there. A steady diet of "how is X related to Y" and "what's upstream of Z" → that's the signal to start extracting edges. Choosing by question shape is cheap. Choosing by hype costs you the pipeline you didn't need.

Run the editor. Two hops, one answer no single document contained.

Inside the RAG fork: vector, graph, or both

If you picked RAG, there's a second decision hiding inside it that vendors love to blur: how do you find the relevant material? The honest answer depends on the shape of the question, not on which technique is newer.

Direct lookup — "what does the refund policy say?" The answer lives in one or two passages that sound like the question. Vector similarity search, the RAG you already know, handles this well. Done.

Multi-hop — "where is Acme's parent company based?" No single chunk contains the answer. One document says Acme is owned by Globex; a different document says Globex is based in Berlin. Similarity search retrieves chunks that resemble the question — and no chunk resembles a question whose answer spans two documents. This is where retrieval built on relationships earns its keep: follow the owned_by edge, then the based_in edge. The editor does exactly that hop, in ten lines, over the same list-of-edge-dicts shape from chapter 3.

Neighborhood — "show me everything connected to this incident." Also relationship-shaped: you want the edges around one node, not the passages similar to a phrase.

Global summary — "what are the recurring themes across all our retros?" Neither trick works alone: similarity retrieves fragments, and edge-hopping needs you to know where to start. Summary questions want aggregation over the whole corpus, which is a different (and more expensive) pipeline entirely.

The honest version of the "GraphRAG" pitch

You'll hear that graph-based retrieval beats vector retrieval. It doesn't, in general — it beats vector retrieval on relationship-shaped questions, costs real effort to build (someone must extract those edges, with the provenance discipline from chapter 14), and does nothing extra for direct lookups, which are most questions in most products. Hybrid systems use vector search to find an entry point, then walk edges from there — paying both costs to cover both shapes.

So the rubric-before-the-rubric: listen to your users' questions. Mostly direct lookups → vector RAG, stop there. A steady diet of "how is X related to Y" and "what's upstream of Z" → that's the signal to start extracting edges. Choosing by question shape is cheap. Choosing by hype costs you the pipeline you didn't need.

Run the editor. Two hops, one answer no single document contained.

Inside the RAG fork: vector, graph, or both

If you picked RAG, there's a second decision hiding inside it that vendors love to blur: how do you find the relevant material? The honest answer depends on the shape of the question, not on which technique is newer.

Direct lookup — "what does the refund policy say?" The answer lives in one or two passages that sound like the question. Vector similarity search, the RAG you already know, handles this well. Done.

Multi-hop — "where is Acme's parent company based?" No single chunk contains the answer. One document says Acme is owned by Globex; a different document says Globex is based in Berlin. Similarity search retrieves chunks that resemble the question — and no chunk resembles a question whose answer spans two documents. This is where retrieval built on relationships earns its keep: follow the owned_by edge, then the based_in edge. The editor does exactly that hop, in ten lines, over the same list-of-edge-dicts shape from chapter 3.

Neighborhood — "show me everything connected to this incident." Also relationship-shaped: you want the edges around one node, not the passages similar to a phrase.

Global summary — "what are the recurring themes across all our retros?" Neither trick works alone: similarity retrieves fragments, and edge-hopping needs you to know where to start. Summary questions want aggregation over the whole corpus, which is a different (and more expensive) pipeline entirely.

The honest version of the "GraphRAG" pitch

You'll hear that graph-based retrieval beats vector retrieval. It doesn't, in general — it beats vector retrieval on relationship-shaped questions, costs real effort to build (someone must extract those edges, with the provenance discipline from chapter 14), and does nothing extra for direct lookups, which are most questions in most products. Hybrid systems use vector search to find an entry point, then walk edges from there — paying both costs to cover both shapes.

So the rubric-before-the-rubric: listen to your users' questions. Mostly direct lookups → vector RAG, stop there. A steady diet of "how is X related to Y" and "what's upstream of Z" → that's the signal to start extracting edges. Choosing by question shape is cheap. Choosing by hype costs you the pipeline you didn't need.

Run the editor. Two hops, one answer no single document contained.

Inside the RAG fork: vector, graph, or both

If you picked RAG, there's a second decision hiding inside it that vendors love to blur: how do you find the relevant material? The honest answer depends on the shape of the question, not on which technique is newer.

Direct lookup — "what does the refund policy say?" The answer lives in one or two passages that sound like the question. Vector similarity search, the RAG you already know, handles this well. Done.

Multi-hop — "where is Acme's parent company based?" No single chunk contains the answer. One document says Acme is owned by Globex; a different document says Globex is based in Berlin. Similarity search retrieves chunks that resemble the question — and no chunk resembles a question whose answer spans two documents. This is where retrieval built on relationships earns its keep: follow the owned_by edge, then the based_in edge. The editor does exactly that hop, in ten lines, over the same list-of-edge-dicts shape from chapter 3.

Neighborhood — "show me everything connected to this incident." Also relationship-shaped: you want the edges around one node, not the passages similar to a phrase.

Global summary — "what are the recurring themes across all our retros?" Neither trick works alone: similarity retrieves fragments, and edge-hopping needs you to know where to start. Summary questions want aggregation over the whole corpus, which is a different (and more expensive) pipeline entirely.

The honest version of the "GraphRAG" pitch

You'll hear that graph-based retrieval beats vector retrieval. It doesn't, in general — it beats vector retrieval on relationship-shaped questions, costs real effort to build (someone must extract those edges, with the provenance discipline from chapter 14), and does nothing extra for direct lookups, which are most questions in most products. Hybrid systems use vector search to find an entry point, then walk edges from there — paying both costs to cover both shapes.

So the rubric-before-the-rubric: listen to your users' questions. Mostly direct lookups → vector RAG, stop there. A steady diet of "how is X related to Y" and "what's upstream of Z" → that's the signal to start extracting edges. Choosing by question shape is cheap. Choosing by hype costs you the pipeline you didn't need.

Run the editor. Two hops, one answer no single document contained.

Inside the RAG fork: vector, graph, or both

If you picked RAG, there's a second decision hiding inside it that vendors love to blur: how do you find the relevant material? The honest answer depends on the shape of the question, not on which technique is newer.

Direct lookup — "what does the refund policy say?" The answer lives in one or two passages that sound like the question. Vector similarity search, the RAG you already know, handles this well. Done.

Multi-hop — "where is Acme's parent company based?" No single chunk contains the answer. One document says Acme is owned by Globex; a different document says Globex is based in Berlin. Similarity search retrieves chunks that resemble the question — and no chunk resembles a question whose answer spans two documents. This is where retrieval built on relationships earns its keep: follow the owned_by edge, then the based_in edge. The editor does exactly that hop, in ten lines, over the same list-of-edge-dicts shape from chapter 3.

Neighborhood — "show me everything connected to this incident." Also relationship-shaped: you want the edges around one node, not the passages similar to a phrase.

Global summary — "what are the recurring themes across all our retros?" Neither trick works alone: similarity retrieves fragments, and edge-hopping needs you to know where to start. Summary questions want aggregation over the whole corpus, which is a different (and more expensive) pipeline entirely.

The honest version of the "GraphRAG" pitch

You'll hear that graph-based retrieval beats vector retrieval. It doesn't, in general — it beats vector retrieval on relationship-shaped questions, costs real effort to build (someone must extract those edges, with the provenance discipline from chapter 14), and does nothing extra for direct lookups, which are most questions in most products. Hybrid systems use vector search to find an entry point, then walk edges from there — paying both costs to cover both shapes.

So the rubric-before-the-rubric: listen to your users' questions. Mostly direct lookups → vector RAG, stop there. A steady diet of "how is X related to Y" and "what's upstream of Z" → that's the signal to start extracting edges. Choosing by question shape is cheap. Choosing by hype costs you the pipeline you didn't need.

Run the editor. Two hops, one answer no single document contained.

Inside the RAG fork: vector, graph, or both

If you picked RAG, there's a second decision hiding inside it that vendors love to blur: how do you find the relevant material? The honest answer depends on the shape of the question, not on which technique is newer.

Direct lookup — "what does the refund policy say?" The answer lives in one or two passages that sound like the question. Vector similarity search, the RAG you already know, handles this well. Done.

Multi-hop — "where is Acme's parent company based?" No single chunk contains the answer. One document says Acme is owned by Globex; a different document says Globex is based in Berlin. Similarity search retrieves chunks that resemble the question — and no chunk resembles a question whose answer spans two documents. This is where retrieval built on relationships earns its keep: follow the owned_by edge, then the based_in edge. The editor does exactly that hop, in ten lines, over the same list-of-edge-dicts shape from chapter 3.

Neighborhood — "show me everything connected to this incident." Also relationship-shaped: you want the edges around one node, not the passages similar to a phrase.

Global summary — "what are the recurring themes across all our retros?" Neither trick works alone: similarity retrieves fragments, and edge-hopping needs you to know where to start. Summary questions want aggregation over the whole corpus, which is a different (and more expensive) pipeline entirely.

The honest version of the "GraphRAG" pitch

You'll hear that graph-based retrieval beats vector retrieval. It doesn't, in general — it beats vector retrieval on relationship-shaped questions, costs real effort to build (someone must extract those edges, with the provenance discipline from chapter 14), and does nothing extra for direct lookups, which are most questions in most products. Hybrid systems use vector search to find an entry point, then walk edges from there — paying both costs to cover both shapes.

So the rubric-before-the-rubric: listen to your users' questions. Mostly direct lookups → vector RAG, stop there. A steady diet of "how is X related to Y" and "what's upstream of Z" → that's the signal to start extracting edges. Choosing by question shape is cheap. Choosing by hype costs you the pipeline you didn't need.

Run the editor. Two hops, one answer no single document contained.

Inside the RAG fork: vector, graph, or both

If you picked RAG, there's a second decision hiding inside it that vendors love to blur: how do you find the relevant material? The honest answer depends on the shape of the question, not on which technique is newer.

Direct lookup — "what does the refund policy say?" The answer lives in one or two passages that sound like the question. Vector similarity search, the RAG you already know, handles this well. Done.

Multi-hop — "where is Acme's parent company based?" No single chunk contains the answer. One document says Acme is owned by Globex; a different document says Globex is based in Berlin. Similarity search retrieves chunks that resemble the question — and no chunk resembles a question whose answer spans two documents. This is where retrieval built on relationships earns its keep: follow the owned_by edge, then the based_in edge. The editor does exactly that hop, in ten lines, over the same list-of-edge-dicts shape from chapter 3.

Neighborhood — "show me everything connected to this incident." Also relationship-shaped: you want the edges around one node, not the passages similar to a phrase.

Global summary — "what are the recurring themes across all our retros?" Neither trick works alone: similarity retrieves fragments, and edge-hopping needs you to know where to start. Summary questions want aggregation over the whole corpus, which is a different (and more expensive) pipeline entirely.

The honest version of the "GraphRAG" pitch

You'll hear that graph-based retrieval beats vector retrieval. It doesn't, in general — it beats vector retrieval on relationship-shaped questions, costs real effort to build (someone must extract those edges, with the provenance discipline from chapter 14), and does nothing extra for direct lookups, which are most questions in most products. Hybrid systems use vector search to find an entry point, then walk edges from there — paying both costs to cover both shapes.

So the rubric-before-the-rubric: listen to your users' questions. Mostly direct lookups → vector RAG, stop there. A steady diet of "how is X related to Y" and "what's upstream of Z" → that's the signal to start extracting edges. Choosing by question shape is cheap. Choosing by hype costs you the pipeline you didn't need.

Run the editor. Two hops, one answer no single document contained.