Multi-Agent Research Assistant
Coordinated agents that decompose complex research tasks across specialized roles with a dark-themed React frontend.
Overview
Built a multi-agent research system where specialized AI agents collaborate to tackle complex research tasks. The system decomposes a research question into sub-tasks, assigns them to agents with distinct roles (Researcher, Analyst, Writer, Reviewer), coordinates their outputs through a managed workflow, and produces a synthesized report.
Business Problem
Deep research tasks require multiple cognitive passes: gathering information, analyzing findings, synthesizing insights, and reviewing for quality. A single LLM call produces shallow results. Manual research is slow. The challenge was to build an agent orchestration system that mirrors how human research teams operate.
Solution
Used LangGraph for stateful workflow orchestration with CrewAI for role-based agent coordination. The system implements a four-stage pipeline: a Researcher agent gathers information, an Analyst evaluates and extracts insights, a Writer synthesizes the report, and a Reviewer checks quality. Each agent gets context from prior stages. Built a dark-themed React frontend for real-time output streaming.
Architecture
Key Features
- →Role-based agent decomposition with specialized Research, Analysis, Writing, and Review agents
- →Stateful orchestration via LangGraph with full inter-agent context passing
- →Real-time streaming of agent outputs to the React frontend via WebSockets
- →Parallel execution of independent research subtasks
- →Iterative refinement loop where reviewer feedback triggers re-generation
- →Dark-themed React frontend with collapsible agent output panels
Gallery

Landing page that shows detailed information about the RAG Knowledge Assistant project, including overview, architecture, and key features.

Showing searchbar and CTA button to start a query

Human in the Loop and subquestions

Analysing and Searching

Showing the final answer with citations.
Tech Stack
Engineering Challenges
Agent Coordination State Management
Managing context passing between four agents in a directed acyclic graph required careful state schema design. Each agent's output needed to be structured and parseable by downstream agents without information loss.
Async Orchestration with Real-time Streaming
Coordinating parallel agent execution while streaming partial results to the frontend required non-trivial async patterns. Used asyncio tasks with shared state queues and WebSocket broadcasting.
Quality Control Loops
The reviewer agent occasionally flagged issues that required regeneration, but unbounded retry loops could cause infinite execution. Implemented a max 2-retry policy with progressive context enrichment between attempts.
Lessons Learned
- →Structured agent outputs (typed schemas) dramatically improve inter-agent communication quality
- →Real-time streaming is essential for user trust — showing intermediate agent work keeps users engaged during long-running research tasks
- →Locking retry budgets prevents runaway costs while still allowing meaningful quality improvement cycles
Results
The system produces research reports that consistently outperform single-LLM outputs in breadth, depth, and factual accuracy, as evaluated by domain experts across 20 test scenarios. Average completion time for a complex research topic is 45 seconds.
Related Projects
Let's Build Something Similar
Have a project in mind? Let's discuss how we can architect and build it together.
Discuss Your Project