news 2026/7/31 9:03:30

研究KimiK3,我发现大模型正在学会“管理自己的计算”

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
研究KimiK3,我发现大模型正在学会“管理自己的计算”

第一次看到 Kimi K3 的参数规模时,人的注意力很容易被几个数字带走:

  • 2.8T 总参数;
  • 896 个专家;
  • 百万 Token 上下文;
  • 每个 Token 只激活少量专家;
  • 8 张顶级 GPU 可以完成模型加载和正确性验证。

这些数字确实足够震撼。

但如果只把 K3 理解成“又一个更大的模型”,反而会错过它真正值得学习的部分。

因为 K3 展示的并不是一条简单的路线:

参数越来越多,模型自然越来越强。

它真正解决的是四个完全不同的问题:

  1. 历史信息越来越长,模型怎样记得住?
  2. 网络越来越深,前面层的能力怎样不被淹没?
  3. 参数越来越多,怎样避免每次都全部计算?
  4. Agent 工作越来越久,怎样不中断、不失忆、不把环境搞坏?

换句话说,K3 的关键不是单纯扩大 Transformer,而是重新设计了大模型内部的信息调度方式。

如果把传统 Transformer 看成一台不断堆算力的机器,那么 K3 更像是在给这台机器加上:

  • 分层缓存;
  • 选择性路由;
  • 压缩记忆;
  • 异步执行;
  • 状态恢复;
  • 专家调度系统。

这篇文章不打算重复罗列 K3 的参数,而是试图真正讲明白:KDA、AttnRes、MoE 和 Agent Harness 到底分别解决了什么问题,以及它们为什么必须同时出现。


一、Transformer 真正遇到的瓶颈,不只是算力不够

传统 Transformer 有一个非常直接的工作方式。

当模型需要理解一段文本时,它会保留历史 Token 对应的 Key 和 Value。新 Token 到来后,Query 再去历史记录中逐一检索。

这很像一个没有索引压缩的档案系统:

过去发生过什么,全部保存;现在需要什么,再从头查找。

这种方式的优点是准确。

某个变量名即使出现在几十万 Token 之前,只要当前 Query 能够匹配到它,模型理论上仍然可以直接取回相关 Value。

但代价也非常明显。

假设序列长度为 (L),标准 Attention 需要处理大量 Token 两两之间的关系,训练复杂度近似为:

O(L^2)

推理阶段虽然不需要重新计算所有历史关系,但 KV Cache 会随着上下文持续增长。

于是上下文越长,模型越容易遇到三个问题:

  • KV Cache 占用越来越大;
  • 每生成一个 Token,需要读取的历史数据越来越多;
  • 显存带宽逐渐成为比计算本身更严重的瓶颈。

当上下文从 8K 增长到 128K,问题还可以通过增加显存和优化 Kernel 缓解。

但当目标变成数十万甚至百万 Token 时,继续保存全部历史明细就开始变得不经济。

KDA 的出发点,正是改变这件事。


二、KDA 不是“更便宜的 Attention”,而是一套在线记忆系统

理解 KDA,首先要放弃一个常见误区:

KDA 只是把 Softmax 去掉,然后把复杂度降成线性。

如果只理解到这里,几乎等于没有理解 KDA。

KDA 更接近一个不断训练自己的小型记忆模型。

每读入一个 Token,它都会完成三件事:

  1. 根据当前 Key,查看记忆中已经保存了什么;
  2. 判断当前记忆预测得是否正确;
  3. 只把预测错误的部分写回去。

这与传统 Attention 的逻辑完全不同。

传统 Attention 更像查数据库;KDA 更像在实时训练一个 Key 到 Value 的映射模型。


1. 最简单的线性记忆

先考虑一个状态矩阵:

S_t\in\mathbb{R}^{d_k\times d_v}

它可以被理解为一个从 Key 空间到 Value 空间的映射。

当第 (t) 个 Token 到来时,最朴素的写入方式是:

