工具设计的艺术

Think Tool:让 AI 先想后做

Agent 在执行长工具链时,经常忘记前面的信息,或者在需要权衡多条规则时犯错。实践证明,给 Agent 一个停下来想一想的工具,就能大幅提升准确率。

问题场景:Agent 为什么会犯错

信息在工具链中丢失

Agent 调用了 5 个工具后,早期工具返回的关键信息被后续的大量上下文淹没,模型不再关注它。

策略密集型决策

客服场景有 20 条退款政策、6 种例外情况。Agent 需要同时考虑多条规则才能做出正确判断,但它常常只看到了最近的几条。

串行依赖决策

每一步都基于前一步的结果。Agent 在第 3 步做决策时,需要回忆第 1 步的上下文,但那已经在 2000 个 Token 之前了。

什么是 Think Tool
一句话:Think Tool 是一个没有副作用的特殊工具。它不会查数据库、不会调 API、不会改任何状态。它唯一的作用是让 Agent 把思考过程写下来,强制自己想清楚再行动。

Extended Thinking

模型在生成回复之前进行深度思考。适合需要一次性想清楚的复杂推理问题。
THINK
深度思考,规划方案
ACTION
调用工具 A
ACTION
调用工具 B
ACTION
生成回复
思考发生在开头,之后一路执行

Think Tool

Agent 在执行过程中随时暂停思考。适合需要中途整理信息、重新评估策略的长链场景。
ACTION
调用工具 A,获取用户订单
THINK
结合政策 3 和 7,这种情况...
ACTION
调用工具 B,查退款记录
THINK
用户已退过 2 次,触发规则 12...
ACTION
做出最终决策
思考穿插在行动之间,步步为营
实现:极其简单

Think Tool 的实现简单到令人惊讶:它就是一个只接受一段文字、什么都不做的工具。

Think Tool 定义 (JSON)
{ "name": "think", "description": "Use the tool to think about something. It will not obtain new information or change the database, but just append the thought to the log.", "input_schema": { "type": "object", "properties": { "thought": { "type": "string", "description": "A thought to think about." } }, "required": ["thought"] } }
为什么不直接在 System Prompt 里说「请先想清楚」?因为 Agent 在工具调用模式下,思考和调用工具是两种不同的输出格式。把思考包装成一个工具调用,能让 Agent 在工具链的流程中自然地插入一段思考,保持工具调用的节奏。
效果:有多好用数据说话

τ-bench(一个模拟真实客服场景的 Agent 评测基准)上测试 Think Tool 的效果:

τ-bench Airline(航空客服)
0.570 0.878
+54% 提升
τ-bench Retail(零售客服)
0.812 0.904
+11% 提升
注意航空场景的提升幅度。航空退改签政策比零售复杂得多(不同舱位、不同时段、不同会员等级),策略密度越高,Think Tool 的价值越大。
动手试试:模拟客服 Agent

点击下方 Tab 切换模式,然后逐步展开 Agent 的处理过程。看看有没有 Think Tool,结果会有多大差异。

场景:用户要退一张 36 小时前购买的机票(政策:24 小时内全额退款,超过扣手续费)
什么时候用 Think Tool 2025.12 更新

适用场景

  • 复杂工具链:调用 5+ 个工具,中途需要整理和重新评估
  • 策略密集环境:需要同时考虑多条业务规则(如客服政策、审批流程)
  • 串行依赖决策:每步决策依赖前一步结果,需要承上启下的思考
  • 多轮信息聚合:从多个工具返回中拼凑完整图景

不适用场景

  • 简单工具调用:查天气、读文件这类一步到位的操作,Think Tool 是多余的开销
  • 非序列任务:各步骤相互独立、不需要前后关联的场景
  • 已有 Extended Thinking 的场景:如果模型支持深度思考,简单任务用 Extended Thinking 更直接
  • 纯生成任务:写文章、翻译等不涉及工具调用的场景
2025 年 12 月更新:业界进一步明确了 Think Tool 和 Extended Thinking 的分工:简单任务直接用 Extended Thinking,Think Tool 的真正价值在于长链路中的中途暂停,让 Agent 在行动之间重新整理思路。
有时候最有用的工具就是停下来想一想。Think Tool 不获取信息、不改变状态,但它给了 Agent 一个在行动链中暂停、整理、反思的机会。越复杂的任务,这种暂停的价值越大。