文章摘要
近日,国内某AI团队开源dots3-note Preview三模态长程智能体模型,总参数量280B,激活参数16B,支持512K超长上下文窗口,能理解文本、视觉与语音信息。该模型经系统性优化,在多个基准测试中表现出色。团队提出TEMPO训练方案,提升了模型性能。此外,文章还介绍了模型的部署、推理及访问服务的方法。

近日,国内某AI团队开源了dots3-note Preview三模态长程智能体模型。这款模型总参数量达280B,激活参数仅16B,作为dots3系列的轻量版本,后续还将推出jazz、aria等不同规格的产品。它支持512K超长上下文窗口,能够同时理解文本、视觉与语音信息,并且通过自研的TEMPO强化学习方法,显著提升了复杂推理与真实场景下的长程任务处理能力。

该模型在推理性能、智能体任务表现以及多模态感知能力上都完成了系统性优化,在多个基准测试中达成了不输于更大尺寸主流模型的综合效果。本次开源提供了BF16(dots3-note-prev)与FP8量化(dots3-note-prev-fp8)两个版本,遵循Apache 2.0开源协议。

相关开源资源包括模型文件、代码仓库与技术博客,具体链接如下:

在长程任务处理方面,该模型展现出了出色的自主学习与环境适应能力。以ARC-AGI-3测试为例,这是一项聚焦于AI自主学习能力的基准测试,不再局限于静态推理题,而是要求智能体在陌生环境中完成数千轮交互,单次完整任务运行时长可达40至50小时。

dots3-note Preview在该测试中不仅展现出优秀的问题解决能力,更具备类人的“研究性”思维:它能够通过与环境交互进行观察,主动提出并验证假设,更新内部记忆,并在后续决策中复用这些记忆。这种能力还可以泛化到未经过训练的陌生环境中,比如在《杀戮尖塔2》中持续运行并动态更新任务记忆。

在ARC-AGI-3的测试过程中,可以清晰看到模型建立假设、验证假设并纠正过时记忆的完整流程:比如先提出“将两个蓝色棋子合并”的目标假设,随后在交互中确认通关条件、修正左右移动的耦合方向规则,并将已求解关卡的解题机制沉淀为可复用的循环逻辑。部分测试游戏的完整运行时长可达数十小时,此处仅展示了节选片段。

要从封闭的虚拟环境走向真实世界的任务,智能体除了需要具备自我评价与自主学习能力,还需要解决两个核心问题:如何感知真实世界的多模态信息,以及如何与环境进行有效交互。dots3-note Preview首次实现了对文本、视觉与语音信息的同时理解,并且在通用代码生成、工具调用与结果交付等方面都有明显提升。

真实生活中的长程任务与虚拟环境任务存在本质区别:用户的需求往往不会一次性明确说明,而是在多轮交互中逐步形成并动态调整;任务需要通过多次跨阶段的交互完成,可能持续数天甚至数周;并且外部环境本身是动态变化的,比如天气、价格、库存等状态会异步更新,且未必会主动通知智能体。

该模型在三类模拟真实生活的长程任务中展现出了出色的适配能力,包括婚礼筹备协调、主动咖啡电商经营以及全周期旅游管家服务等场景。

随着智能体需要解决的任务复杂度与执行周期不断提升,传统的无值强化学习范式逐渐暴露出瓶颈:单次探索需要十余个小时,训练效率难以接受;同时稀疏的奖励信号也难以实现有效的信用分配。PPO等actor-critic方法能够缓解部分问题,但critic模块仅通过固定算力的前向计算进行价值估计,无法像actor一样通过推理、反思与工具调用来分析当前状态,因此在复杂任务中难以做出准确的价值判断。

为此,该团队提出了TEMPO(Test-time-scaled Value Estimation with Macro-step Policy Optimization)训练方案。该方法将长程任务拆分为多个macro-step,每个步骤包含多轮模型与环境的交互。在每个macro-step结束时,同一个智能体将从actor角色切换为critic角色,通过测试时扩展的推理分析来估计当前状态的预期剩余回报,从而在长程任务结束前更新策略。

通过TEMPO方案,团队得以在单次运行需要数十小时的复杂任务上完成有效的强化学习训练。在ARC-AGI-3任务的对比测试中,采用TEMPO训练的模型平均得分比基线checkpoint提升了31.5%,比GRPO方法提升了20.6%;在达到相同关卡进度的情况下,TEMPO模型仅需要更少的通关步数即可获得更高的综合分数。

在TEMPO的训练过程中,智能体的自我评价能力超出了团队的预期。即使面对当前智能体还无法独立解决的问题,当它作为critic时,仍然能够从两个表面相似的环境状态中识别出真正突破环境规律的那个状态,并给出差异显著的价值估计。实际蒙特卡洛采样分析表明,当允许智能体在测试时扩展计算资源时,其作为critic的评估能力非常强,这也验证了“评价比生成更简单”这一假设在该类任务中成立。