S_t=S_{t-1}+k_tv_t^\top

读取时使用 Query:

o_t=S_t^\top q_t

这套方法的优点是,历史 Token 不需要逐条保存。

无论上下文有多长,历史信息都会被压缩进固定尺寸的状态矩阵 (S_t)。

但这种简单累加很快会出现问题。

假设模型先后看到了两条信息:

项目状态:开发中 项目状态:已延期

如果两个“项目状态”拥有非常相似的 Key,简单累加会把“开发中”和“已延期”都写进同一个方向。

最后模型读出的可能不是最新状态,而是两者混合后的结果。

也就是说,普通线性注意力会不断增加记忆,却不知道如何修改记忆。

Delta Rule 解决的正是这个问题。


三、Delta Rule 最重要的不是写入,而是覆盖错误记忆

在写入新的 Value 之前,Delta Rule 会先让当前状态做一次预测:

\hat v_t=S_{t-1}^\top k_t

这一步的意思是:

根据现在的记忆,(k_t) 应该对应什么 Value?

然后计算预测误差:

e_t=v_t-\hat v_t

最后写入的不是完整的 (v_t),而是误差:

S_t=S_{t-1}+\beta_tk_te_t^\top

展开后得到:

S_t = S_{t-1} + \beta_tk_t \left( v_t-S_{t-1}^\top k_t \right)^\top

进一步整理:

S_t = \left(I-\beta_tk_tk_t^\top\right)S_{t-1} + \beta_tk_tv_t^\top

这条公式初看很复杂,但实际只做了两件事。

第一步:删除当前 Key 方向上的旧答案

\left(I-\beta_tk_tk_t^\top\right)S_{t-1}

其中 (k_tk_t^\top) 可以看成沿着当前 Key 方向形成的投影。

这一项相当于告诉模型:

先把和当前 Key 相关的旧映射削弱。

第二步:写入新的 Key-Value 关系

\beta_tk_tv_t^\top

然后再把新的正确答案写入状态。

因此,Delta Rule 的本质并不是“记住更多”,而是:

根据预测误差,有选择地修正记忆。

如果当前记忆已经能够正确预测 (v_t),那么误差接近 0,本次更新就会很小。

如果当前记忆完全错误,模型才会进行较大的修改。

这和机器学习中的梯度下降非常相似。

实际上,完全可以把状态矩阵 (S_t) 看成一个在推理过程中持续执行在线学习的小模型。

这也是 KDA 最值得掌握的第一层思想:

Transformer 不一定只能通过显式 KV Cache 保存历史,也可以在前向计算过程中不断训练一个临时记忆模型。


四、KDA 的细粒度门控,相当于给不同记忆设置不同保质期

Delta Rule 能够纠错,但还没有回答另一个问题:

一条信息应该保留多久?

自然语言中的信息并不具有相同的有效期。

例如:

用户姓名:长期有效 当前文件:中期有效 上一条命令输出:短期有效 刚才代码中的行号:可能只在下一步有效

如果所有信息都用相同速度衰减,模型就会面临两种极端:

  • 遗忘太快,长期信息留不住;
  • 遗忘太慢,短期噪声清不掉。

Gated DeltaNet 为状态增加了遗忘门:

S_t = \alpha_t \left(I-\beta_tk_tk_t^\top\right)S_{t-1} + \beta_tk_tv_t^\top

其中 (\alpha_t) 决定旧状态保留多少。

但一个标量门控意味着整个 Attention Head 中的所有特征都使用相同的遗忘速度。

KDA 将它进一步细化为向量:

\boldsymbol{\alpha}_t\in[0,1]^{d_k}

状态更新变成:

S_t = \left(I-\beta_tk_tk_t^\top\right) \operatorname{Diag}(\boldsymbol{\alpha}_t) S_{t-1} + \beta_tk_tv_t^\top

这里的关键变化不是公式多了一个对角矩阵,而是:

每个记忆通道都可以拥有自己的时间尺度。

某些维度可以长期保存主题和身份信息,某些维度可以快速跟踪最近动作,还有一些维度专门用于清除局部噪声。

这很像现代计算机系统中的多级缓存:

  • 有些数据进入长期存储;
  • 有些数据进入工作内存;
  • 有些数据只存在于临时寄存器;
  • 不同数据具有不同的淘汰策略。

因此,KDA 的门控并不是简单的“开或关”。

它更像一套由模型自己学习的记忆生命周期管理系统。


五、为什么 KDA 不需要像普通 Attention 那样显式保存位置

传统 Attention 本身并不知道 Token 的顺序。

如果不加入位置编码,模型看到:

A 在 B 前面

和:

B 在 A 前面

可能缺乏区分顺序的依据。

因此 Transformer 通常需要 RoPE 等位置编码。

KDA 的情况有所不同。

一条信息从第 (j) 个位置传播到第 (t) 个位置,需要连续经过中间所有状态转移:

A_tA_{t-1}\cdots A_{j+1}

其中:

A_i= \left(I-\beta_ik_ik_i^\top\right) \operatorname{Diag}(\boldsymbol{\alpha}_i)

距离越远,信息经历的衰减、覆盖和修正次数越多。

因此,KDA 天然包含三种信号:

  • 信息出现的先后顺序;
  • 信息距离当前 Token 的远近;
  • 中间内容对这条记忆造成的影响。

它不是像 RoPE 那样直接给 Token 加上一个旋转角度,而是通过状态传播过程,让位置影响自然进入记忆。

可以把两者区别理解为:

  • RoPE:显式告诉模型两个 Token 相距多远;
  • KDA:让信息在传播过程中真实经历这段距离。

这也是为什么混合架构中的部分 MLA 层可以不再承担全部位置建模任务。


六、真正让 KDA 跑起来的不是公式,而是 WY 表示法

到这里,KDA 在数学上已经很漂亮。

但一个模型公式成立,并不意味着它在 GPU 上一定高效。

KDA 状态更新具有递归依赖:

S_t=A_tS_{t-1}+B_t

计算 (S_t) 之前,必须先获得 (S_{t-1})。

这意味着,如果严格按照公式逐 Token 执行,整个过程依然是串行的。

而 GPU 最不擅长的,恰好就是大量细碎、连续依赖的小型计算。

GPU 更喜欢的是:

  • 大规模矩阵乘法;
  • 规则的数据排列;
  • 大批量并行任务;
  • 可以交给 Tensor Core 的 GEMM。

所以线性复杂度并不自动等于高速度。

一个 (O(L)) 的算法,如果每一步都需要启动小 Kernel、读取状态、等待同步,最终完全可能跑不过经过高度优化的 (O(L^2)) Attention。

WY 表示法的价值,就是把递归公式重新翻译成 GPU 喜欢的语言。


1. 先把序列拆成 Chunk

假设将序列划分成长度为 (C) 的多个块:

[1,C],\quad[C+1,2C],\quad\ldots

执行方式由逐 Token 递归变成:

Chunk 之间传递状态,Chunk 内部批量并行。

也就是常说的:

\text{块间递归}+\text{块内并行}

Chunk 之间仍然有顺序关系,但一个 Chunk 内部的多个低秩更新可以被合并。


2. 把大量秩一更新压成矩阵运算

KDA 中频繁出现:

I-\beta_tk_tk_t^\top

其中 (k_tk_t^\top) 是秩一矩阵。

连续多个 Token 会形成大量类似变换的乘积。

WY 表示法能够把一系列低秩更新重新写成类似:

P=D-KW^\top

原本需要逐 Token 执行的操作,可以被整理成几个大矩阵之间的乘法。

于是状态更新可以从:

读取一个 Token 更新一次状态 等待完成 读取下一个 Token 再次更新

变成:

收集一个 Chunk 构造若干矩阵 执行大规模 GEMM 一次完成 Chunk 内的大量计算

这才真正利用了 GPU 的并行能力。

所以 WY 表示法并没有改变 KDA 学习什么,它改变的是 KDA 如何执行。

一句话概括:

Delta Rule 决定模型怎样记忆,WY 表示法决定这套记忆机制能不能高效运行。

这是很多大模型论文中最容易被忽略的部分。

一个架构最终能否落地,往往并不取决于公式是否优雅,而取决于公式能否被改写成:

  • 少量大矩阵运算;
  • 低通信开销;
  • 规则的内存访问;
  • 适合混合精度;
  • 适合 Tensor Core。

七、为什么 Kimi 没有彻底抛弃传统 Attention

既然 KDA 可以压缩历史,为什么还要保留 MLA?

原因很简单:

压缩一定意味着信息损失。

KDA 把大量历史 Token 压进固定大小的状态矩阵。

无论门控和更新机制多么先进,固定维度的状态都不可能无损保存无限多条独立信息。

当大量相似 Key 被写入时,状态仍可能发生:

  • 记忆碰撞;
  • 旧信息覆盖;
  • 精确字符串丢失;
  • 远距离细节衰减;
  • 多个相似实体相互干扰。

传统 Attention 虽然成本高,却拥有一种 KDA 很难完全替代的能力:

Query 可以直接访问某一个具体历史 Token。

因此 Kimi 采用的是分层混合,而不是非此即彼。

一种典型的组合方式是:

3\text{ 层 KDA}+1\text{ 层 MLA}

这套结构中的职责非常清晰。

KDA 负责:

  • 大规模压缩历史;
  • 保存近因和长期状态;
  • 降低长上下文成本;
  • 让大部分层不再依赖完整 KV Cache。

MLA 负责:

  • 精确内容寻址;
  • 恢复被压缩后的细节;
  • 直接访问全局 Token;
  • 处理需要精确复制和匹配的任务。

这就像一套计算机存储系统:

  • KDA 类似经过压缩的高速工作内存;
  • MLA 类似可以精确检索的长期存储索引。

真正成熟的架构通常不是只使用一种机制,而是让不同机制负责自己擅长的问题。


八、AttnRes 解决的不是上下文长度,而是“层越深,信息越乱”

KDA 解决的是 Token 序列方向的问题。

但模型变深后,还会出现另一类信息拥堵。

传统 Transformer 的残差结构近似为:

x_{l+1}=x_l+F_l(x_l)

随着层数增加,所有历史层的信息不断被累加进同一个残差流。

这种结构的优点是容易训练,梯度也更容易传播。

但它存在一个隐含问题:

后面的层只能接收已经混合完成的结果,无法重新选择某个早期层的表示。

可以把传统残差流想象成一个不断开会的会议室。

第 1 层说了一句话,第 2 层在上面补充,第 3 层继续补充。到了第 80 层,所有人的内容已经混成一大段会议纪要。

第 80 层无法直接说:

我现在只想重新听第 7 层和第 23 层的意见。

AttnRes 做的事情,就是让深层网络获得这种能力。

它把前面不同层的输出看成一组可检索的表示:

h_1,h_2,\ldots,h_{l-1}

当前层通过类似 Attention 的权重,选择自己需要的历史层:

h_l=\sum_{i<l}\alpha_{i\rightarrow l}h_i

其中:

\alpha_{i\rightarrow l} = \operatorname{Softmax} \left( q_l^\top k_i \right)

这相当于把“模型深度”也变成一个可检索空间。

传统残差是:

所有历史层默认相加。

AttnRes 是:

当前层主动判断,哪些历史层更重要。

这带来了一个非常有意思的对称关系:

  • Attention 在 Token 维度选择信息;
  • AttnRes 在网络深度维度选择信息。

所以 KDA 和 AttnRes 解决的是两个完全不同的方向:

