解锁 SOTA:推理模型如何指导工具执行
在飞速发展的 AI 领域,像 DeepSeek R1 这样的“推理模型”作为强大的思考者脱颖而出。它们擅长复杂的逻辑、数学和规划。然而,如何将这些深度的思考者与实际的工具执行结合起来,一直是一个挑战。
最近,我们在系统中实现了一种新颖的方法,它结合了两者的优势:推理模型的规划能力和标准聊天模型的强大执行能力。
挑战:思考 vs 实干
推理模型被训练为在回答之前先“思考”。它们会生成思维链(Chain-of-Thought, CoT)来探索问题空间。虽然这对提高准确性非常有帮助,但有时我们需要将行动的规划与行动的执行分离开来。我们需要“大脑”来决定做什么,而让“双手”去精准地执行。
我们的解决方案:“只指导,不触碰”
我们引入了一种机制,推理模型会接收到完整的可用工具列表,但被明确指示不要调用它们。相反,它的角色是分析用户的请求并指导后续的模型。
流程如下:
- 输入:用户发送请求(例如,“分析 TechCorp 的最新股票趋势”)以及可用工具(例如,
get_stock_price,get_news)。 - 推理阶段:系统将此请求转发给推理模型。
- 约束:我们注入了一个系统提示词,内容为:
“你只负责进行上下文理解、意图推理、知识关联等……注意:你不要调用任何工具,仅提示后续LLM该使用哪些工具。”
- 指导:推理模型生成一个“思考”块。它分析用户的意图,拆解任务,并决定:“首先,我需要用
get_stock_price获取股价,然后用get_news搜索最近的新闻。” - 执行阶段:这个丰富的推理上下文随后被传递给后续的聊天模型(如 GPT-4 或专门的工具调用模型)。
- 行动:聊天模型看到专家的计划后,完全按照指示执行工具。
为什么这能实现 SOTA 结果
这种架构模仿了人类解决问题的方式:先谋后动。
- 减少幻觉:通过强制进行推理步骤,模型不太可能在工具使用上鲁莽行事。
- 处理复杂任务:对于多步骤任务,推理模型可以在调用任何工具之前规划出完整的工作流。
- 关注点分离:我们可以使用针对推理优化的模型(如 DeepSeek R1)作为“大脑”,并使用针对指令遵循和 JSON 输出优化的模型作为“双手”。
代码一瞥
在我们的 messages.yaml 中,我们定义了强制执行此行为的模板:
reasoning_template: |
你只负责进行上下文理解、意图推理、知识关联等,具体指令遵循、任务分解、流程控制、最佳实践等将会转交给后续LLM完成。
请你逻辑严密、谨慎思考,你的思维链(Chain-of-Thought)为后续AI处理直接提供重要参考。
注意:你不要调用任何工具,仅提示后续LLM该使用哪些工具。
在我们的处理逻辑中,我们捕获这个推理过程并将其注入到最终执行模型的上下文中,确保无缝衔接。
这个简单而有效的改变显著提高了我们智能体工作流的可靠性和准确性,推动我们的系统更接近 State-of-the-Art (SOTA) 的性能。