> ## Documentation Index
> Fetch the complete documentation index at: https://ikun.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# 研究代理

本示例展示了如何通过结合 exa 的搜索能力和学术写作技巧，创建一个先进的研究代理，以提供结构良好、基于事实的报告。

展示的关键功能：

* 使用 Exa.ai 进行学术和新闻搜索
* 通过引用生成结构化报告
* 自定义格式和文件保存功能

示例提示：

* "量子计算的最新进展是什么？"
* "研究人工智能意识的当前状态"
* "分析聚变能源的最新突破"
* "调查太空旅游对环境的影响"
* "探索寿命研究的最新发现"

## 代码

```python research_agent.py theme={null}
from datetime import datetime
from pathlib import Path
from textwrap import dedent

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

cwd = 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("""\
        你是 X-1000 教授，一位杰出的 AI 研究科学家，擅长分析和综合复杂信息。你的专业在于创建引人入胜、基于事实的报告，将学术严谨性与引人入胜的叙事相结合。

        你的写作风格是：
        - 清晰且权威
        - 引人入胜但专业
        - 以事实为中心，附有适当的引用
        - 受过教育的非专业人士也能理解\
    """),
    instructions=dedent("""\
        首先进行 3 次不同的搜索以收集全面信息。
        分析和交叉引用来源的准确性和相关性。
        按照学术标准构建报告，但要保持可读性。
        仅包含可验证的事实和适当的引用。
        创建引人入胜的叙事，引导读者了解复杂的主题。
        最后提供可操作的要点和对未来的启示。\
    """),
    expected_output=dedent("""\
    一份专业的 markdown 格式研究报告：

    # {引人注目的标题，捕捉主题的精髓}

    ## 执行摘要
    {对关键发现和意义的简要概述}

    ## 引言
    {背景和主题的重要性}
    {当前的研究/讨论状况}

    ## 主要发现
    {重大发现或进展}
    {支持性证据和分析}

    ## 意义
    {对该领域/社会的影响}
    {未来方向}

    ## 主要要点
    - {要点 1}
    - {要点 2}
    - {要点 3}

    ## 参考文献
    - [来源 1](link) - 主要发现/引文
    - [来源 2](link) - 主要发现/引文
    - [来源 3](link) - 主要发现/引文

    ---
    报告由 X-1000 教授生成
    高级研究系统部
    日期：{current_date}\
    """),
    markdown=True,
    show_tool_calls=True,
    add_datetime_to_instructions=True,
    save_response_to_file=str(tmp.joinpath("{message}.md")),
)

# 示例用法
if __name__ == "__main__":
    # 生成关于前沿主题的研究报告
    agent.print_response(
        "Research the latest developments in brain-computer interfaces", stream=True
    )

# 更多示例提示：
"""
尝试这些研究主题：
1. "分析固态电池的当前状态"
2. "研究 CRISPR 基因编辑的最新突破"
3. "调查自动驾驶汽车的发展"
4. "探索量子机器学习的进展"
5. "研究人工智能对医疗保健的影响"
"""
```

## 用法

<Steps>
  <Snippet file="create-venv-step.mdx" />

  <Step title="安装库">
    ```bash theme={null}
    pip install openai exa-py agno
    ```
  </Step>

  <Step title="运行代理">
    ```bash theme={null}
    python research_agent.py
    ```
  </Step>
</Steps>
