Multi-agent research system with specialized roles, extended with Temporal's durable execution.
Adapted from OpenAI Agents SDK research bot
The flow is:
- User enters their research topic
planner_agentcomes up with a plan to search the web for information. The plan is a list of search queries, with a search term and a reason for each query.- For each search item, we run a
search_agent, which uses the Web Search tool to search for that term and summarize the results. These all run in parallel. - Finally, the
writer_agentreceives the search summaries, and creates a written report.
First, start the worker:
uv run openai_agents/research_bot/run_worker.pyThen run the research workflow:
uv run openai_agents/research_bot/run_research_workflow.pyIf you're building your own research bot, some ideas to add to this are:
- Retrieval: Add support for fetching relevant information from a vector store. You could use the File Search tool for this.
- Image and file upload: Allow users to attach PDFs or other files, as baseline context for the research.
- More planning and thinking: Models often produce better results given more time to think. Improve the planning process to come up with a better plan, and add an evaluation step so that the model can choose to improve its results, search for more stuff, etc.
- Code execution: Allow running code, which is useful for data analysis.