\text{KDA:横向管理时间和上下文}

\text{AttnRes:纵向管理层级和表征}

这也是 K3 所谓重新设计 Transformer 扩展方式的核心之一。

模型变强,不一定只能增加层数,还可以提高不同层之间的信息利用效率。


九、2.8T 参数真正代表什么:容量很大,不代表每次全部工作

K3 的另一个核心是超稀疏 MoE。

MoE 最容易产生的误解是:

2.8T 参数就意味着每生成一个 Token 都要计算 2.8T 参数。

实际上,MoE 的设计恰恰是为了避免这件事。

K3 拥有大量专家,但每个 Token 只会被路由到少数专家。

可以把它想象成一家拥有数百个专业部门的公司。

当一个财务问题到来时,不需要所有部门同时参与,只需要调用:

  • 财务专家;
  • 表格专家;
  • 合规专家;
  • 少量共享专家。

因此 MoE 追求的是:

\text{总容量很大}

同时:

\text{单次激活规模可控}

这就是总参数量与激活参数量必须分开理解的原因。


1. MoE 节省的是计算,不一定节省显存

即使每个 Token 只激活少量专家,全部专家的权重通常仍然需要被部署到设备或集群中。

因此 MoE 面临三种不同成本:

计算成本

每次只计算少数专家,明显低于同规模 Dense 模型。

权重存储成本

大量专家权重仍然需要占据显存或内存。

通信成本

Token 需要被发送到专家所在的 GPU,完成计算后再把结果返回。

而第三项经常是实际部署中最麻烦的问题。


2. MoE 真正的瓶颈往往是 All-to-All 通信

假设不同专家部署在不同 GPU 上。

Router 为某个 Token 选择专家后,系统必须完成:

  1. 将 Token 表示发送到目标 GPU;
  2. 在目标专家上执行计算;
  3. 将结果发送回来;
  4. 按照路由权重重新合并。

如果一个批次中的 Token 被分散到大量专家,就会产生密集的跨卡通信。

因此,多张 GPU 能不能高效运行 MoE,不只取决于总显存够不够,还取决于:

  • GPU 间带宽;
  • 网络拓扑;
  • All-to-All 实现;
  • 专家放置策略;
  • Token 路由是否均匀;
  • 是否存在热点专家。

这也解释了为什么:

8 张 GPU 可以加载模型,不等于 8 张 GPU 就能提供理想的生产吞吐。

能够运行,至少包含四个不同层次:

  1. 权重能够加载;
  2. 前向计算可以完成;
  3. 输出正确性可以验证;
  4. 并发、吞吐、延迟达到生产要求。

前两项成立,不代表后两项也成立。


十、Stable LatentMoE 为什么要把专家计算放进更窄的空间

普通 MoE 中,Token 的完整隐藏状态会被发送到各个专家。

隐藏维度越大,跨 GPU 传输的数据量越大。

Stable LatentMoE 的一个关键思路,是将完整隐藏空间和专家处理空间分离。

可以理解为:

\text{完整隐藏状态} \rightarrow \text{压缩到 Latent 空间} \rightarrow \text{专家计算} \rightarrow \text{映射回完整空间}

这样一来,专家之间传输和计算的数据宽度可以更小。

它带来的价值不只是减少算力,还包括:

  • 降低专家通信量;
  • 降低专家权重访存;
  • 提高专家数量可扩展性;
  • 缓解超稀疏 MoE 的部署压力。

但专家越多、激活越稀疏,路由越容易不稳定。

例如,大量 Token 可能集中选择少数热门专家,导致:

  • 某些 GPU 过载;
  • 部分专家长期空闲;
  • 通信拥堵;
  • 吞吐下降;
  • 专家专业化失败。

因此 MoE 系统还必须配套:

  • 负载均衡;
  • 路由约束;
  • 激活值控制;
  • 数值稳定机制;
  • 专家容量管理。

