“会操作电脑、浏览网页”的模型怎么练成:Nex-N2.5-Pro 十大能力背后的工程细节

发布时间:2026/11/3 2:27:03
“会操作电脑、浏览网页”的模型怎么练成:Nex-N2.5-Pro 十大能力背后的工程细节

“会操作电脑、浏览网页”的模型怎么练成:Nex-N2.5-Pro 十大能力背后的工程细节

当开源社区还在争论“大模型是否只会聊天”时,Nex-AGI 发布的 Nex-N2.5-Pro 已经把讨论带到了另一个层面:一个能真正接管鼠标键盘、打开浏览器、执行代码并自我纠错的模型,究竟是怎么造出来的?社区文章把 Nex-N2.5-Pro 的能力概括为“十大能力”——多模态输入(图像、视频、文档)、电脑操作、网页浏览、代码生成与调试、长任务执行、工作流编排、函数调用等。本文不满足于复述能力清单,而是直接打开模型仓库,从config.json、chat_template.jinja、README.md与评测数据出发,拆解这三项核心能力背后真正起作用的工程细节:行动链设计、环境感知的多模态配合、长任务执行中的稳定性保障。

一、能力矩阵不是口号:先看基准数据怎么说

在谈论任何架构细节之前,先确认一个事实:Nex-N2.5-Pro 的“会操作电脑、浏览网页”并不是宣传话术,而是有一组公开基准数据支撑的能力画像。仓库 README.md 给出了一组在统一评测协议下的数据,这里摘录 Pro 档的关键结果:

能力域基准Nex-N2.5-Pro
计算机操作OSWorld-Verified82.2
计算机操作OSWorld-256.4
计算机操作OSWorld-G87.4(同表最佳)
网页浏览WebArena-Verified67.6
网页浏览WebTest52.8
网页检索BrowseComp89.7
终端/命令行Terminal-Bench 2.182.7
软件工程SWE-Bench Pro61.2
长链路任务GDPval-AA v21628
多模态文档OmniDoc92.2

值得注意的细节藏在注释里:这些计算机操作与浏览器任务由 NexCUA 评测框架统一执行,其中的“grounding 坐标被归一化到 0–1000 标度”——也就是说,模型在屏幕上定位元素的输出不是一个自由文本坐标,而是一个统一的相对坐标协议,这恰恰是计算机操作能力可以被稳定评测、稳定复现的前提。同时,评测采样参数(temperature=0.7、top_p=0.95、top_k=40)与仓库推荐的推理采样参数完全一致,说明能力数据与真实使用场景是同一套配置下得到的,而非“评测特调”。

二、行动链设计:从“想”到“动”的统一协议

“会操作电脑”的第一步,是模型必须先学会“决定下一步做什么”。Nex-N2.5-Pro 把思考与行动编码进了同一份对话协议,这套协议就在 chat_template.jinja 里。

思考与回答分离。模板规定,模型若产生推理轨迹,必须包裹在<think>...</think>标签内,随后才是正式回答。用户侧通过reasoning_effort控制思考强度:

  • "none":非思考模式,直接回答;
  • "medium"(默认):自适应思考,由模型自行决定要不要思考、思考多久;
  • "high":强制思考。

这个三段式的设计,本质上是把“深思熟虑”变成模型可显式调用的能力开关。在长任务里,模型可以在每个关键决策点前进入<think>,输出推理再调用工具;而低延迟场景可以关掉思考,直接用reasoning_effort=none。

结构化的工具调用协议。模板要求工具调用必须遵循严格的 XML 格式:

<tool_call> <function=example_function_name> <parameter=example_parameter_1> value_1 </parameter> </function> </tool_call>

服务端通过 SGLang 的--tool-call-parser qwen3_coder解析这种格式,把模型输出转换为标准函数调用。参数值可以跨越多行——这很重要,因为传给浏览器或代码执行环境的参数经常是长文本、JSON 或代码片段。

