工程进阶 · 可靠 Agent 的工程模式

Think Tool:让 AI 先想后做

在复杂工具链中给 Agent 一个暂停思考的空间,τ-bench 性能提升 54%

本页解决的问题

先给结论

「Think Tool:让 AI 先想后做」要解决的关键问题是什么?

在复杂工具链中给 Agent 一个暂停思考的空间,τ-bench 性能提升 54%

判断标准

让这个结论先证明自己值得留下。 把这一页当成决策工具,而不是需要背下来的定义。把概念连到一个真实任务、一个可观察结果,以及一个能改变你判断的失败上。

下一步

写下一个问题:试完这个方法后,你能用什么证据回答它?

常见误区

结论听起来很完整,却没有检查最关键的假设。

问题场景: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 一个在行动链中暂停、整理、反思的机会。越复杂的任务,这种暂停的价值越大。

「问题场景:Agent 为什么会犯错」如何改变一次回答

「Agent 调用了 5 个工具后,早期工具返回的关键信息被后续的大量上下文淹没,模型不再关注它」说明,模型处理的不是我们眼中的“字数”,而是一段段 Token。Token 的切分方式会影响输入长度、上下文能放下多少内容,以及一次请求要花多少计算。

长度、信息量和上下文不是一回事

当「客服场景有 20 条退款政策、6 种例外情况。Agent 需要同时考虑多条规则才能做出正确判断,但它常常只看到了最近的几条」变长时,先要分清三件事:文字被切成多少 Token、哪些内容真正参与当前判断、以及旧内容是否已经超出上下文窗口。删掉重复说明通常比单纯把窗口开得更大更有效。

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

先保留会改变判断的内容

可以用「点击下方 Tab 切换模式,然后逐步展开 Agent 的处理过程。看看有没有 Think Tool,结果会有多大差异」做一次对照:保留同样的问题,分别删掉重复背景、压缩格式和移除无关历史,比较答案质量、延迟与 Token 数量。

从「问题场景:Agent 为什么会犯错」走到「什么是 Think Tool」

「问题场景:Agent 为什么会犯错」先把问题落在「Agent 调用了 5 个工具后,早期工具返回的关键信息被后续的大量上下文淹没,模型不再关注它」上;到了「什么是 Think Tool」,讨论继续推进到「一句话: Think Tool 是一个没有副作用的特殊工具。它不会查数据库、不会调 API、不会改任何状态。它唯一的作用是让 Agent 把思考过程写下来 ,强制自己想清楚再行动」。两段连起来,重点就不只是记住一个结论,而是看清它成立所依赖的条件。

把这条判断带到下一个场景

处理长文本时,先保留会改变结论的内容,再决定如何压缩格式和历史;上下文更长只有在新增信息真正有用时才值得付出代价。

  • 「问题场景:Agent 为什么会犯错」:Agent 调用了 5 个工具后,早期工具返回的关键信息被后续的大量上下文淹没,模型不再关注它
  • 「什么是 Think Tool」:一句话: Think Tool 是一个没有副作用的特殊工具。它不会查数据库、不会调 API、不会改任何状态。它唯一的作用是让 Agent 把思考过程写下来 ,强制自己想清楚再行动
  • 「最后的要点」:简单工具调用 :查天气、读文件这类一步到位的操作,Think Tool 是多余的开销

最后的「最后的要点」把讨论落到「简单工具调用 :查天气、读文件这类一步到位的操作,Think Tool 是多余的开销」。回看这条线索时,最值得保留的是:当输入、规模或风险改变,哪些判断需要重新做一遍。

标记为已学完 阅读进度会自动记录
← 上一篇下一篇 →

继续阅读

同一条线上的下一篇。

文章讨论

读到这里,留下一个判断。

把刚想明白的地方、还没想通的问题,留给下一位一起学习的人。

正在讨论 Think Tool:让 AI 先想后做 可靠 Agent 的工程模式
3条讨论文章讨论 · 与共学社区同步
在共学社区查看
AM
Asha Morgan内容编辑
观点实践记录

我把这篇文章里的一个判断改写成了今天可以验证的小实验。比记住结论更有用的是,知道下一步要观察什么。

文章讨论7 有帮助
LH
Lin Harper独立开发者
观点观点

读完以后我先回头找它成立的条件,而不是直接把方法搬进项目。这个顺序让后面的取舍清楚很多。

文章讨论5 有帮助
KM
Kiki Moore产品运营
问题问题

如果把这个判断放到真实工作里,最先需要补的约束是什么?我想知道从阅读到第一次实践之间,哪一步最值得先做。

文章讨论4 有帮助