K3 的价值不在于简单地把专家数量增加到 896,而在于试图让极高稀疏度仍然保持可训练、可路由和可执行。


十一、MXFP4 和 MXFP8:低精度不是后期压缩,而是训练阶段的共同设计

当模型达到万亿参数级别时,只靠稀疏激活仍然不够。

权重体积、显存带宽和通信量依然极其庞大。

这也是 MXFP4、MXFP8 和量化感知训练需要出现的原因。

可以粗略理解为:

  • MXFP4:使用更低精度表示部分模型权重;
  • MXFP8:使用相对更高精度处理部分激活或计算;
  • 量化感知训练:在训练过程中让模型提前适应低精度误差。

很多人把量化理解成模型训练完成后的“压缩包”。

实际上,超大模型中的低精度设计更像建筑阶段就确定的材料标准。

如果先用高精度训练出模型,再粗暴压到 4 bit,可能出现:

  • 权重分布被破坏;
  • 离群值误差被放大;
  • 专家路由发生偏移;
  • 长序列状态误差不断累积;
  • 输出质量明显下降。

量化感知训练的意义是:

模型在训练时就知道未来要在低精度环境中运行,并主动学会适应量化噪声。

这体现了 K3 非常典型的系统设计思想:

模型结构、训练精度、Kernel 和部署硬件不能分开设计。

真正能够大规模运行的模型,从来不是论文公式完成之后,再交给工程团队想办法部署。

它必须从一开始就考虑:

  • 参数如何存储;
  • 激活如何表示;
  • 状态使用什么精度;
  • 哪些运算保留高精度;
  • 哪些矩阵可以交给低精度 Tensor Core;
  • 误差会不会沿长序列持续累积。

十二、K3 最容易被低估的部分,其实是 Agent Harness

即使模型可以处理百万 Token,也不代表它就能连续完成数小时的工程任务。

这是理解 Agent 时最容易出现的误区:

上下文足够长,Agent 就不会失忆。

实际上,一个长程任务的状态远远不止聊天记录。

例如一个代码 Agent 正在开发系统,它的真实状态可能包括:

  • 已经修改的文件;
  • 当前 Git 分支;
  • 安装过的依赖;
  • 启动中的服务;
  • 数据库结构;
  • 编译缓存;
  • 环境变量;
  • 运行失败的日志;
  • 已完成的测试;
  • 尚未完成的任务计划。

这些信息并不全部存在于模型上下文中。

因此一个真正的 Agent 状态应该写成:

\text{Agent State} = \text{Model Context} + \text{Environment State}

模型上下文负责保存:

  • 任务目标;
  • 推理历史;
  • 工具返回结果;
  • 当前计划;
  • 关键决策。

环境状态负责保存:

  • 文件;
  • 进程;
  • 数据;
  • 软件依赖;
  • 工作目录;
  • 服务和网络状态。

只保留前者,Agent 可能还记得自己要做什么,却发现文件和运行环境已经丢失。

只保留后者,环境虽然还在,模型却不知道之前为什么这样修改。


十三、为什么长程 Agent 必须有可恢复沙箱

当 Agent 只执行一次查询时,普通工具调用就够了。

但当 Agent 连续工作数小时,它一定会犯错。

例如:

  • 删除错误文件;
  • 安装冲突依赖;
  • 修改错误配置;
  • 启动失控进程;
  • 执行危险命令;
  • 把原本能运行的项目改坏。

如果系统没有检查点和恢复能力,一次错误就可能让整个长程任务前功尽弃。

因此真正的长程 Agent Harness 必须支持类似操作系统的能力:

Pause / Resume

模型思考或等待推理结果时,环境可以暂停,减少闲置资源。

Snapshot

在关键步骤保存文件系统和运行环境状态。

Rollback

当后续尝试失败时,回到最近的可靠状态。

Fork

复制当前环境,让评估程序在副本中运行测试,不污染原始工作空间。

Checkpoint

