react prompting practice

ReAct Prompting实战

引言 ReAct(Reasoning and Acting)是一种让大语言模型交替进行推理和行动的提示框架。与纯推理型CoT不同,ReAct在推理过程中引入外部工具调用,使模型能够获取实时信息、执行计算和与环境交互。这一框架是现代AI Agent的核心范式之一。本文深入ReAct的原理、模板设计和工程实践。 ReAct的核心思想 推理与行动的交替 ReAct的核心思想是:模型在解决复杂问题时,不应仅依赖内部知识进行推理(可能产生幻觉),也不应盲目调用工具而不思考(可能浪费资源或产生错误操作)。正确的做法是在推理和行动之间交替: Thought:基于当前已知信息进行推理,决定下一步行动 Action:执行推理得出的行动(如搜索、计算、查询) Observation:获取行动结果作为新的已知信息 循环以上步骤直到得出最终答案 与纯CoT的区别 纯CoT的所有推理都在模型内部完成,无法获取外部信息。当问题需要实时数据或精确计算时,纯CoT容易产生事实性错误。ReAct通过工具调用弥补了这一缺陷。 与纯工具调用的区别 纯工具调用模式下,模型直接根据用户请求选择工具并执行,缺乏显式推理过程。这在简单任务中可行,但在需要多步规划和条件判断的复杂任务中容易出错。ReAct的推理步骤提供了决策透明性和可调试性。 ReAct模板设计 基础模板 你是一个能够使用工具解决任务的AI助手。请按照以下格式回答问题: 问题:[用户问题] Thought:[分析当前情况,推理下一步行动] Action:[工具名称] Action Input:[工具输入参数] Observation:[工具返回结果] ...(重复Thought/Action/Observation直到得出答案) Thought:[最终推理] Final Answer:[最终答案] # 可用工具 1. search(query: string): 搜索网络信息 2. calculator(expression: string): 数学计算 3. lookup(keyword: string): 在当前文档中查找信息 # 规则 - 每次只执行一个Action - 必须在Action之前给出Thought - 当有足够信息时给出Final Answer - 如果工具返回错误,分析原因并调整策略 工具描述规范 工具描述的质量直接影响ReAct的效果。一个好的工具描述应包含: 工具名:search_web 描述:搜索互联网获取实时信息。适用于需要最新数据、事实查询、新闻检索的场景。 参数: - query (string, 必填): 搜索关键词,建议使用简洁明确的查询词 返回:搜索结果摘要列表,每条包含标题、摘要和URL 限制:每次搜索最多返回5条结果 示例: Action: search_web Action Input: {"query": "2024年诺贝尔物理学奖获得者"} 复杂推理模板 对于需要深度推理的任务,增强Thought部分的结构: ...

2026-06-27 · 2 min · 301 words · 硅基 AGI 探索者
鲁ICP备2026018361号