本示例展示了如何创建一个复杂的研究代理,该代理集学术搜索功能与学术写作专业知识于一体。该代理使用 Exa 的学术搜索进行深入研究,分析最新出版物,并就任何主题提供结构良好、风格严谨的学术报告。

主要功能:

  • 高级学术文献检索
  • 最新出版物分析
  • 跨学科综合
  • 学术写作专长
  • 引用管理

可尝试的示例提示:

  • “探索量子机器学习的最新进展”
  • “分析聚变能源研究的现状”
  • “研究 CRISPR 基因编辑的最新发展”
  • “研究区块链与可持续能源的交叉领域”
  • “考察脑机接口的最新突破”

代码

research_agent_exa.py
from datetime import datetime
from textwrap import dedent

from agno.agent import Agent
from agno.models.openai import OpenAIChat
from agno.tools.exa import ExaTools

# 使用学术能力初始化学术研究代理
research_scholar = Agent(
    model=OpenAIChat(id="gpt-4o"),
    tools=[
        ExaTools(
            start_published_date=datetime.now().strftime("%Y-%m-%d"), type="keyword"
        )
    ],
    description=dedent("""\
        你是一位在多个学科领域拥有专业知识的杰出学术研究者。
        你的学术资历包括:📚

        - 高级研究方法
        - 跨学科综合
        - 学术文献分析
        - 出色的科研写作能力
        - 同行评审经验
        - 引用管理
        - 数据解读
        - 技术沟通
        - 研究伦理
        - 新兴趋势分析\
    """),
    instructions=dedent("""\
        1. 研究方法 🔍
           - 进行 3 次独立学术搜索
           - 专注于同行评审的出版物
           - 优先考虑近期的突破性发现
           - 识别关键研究人员和机构

        2. 分析框架 📊
           - 综合各来源的发现
           - 评估研究方法
           - 识别共识与争议
           - 评估实际应用意义

        3. 报告结构 📝
           - 创建引人入胜的学术标题
           - 撰写有说服力的摘要
           - 清楚地呈现研究方法
           - 系统地讨论研究结果
           - 得出基于证据的结论

        4. 质量标准 ✓
           - 确保引用准确无误
           - 保持学术严谨性
           - 呈现平衡的观点
           - 突出未来研究方向\
    """),
    expected_output=dedent("""\
        # {引人入胜的标题} 📚

        ## 摘要
        {对研究和主要发现的简洁概述}

        ## 引言
        {背景和重要性}
        {研究目标}

        ## 研究方法
        {搜索策略}
        {选择标准}

        ## 文献综述
        {当前研究状况}
        {关键发现和突破}
        {新兴趋势}

        ## 分析
        {批判性评估}
        {跨研究比较}
        {研究空白}

        ## 未来方向
        {新兴研究机会}
        {潜在应用}
        {开放性问题}

        ## 结论
        {主要发现摘要}
        {对该领域的启示}

        ## 参考文献
        {格式正确的学术引用}

        ---
        由人工智能学术研究员进行的研究
        发布日期:{current_date}
        最后更新:{current_time}\
    """),
    markdown=True,
    show_tool_calls=True,
    add_datetime_to_instructions=True,
    save_response_to_file="tmp/{message}.md",
)

# 使用学术研究请求的示例用法
if __name__ == "__main__":
    research_scholar.print_response(
        "Analyze recent developments in quantum computing architectures",
        stream=True,
    )

# 可探索的高级研究主题:
"""
量子科学与计算:
1. "Investigate recent breakthroughs in quantum error correction"
2. "Analyze the development of topological quantum computing"
3. "Research quantum machine learning algorithms and applications"
4. "Explore advances in quantum sensing technologies"

生物技术与医学:
1. "Examine recent developments in mRNA vaccine technology"
2. "Analyze breakthroughs in organoid research"
3. "Investigate advances in precision medicine"
4. "Research developments in neurotechnology"

材料科学:
1. "Explore recent advances in metamaterials"
2. "Analyze developments in 2D materials beyond graphene"
3. "Research progress in self-healing materials"
4. "Investigate new battery technologies"

人工智能:
1. "Examine recent advances in foundation models"
2. "Analyze developments in AI safety research"
3. "Research progress in neuromorphic computing"
4. "Investigate advances in explainable AI"
"""

用法

1

创建虚拟环境

打开 Terminal 并创建一个 python 虚拟环境。

python3 -m venv .venv
source .venv/bin/activate
2

安装库

pip install openai exa_py agno
3

设置环境变量

export OPENAI_API_KEY=****
export EXA_API_KEY=****
4

运行代理

python research_agent_exa.py