将长任务切分成多个可恢复阶段,而不是一次性赌完整条轨迹成功。

这时我们会发现,Agent 已经不再只是“大模型加几个 API”。

它实际上正在变成一个新的计算系统:

  • 模型负责决策;
  • Harness 负责编排;
  • 工具负责行动;
  • 沙箱负责隔离;
  • Snapshot 负责恢复;
  • 评估器负责判断结果是否正确。

K3 的长程能力不能只归因于模型参数。

没有相匹配的 Harness,即使拿到相同权重,真实任务表现也可能出现明显差异。


十四、把 K3 的所有组件放在一起,逻辑就清楚了

K3 并不是把一堆新技术简单堆在一起。

每个组件都在解决不同维度的信息爆炸问题。

维度问题对应机制
序列长度历史 Token 太多KDA
精确检索压缩状态可能丢细节MLA
网络深度历史层输出被混合AttnRes
参数容量Dense 模型计算过高Stable LatentMoE
权重体积万亿参数难以存储和传输MXFP4、MXFP8
任务时长Agent 容易中断和失忆长程训练与 Harness
环境连续性工具执行会改变外部世界Sandbox、Snapshot、Checkpoint

从这个角度看,K3 的架构主线可以被概括成四个词:

\text{压缩、选择、稀疏、恢复}

KDA 压缩序列历史。

AttnRes 选择历史层表示。

MoE 稀疏激活专家参数。

Harness 恢复长程任务状态。

这四个机制背后的思想高度一致:

不让所有信息、所有参数和所有计算无差别地参与,而是在每一步决定什么值得保留,什么应该调用,什么可以遗忘。


十五、K3 对企业做 Agent 的真正启示

企业通常很难直接训练一个 2.8T 模型,但 K3 的很多思想并不要求拥有万亿参数。

对于企业 Agent 平台,最值得借鉴的是下面几件事。

1. 不要把长上下文当成无限内存

上下文越长,噪声也越多。

企业 Agent 应当区分:

  • 当前任务工作记忆;
  • 历史对话;
  • 长期用户记忆;
  • 外部知识库;
  • 文件和环境状态。

不是所有信息都应该直接塞进 Prompt。

2. 建立分层信息检索

可以参考 KDA 与 MLA 的组合思路:

  • 高频、近期信息放在短期状态;
  • 精确资料交给 RAG 和文件检索;
  • 长期偏好进入持久化记忆;
  • 环境变化通过工具实时读取。

3. Harness 比 Prompt 更重要

复杂 Agent 的稳定性主要取决于:

  • 工具接口是否清晰;
  • 状态是否结构化;
  • 是否有超时和重试;
  • 是否有任务检查点;
  • 是否能判断工具执行成功;
  • 是否支持失败恢复。

一个超长系统提示词无法替代这些工程能力。

4. 能执行不等于能交付

Agent 输出了一段代码,不代表任务完成。

真正的完成条件应该来自外部验证:

  • 测试是否通过;
  • 文件是否生成;
  • 服务是否启动;
  • 数据是否正确写入;
  • 页面是否能够访问;
  • 业务规则是否满足。

这也是长程 Agent 必须拥有评估器和验证闭环的原因。


十六、关于 K3 官方案例,需要区分三个证据层级

对于芯片设计、编译器构建、科研复现和长时间自主工作等案例,需要区分:

  1. 官方技术报告或演示;
  2. 第三方基准测试;
  3. 社区独立端到端复现。

这三个层级不能混为一谈。

评价此类复杂案例时,应把官方演示、第三方基准与社区独立复现分开看待,避免把不同证据层级混为一谈。

同样,8 张 MI355X 能够完成模型加载和正确性验证,不等于已经证明该配置可以达到理想的企业生产吞吐。

具体的并发能力、Token 吞吐、延迟、功耗和长期运行稳定性,需要以实际部署测试为准。


写在最后

过去几年,大模型的发展经常被概括成一句话:

