A research-focused multi-agent system built with LangChain.
The main purpose of this project is to perform research by finding information from multiple sources, extracting relevant content, generating a report, and having a critic review the result.
User
↓
Search Agent
↓
Reader Agent
↓
Writer Chain
↓
Critic Chain
↓
Research Report
Performs the initial web research and finds relevant sources for the given topic.
Output:
search_results
Works with the search results and identifies useful sources.
It uses a URL scraping tool to extract deeper content from selected webpages.
Output:
scraped_content
Combines the search results and scraped content to generate a structured research report.
Output:
report
Reviews the generated report and provides feedback instead of directly accepting the Writer's output.
Output:
feedback
A shared state is used to pass information between different stages of the workflow.
State
├── topic
├── search_results
├── scraped_content
├── report
└── feedback
This allows each stage to access information produced by previous stages.
The project currently uses tools for:
- Web searching
- URL scraping
These tools allow the agents to retrieve external information instead of relying entirely on the LLM's existing knowledge.
Multi_Research_agent/
│
├── src/
│ ├── agents/
│ │ └── agents.py
│ │
│ ├── pipeline/
│ │ └── pipeline.py
│ │
│ └── tools/
│ └── tools.py
│
├── main.py
├── .env
├── .gitignore
├── pyproject.toml
└── README.md
- Python
- LangChain
- LLM
- Web Search
- Web Scraping
- Multi-Agent Architecture
For more complex agent workflows, frameworks such as LangGraph and CrewAI can be used to manage agents, tools, state, and execution flow.
A research question such as:
Why did NVIDIA become dominant in the generative AI era
while Intel and AMD failed to capture the same opportunity?
can go through the complete pipeline:
Research Question
↓
Web Search
↓
Relevant Sources
↓
Source Scraping
↓
Research Content
↓
Report Generation
↓
Critical Review
↓
Final Research Report
This project is currently a local prototype.
It has not been deployed because a multi-agent workflow can generate multiple LLM/API calls during a single research task, which can significantly increase API usage and cost.
- Persistent storage
- Conversational research
- Better source ranking
- Parallel research agents
- Improved report evaluation
- Web interface
- Deployment
- Cost and token optimization
Amirtha Ganesh R