Over the past year I have been building an AI-powered research assistant that helps us conduct literature reviews and synthesize scientific knowledge. Here are a few lessons learned along the way.
1. Start with a knowledge graph
Raw papers are hard for an LLM to reason about. We first extract structured triples โ entity โ relation โ entity โ and store them in a knowledge graph. Query time dropped dramatically once retrieval happened on the graph instead of on raw text.
2. Evaluation is everything
1 | def evaluate_retrieval(predictions, ground_truth, k=10): |
A simple hits@k benchmark caught regressions that informal testing completely missed.
3. Abstracts lie, methods donโt
When synthesizing evidence, we force the model to cite the methods section rather than the abstract. This single change improved factuality on our internal test set by over 15%.
Checklist for a new tool
- Extract entities and relations into a graph
- Set up
hits@kevaluation from day one - Ground every generated claim in methods text