参数越大,能力越强。

Kimi K3 展示了另一种更值得关注的方向。

模型未来的竞争不只是比谁拥有更多参数,而是比谁更会管理参数、记忆和计算。

它需要知道:

  • 哪些历史信息值得保留;
  • 哪些旧映射应该被修正;
  • 哪些中间层值得重新读取;
  • 哪些专家应该被激活;
  • 哪些计算可以使用低精度;
  • 哪些任务状态必须被持久化;
  • 哪些失败需要回滚并重新尝试。

因此,K3 最有价值的地方并不是 2.8T 这个数字。

它真正表达的是:

大模型正在从一个被动执行矩阵乘法的网络,逐渐变成一个能够主动分配记忆、路由能力、控制精度并管理任务状态的计算系统。

当模型开始学习如何管理自己的计算,扩展模型的方式也就不再只有“继续堆参数”这一条路。

这可能才是 Kimi K3 真正值得研究的地方。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/31 9:03:17

战斗陀螺 3D 设计器

「17-战斗陀螺 3D 设计器」 /~12b63Zsh8F~:/ 链接&#xff1a;https://pan.quark.cn/s/899f07cb4fc9SPIN/CORE AI LAB一套可直接运行的战斗陀螺 3D 设计器。项目基于 React、Three.js、React Three Fiber 与 Vite 构建&#xff0c;所有陀螺零件均由程序化几何体实时生成&#x…

作者头像 李华
网站建设 2026/7/31 9:02:23

科研论文写作:从逻辑构建到高效产出的说服艺术

1. 从“写出来”到“写得好”&#xff1a;科研写作的本质是一场说服 每次看到实验室里师弟师妹们对着空白的文档发呆&#xff0c;或者把初稿改得面目全非却依然被导师打回重写&#xff0c;我就想起自己当年熬过的那些夜。科研论文&#xff0c;它远不止是把实验数据堆砌成文字那…

作者头像 李华
网站建设 2026/7/31 9:01:51

中药复方物质基础研究与药效机制解析系统方案指南

一、 成分鉴定与技术原理Q&#xff1a;中药复方中已知和未知化合物是如何鉴定的&#xff1f;已知化合物&#xff1a; 主要采用 UPLC-Q-TOF-MS 联用技术。通过高分辨质谱获取化合物的精确质荷比&#xff08;m/z&#xff09;与碎片信息&#xff0c;并与自建实物标准品数据库进行匹…

作者头像 李华
网站建设 2026/7/31 9:01:16

大模型在电商运营中的实际应用与实施指南

大模型在电商运营中的实际应用与实施指南 关键词&#xff1a;大模型电商应用、AI电商运营、生成式AI商品内容、电商智能体 适用场景&#xff1a;商品上架、搜索导购、营销素材、客服协同、评论分析与运营复盘 数据更新时间&#xff1a;2026年7月 关键词&#xff1a;大模型电商应…

作者头像 李华
网站建设 2026/7/31 8:59:40

WeChatExporter三步搞定微信聊天记录永久备份:告别数据丢失烦恼

WeChatExporter三步搞定微信聊天记录永久备份&#xff1a;告别数据丢失烦恼 【免费下载链接】WeChatExporter 一个可以快速导出、查看你的微信聊天记录的工具 项目地址: https://gitcode.com/gh_mirrors/wec/WeChatExporter 你是否曾经因为更换手机而丢失重要的微信聊天…

作者头像 李华
网站建设 2026/7/31 8:59:08

idea2021.3.1安装与配置jdk和Maven

假设已有安装包双击安装包勾选 Create Desktop Shortcut 创建 IDEA 桌面快捷启动方式&#xff0c;以方便后面快速打开 IDEA&#xff0c;再点击 Next 按钮 :点击install安装IDEA 运行成功后&#xff0c;会弹出如下对号框&#xff0c;强制用户需要先登录 JetBrains 账户才能使用&…

作者头像 李华