本示例展示了如何创建一个高级研究代理,该代理结合了网络搜索能力和专业的记者写作技巧。该代理使用多种来源进行全面研究,进行事实核查,并就任何主题交付结构良好、符合《纽约时报》风格的文章。

主要能力:

  • 跨多个来源的高级网络搜索
  • 内容提取与分析
  • 交叉参考验证
  • 专业记者写作
  • 平衡与客观的报道

可尝试的示例提示:

  • “分析人工智能对医疗服务和患者结局的影响”
  • “报道量子计算领域的最新突破”
  • “调查全球向可再生能源的转型”
  • “探讨网络安全威胁和防御的演变”
  • “研究自动驾驶汽车技术的发展”

代码

research_agent.py
from textwrap import dedent

from agno.agent import Agent
from agno.models.openai import OpenAIChat
from agno.tools.duckduckgo import DuckDuckGoTools
from agno.tools.newspaper4k import Newspaper4kTools

# 使用高级记者能力初始化研究代理
research_agent = Agent(
    model=OpenAIChat(id="gpt-4o"),
    tools=[DuckDuckGoTools(), Newspaper4kTools()],
    description=dedent("""\
        你是一位经验丰富的精英调查记者,在《纽约时报》工作数十年。
        你的专长包括:📰

        - 深入的调查研究与分析
        - 严谨的事实核查与来源验证
        - 引人入胜的叙事构建
        - 数据驱动的报道与可视化
        - 专业访谈综合
        - 趋势分析与未来预测
        - 复杂主题简化
        - 道德新闻实践
        - 平衡观点的呈现
        - 全球背景整合\
    """),
    instructions=dedent("""\
        1. 研究阶段 🔍
           - 搜索关于该主题的 10+ 个权威来源
           - 优先考虑最近的出版物和专家意见
           - 识别关键利益相关者和观点

        2. 分析阶段 📊
           - 提取和验证关键信息
           - 跨多个来源交叉核对事实
           - 识别新兴模式和趋势
           - 评估冲突的观点

        3. 写作阶段 ✍️
           - 撰写引人注目的标题
           - 按照《纽约时报》风格构建内容
           - 包括相关的引述和统计数据
           - 保持客观和平衡
           - 清晰地解释复杂概念

        4. 质量控制 ✓
           - 验证所有事实和出处
           - 确保叙事流畅性和可读性
           - 适当添加背景信息
           - 包括未来影响
    """),
    expected_output=dedent("""\
        # {引人注目的标题} 📰

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

        ## 背景与环境
        {历史背景和重要性}
        {当前格局概述}

        ## 主要发现
        {主要发现与分析}
        {专家见解与引述}
        {统计证据}

        ## 影响分析
        {当前影响}
        {相关方观点}
        {行业/社会影响}

        ## 未来展望
        {新兴趋势}
        {专家预测}
        {潜在挑战与机遇}

        ## 专家见解
        {行业领导者的著名引述和分析}
        {对比观点}

        ## 来源与方法
        {主要来源及其关键贡献的列表}
        {研究方法概述}

        ---
        由人工智能调查记者进行研究
        《纽约时报》风格报道
        发布日期:{current_date}
        最后更新日期:{current_time}\
    """),
    markdown=True,
    show_tool_calls=True,
    add_datetime_to_instructions=True,
)

# 使用详细研究请求的示例用法
if __name__ == "__main__":
    research_agent.print_response(
        "分析人工智能监管在全球范围内的当前状态和未来影响",
        stream=True,
    )

# 可探索的高级研究主题:
"""
技术与创新:
1. "调查 2024 年大型语言模型的发展和影响"
2. "研究量子计算的当前状态及其应用"
3. "分析边缘计算技术的发展和未来"
4. "探讨脑机接口技术的最新进展"

环境与可持续性:
1. "报道创新的碳捕获技术及其有效性"
2. "调查全球可再生能源的普及进展"
3. "分析循环经济实践对全球可持续性的影响"
4. "研究可持续航空技术的发展"

医疗与生物技术:
1. "探讨 CRISPR 基因编辑技术的最新发展"
2. "分析人工智能在药物发现和开发中的影响"
3. "调查个性化医疗方法的演变"
4. "研究寿命科学和抗衰老研究的当前状态"

社会影响:
1. "审查社交媒体对民主进程的影响"
2. "分析远程工作对城市发展的影响"
3. "调查区块链在改造金融系统中的作用"
4. "研究数字隐私和数据保护措施的演变"
"""

用法

1

创建虚拟环境

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

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

安装库

pip install openai duckduckgo-search newspaper4k lxml_html_clean agno
3

设置环境变量

export OPENAI_API_KEY=****
4

运行代理

python research_agent.py