本示例展示了如何创建一个高级研究代理,该代理结合了网络搜索能力和专业的记者写作技巧。该代理使用多种来源进行全面研究,进行事实核查,并就任何主题交付结构良好、符合《纽约时报》风格的文章。
主要能力:
可尝试的示例提示:
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. "研究数字隐私和数据保护措施的演变"
"""
创建虚拟环境
打开 Terminal
并创建一个 python 虚拟环境。
python3 -m venv .venv
source .venv/bin/activate
安装库
pip install openai duckduckgo-search newspaper4k lxml_html_clean agno
设置环境变量
export OPENAI_API_KEY=****
运行代理
python research_agent.py