This is a complete starter project for a multi-agent research workflow:
- Planner agent creates tasks
- Worker agent collects evidence from web search and summarizes
- Critic agent checks gaps/contradictions and requests follow-up tasks
- Orchestrator returns a final brief with sources and next checks
- FastAPI exposes the workflow for apps/clients
- Expo mobile app lets you run the agent from your phone
.
|- mobile-app/
| |- App.tsx
| |- app.json
| `- package.json
|- src/agentic_research/
| |- agents/
| | |- planner.py
| | |- worker.py
| | `- critic.py
| |- tools/
| | |- web_search.py
| | `- memory.py
| |- config.py
| |- llm.py
| |- models.py
| |- orchestrator.py
| |- prompts.py
| |- api.py
| `- cli.py
|- tests/
| |- test_orchestrator_smoke.py
| `- test_api_smoke.py
|- .env.example
`- pyproject.toml
- Create virtual environment:
python -m venv .venv
.venv\Scripts\Activate.ps1- Install dependencies:
pip install -e ".[dev]"- Configure env:
Copy-Item .env.example .envThen edit .env and add OPENAI_API_KEY.
agentic-research "Perplexity AI"or
python -m agentic_research.cli "Perplexity AI"Outputs are saved in output/ as both .json and .md.
agentic-research-apior
python -m agentic_research.apiAPI endpoints:
GET /healthPOST /researchwith JSON body:
{
"topic": "Perplexity AI"
}- Start backend API in one terminal:
agentic-research-api- Start mobile app in another terminal:
cd mobile-app
npm install
npm run start- Open the app in Expo Go, then set
API Base URLto your laptop LAN IP:http://192.168.x.x:8000
- Plan:
PlannerAgent.plan(topic)creates prioritized tasks. - Act:
WorkerAgent.execute(task, search_results)turns raw results into findings. - Reflect:
CriticAgent.review(topic, findings)flags gaps and suggests follow-ups. - Synthesize:
ResearchOrchestratorbuilds the final executive brief.
- Add tool routing (news API, Crunchbase, SEC, docs)
- Add a verifier agent for citation checks
- Add retries and confidence-weighted ranking
- Add memory persistence (SQLite) for multi-run learning