为什么Occamy-1.0能在262K长上下文下不“失忆”?长时程连续性机制拆解

原创2026-10-19 18:12:201,880 阅读
文章标签:人工智能大模型多模态AI Agent工具调用代码模型

为什么Occamy-1.0能在262K长上下文下不“失忆”?长时程连续性机制拆解

Occamy-1.0 是 Accio-Lab 开源的 35B 总参数 / 3B 激活参数的 co-work Agent 模型,原生支持 262,144 tokens 的长上下文窗口。长对话、多轮工具调用、文件与 API 结果不断堆入历史时,多数模型会“越聊越懵”——忘记最初的目标、丢步骤、重复调用工具。而 Occamy-1.0 正是针对这类长时程任务训练的,本文带你拆解它不“失忆”的四层机制:长上下文基座、混合注意力架构、高经济性 MoE,以及专为长时程执行的训练配方。

Occamy-1.0 长上下文 Agent 推理成本与性能对比图

在 Claw-Eval、WildClawBench、AutomationBench、GDPval 四个 co-work 基准的汇总对比中(上图为 assets/aggregate-cost-performance.png),Occamy-1.0 位于经验 Pareto 前沿的“低成本拐点”附近:相比其起点 Qwen3.6-35B-A3B,能力大幅提升,单任务推理成本却只有小幅变化。

一、先看问题:Agent 场景的“失忆”是怎么发生的

普通问答模型只需要答对一个问题;而 co-work(协同工作)任务是有状态的:搜索、写代码、调 API、操作文件,几十上百步连续执行。此时“失忆”通常表现为:

  • 🎯 忘记最初目标,开始做“看似合理但跑偏”的事;
  • 🔁 重复调用同一个工具,或引用已失效的中间结果;
  • ✂️ 上下文被压缩(compaction)后,关键约束(如用户偏好、硬性要求)丢失。

Occamy-1.0 的应对不是单一 trick,而是“架构 × 训练 × 使用约定”三层配合。

二、机制 1:262,144 tokens 的原生长上下文基座

Occamy-1.0 从 Qwen3.6-35B-A3B 检查点起步,保留其完整架构,262,144 tokens 是架构原生的上下文上限,而不是训练时硬撑出来的数字:

关键参数 数值 出处
max_position_embeddings 262,144 config.json
num_hidden_layers 40 层 config.json
SFT 训练序列长度 131,072 tokens README.md

也就是说,模型在训练阶段就见过 128K 量级的超长轨迹,部署时把窗口开到 262K(SGLang 示例参数 --context-length 262144、vLLM 的 --max-model-len 262144,见 README.md 第 5 节),是“架构内插值 + 训练覆盖”共同保证的可靠区间,而不是外推赌博。

三、机制 2:线性注意力 + 全注意力混合,长上下文不“爆内存”

真正让 262K 窗口“用得起”的,是它的混合注意力设计。翻看 config.json 的 layer_types 字段可以发现一个非常规整的排布:每 3 层 linear_attention(线性注意力),插 1 层 full_attention(全注意力),由 full_attention_interval: 4 控制。

这种“3+1”结构是典型的成本—精度权衡:

  • 线性注意力层:状态是固定大小的递归状态,不随序列长度线性膨胀,负责“顺流而下”地压缩传递历史信息,让长序列的显存和计算开销保持可控;
  • 每第 4 层的全注意力层:保留完整的全局访问能力,随时可以“回头看”任意早期 token,锚定关键事实,防止信息在递归压缩中被稀释丢失。

换句话说,线性层管“跑得快、装得下”,全注意力层管“找得回、记得准”——这正是长上下文不“失忆”的架构根基。此外,rope_theta: 10000000 的大频移 RoPE 配合 0.25 的 partial_rotary_factor,也进一步支持了超长位置编码的稳定性。

四、机制 3:35B 总参数 / 3B 激活的 MoE,长上下文推理“负担得起”

长上下文不“失忆”的前提是你愿意真的把长历史喂进去。传统稠密模型每多一个 token 都要完整 35B 参数前向一遍,长窗口成本指数级痛感;Occamy-1.0 采用混合专家(Mixture-of-Experts):

  • 256 个专家,每个 token 只路由激活 8 个专家 + 1 个共享专家;
  • 实际单 token 激活参数仅约 3B,推理开销接近小模型;
  • 35B 的总参数量则保证了知识容量上限。

效果就是开头那张 Pareto 图:它落在“每任务成本约 0.06 USD”的低成本拐点,而性能追平了一倍以上的更大模型。对普通用户意味着——跑长会话、长 agent 任务的电费账单,不再是劝退理由。

五、机制 4:训练配方专为“长时程连续性”设计

架构只解决“能不能装”,训练才解决“装进去之后还认不认账”。README.md 第 4 节给出了 Occamy-1.0 的分阶段训练流水线:

Qwen3.6-35B-A3B
  ├─ Marathon Expert: SFT → HDPO ┐
  └─ Sprint Expert: SFT          ├─ 均匀合并 → SAO → Occamy-1.0
  • Marathon Expert(马拉松专家):专注“持续执行”——长时程交互数据平均轨迹长度达 95.8K tokens(88.4M tokens),并通过精度条件化的效率优化(HDPO)学会在长跑中保持准确率;
  • Sprint Expert(短跑专家):保留更广泛的通用 agent 能力,防止长跑特化导致“偏科”;
  • 均匀合并 + SAO:两个专家在参数空间直接合并为一个检查点(无推理期路由/集成开销),再用单轨迹异步优化(SAO)在 co-work 混合任务上收尾。

同时,官方明确将“跨工具调用、委托执行、上下文压缩(context compaction)后的历史重写仍保持连贯”列为核心设计目标——也就是说,被压缩的历史摘要本身也是模型被反复训练的对象,压缩不再是失忆事故的高发区。

六、使用侧约定:保住“执行上下文”才能发挥机制

再强的模型也需要正确的使用姿势,Occamy-1.0 在 README.md 第 6 节给出了一条关键约定:

多轮 agent 运行时,保留服务端返回的完整 assistant 消息(含推理内容与工具调用),再按标准 OpenAI schema 追加工具结果。

这条约定落在聊天模板层:chat_template.jinja 中,preserve_thinking 参数控制历史轮次的 `

登录后查看全文
occamy-1.0