除了强化学习训练阶段,推理阶段的自我评价能力也展现出了重要价值。在今年举办的IMO 2026赛事中,团队基于dots3-note Preview的分支版本构建了内部测试框架,让智能体递归生成解题证明,并通过工具调用对生成的证明进行自我评估与优化,最终凭借该方案取得了IMO官方认证的42/42满分金牌成绩。

从可验证的虚拟长程任务走向真实世界中模糊的长程任务,最大的挑战在于这类任务缺乏可量化的奖励信号,传统依赖人类专家评估的方式难以规模化落地。而智能体的递归自我评价能力,可能是解决这一问题的关键路径,也是该团队后续的重点研发方向。

dots3-note目前支持通过vLLM、SGLang和Transformers三种方式进行推理。推荐使用FP8版本在单机8卡环境下部署,BF16版本则需要更多的显存资源;上下文窗口长度需要根据可用显存、并发量与输入模态进行灵活调整。

模型下载

modelscope download --model dots-studio/dots3-note-prev-fp8 --local_dir ./dots3-note-prev-fp8

使用Transformers推理

需先安装与NVIDIA驱动匹配的PyTorch与torchvision,若需要处理音频和视频,还需安装torchcodec与FFmpeg,随后安装指定的PR版本依赖:

pip install accelerate pillow torchcodec kernels==0.16.0 \
  "transformers @ git+https://github.com/huggingface/transformers.git@refs/pull/47844/head"

推理脚本示例如下:

from transformers import AutoModelForMultimodalLM, AutoProcessor

model_id = “dots-studio/dots3-note-prev-fp8”
processor = AutoProcessor.from_pretrained(model_id)
model = AutoModelForMultimodalLM.from_pretrained(model_id, dtype=“auto”, device_map=“auto”)

messages = [
{“role”: “user”, “content”: “Hello! Please briefly introduce yourself.”},
]

inputs = processor.tokenizer.apply_chat_template(
messages,
add_generation_prompt=True,
return_tensors=“pt”,
return_dict=True,
enable_thinking=False,
).to(model.device)

outputs = model.generate(**inputs, max_new_tokens=128)
print(processor.decode(outputs[0, inputs.input_ids.shape[1] :], skip_special_tokens=True))

SGLang部署

推荐使用镜像lmsysorg/sglang:dev-dots3-note,单机完整部署配方与调优说明可参考SGLang仓库中的Dots3-Note cookbook:

docker run --gpus all --ipc=host -p 8000:8000 \
  lmsysorg/sglang:dev-dots3-note \
  sglang serve \
  --model-path dots-studio/dots3-note-prev-fp8 \
  --served-model-name dots3-note-prev \
  --host 0.0.0.0 \
  --port 8000 \
  --context-length 524288 \
  --enable-dp-attention \
  --dp-size 8 \
  --tp-size 8 \
  --ep-size 8 \
  --moe-dense-tp-size 1 \
  --page-size 64 \
  --trust-remote-code \
  --attention-backend fa3 \
  --moe-a2a-backend deepep \
  --enable-multimodal \
  --speculative-algorithm NEXTN \
  --speculative-num-steps 3 \
  --speculative-eagle-topk 1 \
  --speculative-num-draft-tokens 4 \
  --speculative-draft-model-path dots-studio/dots3-note-prev-fp8

vLLM部署

以下示例在8张NVIDIA H100显卡上以TP=8、EP=8的配置部署FP8权重:

vllm serve ./dots3-note-prev-fp8 \
  --served-model-name dots3-note-prev \
  --host 0.0.0.0 \
  --tensor-parallel-size 8 \
  --enable-expert-parallel \
  --moe-backend deep_gemm \
  --max-model-len 262144

可选功能

仅加载语言模型

–language-model-only

开启3 token MTP投机解码

–speculative-config ‘{“method”:“mtp”,“num_speculative_tokens”:3}’

开启OpenAI兼容的自动工具调用

–enable-auto-tool-choice --tool-call-parser dots

通过OpenAI SDK访问服务

当SGLang或vLLM服务启动后,可以通过标准OpenAI SDK进行访问:

from openai import OpenAI

client = OpenAI(base_url=“http://127.0.0.1:8000/v1”, api_key=“EMPTY”)
response = client.chat.completions.create(
model=“dots3-note-prev”,
messages=[
{“role”: “user”, “content”: “Hello! Can you briefly introduce yourself?”},
],
temperature=1.0,
top_p=0.95,
max_tokens=256,
# Set enable_thinking=True for reasoning; False returns a direct response.
extra_body={“chat_template_kwargs”: {“enable_thinking”: False}},
)
print(response.choices[0].message.content)

以上内容不代表本平台立场,仅供读者参考