仅用于站内搜索,没有排版格式,具体信息请跳转上方微信公众号内链接
想象你是一名航空公司的客服,面对\“我要退改签国际航班\“这样的复杂请求时,会不假思索地直接操作吗?当然不会!正常人都会先:
确认用户身份和票务信息
核对退改签政策(24小时免费退?经济舱还是商务舱?)
检查航班状态(是否已起飞?是否有已使用航段?)
计算可能产生的费用
然而现有的AI助手在类似复杂场景中常常表现不佳。Anthropic团队通过τ-Bench基准测试发现,在航空客服这种政策复杂的场景中,Claude3. 7的基础版任务完成率仅有37%。
核心痛点在于:传统AI在连续工具调用(如先查票务信息→核对政策→计算费用)时,缺乏\“暂停思考\“的机制,容易在信息不完整时就仓促行动。
当前提升规划能力的方案对比:
纯Prompt工程
纯prompt工程引导显式规划,简单但效果有限
低
Prompt+后训练
OpenAI
通过后训练让模型严格遵循这一指令,效果显著但需模型定制
高
通过思考工具的形式提升遵循能力,指令遵循性好,适用开源模型
工程框架设计
Manus
通过工程框架设计,让规划和执行分离,让agent具有长程任务规划能力,适合长程任务但实现复杂
高
本文主要讨论如何使用开源模型提升模型在“快速任务”上的处理能力,这意味着,后训练和工程框架设计成本都相对较高,那么思考工具的方案可能就更加可取。「调用xx工具」是一个可明确执行和评判的指令,而「做一个规划」是一个模糊的指令,相对来说以工具的形式指令遵循效果更好,尤其是在复杂prompt和多工具的场景。
Anthropic的解决方案极具巧思——他们给Claude设计了一个专属的\“思考tool\“,先简略介绍,在实战部分详细介绍。
核心不在于工具调用的结果,而在于工具的输入传参,是需要模型自身来思考,通过构造输入传参的过程,实现逐步思考和规划。
这个工具的精妙之处在于:
零副作用:只记录思考过程不采取具体行动,避免过早决策
结构化思考:强制模型将思考过程显式化输出
信息整合:特别适合处理外部工具返回的复杂信息
过程追溯:通过编号实现思考链路追踪
与推理模型(extendedthinking)的关键区别:
推理模型:生成回答前的\“腹稿\“,比如现有的o系列、r1系列等带思维链的模型;
思考工具:执行过程中的\“检查点\“,特别是在获取新信息后。
Claude团队在τ-Bench(客户服务场景基准测试)和SWE-Bench(代码修复基准)上进行了严格验证,τ-Bench的效果如下:
配置方案
首次成功率
提升幅度
基线版
37%
仅推理模式
41. 2%
+11%
仅思考工具
40. 4%
+9%
思考工具+优化提示
58. 4%
+54%
从实验结果中也能看出,claude-sonnet-3. 7在非推理模式下使用思考工具,效果相比单纯的推理模式更好。[2]中有进一步分析,
prompt无法干预推理模型输出的思维链过程——推理模型的后训练一般只针对最终输出的结果,思维链的空间是由模型自由探索——而使用思考工具可以prompt大模型,提供fewshot示例指导模型在特定的垂直领域该如何思考。
一般chattemplate会把推理模型的历史思考内容在上下文中删掉(Claude是保留模型第一次调用工具前输出的思考内容,后续不再打开思考),而使用思考工具,模型可以在多工具调用的过程中任意使用,并且保留在上下文中,这对复杂的多工具调用是有益处的。
根据实验结果,这些场景最适合思考工具:
动作密集型任务:如航空、金融等有复杂合规要求的领域
长链条工具调用:需要连续调用3个以上工具的任务
高代价决策:错误会导致严重后果的场景(如医疗咨询)
而不太适用的场景包括:
单次工具调用
简单指令执行
无需外部信息的推理任务
想要复现这种提升?三个要点:
领域示例是关键:在系统提示中提供本领域的具体思考范例
思考检查点设计:在获取新信息后强制思考,特别是在关键决策前
适度使用:过度思考会导致响应变慢,需平衡效率与准确性
本部分介绍如何实现和应用思考工具,参考[ 2]。
systemprompt如下:
思考工具如下:
以AIpainting任务为例,模型使用的是DeepSeek-V3非推理模型,在Qwen-Agent框架下使用思考工具。工具配置了3个:
绘图工具my_image_gen:用户基于prompt绘制图片并返回远程图片链接
代码解释器工具code_interpreter:用于执行’下载远程图片’的代码
思考工具think:用于调用工具前规划
可以看到think也是一个单独tool,每次需要调用外部工具时,先调用thinktool进行结构化思考和规划,输入参数包括thought思考、计划plan、action实际行动、思考的编号等参数。实际调用工具后,会进一步基于工具结果,进一步调用think进行思考和下一步规划。
可以看到一共进行了3次思考工具的调用。
调用my_image_gen前思考和规划;
返回my_image_gen结果后、调用code_interpreter前进行思考和规划;
任务结束前思考,检查所有步骤已经完成。
当然我们也可以使用现成的mcp工具,sequential-thinking,实现的功能类似,但是扩展更多“上下文回溯”能力:如思维分支和版本回溯。
sequential-thinking工具描述:
具体工具描述实现如下,
翻译一下工具描述,教科书式工具描述。
本文从Anthropic和阿里的两篇文章出发,介绍了\“思考工具\“的设计动机、实现方案、效果验证以及QwenAgent上的实战。将思考封装成工具(thinktool)提升agent的planning能力,极具巧思,大家实践过程中不妨试试。
思考工具化:将抽象思考过程转化为可调用的结构化工具,实现\“显式思考\“
暂停机制:在关键决策点强制暂停,避免信息不完整时的仓促行动
思维外化:完整保留思考轨迹,支持复杂任务的上下文回溯
遵循能力:工具参数化的方式,指令化强制遵循
领域适配:相比于通用思维链,可以在思考工具中注入领域知识
[1]https ://www. anthropic.com/engineering/claude-think-tool
[2]https ://mp. weixin.qq. com/s/7XvAcTst9OU_4orDr-dD-w
进技术交流群请添加AINLP小助手微信(id:ainlp2)
请备注具体方向+所用到的相关技术点
关于AINLP
AINLP是一个有趣有AI的自然语言处理社区,专注于AI、NLP、机器学习、深度学习、推荐算法等相关技术的分享,主题包括LLM、预训练模型、自动生成、文本摘要、智能问答、聊天机器人、机器翻译、知识图谱、推荐系统、计算广告、招聘信息、求职经验分享等,欢迎关注!加技术交流群请添加AINLP小助手微信(id:ainlp2),备注工作/研究方向+加群目的。