Deep Research Multi-Agent System
Planning, retrieval, critique and citation-aware synthesis — autonomous evidence-backed research reports.
Built by subhraneel · AI Engineer

The system, up close
Real captures from the running system — the demo, screenshots and architecture come first, then the deep dive.
Demo
Watch the pipeline unfold in real time — from intent extraction through critique and synthesis, with SSE progress in the frontend.
The main demo shows the complete research flow end to end.
Screenshots
Architecture

Why this needed to be built
Complex research questions demand more than a single chatbot answer — they need structured, evidence-backed reports with traceable sources.
Manual research doesn't scale, and black-box answers can't be validated, cited or trusted for analyst and knowledge-work contexts.
What we built, and how it changes the workflow
We built a multi-agent deep research system with LangGraph that autonomously transforms complex research questions into structured, evidence-backed reports with claim-level traceability.
The system decomposes a question into research tasks, searches and fetches sources with Exa and Firecrawl, scores and organizes evidence by quality, analyzes each sub-question, and runs a critique agent that flags unsupported claims, missing evidence, contradictions and research gaps.
When research is insufficient, it performs bounded follow-up research before synthesizing the final report. Every claim links back to specific evidence IDs and source URLs, and live progress is streamed to a Next.js frontend over SSE.
What it can do
A focused set of capabilities that define the system — no marketable filler, only what actually runs.
Intent understanding
Extracts target URL, entity, objective, domain, scope, constraints and expected output from the question.
Planning agent
Decomposes the objective into researchable sub-questions and a research strategy.
Task generation
Converts each sub-question into a concrete research task with an executable search query.
Search & fetch
Exa for search, Firecrawl for page content, plus direct fetch of a provided target URL as primary evidence.
Evidence store
Normalizes, deduplicates and queries evidence with quality scores (relevance 35%, freshness 25%, author 20%, content 20%).
Analyst agent
Answers each sub-question from the top-N evidence by quality score with inline citations.
Critique agent
Checks unsupported claims, missing evidence, weak sources, contradictions and research gaps; generates real follow-up queries.
Synthesis agent
Produces a final report with claim-level evidence IDs, references, confidence scores, limitations and executive summary.
Real-time streaming
SSE events broadcast intent, planning, tasks, search, analysis, critique, follow-up and synthesis as they happen.
The end-to-end workflow
The system processing path, in order.
- 1
Understand intent
Extract target URL, entity, objective, domain, scope, constraints and expected output.
- 2
Plan
Decompose the objective into sub-questions and a research strategy.
- 3
Generate tasks
Turn sub-questions into concrete research tasks with search queries.
- 4
Search & fetch
Run Exa search, fetch top pages with Firecrawl, and store quality-scored evidence.
- 5
Analyze
Answer each sub-question from the top-N evidence items with inline citations.
- 6
Critique
Review all analyses for unsupported claims, missing evidence, weak sources, contradictions and gaps.
- 7
Follow up
If research is insufficient and loops remain, run follow-up searches, append evidence and re-analyze.
- 8
Synthesize
Produce the final structured report with traceable claims, references and confidence scores.
Stack & tech choices
- Orchestration
- LangGraph 1.2.11, RetryPolicy (3 attempts) on graph nodes
- Backend
- Python, FastAPI, Pydantic 2.13, Uvicorn
- LLM
- gpt-4o-mini via litellm 1.96.2 with structured response_format
- Search & retrieval
- Exa (exa-py), Firecrawl (firecrawl-py)
- Frontend
- Next.js 16.3.1, React 19, Tailwind v4, @microsoft/fetch-event-source (SSE)
- Testing
- pytest — 70 tests in ~5s, fully mocked
Tested, verified and honestly scoped
Validation & tests
A 70-test suite (all mocked — no real API calls) verifies every node, the evidence store, source scoring and the full chat pipeline.
- Intent (6) — URL detection, objective/domain/scope extraction
- Planning (4) and task generation (4) — sub-question decomposition
- Search & fetch (5) — Exa + Firecrawl integration points
- Analyst (5) — evidence-grounded answers with citations
- Critique (6) — quality review and routing decisions
- Follow-up search (3) — incremental evidence append without data loss
- Synthesis (4) — report generation with traceable claims
- Evidence store (14) — ingest, query, dedup and indexing (pure logic)
- Source scoring (15) — scoring components and composite math (pure logic)
- Chat endpoint (4) — async integration tests for POST /chat
- Retry on parse errors — nodes self-retry with a 3-attempt policy
Security & hardening
- API keys read only from the environment (EXA_API_KEY, FIRECRAWL_API_KEY, LLM keys)
- Pydantic output models constrain every LLM response; invalid responses are rejected and retried
- Unsupported evidence IDs are stripped during synthesis post-processing
- Evidence is deduplicated and deterministically keyed (source_url + task_id hash)
Honest limitations
Deep Research Multi-Agent System is an internally developed engineering prototype. We state limitations rather than overclaim production readiness.
- Requires real API keys for live unrestricted research (Exa, Firecrawl, LLM)
- Bounded to a single follow-up research iteration by design
- Report quality is bounded by search coverage and source quality scoring
- Synthesis export is currently JSON/Markdown; PDF/DOCX formatters are a future step
Where this can go next
Realistic next steps we've scoped — not aspirational marketing copy.
- PDF and DOCX report export formatters
- Parallel fan-out across research tasks
- Pluggable search and fetch backends
- Human-in-the-loop review at the critique stage
- Deeper evidence deduplication and per-claim confidence tuning
Have a similar workflow?
Zenera Labs can build a custom version for your business.
This is one of subhraneel's internally developed systems. Tell us about your requirement and we'll scope a tailored build around it.
Other systems we've built internally

AI Contract Analysis & Risk Detection
Faster document review with traceable evidence — upload a contract and get risk findings with source-verified citations.
naman · Engineering Portfolio
View case study
SentinelAI — Security Log Anomaly Detection
Risk-scored alerts from security events — a full-stack Mini-SIEM with ML detection, attack-chain correlation and explainable alerts.
pragna · Engineering Portfolio
View case study
AI Data Analyst & Business Intelligence Agent
Evidence-grounded business intelligence from spreadsheets — upload CSV/XLSX, get analysis, visualizations and explained answers.
priyanka · Engineering Portfolio
View case study