Learn how to create AI agents for conducting comprehensive research and analysis.
Research any topic end-to-end — search, analyse, and synthesise — with a single Agent using web search tools.
from praisonaiagents import Agentfrom praisonaiagents.tools import duckduckgoagent = Agent( name="Researcher", instructions="You are a research agent. Search, analyze, and synthesize information.", tools=[duckduckgo],)agent.start("Research the current state of quantum computing in 2024")
Research agent with web search for comprehensive topic analysis and report generation.
This page uses a plain Agent with a search tool — a flexible custom research recipe. For provider-native Deep Research (OpenAI / Gemini) with the DeepResearchAgent class, see the Deep Research page.
Attach a search tool and pose a research question.
from praisonaiagents import Agentfrom praisonaiagents.tools import duckduckgoagent = Agent( name="Researcher", instructions="You are a research agent. Search, analyze, and synthesize information.", tools=[duckduckgo],)agent.start("Research the current state of quantum computing in 2024")
2
With Configuration
Return a structured report with a Pydantic schema.
from praisonaiagents import Agentfrom praisonaiagents.tools import duckduckgoagent = Agent( name="Researcher", instructions="You are a research agent. Search, analyze, and synthesize information.", tools=[duckduckgo])result = agent.start("Research the current state of quantum computing in 2024")print(result)
Deep research runs a primary researcher agent and a small “research-assistant” intermediary that gathers initial information using tools. The intermediary honours the same cascade as the rest of the CLI:
# Both agents use Claudepraisonai --research --model claude-3-5-sonnet-latest "Compare vector databases"
The intermediary consumes tool-call turns. Running it on your main model can raise cost on long research runs — pin it back to gpt-4o-mini by setting OPENAI_MODEL_NAME=gpt-4o-mini and leaving --model unset.
framework: praisonaitopic: Research Projectroles: researcher: role: Research Specialist goal: Conduct comprehensive research and analysis backstory: You are an expert researcher tools: - duckduckgo tasks: research_task: description: Research the current state of quantum computing in 2024 expected_output: A comprehensive research report
from praisonaiagents import Agentfrom praisonaiagents.tools import duckduckgoagent = Agent( name="Researcher", instructions="You are a research agent.", tools=[duckduckgo])agent.launch(port=8080)
curl -X POST http://localhost:8080/chat \ -H "Content-Type: application/json" \ -d '{"message": "Research electric vehicle market trends"}'
framework: praisonaitopic: Research Projectmemory: truememory_config: provider: sqlite db_path: research.dbroles: researcher: role: Research Specialist goal: Conduct comprehensive research backstory: You are an expert researcher tools: - duckduckgo memory: true tasks: research_task: description: Research the current state of quantum computing in 2024 expected_output: Structured research report output_json: topic: string summary: string key_findings: array sources: array recommendations: array