当 AI 学会"用手指点着图思考"——解读 DeepSeek《Thinking with Visual Primitives》
"看得清"和"想得对"是两件完全不同的事。这篇论文告诉你为什么,以及怎么破。
引子:一个让 GPT-5 也翻车的小测试
请你做一个实验。打开任意一个最新的多模态大模型(GPT-5.4、Claude-Sonnet-4.6、Gemini-3-Flash 都行),上传一张密密麻麻的合影——比如一个二十多人的球队团体照——然后问它:"这张图里一共有多少个人?"
你会发现一个有意思的现象:模型多半会自信地给你一个答案,但这个答案大概率是错的。再换一张图,再问一次,答案又变了。再问"左边数过去第三个人穿什么颜色衣服"——它可能开始胡说八道。
这不是模型"看不清"。如果你把图放大、把每个人单独抠出来问,它都能描述得头头是道。问题出在它没办法在思考的过程中稳定地"指向"某一个具体的人。
这正是 DeepSeek 团队联合北大、清华在 2026 年 4 月发布的论文 《Thinking with Visual Primitives》 想要解决的核心问题。这篇论文的份量在于:它不是又一个 SOTA 跑分的水文,而是重新定义了 MLLM 推理范式中的瓶颈——并给出了一套优雅的解法,让一个 13B 激活参数的模型在拓扑推理任务上把 GPT-5.4 打了 15 分。
第一章:两条鸿沟——Perception Gap vs Reference Gap
1.1 过去一年大家在卷什么
如果你关注过 MLLM 的发展,会注意到从 2024 年开始一个明显的趋势:模型支持的输入分辨率越来越大。
- 早期 LLaVA 限定 224×224
- Qwen-VL 引入动态分辨率
- 后来出现 "Thinking with Images"——把图切成块、放大局部、反复看
这一切的目的,是要解决作者称之为 Perception Gap(感知鸿沟) 的问题:模型"看不清"图像中的细节。
类比一下:这就像给一个近视的学生配更强的眼镜。镜片越好,能看清越远的字。
1.2 但近视镜治不了"思维近视"
DeepSeek 团队提出了一个尖锐的观察:就算给模型配上鹰眼,它依然会算错题。
为什么?因为大模型的"思考"过程是用语言进行的(Chain-of-Thought),而语言天生有一种致命缺陷:
自然语言无法在连续的视觉空间里给出"精确的指针"。
当模型推理"图中第三排左边第二个穿条纹衫的人"时,这串文字描述只是对一个像素位置的近似指代——它没有真的"锁定"那个人。一旦场景变密、对象变多、空间关系变复杂,这种模糊的指代就会累积漂移,最终导致逻辑崩溃。
作者把这种缺陷命名为 Reference Gap(指代鸿沟)。
1.3 一个直观的例子
想象你在数一盘葡萄。
人类怎么数?我们会用手指或眼神依次指过每颗葡萄,一边指一边在心里念"1、2、3...."。这个"指"的动作非常关键——它把抽象的计数过程锚定到了具体的物理位置上。如果我们不指,光靠"心算"那串葡萄,就极容易数重或漏数。
现在再想象 GPT 这种纯语言推理的模型。它没有手指。它的"思考"全是文字:
"我看到一些葡萄,左边一串大概有 5 颗,右边那串可能 7 颗,加起来 12 颗..."
注意"大概"和"可能"。这就是 Reference Gap 在作祟——它从来没有真的"指"过任何一颗葡萄,所有计数都是基于模糊的语言描述。
第二章:让模型长出"手指头"
2.1 视觉原语:思维的最小单元
DeepSeek 的核心想法极其简洁:给模型一套真正能"指物"的符号。
他们引入两类视觉原语(Visual Primitives):
- Bounding Box(边界框):用
[x1, y1, x2, y2]四个数字精确框住一个物体。 - Point(点):用
[x, y]标记一个抽象位置。
这些不是事后画在图上的标注,而是直接成为模型推理过程中的 token。
在词表层面,他们加入了几个特殊 token:
<|ref|>...<|/ref|> 指代名("the men", "small gray sphere")
<|box|>[[x1,y1,x2,y2]]<|/box|> 一个或多个框
<|point|>[[x,y]]<|/point|> 一个或多个点
坐标被归一化到 0–999 的离散整数,确保跨分辨率的统一性。
2.2 推理过程长什么样
来看一个真实例子(论文 Figure 3,coarse-grained counting)。
问题:图中有多少个男人?
模型的思考链:
1. **Deconstructing the query**
用户要我数图中的男人总数,看起来是张球队合影,我需要数所有人,
包括队员和站在两侧的教练/官员。
2. **Sweeping the photo**
扫描整张图,我标记出所有男人:
<|ref|>the men<|/ref|>
<|box|>[[13,228,116,714], [106,226,202,707], [129,357,229,711],
[154,519,255,747], ...每一个都精确框出来... ]<|/box|>
3. **Tallying**
前排坐着 4 人,中排坐/蹲 9 人,后排站立 8 人,
加上两位教练在左、两人在右。
4 + 9 + 8 + 2 + 2 = 25
最终回答: 25 人
注意这里发生了什么:模型一边推理一边吐坐标。每框一个人就相当于"用手指点了一下",这个点位被永久写入了思考链,后续的求和不再依赖模糊的"大概",而是基于已经被精确指认的离散对象集合。
这就是论文标题里 "Thinking WITH Visual Primitives" 的真正含义——视觉原语不是输出,不是中间产物,而是思考本身的一部分。
2.3 为什么是 box 和 point,而不是 mask/polygon?
作者花了一节专门论证这个选择。三个理由:
- 标注确定性:一个框紧紧围住物体,标注接近唯一;而 point 更模糊——一个物体内部任何位置都可以是 valid point。所以 box 更适合大规模训练数据的获取。
- 任务可泛化性:训会输出 box 的模型可以无痛降级为输出 point(取中心或任意角点)。反之不行。
- 信息丰富度:box 带了宽高信息;point 只有位置。
这是工程务实主义的胜利。在能用的、能扩的、能验证的之间找最大公约数。
第三章:架构杀招——用更少的视觉 token 干更多的事
3.1 让人震惊的对比图
论文 Figure 1 是全文最有冲击力的一张图。同样是 800×800 的输入图像:
| 模型 | KV Cache 条目数 | 平均跑分 |
|---|---|---|
| Gemini-3-Flash | ~1100 | 76.5% |
| Claude-Sonnet-4.6 | ~870 | 65.3% |
| GPT-5.4 | ~740 | 71.1% |
| Qwen3-VL-235B-A22B | ~660 | 68.1% |
| DeepSeek 本作 (284B-A13B) | ~90 | 77.2% |
| Gemma-4-31B | ~289 | 69.7% |
视觉 token 数量是 Gemini 的 1/12, 但平均分最高。
3.2 三重压缩流水线
DeepSeek 在视觉路径上做了三层压缩:
原图 (756×756, 571,536 像素)
↓ 14×14 patch 切分
2,916 个 patch token
↓ 3×3 spatial token compression (沿 channel 拼接)
324 个 visual token ← 进入 LLM
↓ Compressed Sparse Attention (CSA, 4× 压缩 KV cache)
81 个 KV cache 条目
整体压缩比 ~7,056×。
3.3 为什么压缩这么狠还不掉智商?
答案藏在视觉原语的设计里:
当模型能用 box/point "外置"空间状态时,它不需要把整张图的细节都塞进 KV cache 反复 attend。
打个比方:传统 MLLM 像一个用脑子记忆图像的人,记不住的就反复看;而本文的模型像一个会做笔记的人——它一边看一边把关键位置写在笔记本上(CoT 里的 box/point),后续推理直接查笔记,不需要反复回看原图。
第四章:训练流水线——五阶段工业化生产
Pretraining
↓
Specialized SFT (分两支:Box 专家 + Point 专家)
↓
Specialized RL (GRPO + 多 reward)
↓
Unified RFT (合并两支)
↓
On-Policy Distillation (蒸馏回统一模型)
4.1 Pretraining:40M 高质量数据
数据来源主要是 HuggingFace 上爬来的 box-grounding 数据:初筛 97,984 个数据源,然后两步过滤:
Step I:语义审查 — 丢"无意义代码标签"、"私有实体"、"主观缩写"。剩 43,141 个。
Step II:几何审查 — 丢"严重漏标 (>50% miss)"、"严重截断"、"巨型框 (>90% 图像)"。剩 31,701。
最终类别均衡采样得到 40M 高质量样本。
过滤哲学:便宜的过滤先做,贵的过滤后做。先语义后几何这个顺序节省了大量成本。
4.2 四类 Cold-Start 任务
| 任务 | 数量 | 用 box 还是 point | 难点 |
|---|---|---|---|
| Counting (粗+细粒度) | 10K | box | 密集场景下的精确计数 |
| Spatial Reasoning + VQA | 9K | box | 多跳逻辑推理 |
| Maze Navigation | 460K | point | 拓扑可达性、回溯探索 |
| Path Tracing | 125K | point | 交叉点处的曲率连续性判断 |
为什么迷宫数据量是其他的几十倍? 因为拓扑推理是纯语言 CoT 最容易翻车的场景。
一个让人拍案叫绝的细节:Path Tracing 任务专门设计了 uniform-style mode——所有线统一颜色和粗细。为什么?因为如果颜色不同,模型会学到"跟着同色像素走"的捷径,而不是真正学会"在交叉点判断哪条曲线在几何上是连续的"。这是典型的 reward hacking,提前堵住了。
4.3 Specialized RL——奖励工程的艺术
用 GRPO 算法,设计三类 reward:
Format RM:格式合法性
特别检查 box 的重复生成——SFT 模型会陷入"无限输出框"的死循环。
Quality RM:LLM 判官
6 个维度打分,包括最关键的一项:reward hacking 检测——比如模型伪造一个假的 ground truth 让自己看起来对了。
Accuracy RM:针对每个任务定制
Counting 用平滑指数衰减:
$$R(\hat{y}, y) = \alpha \cdot \exp\left(-\beta \cdot \frac{|\hat{y} - y|}{|y| + 1}\right)$$
预测 24 vs 真实 25 应该比预测 5 vs 真实 25 得分高得多。密集化的奖励信号让训练更稳定。
Maze Navigation 用 5 项加权(详见后文深度解读)。
Path Tracing 用双向轨迹评估 — 正向防"乱画",反向防"漏画"。
第五章:实验结果
5.1 主表对比
| 类别 | 对手最高分 | 本作得分 |
|---|---|---|
| Pixmo-Count | 88.2 (Gemini) | 89.2 |
| MIHBench | 83.5 (GPT-5.4) | 85.3 |
| SpatialMQA | 67.0 (Gemini) | 69.4 |
| DS_Maze_Navigation | 50.6 (GPT-5.4) | 66.9 |
| DS_Path_Tracing | 46.5 (GPT-5.4) | 56.7 |
注意拓扑推理两项的差距:+16.3 和 +10.2。这种量级的领先在前沿模型对比里非常罕见。
5.2 一个被作者低调提到的事实
虽然后训练数据完全不含中文语料,模型依然能用中文思考和回答(论文 Figure 8 给了很多中文例子)。这说明视觉原语的能力是语言无关的——它是嫁接在多语言基模型上的一种新型符号系统。
第六章:局限与未来
- 输入分辨率仍是天花板 — 视觉原语解决了 Reference Gap,但解决不了 Perception Gap。
- 需要显式 trigger 词激活 — 当前模型还做不到"自己判断这题需不需要画框"。
- 拓扑推理跨场景泛化弱 — 迷宫训得很好,但换个拓扑场景就掉链子。
第二部分:四个最有价值的深度解读
下面是从这篇论文里挑出的最有杠杆效应的四个点——也就是即便你不做 MLLM,把这些洞察迁移到别的领域(Agent 设计、RL 训练、数据工程、系统架构)都能让你受益的部分。
深度解读一:Reference Gap 这个概念,是过去三年 MLLM 圈最重要的"重新定义问题"
为什么这是非平凡的
听起来这只是一个分类学上的小区分,似乎"很显然"。但事实是:80% 的 SOTA 论文都在讲解决方案,只有 5% 在重新定义问题——而后者的影响力往往是前者的 10 倍。
经典案例:
- Hinton 把"训练深度网络的难度"从"过拟合问题"重新定义为"梯度消失问题",才有了 ReLU 和 BN 的爆发
- Ilya Sutskever 把"机器翻译"从"对齐问题"重新定义为"序列到序列的条件概率建模",才有了 seq2seq
Reference Gap 这个命名,有可能成为未来 2-3 年 MLLM 论文里被反复引用的"标准词汇"。
更深的机理:为什么语言天生不能精确指物?
这里涉及到符号学(semiotics)的一个根本问题。语言中的指示词(deictic terms)——"这个"、"那个"、"左边那只"——它们的语义解析依赖于说话者和听者共享的注意焦点。
人类对话时,这个注意焦点通过眼神、手势、共同视线来同步。但 LLM 的"思考"是单向独白,没有外部注意焦点对齐的机制——它的 "the man on the left" 在不同推理步之间可能指向不同的人,而模型自己不会察觉。
这是一个结构性缺陷,不是数据多就能补上的。
可推广的范式
视觉原语 box/point 本质上是给思考链扩展了一种新型 deictic primitive。这种思路也适用于:
- 音频推理:加入时间戳 primitive (
<|t|>3.21s<|/t|>) - 代码理解:加入 AST 节点 primitive (
<|node|>FuncDef@line42<|/node|>) - 数学推理:加入符号 primitive (已经有人在做)
你能怎么用
如果你在做任何形式的 Agent 或推理系统,问自己:
"我的系统在思考过程中,需要引用哪些'外部对象'?这些引用现在是用什么形式实现的?是模糊的语言描述,还是精确的符号?"
- 做 Code Agent?它在思考 "modify the third function" 还是
<|func|>auth.py:42:validate_token<|/func|>? - 做 Browser Agent?它在说 "click the blue button" 还是
<|element|>id=submit-btn,box=[342,512,420,548]<|/element|>? - 做 DB Agent?它在说 "the user table" 还是
<|table|>schema=public,name=users,version=v3<|/table|>?
每一个"模糊指代"都是一次潜在的 cascading hallucination 入口。
深度解读二:90 个 KV cache 条目打败 1100 个——"外置状态"的架构哲学
为什么这是非平凡的
这违反了所有人的直觉。常识是:模型看的细节越多,推理越准。Anthropic 写过文章讲长上下文的好处,Google 一直在卷 1M context,大家默认 "more is more"。
但 DeepSeek 用一个反直觉的事实告诉你:当你给模型一个更好的"显式状态表征",它就不再需要那么大的"隐式状态容量"。
这背后有一个深刻的系统设计原则,我称之为 "显隐互换原理"(Explicit-Implicit Tradeoff):
任何系统的状态存储,要么放在显式数据结构里(代价:符号设计成本),要么放在隐式神经表征里(代价:计算和参数量)。两者总和大致守恒。
三种状态表征的代价对比
| 表征方式 | 例子 | 优势 | 代价 |
|---|---|---|---|
| 纯隐式 | 大量 KV cache | 通用、自动 | 计算 O(n²)、占内存、难解释 |
| 纯显式 | 知识图谱、符号系统 | 精确、可验证、省算力 | 设计成本高、难自动获取 |
| 混合 | 视觉原语 + LLM | 兼具 | 需要训练让两者协同 |
DeepSeek 选了第三条路,而且走得非常彻底——让显式符号(box/point)直接出现在思考链里,而不是作为外部数据库。
历史上类似的成功案例
例 1:Pointer Networks (Vinyals 2015)
让 decoder 不输出新 token,而输出指向输入位置的指针。这和视觉原语的"输出坐标指向图像位置"是同构的。
例 2:Tool Use / Function Calling
GPT-4 学会了"我不在脑子里算这道数学题,我调用 calculator"。外置一个工具,省掉无数神经元的算术近似。
例 3:Retrieval-Augmented Generation
不在权重里记住一切,而是外置一个知识库。每个事实从权重里"卸下来",省下的容量用于推理能力。
例 4:DeepSeek 的视觉原语
不在 KV cache 里反复 attend 视觉细节,而是把空间状态外置到思考链的 box/point token 里。
关键设计模式
这四个案例形成了一个清晰的设计模式:"凡是可以被符号化的状态,都不应该存在神经表征里"。
为什么?因为神经表征是有损的、模糊的、不可验证的。把可验证的东西放进神经表征,就等于把硬币当墨水用——浪费且容易丢。
你能怎么用
- 在做 长上下文 RAG 时,与其塞 100K token 进 context,不如让模型先输出"摘要 + 引用编号"的中间结构,后续推理基于编号查表。编号是符号,内容是隐式。
- 在做 Multi-Agent 系统 时,Agent 之间不要用自然语言描述任务状态,定义一个结构化的状态对象(JSON schema)。
- 在做 代码生成 时,让模型输出
<|edit|>{file: "auth.py", line: 42, op: "replace"}<|/edit|>而不是"我要修改第三个函数"。这就是 Cursor/Aider 的 diff format 的本质。
深度解读三:Maze RM 的"Causal Exploration Progress"——多步任务奖励设计的天花板范例
表面叙述
迷宫任务的 reward 由 5 项加权组成,核心是 Causal exploration progress :遇到第一次穿墙就截断后续得分。
为什么这是非平凡的
很多人做 RL 时,reward 设计的水平停留在"对/错二分"或者"局部 BLEU/ROUGE"。这两种都有致命问题:
- 二分 reward:稀疏到模型几乎学不到东西。
- 局部 reward:容易诱导 reward hacking。比如"每走一步给 +1",模型就学会绕圈不停步。
DeepSeek 的设计巧妙在哪儿?它给 reward 注入了"因果性"。
详细机理
设迷宫从 S 走到 E,gt 路径长度 L_gt。模型输出一个探索 trajectory 包含 K 步。
朴素做法:看模型探索覆盖了多少 gt 路径上的格子,占比作为 reward。
DeepSeek 的做法:
- 沿着 trajectory 顺序扫描
- 遇到第一次穿墙(wall violation),截断后续所有探索
- 在被截断的合法部分里,计算"已探索区域到终点的最短距离 d"
- reward =
1 - d / L_gt
为什么截断这一步是天才设计?
因为它把 reward 变成了"因果有效"的——只有合法的探索才算数,一旦你违反规则,后面再正确也不给分。
类比
你在面试一道算法题,前 30 分钟做对了 80%,但第 31 分钟用了一个错误的假设,后面所有推理都基于这个错误假设。
- 朴素 RM:你前 80% 对的那部分仍然得分
- Causal RM:从你犯错那一刻起,后面的所有"对"都不算数
后者才是真正在教模型"端到端的因果一致性"。
这种思想适用的场景
任何"长链推理 + 中途可能崩溃"的任务。
场景 1:代码生成
模型写了 50 行代码,第 5 行有个语法错误。Causal RM 应该给"前 4 行有效,第 5 行起 reward = 0"。后面的代码都是基于错误前提编出来的。
场景 2:数学证明
如果证明的第二步用了错误的引理,后面所有推导都失效。
场景 3:Agentic 任务
Agent 在第三步调错了 API,但后面"假装"成功执行。Causal RM 应该截断,而不是给最终答案的部分分。
关键认知
"Causal Truncation" 应该成为多步任务 reward 设计的标准动作。
它的核心思想是:模型的中间步骤不是独立可加的,它们之间有因果依赖。任何一步错了,后面的"对"都是虚假的繁荣。
如果你做 RLHF/RLAIF,而你的 reward function 还是"对每个步骤独立打分然后求和",你正在浪费训练算力。
还有一个更深的设计:reward 的"不对称性"
5 项 reward 里,Item 1 只对可解迷宫激活,Item 2 只对不可解迷宫激活。
为什么?因为可解和不可解的迷宫,对模型的要求本质不同:
- 可解迷宫:目标是"找到一条路",评估的是"探索效率"
- 不可解迷宫:目标是"证明无路",评估的是"探索完整性"
解决方案是 reward 的条件激活——根据任务子类型选择激活哪些 reward 项。
深度解读四:Specialized SFT/RL → Unified RFT——"先分头训,再合并"
表面叙述
后训练有四个阶段,核心是"先训两个专家(box 专家 + point 专家),再合并成统一模型"。
为什么这是非平凡的
直觉上,你会想:既然最终要一个统一模型,为什么不一开始就用混合数据训一个? 这样多干净。
DeepSeek 的回答是:不行,会出现 mode conflict。
具体来说:
- box 数据让模型倾向于"先框出所有候选对象"的批量推理模式
- point 数据让模型倾向于"逐步指点、动态决策"的序列推理模式
这两种模式在思考结构上是冲突的。如果数据量大且均衡,模型能学会两者切换;但冷启动阶段数据量小,两种模式互相干扰,导致两边都学不好。
类比
如果你想培养一个既会下围棋又会下象棋的 AI,在它对任何棋类都还是新手时,把两种棋的对局数据混着喂——它学到的会是个四不像。正确做法是先单独训围棋专家和象棋专家,等各自精通后,再训一个能根据棋盘判断"现在该用哪种思路"的统一模型。
多任务学习的核心张力
| 策略 | 优点 | 缺点 |
|---|---|---|
| 早期混合 (Joint training from scratch) | 简单 | negative transfer,任务相互干扰 |
| 完全分离 (Separate models) | 每任务最优 | 没有共享带来的泛化收益 |
| 分阶段融合 (Specialized → Unified) | 鱼和熊掌兼得 | 流程复杂 |
DeepSeek 选了第三条,而且加了两个精妙的细节:
细节 1:用专家产出数据再训学生
避免了"直接平均两个专家权重"这种粗暴的 model merging。通过"用专家产出数据再训学生"这种间接路径,知识转移更平滑。
细节 2:On-Policy Distillation 用反向 KL
即便经过 Unified RFT,统一模型在专门领域可能仍然不如专家。这时候用 OPD 把专家"再蒸馏一次":让学生模型自己采样,然后在每个采样位置上对齐专家的分布。
这里用的是反向 KL D_KL(π_θ || π_E),不是正向 KL。区别在于:
- 正向 KL:mode-covering,逼学生覆盖老师的所有模式 → 学生分布会变得"模糊但全面"
- 反向 KL:mode-seeking,逼学生集中在老师高概率区域 → 学生分布会"锐利但片面"
在多教师场景下,反向 KL 更稳定,因为它不会逼学生去同时覆盖两个矛盾教师的所有模式。
这种范式可以推广到哪儿?
推广 1:Code Agent 训练
要训一个能"读代码 + 写代码 + 跑测试"的 Agent。不要混合训。先训三个专家:
- Reading Specialist:理解代码、找 bug
- Writing Specialist:生成代码
- Testing Specialist:执行测试、解读输出
然后用专家生成 trajectory,蒸馏成统一 Agent。
推广 2:领域适配
把通用 LLM 适配到法律、医疗、金融。每个领域单独训出 SFT/RL 专家,然后蒸馏。
推广 3:多语言模型
混合训中英日韩容易让小语种被大语种淹没。先训语言专家,再蒸馏统一。
总结:这四个点为什么配得上"最有价值"的称号
| # | 洞察 | 可迁移性 | 反直觉度 |
|---|---|---|---|
| 1 | Reference Gap 概念重定义 | 任何 Agent / 推理系统 | ★★★★ |
| 2 | 显式符号 vs 隐式容量的互换 | 长上下文 / RAG / Agent | ★★★★★ |
| 3 | Causal Truncation 在多步 reward 里的应用 | 任何 RL / RLHF 训练 | ★★★ |
| 4 | Specialist → Unified 的训练范式 | 任何多任务 / 领域适配训练 | ★★★ |
贯穿四个点的主线
四个点看起来分散,但其实有一条贯穿的主线:"分离关切 (Separation of Concerns)"。
- 第 1 点:把"看清"和"指代"分离
- 第 2 点:把"显式状态"和"隐式表征"分离
- 第 3 点:把"局部正确"和"因果有效"分离
- 第 4 点:把"专门能力"和"统一接口"分离
整篇论文的最高层智慧,是找到了多个"被混在一起的东西",然后把它们清晰地拆开。这是顶级系统设计的标志。
软件工程里的 SOLID 原则、操作系统里的微内核思想、数据库里的 ACID 拆分——这些经典工程哲学的本质都是 separation of concerns。这篇 AI 论文不过是在新的领域重新发现了这条原则。
当你在设计任何复杂系统时遇到瓶颈,问自己:我现在是不是把两件本应分离的事情混在一起了?
结语:当 AI 学会用手指点着图思考
回到开头的那个团体照计数测试。当一个 13B 激活参数的模型,通过"在思考时画框"这件简单的事,就能在拓扑推理上把 GPT-5.4 打了 15 分,这意味着什么?
意味着我们对"智能"的理解还很初步。我们以为更大的模型、更多的数据、更长的上下文是通往 AGI 的高速公路,但 DeepSeek 这样的工作不断提醒我们:有时候,真正的进步来自重新审视一个被忽视的小细节——比如,语言到底能不能精确指物。
如果说 GPT-3 教会了 AI "说话",ChatGPT 教会了 AI "对话",CoT 教会了 AI "思考",那么这篇论文也许在教 AI "指着东西思考"。
而这,可能是从"会聊天的工具"到"会推理的智能体"之间,最关键的一小步。
论文:Lu et al. "Thinking with Visual Primitives." DeepSeek-AI, 2026-04. 作者团队:DeepSeek-AI、北京大学、清华大学 关键词:Multimodal Reasoning, Visual Grounding, System 2 Thinking, Reference Gap