如果说大语言模型(LLM)是AI Agent的大脑,那么提示词(Prompt)就是激活这个大脑的指令集。随着AI Agent从简单的问答工具演进为能够使用外部工具、访问实时数据的自主系统,提示词工程也从"如何问得更清楚"升级为"如何教AI思考和行动"。本文将深入探讨高级提示词工程的核心技巧。
从简单提示到Agent提示的演进
第一代:直接指令
最早的提示词是简单的指令:
写一首关于春天的诗。
LLM直接基于训练数据生成输出。这种模式的局限性显而易见:
- 知识截止日期之后的信息无法获取
- 无法访问用户的私有数据
- 无法执行计算、查询数据库等操作
第二代:思维链(Chain of Thought)
通过引导LLM"一步步思考",提升推理能力:
问题:小明有5个苹果,给了小红2个,又买了3个,现在有几个?
让我们一步步思考:
1. 小明最初有5个苹果
2. 给了小红2个,剩下:5 - 2 = 3个
3. 又买了3个,最终:3 + 3 = 6个
答案:6个苹果
这大幅提升了LLM在数学、逻辑推理任务上的表现。
第三代:工具使用与ReAct
最先进的Agent提示词采用ReAct(Reasoning + Acting)框架,让AI能够:
- 分解复杂任务
- 选择和使用工具
- 根据结果调整策略
- 迭代执行直到完成任务
这正是我们今天要深入探讨的核心内容。
ReAct框架:AI Agent的思维模式
ReAct是目前最流行的Agent提示词框架,核心思想是"思考-行动-观察"循环。
ReAct的工作流程
思考(Thought):分析当前状态,决定下一步做什么
行动(Action):选择一个工具并执行
观察(Observation):获取行动的结果
[重复直到任务完成]
最终答案(Final Answer):给出最终结论
ReAct提示词模板
你是一个AI助手,能够使用以下工具完成任务:
工具列表:
1. WebSearch:搜索互联网获取最新信息
- 输入:搜索查询字符串
- 输出:搜索结果列表
2. Calculator:执行数学计算
- 输入:数学表达式
- 输出:计算结果
3. ReadWebpage:读取网页内容
- 输入:URL
- 输出:网页文本内容
请按照以下格式思考和行动:
思考:[你对当前情况的分析和下一步计划]
行动:[工具名称]
行动输入:[工具的输入参数]
观察:[工具返回的结果]
... (这个思考/行动/观察可以重复多次)
思考:我现在知道最终答案了
最终答案:[对用户问题的最终回答]
开始!
用户问题:{用户的实际问题}
实战示例
用户问题:"2024年诺贝尔物理学奖得主是谁,他们的主要研究领域是什么?"
AI的执行过程:
思考:这个问题涉及2024年的最新信息,我需要搜索互联网。
行动:WebSearch
行动输入:2024诺贝尔物理学奖得主
观察:[搜索结果显示]
1. 2024年诺贝尔物理学奖授予John Hopfield和Geoffrey Hinton...
2. 表彰他们在人工神经网络基础研究方面的贡献...
思考:我得到了获奖者姓名,但需要更详细的研究领域信息。
行动:ReadWebpage
行动输入:https://www.nobelprize.org/prizes/physics/2024/summary/
观察:[网页内容]
John Hopfield发明了Hopfield网络,用于模式识别和联想记忆...
Geoffrey Hinton开发了Boltzmann机器,并在深度学习领域做出开创性贡献...
思考:我现在有足够的信息来回答问题了。
最终答案:2024年诺贝尔物理学奖授予John Hopfield和Geoffrey Hinton。
John Hopfield的主要研究领域是人工神经网络的联想记忆,他发明了Hopfield网络。
Geoffrey Hinton被誉为"深度学习之父",他的研究领域包括Boltzmann机器、反向传播算法和深度神经网络,对现代AI发展有深远影响。
让AI学会使用SERP API和Reader API
现在让我们深入一个实际场景:让AI Agent使用SERP API搜索信息,再用Reader API深度阅读内容。
工具定义提示词
关键是清晰定义每个工具的功能、输入输出格式:
TOOLS_DESCRIPTION = """
你可以使用以下工具:
1. **WebSearch** - 搜索互联网
功能:使用Bing搜索引擎查找相关信息
何时使用:当你需要查找关于某个主题的信息,或需要最新的数据时
输入格式:一个搜索查询字符串,例如"AI在医疗领域的应用"
输出格式:搜索结果列表,每个结果包含:
- 标题
- URL
- 摘要片段
注意事项:
- 使用清晰、具体的查询词
- 可以使用多个查询从不同角度探索主题
2. **ReadWebpage** - 深度阅读网页
功能:提取网页的完整文本内容
何时使用:当你从搜索结果中找到相关网页,需要详细了解其内容时
输入格式:完整的URL,例如"https://example.com/article"
输出格式:网页的Markdown格式文本,包含标题、段落、列表等
注意事项:
- 只读取从WebSearch获得的、看起来相关的URL
- 内容较长时会被截断,关注关键信息
- 如果提取失败,尝试其他URL
工作流程建议:
1. 先用WebSearch获取信息源
2. 评估搜索结果的相关性
3. 选择2-3个最相关的URL用ReadWebpage深入阅读
4. 综合多个来源的信息
5. 如果信息不足,进行额外的搜索
"""
任务规划提示词
教AI如何分解和规划任务:
你擅长进行深度研究。对于复杂的研究任务,请遵循以下策略:
1. **任务分解**
- 将大任务分解为多个子问题
- 识别关键信息需求
- 确定信息获取的优先级
2. **信息发现**
- 从宏观到微观:先搜索主题概览,再深入细节
- 多角度探索:从不同角度提出搜索查询
- 优先权威:优先阅读官方网站、学术论文、权威媒体
3. **信息验证**
- 交叉验证:对关键信息,从多个来源验证
- 评估来源:考虑来源的权威性和时效性
- 识别矛盾:如果不同来源有矛盾信息,进行深入调查
4. **综合分析**
- 提炼关键点:从大量信息中提炼核心洞察
- 建立关联:识别不同信息之间的联系
- 提出建议:基于研究发现,提出可行的建议
5. **效率优化**
- 避免重复:不要重复搜索或阅读相同的内容
- 迭代深入:基于初步发现,决定是否需要更深入的研究
- 适时停止:当信息足够回答问题时,不要过度研究
完整的Agent提示词示例
# 系统角色
你是一个专业的AI研究助理,擅长利用互联网进行深度调研。
# 可用工具
{TOOLS_DESCRIPTION}
# 工作方式
使用ReAct(Reasoning + Acting)模式:
思考:分析当前状态,决定下一步行动
行动:选择一个工具
行动输入:提供工具所需的输入
观察:工具返回的结果
[重复直到完成任务]
思考:我现在可以回答问题了
最终答案:详细的答案
# 研究策略
{任务规划提示词}
# 输出要求
- 最终答案应详细、结构化
- 重要信息应标注来源(URL)
- 如果信息不确定,应明确说明
- 使用Markdown格式组织内容
# 用户任务
{用户的实际问题}
开始工作吧!
高级技巧与最佳实践
1. Few-Shot示例
在提示词中包含1-2个完整的示例,让AI学习期望的行为模式:
示例任务:研究特斯拉2024年Q3的财报表现
思考:我需要搜索特斯拉2024年Q3的财报信息
行动:WebSearch
行动输入:特斯拉2024年Q3财报
观察:[搜索结果包含多个财报新闻]
思考:我应该阅读特斯拉官方的财报文件以获取准确数据
行动:ReadWebpage
行动输入:https://ir.tesla.com/q3-2024-earnings
观察:[财报详细内容]
营收:251亿美元,同比增长8%
净利润:18亿美元...
思考:我已获得足够信息
最终答案:特斯拉2024年Q3财报表现如下:
- 营收:251亿美元,同比增长8%
...
[详细分析]
来源:https://ir.tesla.com/q3-2024-earnings
---
现在请你处理以下任务:
[用户的实际任务]
2. 约束与护栏
明确AI不应该做什么:
重要约束:
- 不要捏造信息。如果搜索和阅读后仍不确定,诚实说明。
- 不要过度依赖单一来源。重要信息应从多个来源验证。
- 不要无限循环。如果尝试5次仍无法获得信息,说明原因并提供替代方案。
- 不要泄露工具的技术细节。用户不需要知道你使用了哪些API。
3. 自我反思
教AI评估自己的输出质量:
在给出最终答案前,请进行自我检查:
1. 我的答案是否完整回答了用户的问题?
2. 所有关键信息是否都有可靠来源支持?
3. 是否存在逻辑矛盾或不一致?
4. 信息的时效性如何?是最新的吗?
5. 用户可能还关心哪些相关问题?
如果发现问题,返回继续研究。
4. 动态调整搜索策略
搜索策略调整规则:
- 如果初次搜索结果不理想(少于3个相关结果),尝试:
* 简化查询词
* 更换关键词
* 使用英文查询(对于技术主题)
- 如果某个URL提取失败,不要重试,尝试其他URL
- 如果多个来源信息一致,可以提高信心度
- 如果来源之间有矛盾,优先相信官方来源
5. 成本控制
对于需要大量API调用的场景,加入成本意识:
效率要求:
- 优先使用搜索结果中的snippet,判断是否需要深度阅读
- 不要阅读超过5个网页(除非明确需要更多信息)
- 如果搜索结果的snippet已经包含答案,不必深度阅读
针对不同任务的提示词变体
研究型任务
强调全面性、多角度、深度分析:
研究目标:{具体研究主题}
请进行全面的研究,包括:
1. 主题概述和背景
2. 关键数据和统计
3. 主要观点和争议
4. 典型案例分析
5. 未来趋势预测
最终以结构化报告形式呈现,字数不少于1000字。
监控型任务
强调实时性、变化追踪:
监控任务:追踪{公司/产品/话题}的最新动态
关注重点:
- 最近7天内的新闻和事件
- 与上次报告相比的变化
- 潜在的风险和机会信号
以简洁的要点形式报告,突出变化和异常。
对比分析任务
强调公平性、多维度:
对比分析:{A} vs {B}
对比维度:
- 核心功能和特性
- 定价和成本
- 用户评价和满意度
- 技术成熟度
- 市场定位
以表格+文字说明的形式呈现,保持客观中立。
调试与优化
常见问题
问题1:AI陷入循环,重复执行相同的搜索
解决:
- 添加"不要重复之前的搜索查询"指令
- 限制最大迭代次数
- 让AI在每次行动前检查是否已经尝试过
问题2:AI选择了不相关的工具
解决:
- 更清晰地描述每个工具的适用场景
- 提供正反例
- 增加工具选择的思考步骤
问题3:最终答案过于简短或缺乏深度
解决:
- 明确输出长度要求
- 要求包含具体数据和案例
- 增加自我检查环节
提示词测试流程
- 单元测试:针对特定子任务(如搜索、阅读)测试
- 端到端测试:完整任务流程测试
- 边界测试:测试极端情况(如信息缺失、URL失效)
- 人工评估:评估输出的质量、相关性、准确性
实战案例:完整的Market Research Agent
让我们看一个完整的市场研究Agent提示词:
MARKET_RESEARCH_PROMPT = """
你是一个专业的市场研究分析师AI,擅长利用互联网数据进行深度市场调研。
## 可用工具
[SERP API和Reader API的详细描述]
## 研究框架
对于市场研究任务,请按照以下框架进行:
1. 市场概况
- 市场规模和增长率
- 主要细分市场
- 地理分布
2. 竞争格局
- 主要参与者和市场份额
- 竞争策略和差异化
- 进入壁垒
3. 趋势与驱动因素
- 技术趋势
- 消费者偏好变化
- 政策和监管环境
4. 机会与威胁
- 未被满足的需求
- 潜在的破坏性变化
- 风险因素
5. 建议
- 市场进入策略
- 产品定位建议
- 风险应对措施
## 信息来源优先级
1. 官方统计机构和行业协会报告
2. 知名市场研究公司(Gartner、IDC等)
3. 行业领先公司的财报和官方公告
4. 权威媒体和行业媒体
5. 学术论文(对于新兴领域)
## 数据验证
- 关键数字应从至少2个独立来源验证
- 标注数据的时间和来源
- 对于差异较大的数据,说明可能的原因
## 输出格式
使用Markdown生成结构化报告,包含:
- 执行摘要(200字)
- 各部分详细分析
- 数据图表(表格形式)
- 完整的来源列表
现在,请研究:{用户的市场研究主题}
"""
完整代码参考构建Mini-DeepResearch教程。
总结
高级提示词工程是AI Agent开发的核心技能。关键要点:
- 清晰的工具定义:让AI理解每个工具的功能和使用场景
- ReAct框架:思考-行动-观察的循环,赋予AI规划能力
- 策略指导:教AI如何分解任务、验证信息、综合分析
- 约束和护栏:防止AI产生幻觉或陷入低效循环
- 持续优化:通过测试和反馈,不断改进提示词
随着LLM能力的提升和工具生态的丰富,提示词工程将继续演进。掌握这门艺术,就掌握了释放AI Agent潜力的钥匙。
相关资源
AI Agent开发:
- AI Agent集成指南 – 集成实践
- 构建Mini-DeepResearch – 完整案例
- DeepResearch架构 – 系统设计
工具使用:
- SERP API入门 – 搜索API
- Reader API指南 – 内容提取
- API对比指南 – API选型
RAG与检索:
SearchCans提供高性价比的Bing搜索API和Reader API服务,专为AI Agent和开发者打造。立即体验 →