工具反馈的多轮循环。模板对工具返回做了专门的协议封装:每一条工具结果被包裹在<tool_response>...</tool_response>中,作为新的用户消息回灌模型。更关键的工程细节在模板中一段倒序扫描逻辑:它从消息列表末尾向前寻找“最后一个非工具响应的用户消息”,如果整段对话都是工具响应、找不到真正的用户提问,就直接报错。这意味着模板显式保证——每个行动循环都必须以真实用户意图为锚点终结,防止模型在工具反馈的循环中“空转”。

行动链的完整闭环因此是:思考 token → 结构化工具调用 → 环境执行 →<tool_response>回灌 → 再次思考。所谓“会操作电脑”,本质上是这个闭环在计算机环境、浏览器环境、代码环境中的反复执行。

三、环境感知:视觉如何与行动配合

行动链要闭环,前提是模型能“看见”环境。Nex-N2.5-Pro 的视觉通路在 config.json 中有完整的工程描述,它不是简单地把一张图塞给语言模型。

视觉编码器的独立设计。vision_config显示了一个 27 层、hidden size 1152 的独立视觉编码器,patch size 16、temporal patch size 2、merge size 2,输出映射回语言模型的 4096 维空间。它专门处理图像与视频:图像被切成 patch 编码,视频则按时间轴切 patch。processor_config.json进一步说明视频以fps=2抽帧、最少 4 帧、最多 768 帧——这意味着模型能处理数分钟长的屏幕录屏,而不是单张截图。

视觉 token 协议。在对话模板中,图像与视频被映射为固定 token 序列:<|vision_start|><|image_pad|><|vision_end|>。配置里可以看到这些特殊 token 都有独立 ID(image_token_id=248056、video_token_id=248057、vision_start=248053、vision_end=248054),且系统消息中禁止携带图像——设计上把视觉内容严格限定在用户输入侧。

位置编码的“多模态适配”。text_config中的rope_parameters启用了mrope_interleaved,并定义了mrope_section: [11, 11, 10],这是多模态旋转位置编码(mRoPE)的配置——图像、视频的时空坐标与文本位置被映射进同一套位置编码体系。partial_rotary_factor=0.25则只对部分隐藏维度施加旋转位置编码。简单说,模型在“看屏幕”时,图像中的空间位置和文本序列中的位置用的是同一套坐标系,这是 grounding(坐标定位)能力能成立的基础。

量化策略中的“偏心”。quantization_config采用 compressed-tensors 的 FP8 块级量化:激活动态量化(group 128)、权重静态块量化(128×128)。但ignore列表里明确排除了所有visual模块、embed_tokens、lm_head以及 MoE 的各类 gate 层——视觉通路与嵌入层被保留在更高精度。这透露出一个设计取向:环境感知通路被视为“关键基础设施”,宁可多花存储与算力,也不让量化误差侵蚀模型“看屏幕”的精度。

计算机操作与网页浏览,本质上是这套视觉感知机制在两类环境上的应用:操作系统任务中,视觉反馈来自屏幕截图;浏览器任务中,视觉反馈来自页面渲染。README 明确定位了这一点——视觉“不再仅仅是输入模态,而是智能体感知环境、验证结果、推进任务的关键接口”。

四、长任务执行:稳定性与失败恢复的工程保障

“会浏览网页”容易,“连续操作十分钟不出错”很难。长任务执行是智能体模型最苛刻的战场,Nex-N2.5-Pro 在三个层面做了工程应对。

架构层面:256K 上下文 + 混合注意力。config.json显示max_position_embeddings=262144,即 256K token 上下文,这是长任务的基础容量。更值得玩味的是层结构:60 层中,layer_types显示 48 层是linear_attention(线性注意力),每 4 层插入一层full_attention(full_attention_interval=4)。线性注意力把 KV 状态压缩成固定大小的隐藏状态,复杂度不随序列长度线性增长——这正是长上下文在有限显存下可行的关键;而周期性插入的全注意力层则负责“召回”关键信息,弥补线性注意力在细粒度信息检索上的不足。这种“线性为主、全注意力为辅”的混合设计,配合mamba_ssm_dtype=float32的数值精度选择,是长任务稳定性的底层支撑。

