An AI-powered multi-agent research system that autonomously searches the web, extracts relevant information, generates structured research reports, and critiques its own output.
Built using LangChain, Groq LLMs, Tavily Search, and Streamlit.
ResearchAgent demonstrates how multiple AI agents can collaborate to solve a complex task by breaking it into specialized stages.
Instead of relying on a single prompt, the system uses a multi-agent workflow where each agent is responsible for a specific task:
- Search Agent → Finds relevant information from the web.
- Reader Agent → Extracts and processes content from selected sources.
- Writer Agent → Produces a structured research report.
- Critic Agent → Reviews the report and provides feedback.
This project was built to demonstrate practical AI Engineering concepts including:
- Tool Calling
- Agentic Workflows
- Multi-Agent Systems
- LLM Orchestration
- Prompt Engineering
- Web Search Integration
- Automated Research Pipelines
User Query
│
▼
┌─────────────────┐
│ Search Agent │
│ Tavily Search │
└────────┬────────┘
│
▼
┌─────────────────┐
│ Reader Agent │
│ URL Extraction │
│ + Web Scraping │
└────────┬────────┘
│
▼
┌─────────────────┐
│ Writer Agent │
│ Report Creation │
└────────┬────────┘
│
▼
┌─────────────────┐
│ Critic Agent │
│ Quality Review │
└────────┬────────┘
│
▼
Final Research
Report
- Multi-agent research workflow
- Web search using Tavily
- Automated content extraction
- Structured report generation
- Self-critique and evaluation
- Streamlit-based user interface
- Groq-powered LLM inference
- Modular architecture for easy extension
- LangChain
- LangGraph Runtime
- Groq API
- Llama 3.3 70B Versatile
- Tavily Search API
- BeautifulSoup
- Requests
- Streamlit
- Python
- dotenv
- Rich
Responsible for discovering relevant and recent information.
Tool Used:
web_search()Responsibilities:
- Search the internet
- Collect relevant URLs
- Gather snippets and metadata
- Provide research context
Responsible for retrieving deeper information from selected sources.
Tool Used:
scrape_url()Responsibilities:
- Select useful resources
- Extract page content
- Clean HTML noise
- Prepare information for report generation
Responsible for synthesizing information into a readable report.
Responsibilities:
- Combine gathered research
- Generate structured output
- Produce coherent findings
- Maintain factual consistency
Output Structure:
- Introduction
- Key Findings
- Conclusion
- Sources
Responsible for evaluating report quality.
Responsibilities:
- Assess report completeness
- Identify weaknesses
- Suggest improvements
- Assign a quality score
Output Format:
Score: X/10
Strengths:
- ...
Areas to Improve:
- ...
Verdict:
...
ResearchAgent/
│
├── agents.py
├── app.py
├── pipeline.py
├── tools.py
│
├── requirements.txt
├── .env.example
├── .gitignore
│
└── README.md
| File | Purpose |
|---|---|
| agents.py | Agent and chain definitions |
| tools.py | Search and scraping tools |
| pipeline.py | Multi-agent orchestration |
| app.py | Streamlit frontend |
| .env.example | Environment variables template |
git clone https://github.com/yourusername/ResearchAgent.git
cd ResearchAgentWindows
python -m venv venv
venv\Scripts\activateLinux / Mac
python3 -m venv venv
source venv/bin/activatepip install -r requirements.txtCreate a .env file.
GROQ_API_KEY=your_groq_api_key
TAVILY_API_KEY=your_tavily_api_keystreamlit run app.pyApplication will be available at:
http://localhost:8501
python pipeline.pyInput:
Gen AI Skills Required in 2026
Pipeline Execution:
Search Agent
↓
Reader Agent
↓
Writer Agent
↓
Critic Agent
Output:
Research Report
+
Quality Evaluation
This project demonstrates:
- Multi-agent system design
- LLM tool calling
- Prompt orchestration
- Research automation
- Retrieval and synthesis workflows
- Modular agent architecture
- AI application development
- End-to-end GenAI system implementation
- Async agent execution
- Multi-source scraping
- Citation tracking
- RAG-based knowledge memory
- Human-in-the-loop review
- Report export to PDF
- Agent observability and tracing
- Multi-model routing
Most LLM applications are simple chat interfaces.
This project focuses on AI Engineering principles by combining multiple specialized agents, external tools, autonomous decision-making, and structured report generation into a complete research workflow.
The goal is to demonstrate practical experience building agentic AI systems rather than simple prompt wrappers.
This project is licensed under the MIT License.


