A multi-agent research system built with ADK-TS that orchestrates specialized AI agents to conduct comprehensive research, analysis, and reporting on any topic.
This is the code demo for the 2-part article series on the IQ blog:
- Part 1: Build a Research Assistant Agent in TypeScript with ADK-TS
- Part 2: Build a Research Assistant Agent in TypeScript with ADK-TS
Please give this repo a ⭐ if it was helpful to you!
- Overview
- Features
- Architecture
- Technologies Used
- Prerequisites
- Getting Started
- Usage
- License
- Additional Resources
The Research Assistant Agent demonstrates how to build a production-ready multi-agent system where specialized agents collaborate to accomplish complex tasks. Given any research topic, the system automatically:
- Researches the topic from multiple angles
- Analyzes findings to extract key insights
- Develops actionable recommendations
- Compiles a comprehensive final report
- Multi-agent orchestration with intelligent sequential processing
- Specialized agents for focused task execution:
- Researcher Agent – Conducts targeted web searches (3-search methodology)
- Analysis Agent – Extracts insights and identifies patterns
- Recommender Agent – Develops actionable recommendations
- Writer Agent – Synthesizes everything into a polished report
- Web search integration via Tavily for current, real-world data
- Structured output with clear sections and formatting
- Type-safe implementation with TypeScript
flowchart TD
U["👤 User Input
(Research Topic)"] --> A["Research Assistant
(Sequential Orchestrator)"]
A --> B["Researcher Agent"]
B --> C["Analysis Agent"]
C --> D["Recommender Agent"]
D --> E["Writer Agent"]
E --> F["📄 Final Report
(Agent Output)"]
Each agent processes the output of the previous stage sequentially, creating a pipeline that transforms raw research into actionable insights and a professional report.
- ADK-TS – The TypeScript-Native AI Agent Framework
- ADK-TS CLI – CLI for testing and running agents
- TypeScript – Type-safe agent development
- Google AI (Gemini) – LLM provider
- Tavily – Real-time web search for data gathering
- Node.js 18+ and pnpm installed
- A Google AI Studio API key
- A Tavily API key
-
Clone the repository:
git clone https://github.com/IQAIcom/Research-Assistant-Agent.git cd Research-Assistant-Agent -
Install dependencies:
pnpm install
-
Set up environment variables:
Create a
.envfile in the root directory:cp .env.example .env
Add your API credentials:
# ADK-TS framework debug logs (optional) ADK_DEBUG=false # Google AI API key (required) GOOGLE_API_KEY=your_google_api_key_here # LLM model name (optional, defaults to gemini-2.5-flash) LLM_MODEL=gemini-2.5-flash # Tavily API key (required for web search) TAVILY_API_KEY=your_tavily_api_key_here
-
Test the agent with the ADK-TS CLI:
The CLI auto-discovers your agents from the
src/agentsdirectory and lets you test without writing any additional code.Terminal chat — start an interactive chat session:
npx @iqai/adk-cli run
Web interface — launch a local web server with a visual chat UI:
npx @iqai/adk-cli web
Try sending a topic like "Impact of artificial intelligence on healthcare in 2025" and watch the pipeline execute each step.
The first run takes 30–60 seconds depending on your LLM and the topic complexity. Set
ADK_DEBUG=truein your.envto see detailed logs of each agent's input, output, and state changes.Alternatively, you can run the agent directly with
pnpm dev.
The research assistant accepts any topic and produces a comprehensive report with:
- Research Findings – Synthesized data from web searches
- Analysis – Critical insights and identified patterns
- Recommendations – Actionable next steps and strategies
- Final Report – Professional document combining all elements
Example topics:
- "emerging trends in machine learning"
- "sustainable business practices"
- "remote work productivity strategies"
- "climate change impact on agriculture"
This project is licensed under the MIT License – see the LICENSE file for details.
- 📝 Part 1: Blog Article – Building a multi-agent research assistant
- 📝 Part 2: Blog Article – Callbacks, session state, and memory
- 📚 ADK-TS Documentation – Full framework reference
- 🤖 IQ AI – Agent development platform