MoE 的场景隔离效应。模型是 512 专家、每 token 激活 10 个专家的 MoE 架构(num_experts=512、num_experts_per_tok=10),并配有共享专家(shared_expert_intermediate_size)。MoE 在智能体场景下有一个常被忽略的好处:不同任务类型(思考、视觉理解、代码、工具调用)可以在训练中被路由到不同的专家子网络,形成隐式的“场景隔离”,减少长任务执行过程中的任务间干扰。社区对 Nex-N2 的拆解文章也提到 MoE 的这一优势。

行为层面:上下文压缩与确定性采样。README 的评测注释透露了一个实用细节:在 BrowseComp 评测中,当 token 用量超过上下文窗口的 60% 时,采用“摘要式上下文压缩”(Summary context-compaction)策略。这正是长任务中的失败恢复机制——不是无限吞入历史,而是在历史不再关键时主动压缩,为后续操作腾出上下文空间,避免模型在信息过载中“失忆”。与此同时,推荐的采样参数(temperature=0.7、top_p=0.95、top_k=40)刻意保持了适度的确定性,让长链条中的每一步决策都偏向稳健而非发散。

长任务能力的宏观证据同样在基准里:GDPval-AA v2 得分 1628——这个基准专门衡量多步骤、长链路的任务完成质量,而非单步正确率。它与 OSWorld 的 82.2、WebArena 的 67.6 相互印证:稳定执行 + 视觉反馈闭环,构成了“长任务”能力的完整证据链。

五、从权重到服务:开源生态的落地路径

能力背后还有一层现实工程:这套模型如何被社区真正用起来。仓库以 Apache 2.0 协议开源全部权重(122 个 safetensors 分片,FP8 量化后约 20GB/片),并提供了定制化 SGLang 镜像nexagi/sglang:v0.5.18-nex-patch,Pro 档在单机 8×H100 上即可部署:

docker run --gpus all --shm-size 32g --ipc=host \ -p 30000:30000 \ -v /path/to/your/model:/model \ nexagi/sglang:v0.5.18-nex-patch \ python3 -m sglang.launch_server \ --model-path /model \ --tp 8 \ --host 0.0.0.0 --port 30000 \ --reasoning-parser qwen3 \ --tool-call-parser qwen3_coder \ --chat-template /path/to/nex-N2.5-Pro/chat-template.jinja \ --mamba-scheduler-strategy extra_buffer

两个参数值得单独解释:--reasoning-parser qwen3负责把<think>推理轨迹从最终回答中分离出来,--tool-call-parser qwen3_coder负责把 XML 格式的<tool_call>解析为结构化函数调用——行动链协议从模板到服务端的完整落地,就靠这两个解析器衔接。--mamba-scheduler-strategy extra_buffer则是针对线性注意力层的调度优化。

围绕这套权重的社区生态也已经铺开:有人用 Ollama 把 N2.5 系列接入 WorkBuddy 做“编排层与推理层分离”,有人把 mini 档量化成 GGUF 在安卓端侧推理,也有人通过 Xinference 一键注册部署。这些实践共同说明一件事:行动能力不是只能活在云端演示里,而是可以被普通开发者接进自己的工具链。

结语

回顾 Nex-N2.5-Pro 的工程拼图,可以提炼出一条清晰的训练与设计逻辑:用统一的思考/工具调用协议定义“怎么行动”,用高精度的多模态视觉通路解决“怎么看见”,用线性注意力、MoE 与上下文压缩解决“怎么坚持到底”。能力清单里的每一项,都能在config.json的某个字段、chat_template.jinja的某段逻辑或基准表的某一行数字中找到落点。这正是开源模型的魅力——宣传语可以吹嘘,但配置文件不会说谎。

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考