Hello, I'm Rijul, and I'm building LiveReview — a blast-radius aware AI code review built for your business-critical systems. Star us to help devs discover the project, give it a try, and share your feedback to help improve the product.
When building a RAG system, one of the most common ways to retrieve information is through embeddings.
The documents are converted into vectors, and when a user asks a question, the question is also converted into a vector.
The system then looks for documents whose vectors are most similar to the question.
This works well when the user and the document are talking about the same idea in different words.
But vector search has some limitations.
For example, imagine a user asks:
What is the error code ERR-1042?
A vector search system is looking for semantic similarity. It may find documents that talk about errors, failures, or troubleshooting, but an exact match for ERR-1042 is not necessarily what semantic similarity is best at.
This becomes even more important for things like:
- Product IDs
- Error codes
- Part numbers
- Names
- File names
- Exact technical terms
- Code snippets
There is also another problem.
Some questions are too complicated to answer with a single search.
For example:
Why did our payment service start failing after the latest deployment?
Finding the answer may require looking at deployment documentation, error logs, configuration changes, and troubleshooting guides.
A single similarity search may not be enough.
This brings us to hybrid retrieval.
Hybrid retrieval brings different ways of finding information together.
It can combine exact matching, semantic similarity, and, in some systems, reasoning-based retrieval.
What is Hybrid Retrieval?
Hybrid retrieval means searching in more than one way and then combining the results.
Think about a librarian.
You could describe what a book is about:
"I'm looking for a book about the history of computers."
The librarian can use that description to find something relevant.
But you could also give the librarian the exact title: ""
"I'm looking for The Innovators."
Or perhaps you give them the exact book ID.
The librarian can use different pieces of information to find the book.
Hybrid retrieval works in a similar way.
Instead of relying on just one retrieval method, it can use multiple methods to find relevant information.
There are three useful retrieval approaches to understand.
1. Keyword Search
Keyword search looks for specific words or terms in the documents.
For example:
ERR-1042
If a document contains ERR-1042, keyword search can find it directly.
This is particularly useful for things where the exact text matters, such as:
- Error codes
- Product numbers
- IDs
- Names
- Technical terms
- Code
Keyword search doesn't need to understand the meaning of the query. It looks for matching terms.
2. Meaning Search
This is the vector-based search that is commonly used in RAG.
The system converts the query and documents into embeddings and looks for vectors that are semantically similar.
For example, the user might ask:
How do I fix a service that keeps crashing?
A document might say:
Troubleshooting repeated application failures
The words are different, but the meaning is similar.
A semantic search can identify this relationship.
This makes vector search useful when the user doesn't use the exact words that appear in the documents.
3. Reasoning-Based Retrieval
Some questions are more complicated and may require more than one search.
For example:
Why did our payment service start failing after the latest deployment?
An AI system could break this into smaller questions:
1. What changed in the latest deployment?
2. What errors are associated with the payment service?
3. Do the deployment changes relate to those errors?
It can then search for information related to each step.
This is sometimes called agentic or multi-step retrieval, where the system decides what to search for next based on what it has already found.
This approach is more useful for complicated questions than for simple lookups.
Bringing Them Together
The interesting part is that these approaches don't have to compete with each other.
A hybrid retrieval system can use them together.
For example, it could:
User question
↓
Keyword search + Meaning search
↓
Combine the results
↓
Rank the results
↓
Smarter model re-ranks the best candidates
↓
Relevant context
↓
LLM
The keyword search can catch exact terms.
The vector search can catch related meanings.
The results from both searches can then be merged and ranked.
If a document appears highly relevant in both searches, the system can give it more importance.
For more complicated questions, the system can also perform additional searches based on what it has learned from the earlier results.
This gives the RAG system more than one way to find the information it needs.
Why Does This Matter?
The main idea is simple.
Different search methods are good at finding different kinds of information.
Keyword search is good when the exact words matter.
Vector search is good when the meaning matters.
Reasoning-based retrieval can help when the question itself requires multiple searches.
By combining them, a RAG system doesn't have to depend entirely on one retrieval method.
This is why hybrid retrieval can be useful when building RAG systems that need to handle a wide variety of questions.
Wrapping Up
Vector search is powerful, but it isn't perfect for every type of query.
Sometimes you need an exact match.
Sometimes you need to find something based on meaning.
And sometimes the question is complicated enough that you need to search multiple times.
Hybrid retrieval brings these different approaches together.
The goal isn't necessarily to replace vector search.
It is to give the retrieval system more than one way to find the right information.
Your team's attention is limited, and the deluge of AI-generated code is making it harder to keep production reliable and secure without slowing you down.
I'm building LiveReview, a blast-radius aware AI code review built for your business-critical systems.
Instead of presenting every diff with equal emphasis, LiveReview scores each change by blast radius — how far its impact reaches through your call graph — so you can focus attention where it actually matters.
Spend code review effort where business risk is highest — not spread evenly across every diff.
⭐ Star it on GitHub:
HexmosTech
/
LiveReview
Blast-Radius Aware AI Code Review for Business-Critical Systems
LiveReview: Blast-Radius Aware AI Code Review for Business-Critical Systems
LiveReview is an AI code reviewer that scores every hunk of a diff by blast radius: how far a change reaches through your call graph, how much persistent state it touches, and how well-tested it is. A 3-line change to a shared auth check can outrank a 300-line UI tweak. Your team's attention goes to the highest-risk code first, not spread evenly across every diff.
blast-radius-demo.mp4
LiveReview's Blast Radius & Review Priority scoring, live in the diff viewer.
Here's the goal:
- A 3-line fix in a function used by 40 other files, that also writes to a database, should score high.
- A 300-line UI change in one file, fully covered by…
Click below to try LiveReview with your codebase:






Top comments (0)