赛博禅心:大模型如何「在思考中使用工具」|Interleaved Thinking
赛博禅心:大模型如何「在思考中使用工具」|Interleaved Thinking
赛博禅心:大模型如何「在思考中使用工具」|Interleaved Thinking 赛博禅心:大模型如何「在思考中使用工具」|Interleaved Thinking Modified December 4, 2025 相关背景 11 月在纽约 AI.Engineer Summit,MiniMax 研究员 Olive 讲了 Interleaved Thinking Olive 在 AI.Engineer Summit 上的分享,图中的 ppt 和 ds3.2 颇有相似 然后挨个给生态里的工具提 PR: • Cline、RooCode : 让 VS Code 插件支持 Interleaved Thinking • Kilo Code : 优化多轮对话的状态保持逻辑 • OpenRouter、Ollama : 推动平台层面跟进支持 MiniMax 给 Kilo Code 提的 PR Cline 和 Kilo Code 官方都发推确认了 Cline 官方的确认推文 Kilo Code 官方的确认推文 现在这些平台上,MiniMax M2 是第一个正确支持 Interleaved Thinking 的开源模型 对于其他支持这个机制的模型,比如 DeepSeek V3.2、Kimi K2,直接就能用了。算是给这个这种 thinking,造了个朋友圈 MiniMax 还开源了 Mini Agent,一个支持 Interleaved Thinking 的 Coding CLI,700+ Star Mini Agent 项目 等生态基建逐步完善后,Interleaved Thinking 估摸着就能被更广泛的使用了 最后 Interleaved Thinking 的核心就一句话: 保留推理状态,让模型在多轮工具调用中持续累积理解 最开始的时候,我们对于 Agent 的期待,是它能不能使用工具 然后看到了 ToolFormer 论文、看到了 Plugin 、 Function Call 、 JSON Mode 直到去年 8 月,OpenAI 宣布可以在 Structured Outputs 的严格模式下,做到 100% 的成功调用 OpenAI 的 Structured Outputs 公告: Introducing Structured Outputs in the API 而现在,我们的思考变成了「调用工具时,如何保持连贯思考」,刚刚结束的 AWS re:invent 大会上,主题也是 Agentic AI 转眼三年,有点恍惚... 相关背景 11 月在纽约 AI.Engineer Summit,MiniMax 研究员 Olive 讲了 Interleaved Thinking Olive 在 AI.Engineer Summit 上的分享,图中的 ppt 和 ds3.2 颇有相似 然后挨个给生态里的工具提 PR: • Cline、RooCode : 让 VS Code 插件支持 Interleaved Thinking • Kilo Code : 优化多轮对话的状态保持逻辑 • OpenRouter、Ollama : 推动平台层面跟进支持 MiniMax 给 Kilo Code 提的 PR Cline 和 Kilo Code 官方都发推确认了 Cline 官方的确认推文 Kilo Code 官方的确认推文 现在这些平台上,MiniMax M2 是第一个正确支持 Interleaved Thinking 的开源模型 对于其他支持这个机制的模型,比如 DeepSeek V3.2、Kimi K2,直接就能用了。算是给这个这种 thinking,造了个朋友圈 MiniMax 还开源了 Mini Agent,一个支持 Interleaved Thinking 的 Coding CLI,700+ Star Mini Agent 项目 等生态基建逐步完善后,Interleaved Thinking 估摸着就能被更广泛的使用了 最后 Interleaved Thinking 的核心就一句话: 保留推理状态,让模型在多轮工具调用中持续累积理解 最开始的时候,我们对于 Agent 的期待,是它能不能使用工具 然后看到了 ToolFormer 论文、看到了 Plugin 、 Function Call 、 JSON Mode 直到去年 8 月,OpenAI 宣布可以在 Structured Outputs 的严格模式下,做到 100% 的成功调用 OpenAI 的 Structured Outputs 公告: Introducing Structured Outputs in the API 而现在,我们的思考变成了「调用工具时,如何保持连贯思考」,刚刚结束的 AWS re:invent 大会上,主题也是 Agentic AI 转眼三年,有点恍惚... 🔗 原文链接: https://mp.weixin.qq.com/s/P5XsY8pO... https://mp.weixin.qq.com/s/P5XsY8pO... 原创 金色传说大聪明 赛博禅心2025年12月4日 16:50 北京 DeepSeek V3.2 提到了一个东西,属于核心迭代 「 在思考中,使用工具 」 技术报告里,把这个叫 Thinking in Tool Use 在这里与大家说道,这东西的由来、演进和现状, 方便吹牛逼用 这里还有份报告解读: DeepSeek V3.2|技术报告解读 DeepSeek V3.2|技术报告解读 所谓「 Thinking in Tool Use 」 顾名思义,就是大模型 一边调用工具,一边推理,多次循环后,最后输出答案 行业里,常把这个叫做 Interleaved Thinking ,本文沿用这个说法 类似的东西, 最早是 Anthropic 提出的 今年初发布的,叫 Extended Thinking 。额外说明:o1 不算,那个没工具调用 相关内容,发表于 25年2月24日:《Claude’s extended thinking》 在开源模型里,最早是 OpenAI 开源的 oss 最先支持的 说法是 interleaving tool calls within the CoT 相关内容,发表于 25年8月5日:gpt oss Model Card 之后,国内的几家模型厂,也给到了类似说法: • MiniMax M2 叫它「交错思维链」 • Kimi K2 叫它「边思考边使用工具」 • DeepSeek v3.2 叫它「思考模式下的工具调用」 各家说法不同,本质是一件事 大模型,如何在保留推理状态的同时,进行多次工具调用 有关 交错思维链 , MiniMax 前段时间还写了篇文章,强调这东西的重要性,具体后面细说 技术原理 先说下推理模型是怎么使用工具的 举个例子,你问模型一个问题: 一台最新苹果手机,和两台最新的豆包手机,谁更贵? 以最开始的 o1 模型为例, o1 这个模型并不能进行工具调用 ,只能回答 对不起,我无法访问网络,并不知道谁更贵 再之后,一些朋友对 o1 类的模型进行了工程优化(比如具有联网能力的 DeepSeek R1),让他能够在回答前,先搜索一些问题,然后调用模型,可能会重复多次,流程就变成了这样: 先搜最新的苹果手机 → 读结果 → 决定下一步搜什么 → 再搜索 → 再读结果 → ... → 整理答案 标准的工具调用流程 但实际上...在处理 先搜最新的苹果手机 这一步中,就会发现苹果有多款机型 如果只拿最新的 iPhone 17 比较,肯定不妥,毕竟还有 air 和 pro 作为人的话,可能会中间留个心眼: 最新的苹果手机,需要考虑系列吗? 那么,如果是大模型,会记住这些东西吗? 早期做法:丢掉 具体来说:忘掉所有的中间思考,只保留结果和部分总结 这部分的具体描述,可以参加 OpenAI 的相关文档:思维链是隐藏的 早期做法:每轮丢弃推理状态 所以,在进行最终判断的时候,大模型的上文可能只有: • iPhone 17 的标准定价为 5999 • 豆包手机(努比亚)的标准定价为 3499 然后得出结论: iPhone 17,不如两台豆包手机贵 但.... 作为人的话,我们会保留个心眼,思考过程也记着: • iPhone 17 的标准定价为 5999(同期发售的还有 iPhone Air:7999;Pro:8999) • 豆包手机(努比亚代工)的标准定价为 3499(目前无货,闲鱼 4499) 然后出结论: iPhone 17,不如两台豆包手机贵 Air 和 Pro 则贵于两台豆包 这种「留心眼」的做法,就是 Interleaved Thinking 模型调用工具 → 拿到结果 → 继续思考(带着之前的推理) → 再调用工具 → 继续思考 ... 在这里, 计划 、 假设 、 中间结论 都会被带到下一轮 Interleaved Thinking:保留推理状态 当然,这里为了方便表达,我对原理进行了极大的删减 实际的做法和流程都会更为复杂 比如...这些推理内容,在何时才会舍弃? 以 DeepSeek v3.2 为例,论文里是这么描述的: 只有新用户消息到来时,才丢弃推理内容, 工具返回结果不触发丢弃 ...这样的细节还有许多,还是挺有工程实践&复杂度的 效果差距 对于「保留推理状态 vs 丢弃推理状态」,会有多少差距呢? 对于长链路 Agent 任务,最高能有 +35% 到 +40% 数据来自于 MiniMax 的对比测试 对比数据 • SWE Bench Verified:69.4 vs. 67.2, +3.3% • 𝜏²:87 vs. 64, +35.9% • BrowseComp:44.0 vs. 31.4, +40.1% • GAIA:75.7 vs. 67.9, +11.5% • xBench:72.0 vs. 66.0, +9.1% 至于为什么差距这么大? 可以这么理解: 一旦丢弃了之前的推理状态,模型的累积理解能力会下降,自我修正能力会减弱 这东西,在长程工具调用和「运行–修复」循环中尤其明显 世界是个草台班子 这里有个现实问题: 很多项目使用了 thinking 模型,但工具的连续调用总是出问题 而且...可能...甚至还没发现 这个其实是 OpenAI 的锅 OpenAI 有多套 API 调用方法: • Completions (不再建议使用) • Chat Completions • Assistants API (压根没人用) • Responses API 目前用的最广泛的的,是 Chat Completions api 但... 这玩意儿压根没有 thinking 相关的字段 于是大家只能在 assistant message 里假装 thinking Chat Completions API 的 assistant message 结构,没有 thinking 相关字段 新的 Responses API 确实支持 reasoning 配置 但它返回的是 reasoning.encrypted content ——加密版本的推理内容 推理过程?更不存在的 Responses API 的 reasoning 配置,注意那个 encrypted content 于是,OpenAI 的这套接口,按标准做法,你是能用于多轮对话状态保持,但你看不到原始推理过程 你说 OpenAI 开源的那个 oss 支持? 哈哈哈哈哈哈哈哈哈哈 那套鬼东西,根本没定义接口,怎么实现你就自己看着来吧 OpenAI 的 oss 按照惯性,大家都照着 OpenAI 的 API 规范写代码 但由于 OpenAI 在这个方面过于不干人事儿 各家厂商,就只能在这个不完整的规范上各自魔改 仔细看,你会发现.... DeepSeek R1 的 Thinking 结构,和 OpenAI 的也都不一样 然后同样的模型,在硅基流动、火山、官方 api 上,响应结构甚至也都不一样 OpenAI API vs DeepSeek API 于是...调用 API 的时候,由于种种奇怪原因,你的 thinking 信息,很可能压根没被放在上下文 哈哈哈哈哈哈哈哈哈哈 MiniMax 的贡献 事情的另一个角度,MiniMax 反倒是为 Thinking 模型的标准化,做了许多生态上的工作,比如与OpenRouter、Ollama、Droid、Vercel、Cline合作,共同推进并实现这一功能的跨平台支持。 具体的可以参见 这里 ,希望通过推动统一标准, 在应用、OpenAI 兼容API、Anthropic 兼容 API 中 ,来推动 Interleaved Thinking 的广泛支持 这里