小红书开源dots3-note Preview:280B 总参数激活 16B,512K 上下文的三模态长程 Agent 模型
小红书 dots studio 团队开源 dots3-note Preview。作为 dots3 系列(将包括 note、jazz、aria 三档)中最轻量的模型,note 总参数 280B、激活参数 16B,支持 512K 上下文,具备文本、视觉和语音的多模态理解能力,并针对复杂推理和长程 Agent 任务进行了优化。
dots3-note Preview 在推理、Agent 及多模态感知等能力上进行了全面优化,在多项任务上取得了比肩国内外更大尺寸模型的效果。
推理与 Agent :

多模态理解:

本次按 Apache 2.0 协议开源 BF16(dots3-note-prev)与 FP8 量化(dots3-note-prev-fp8)两个版本。
开源地址:
模型链接:
https://modelscope.cn/models/dots-studio/dots3-note-prev
https://modelscope.cn/models/dots-studio/dots3-note-prev-fp8
代码仓库:
https://github.com/studio-dots-ai/dots3-note-prev
技术博客:
https://studio.dots.ai/dots/dots3-zh.html
从虚拟环境到真实生活的长程任务
在陌生环境中探索、更新记忆、持续学习
ARC-AGI-3 是 ARC Prize 今年推出的一项人工智能能力测试,其重点不再是静态推理题,而是测试 AI 能否像人一样在陌生环境中自主学习。其中,复杂任务需要 Agent 自主进行数千轮交互,完整运行时间可达 40–50 小时。
dots3-note Preview 在其中不仅表现出优秀的问题解决能力,也具备良好的“研究性”思维:它能通过与环境交互进行观察,主动提出并验证假设,更新记忆,并在未来的决策中使用这些记忆。这一能力也能泛化到模型从未训练过的其他类型的陌生环境中,例如在《杀戮尖塔 2》中持续运行并更新记忆。
在 ARC-AGI-3 的 Memory 中可以看到模型建立假设、验证假设并纠正过时记忆的完整过程,例如先提出“将两个蓝色棋子合并”的目标假设,随后在交互中确认通关条件、修正左右移动的耦合方向规则,并把已求解关卡的机制沉淀为可复用的解题循环。
ARC-AGI-3 运行过程与 Memory 节选:
以下视频来源于
小红书技术REDtech📎从环境中学习.mp4

ARC-AGI-3 的部分游戏完整运行时长可达数十小时,此处选择运行时长较短的游戏。
《杀戮尖塔 2》运行过程与 Memory 节选:📎长程决策能力.mp4

完整测试长达数十小时,此处截取部分展示。
解决真实世界中的复杂任务
要从虚拟环境走向真实任务,模型除了要能够进行自我评价和从环境中学习,还需要解决两个基本问题:如何感知世界,以及如何影响世界。dots3-note Preview 首次具备了同时理解文本、视觉和语音信息的能力,并在通用代码、工具调用和结果交付方面有了明显提升。
小红书 VR 版开发:
以下视频来源于
小红书技术REDtech📎端到端软件工程长程自主开发.mp4

多模态推理:
以下视频来源于
小红书技术REDtech📎多模态推理与工具协同.mp4

解决真实生活中的长程任务
虚拟环境和可控的编程环境都是可验证的任务——环境封闭、状态可枚举、结果对错分明。真实生活并非如此,它与前述任务存在三个根本区别:
用户不会明确描述需求:现实中,用户意图往往在多轮交互中逐步形成,并随中间结果继续变化。
任务需要通过多次交互完成:现实任务可能持续数天甚至数周,需要模型跨阶段保留并更新任务状态。
外部环境是动态的:天气、价格、库存和航班等状态会异步变化,且这些变化未必会被主动告知。
以下三个案例展示了 dots3-note Preview 在这类模拟的真实生活长程任务中的表现:
婚礼筹备协调:
以下视频来源于
小红书技术REDtech📎Dots婚礼筹备.mov

主动经营咖啡电商:
以下视频来源于
小红书技术REDtech📎咖啡厅场景.mov

全周期旅游管家:
以下视频来源于
小红书技术REDtech📎新西兰自驾场景.m4v

TEMPO:通过自我评价实现超长程任务的强化学习训练
随着人们希望 Agent 解决的任务越来越复杂、执行周期越来越长,现有 value-free 强化学习范式遇到了以下困难:Agent 完成一次探索需要十余个小时,训练效率难以接受;同时,稀疏的奖励也难以实现有效的信用分配。PPO 等 actor-critic 方法可以缓解这些问题,但 critic 通过固定算力的前向计算进行价值估计,无法像 actor 一样通过推理、反思和工具调用来分析当前状态并得出结论,因此在复杂问题上很难做出准确估计。
为此,dots studio 提出 TEMPO(Test-time-scaled Value Estimation with Macro-step Policy Optimization)。TEMPO 将长程任务拆分为多个 macro-step,每个 macro-step 包含多轮模型与环境的交互。在每个 macro-step 结束时,同一个 Agent 从 actor 切换为 critic,通过 test-time scaling 的推理分析来估计当前状态的预期剩余回报,从而在长程任务结束前更新策略。训练过程中,不仅通过强化学习训练模型如何行动,也训练它如何自我评价。通过 TEMPO,得以在单次运行需要数十小时的任务上进行有效的强化学习训练。
不同方法训练的模型在 ARC-AGI-3 任务上的评测结果存在显著差异:TEMPO 的平均 score 比 baseline checkpoint 提高了 31.5%,比 GRPO 提高了 20.6%;在达到相同关卡的情况下,TEMPO 模型以更少的通关步数获得了更高的分数。

递归自我评价
在 TEMPO 的训练过程中,Agent 的自我评价能力显著强于预期。即使面对 Agent 当前还无法解决的问题,当它作为 critic 时,仍能从两个表面相似的状态中识别出真正突破了环境规律的那个状态,并给出差异显著的价值估计。对实际蒙特卡洛采样结果的分析表明,当允许 Agent 在测试时扩展计算时,它作为 critic 的能力非常强。这说明在所关注的任务上,“评价比生成更简单”这一假设成立。
除强化学习训练阶段之外,推理阶段也体现出模型自我评价的价值。在上个月举办的 IMO 2026 中,dots studio 基于 dots3-note Preview 的分支版本构建了一套内部 harness,让 Agent 递归生成 proof,并通过工具调用对生成的 proof 进行自我评估和增强,充分发挥其自我评价和改进能力,最终取得了 IMO 官方认证的 42/42 满分金牌成绩。
从可验证的长程任务走向真实世界、真实生活中的模糊长程任务,最关键的问题是这些任务缺少可验证的奖励信号;过去依赖人类专家评价模型结果的方式可能很难奏效,而模型进行递归自我评价(recursive self-critiquing)的能力可能是解决这一问题的关键,也是 dots studio 下一步的重点工作方向。
本地部署
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
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)
更多推荐




所有评论(0)