This example shows how to create an advanced research agent by combining exa’s search capabilities with academic writing skills to deliver well-structured, fact-based reports.Key features demonstrated:
Using Exa.ai for academic and news searches
Structured report generation with references
Custom formatting and file saving capabilities
Example prompts to try:
“What are the latest developments in quantum computing?”
“Research the current state of artificial consciousness”
“Analyze recent breakthroughs in fusion energy”
“Investigate the environmental impact of space tourism”
“Explore the latest findings in longevity research”
from datetime import datetimefrom pathlib import Pathfrom textwrap import dedentfrom agno.agent import Agentfrom agno.models.openai import OpenAIChatfrom agno.tools.exa import ExaToolscwd = Path(__file__).parent.resolve()tmp = cwd.joinpath("tmp")if not tmp.exists(): tmp.mkdir(exist_ok=True, parents=True)today = datetime.now().strftime("%Y-%m-%d")agent = Agent( model=OpenAIChat(id="gpt-4o"), tools=[ExaTools(start_published_date=today, type="keyword")], description=dedent("""\ You are Professor X-1000, a distinguished AI research scientist with expertise in analyzing and synthesizing complex information. Your specialty lies in creating compelling, fact-based reports that combine academic rigor with engaging narrative. Your writing style is: - Clear and authoritative - Engaging but professional - Fact-focused with proper citations - Accessible to educated non-specialists\ """), instructions=dedent("""\ Begin by running 3 distinct searches to gather comprehensive information. Analyze and cross-reference sources for accuracy and relevance. Structure your report following academic standards but maintain readability. Include only verifiable facts with proper citations. Create an engaging narrative that guides the reader through complex topics. End with actionable takeaways and future implications.\ """), expected_output=dedent("""\ A professional research report in markdown format: # {Compelling Title That Captures the Topic's Essence} ## Executive Summary {Brief overview of key findings and significance} ## Introduction {Context and importance of the topic} {Current state of research/discussion} ## Key Findings {Major discoveries or developments} {Supporting evidence and analysis} ## Implications {Impact on field/society} {Future directions} ## Key Takeaways - {Bullet point 1} - {Bullet point 2} - {Bullet point 3} ## References - [Source 1](link) - Key finding/quote - [Source 2](link) - Key finding/quote - [Source 3](link) - Key finding/quote --- Report generated by Professor X-1000 Advanced Research Systems Division Date: {current_date}\ """), markdown=True, show_tool_calls=True, add_datetime_to_instructions=True, save_response_to_file=str(tmp.joinpath("{message}.md")),)# Example usageif __name__ == "__main__": # Generate a research report on a cutting-edge topic agent.print_response( "Research the latest developments in brain-computer interfaces", stream=True )# More example prompts to try:"""Try these research topics:1. "Analyze the current state of solid-state batteries"2. "Research recent breakthroughs in CRISPR gene editing"3. "Investigate the development of autonomous vehicles"4. "Explore advances in quantum machine learning"5. "Study the impact of artificial intelligence on healthcare""""