[Draft] feat: Add DeepResearchAgent
Description
Overview
This draft PR introduces the initial version of DeepResearchAgent (issue #1639), a lightweight research agent that performs real-time document retrieval and summarization based on user queries.
The agent is implemented following the BaseAgent interface, making it fully compatible with the CAMEL agent architecture. It is designed to mimic the functionality of research-oriented assistants like Perplexity or ChatGPT with browsing, while remaining modular and extensible.
Roadmap
The DeepResearchAgent is designed to support query-driven research workflows by retrieving external documents and summarizing relevant content.
[x] Stage 1: MVP (this draft PR draft)
- A planner agent planning a series of steps for answering the original question, with re-planning feature based on current results.
- Each step will be completed by a ChatAgent.
- A writer agent will summarize/polish the final answer.
[ ] Stage 2:Future Extensions
- [ ] ReActAgent for interleaved reasoning and tool use (e.g. search → reason → refine)
- [ ] Human-in-loop feedback(already exist in camel, to be integrated)
Schematic of an ideal version of the deep research agent
Each of the above extensions will be submitted as standalone PRs to keep the development clean and reviewable.
Checklist
Go over all the following points, and put an x in all the boxes that apply.
- [] I have read the CONTRIBUTION guide (required)
- [ ] I have linked this PR to an issue using the Development section on the right sidebar or by adding
Fixes #issue-numberin the PR description (required) - [ ] I have checked if any dependencies need to be added or updated in
pyproject.tomlanduv lock - [ ] I have updated the tests accordingly (required for a bug fix or a new feature)
- [ ] I have updated the documentation if needed:
- [ ] I have added examples if this is a new feature
If you are unsure about any of these, don't hesitate to ask. We are here to help!