01
The problem
Language models rely on static training data and tend toward brief answers. Simple search pipelines also use narrow queries that miss the many dimensions of difficult topics. The goal was a system that actively investigates a question and produces a deep report without manual coordination.
02
The approach
Designed a three-stage pipeline: a planner breaks the topic into 12–15 search vectors, retrieval runs searches concurrently, and a writer synthesises the evidence into a structured report with summaries, comparisons and citations.
03
Challenges
Comprehensive research increased latency, so searches were parallelised. Search snippets lacked context, so an analyst pass filters noise before synthesis. Strict schemas and formatting rules keep large source sets coherent.
04
What I learned
Prompt structure is part of the architecture. Asynchronous execution is essential for usable agent workflows, and pre-processing evidence can produce better synthesis than sending everything directly to the final model.
05
Outcomes
Parallel execution cut the research stage dramatically. The system consistently produces detailed reports covering mechanisms, limitations and trends, with robust source handling and a clear interface.
Tech stack
- Python 3.10+
- OpenAI Agents SDK
- Serper.dev
- Pydantic
- Asyncio
- Gradio