编者按: 你是否曾好奇,当我们向大语言模型输入一段文字、看着它逐字逐句生成回复时,背后那些动辄千亿参数的神经网络究竟在“计算”什么?它们又是如何在短短几秒内完成如此复杂的推理过程?

我们今天为大家带来的文章,作者的观点是推理引擎的价值不仅在于调度,更在于通过重写模型代码与深度优化底层计算逻辑,将静态的权重转化为高效的智能输出。

作者 | Neutree AI

编译 | 岳扬

01 模型内部机制、KV Cache 与张量并行(Tensor Parallelism)

在 Part 1 中,我们探讨了 Nano-vLLM 的工程架构:请求如何在系统中流转、Scheduler(调度器)如何对 sequences(序列)进行批处理,以及 Block Manager(块管理器)如何追踪 KV Cache 的分配。当时我们特意将模型计算视为一个黑盒。现在,是时候打开这个盒子了。

本部分将深入探究模型内部原理:Token(词元)如何转化为向量、每个 decoder 层内部究竟发生了什么、KV Cache 在 GPU 显存中的物理存储方式,以及张量并行如何将计算任务拆解到多个 GPU 上。 阅读完本节,你将对从 Prompt 进入系统到文本生成输出的全过程建立起完整的认知。

02 模型究竟是什么?

说到“模型”,我们往往想到的是那些权重文件 —— 动辄数十亿参数、体积庞大的二进制文件。但一个真正能跑起来、能做推理的模型,其实需要三个部分协同工作:

  • Vocabulary:token 和其对应 ID 之间的静态映射表。它负责在人类可读的文本与模型实际处理的数值表征之间做双向翻译。
  • Weights:训练过程中学出来的参数,也就是模型积累的“知识”本身。比如一个 7B 模型,就代表它拥有 70 亿个这样的可调参数。
  • Runtime Code:定义如何使用这些权重、把输入一步步转换成输出的执行逻辑。这才是真正落到 GPU 上跑起来的部分。

2.1 为何推理引擎要自己实现模型代码(model code)

你可能会疑惑:既然模型提供方都开源了权重,为什么不干脆把 runtime code(运行时代码)也一起给了?其实很多情况下他们确实给了,但问题是,这份代码往往不是“开箱即用”的。Runtime code 需要针对具体场景做深度优化:训练还是推理?用什么型号的 GPU?跑 FP16 还是 INT4 精度?在一套 A100 集群上训练效果出色的代码,放在单个消费级 GPU 上做推理可能就不那么理想了。

这正是 vLLM 这类推理引擎选择自己重写 model code 的原因。完整的 vLLM 代码库包含了对数十种模型架构的优化实现,涵盖 Qwen、LLaMA**、DeepSeek、Mistral 等。Nano-vLLM 则做了简化,仅支持 Qwen 模型,但背后遵循的工程模式和优化思路,其实是通用的。

03 模型 pipeline

现在,我们来追踪一个 token(词元)在模型中的完整流转过程。

3.1 Embedding:从 Token 到向量

旅程始于 embedding。token ID 不过只是一个数字,比如 1547。嵌入层(embedding layer)在词表中查找这个 ID,并检索出一个向量:一个高维的浮点数数组(Nano-vLLM 使用的 Qwen 模型中为 4096 维)。这个向量被称为隐藏状态(hidden state),是模型对该 token 的内部表征。

为什么是 4096 维?这是一个在表达能力与计算成本之间做了一番权衡的设计选择。更多的维度可以捕捉更细微的语义,但需要更多的计算量和显存占用。

3.2 Decode Layers:魔法发生的地方

随后,隐藏状态(hidden state)会流经一叠解码层,Nano-vLLM 支持的 Qwen 模型共有 24 层。每层执行相同的操作,但使用不同的学习权重,逐层对表征进行精细化加工。不妨这样理解,每一层都在前一层的基础上,让模型对输入的理解再深一度:也许某一层捕捉句法关系,另一层捕捉语义含义,还有一层处理事实知识。(实际上,每一层具体学到什么,是训练过程中自然涌现的结果,并非预先设计。)

这里的关键特性在于:每一层接收的是隐藏状态,输出的也是隐藏状态,而且 shape 始终保持不变(4096 维)。这种统一性使得层与层之间可以堆叠。

3.3 LM Head:从向量回到 Token

经过所有解码层之后,最终的隐藏状态被转换回词表上的概率分布。这是 LM Head(语言模型头)的工作,其功能可以视为嵌入过程的逆向操作。输出是 logits,即对每个可能的下一个 token 的打分,后续的采样环节再根据这些分值,最终选出实际输出的词元。

04 解码层(Decode Layer)的内部构造

每个解码层都包含两大核心模块:注意力机制(Attention)和多层感知机(MLP)。下面我们逐一拆解。

4.1 多头注意力机制(Multi-Head Attention)

注意力机制让每个 token 能够“关注”序列中的其他 token。但现代 LLM 并不使用简单的注意力机制。它们使用多头注意力机制(multi-head attention),将注意力计算拆分到多个并行的“heads”中。

在 Qwen 模型中,共有 32 个 heads,每个处理 128 维的切片(32 × 128 = 4096,即完整的 hidden state 大小)。这不仅仅是把 4096 维切分成 32 组。相反,每个 head 执行一次投影(projection),这是一种通过学习得到的变换方式,将完整的 4096 维输入压缩成该 head 特有的 128 维表征。

可以把它想象成一个工厂,装配线上有 32 个专用工作站。每个工作站接收相同的原材料(完整的 4096 维输入),但使用不同的工具将其塑造成特定形状。一个工作站可能负责“修剪”语法适配度,另一个负责“打磨”语义连贯性,还有一个负责“测量”位置对齐度。但实际上,每个工作站学到什么也是在训练中自然涌现出来的,未必能如此清晰地划分。

每个 head 还参与真正的注意力机制:它计算当前 token 应该关注序列中每个先前 token 的程度。模型就在这里捕捉上下文(context),理解在"The cat sat on the mat. It was comfortable."中,It 指的是"the cat"。

所有 heads 完成计算后,它们的输出被拼接(concatenated)并投影(projected)回 4096 维,生成该层的注意力机制输出。

4.2 MLP:自我优化

MLP(Multi-Layer Perceptron)阶段接收注意力机制的输出并进一步优化。与注意力机制不同,MLP 不看其他 token。它独立处理每个 token 的 hidden state(隐藏状态)。

MLP 首先将 hidden state 从 4096 扩展到一个更大的中间维度(intermediate dimension)(Qwen 中为 11008),应用非线性激活函数,然后压缩回 4096。为什么要这样扩展和压缩呢?

可以把它想象成提升分辨率。4096 维的 hidden state 就像一张压缩图像。扩展到 11008 维就像上采样(upscale):它创造了可添加细节的空间,这些细节由 MLP 的学习权重决定。再压缩回 4096 则是对这种经过信息增强后的表征(enriched representation)的提炼。通过这个过程,模型将训练中的知识融入每个 token 的表征中。

4.3 Dense 架构与 MoE 架构的对比

我们刚才描述的 MLP 是一种 dense 架构:每个 token 都经过同一个 MLP(多层感知机)模块处理。但有些现代模型使用 Mixture of Experts (MoE)这种不同的思路。

在 MoE 中,不是用一个大型 MLP,而是有多个小型“expert” MLPs,比如 8 个。由一个路由网络(router network)负责检查每个输入的 hidden state,并决定由哪些 experts(专家)来处理它。例如,对于任何给定 token,只激活 8 个中的 2 个 experts(专家)。

“expert”这个叫法容易让人联想到这样的专业分工:一个专家负责数学,另一个负责语言,还有一个负责编写代码。实际上,每个 expert 学到什么也是从训练中涌现的,并非经过明确设计。我们很难说清楚 Expert 3 与 Expert 5 有何不同。

那为什么要用 MoE?主要动机是计算效率(computational efficiency),而不是输出质量(output quality)。 有了 MoE,你可以拥有一个总参数量很大(所有 experts 合计)的模型,同时每个 token 只激活其中一部分参数。这大幅减少了每个 token 的计算量。

这部分进行了权衡考量:给定相同的总参数量,dense 模型通常会产生比 MoE 模型更高质量的输出,因为 dense 模型对每个 token 都使用了所有参数。但超大规模下的 dense 模型训练起来计算成本高得令人望而却步。MoE 允许扩展到 dense 架构无法实现的参数量,接受每个参数的效率(per-parameter efficiency)稍低一些,以换取实际的可训练性(practical trainability)。

05 KV Cache:数据平面

在第一部分中,我们将 Block Manager 讨论为 KV 缓存的控制平面,负责在 CPU memory 中追踪分配状态。现在让我们聚焦数据平面:KV 缓存究竟是如何实际存储在 GPU memory 中的。

5.1 什么被缓存了

在 Attention 计算过程中,每个 token 产生两个向量:K(key)和 V(value)。它们用于与后续 token 计算 Attention 分数。为了避免在每一步 decode 时都重新计算所有先前 token 的 K 和 V,我们选择将它们缓存起来。

5.2 物理布局

GPU 上的 KV cache 被组织为一个多维结构:

  • Block 维度:与 Block Manager 的逻辑块对应(例如,每块 256 个 token)
  • Layer 维度:24 个解码层每层都有自己的缓存,因为注意力是在每一层独立计算的
  • K/V 维度:每层两个独立的缓存,一个存 key,一个存 value
  • Token 维度:在每个块内,为每个 token 的缓存向量预留空间

因此,Block Manager 中的一个逻辑块对应 GPU 上 24 × 2 = 48 个物理缓存区域:24 层每层各一个 K 缓存和一个 V 缓存。

5.3 用于缓存访问的 Triton Kernel

Nano-vLLM 不直接通过 CUDA API 操作 GPU 内存,而是使用 Triton Kernel —— 一种高级 GPU 编程语言,编译为高效的 CUDA 代码。这些 Kernel 处理从 KV cache 的读写操作,将 GPU memory 管理的底层复杂性封装起来,让上层逻辑更简洁清晰。

06 张量并行(Tensor Parallelism):计算层面

在第一部分中,我们介绍了张量并行的通信模式,以及 leader 如何通过共享内存(shared memory)广播命令。现在来看看实际计算是如何拆分到各 GPU 上的。

6.1 Attention 中的并行

以 TP=2(两张 GPU)为例。当一个隐藏状态进入 Attention 阶段时:

1)两张 GPU 都接收完整的隐藏状态(4096 维)。这里没有拆分,每张 GPU 都拥有完整的输入。

2)每张 GPU 负责处理一半的 head(注意力头)。GPU 0 处理 head 0-15;GPU 1 处理 head 16-31。

3)每张 GPU 产生部分输出。GPU 0 的输出只包含 head 0-15 的信息;GPU 1 的输出只包含 head 16-31 的信息。

4)通过 All-reduce 合并结果。两张 GPU 交换各自的部分输出并求和,这样两者最终都得到完整的 Attention 输出。

并行发生在 head(注意力头)维度,而非隐藏状态维度。每张 GPU 都看到完整的输入,但只计算分配给它的一部分 head。

6.2 MLP 中的并行

MLP 并行遵循类似的模式:

1)两张 GPU 都接收完整的隐藏状态。

2)中间维度(intermediate dimension)被拆分。如果 MLP 层扩展到 11008 维,每张 GPU 计算 5504 维。

3)每张 GPU 产生部分输出。

4)All-reduce 合并结果。

6.3 通信的开销

张量并行并非没有开销。All-reduce 操作需要 GPU 之间进行通信,这会增加延迟。这就是为什么 TP 在单机多 GPU 且具备高速互联(如 NVLink)的场景下最有效,而在通过网络连接的机器之间使用时,通信延迟会成为主导因素,效果就会大打折扣。

它的优势在于:每块 GPU 只需存储模型权重的一部分(TP=2 时存储一半,TP=8 时存储八分之一)。这使得我们能够运行那些单个 GPU 内存装不下的模型。

07 思考:设计上的权衡取舍

在了解了内部机制之后,让我们来探讨一些常见的设计问题。

7.1 网络层(Layers)数与注意力头(Heads)数分别控制什么?

更多的网络层数通常意味着更深的推理能力。每一层都会对隐藏状态进行一次额外的细化处理。 更多的注意力头数则支持更丰富的注意力模式(attention patterns),为理解词元之间的关系提供更多“视角”。

我们能否为特定的深度推理任务创建一个“窄而深”的模型(注意力头数少、网络层数多)?或者为了覆盖更广的知识而创建一个“宽而浅”的模型(注意力头数多、网络层数少)?研究表明,这种做法的效果并不理想。就像人类学习一样,模型似乎也需要在广度与深度之间取得平衡。极端不平衡的架构往往表现不佳。大多数成功的模型在这些维度之间保持着一个大致均衡的比例。

真正能撬动模型能力的实用杠杆,仍然是训练数据(有哪些知识可用)和训练方法(这些知识能被多有效地习得),而不是追求极端的架构设计。

7.2 为什么 MoE 架构越来越流行?

混合专家模型(MoE)架构的兴起,并非因为它在单位参数下能产出更优的结果。事实恰恰相反:一个 70B 的稠密模型,通常表现会优于同参数量(所有专家参数之和)的 MoE 模型。

MoE 受欢迎,是因为它让规模扩展成为可能。 用当前基础设施训练一个 600B 的稠密模型,计算成本高到难以承受。但一个总参数量 600B、每词元仅激活 50B 参数的 MoE 模型呢?这个是可以训练出来的。尽管单位参数的效率有所损失,但凭借其庞大的总体规模,它可以达到的能力,是任何可训练的稠密模型都无法企及的。

这是一种务实的工程权衡:以单位参数效率的适度下降,换取触及原本无法达到的模型规模。

08 结语

至此,我们已经完整梳理了从输入提示词到生成文本的整个流程:

  • Tokenization 将文本转换为 token ID
  • Embedding 将 token ID 映射为隐藏状态向量
  • Decode layers 通过 Attention(跨词元理解)和 MLP(知识整合)不断细化隐藏状态
  • KV cache 缓存中间 Attention 结果,避免重复计算
  • LM head 将最终隐藏状态转换为 token 概率分布
  • Sampling 从概率分布中选择输出 token
  • Tensor parallelism 让上述所有步骤得以在多张 GPU 间扩展

推理引擎负责统筹整条流水线 —— 从请求调度、内存管理,到协调并行执行;而模型架构则定义了每个步骤内部的具体计算逻辑。

理解这些内部机制,能让看似“魔法”的过程变得清晰可解。大语言模型的本质,其实是一个精密的函数:输入向量,输出向量。所谓的“智能”,源于参数规模的积累、训练数据的质量,以及让这一切高效运转的工程巧思。

无论你是在生产环境部署模型、排查性能问题,还是单纯好奇这些系统如何工作,希望这份基础梳理能为你带来切实的帮助。

END

本期互动内容 🍻

❓文章提到推理引擎要重写 model code 来做深度优化。在你自己的实践中,有没有遇到过“理论可行但工程跑不动”的部署场景?最后是怎么妥协或突破的?

本文经原作者授权,由 Baihai IDP 编译。如需转载译文,请联系获取授权。

原文链接:

https://neutree.ai/blog/nano-vllm-part-2

有一天在打字的时候,我突然想到一件很小的事情:

我每天敲这么多键盘,那我到底更常用的是哪些键?

这个问题本身其实没什么用,但它有一点点“可能和直觉不一样”的感觉。

比如我一直觉得自己主要在用字母区,但如果真的统计出来,会不会空格才是第一?或者回车?

这种事情,如果只是靠感觉,其实永远不会有答案。

但一旦把它变成数据,就完全是另一种东西了。

想着想着,就干脆把这件事做出来了。

image.png

代码跟软件都已经开源了,地址放在最后,感兴趣可以去看看


它一开始其实只是个脚本

最初的想法很简单:

监听键盘 → 做计数 → 输出结果。

按这个思路,一个脚本就能搞定,甚至都不需要什么界面。

但写到一半就发现,这种形态不太成立。

因为它太容易“断掉”了。

只要我关了终端,或者哪天忘记开,它那一段时间的数据就直接没了。而键盘使用这种行为,本来就不是你会刻意去“开始”和“结束”的东西。

如果记录本身需要你去记得,它就有点违背这个事情的初衷。

后来就慢慢变成另一种方向了:让它自己待着,一直在那儿,不需要你管。

于是最后的形态就是一个托盘应用。


为什么会走到客户端这一步

其实我一开始是想避免写客户端的。

不是功能做不到,而是开发体验的问题。传统 GUI 那一套我不太熟,也不太想花时间在那上面。

但“监听键盘”这件事本身就决定了,它不可能是一个网页。

由于边界问题,浏览器拿不到这些数据,所以要么放弃,要么就认真做一个本地应用。

后来是因为看到 Wails V3,才觉得这件事变得顺手了不少。

之前用过 Wails V2,它更像是一个“把网站封装成桌面应用”的壳。

单窗口、靠前端路由模拟多页面、菜单和托盘能力很弱。

而 V3 原生支持了多窗口、系统菜单、托盘、Dock & Taskbar 交互之后,整个应用终于有了“骨架”,从“套壳网页”真正变成了一款原生应用。

完美的符合了我的需求。


真正麻烦的不是展示,而是“你按了什么键”

一开始我以为,最麻烦的会是热力图这种展示层的东西。

结果完全相反。

最绕的地方其实是:怎么知道用户按了哪个键。

监听事件我选择了 robotn/gohook,他本身不提供“监听能力”,它只是把各平台的系统级输入监听 API 做了一层统一封装。

在 Windows 中他封装的是 SetWindowsHookEx

在 Mac 中封装的是 Quartz Event Tap

因此它可以在系统层面上监听原始输入事件,比应用级监听更底层,得到按压情况与虚拟键码。

问题在于,这个“原始事件”不是你直觉里的 A、B、C,而是一串虚拟键码。

虚拟键码就是操作系统为了方便程序开发,给键盘上每个“功能”分配的一个固定的数字编号。它像是按键的身份证号,而不是座位号。

以 Windows 为例:当我们按下键盘上 A 键的那一刻,键盘电路只知道按下去的是物理位置第 0x1E 号的键,它会把 0x1E 这个扫描码发给电脑。

操作系统收到 0x1E 后,会根据当前激活的键盘布局(比如美式键盘)来查表(比如查询到这个物理位置对应的是字母 A)。

于是,它把这个位置信号转换成虚拟键码 0x41(即 VK_A)。

基于这套机制,我们开发者完全不用关心用户用的是哪种键盘硬件、按键的物理位置在哪。只要在程序里看到 0x41,就可以确信:用户按下的是 A 键。

但问题同样也出现在这里,键盘的位置信号传递给系统,而系统把他们转换成虚拟码,这个过程是系统进行的,因此 Windows 跟 Mac 之间并不统一,需要额外进行处理。

微软官网中有针对 Windows 虚拟键码的说明:Virtual-Key Codes

而 Mac 则来自 Carbon.framework 中的 Events.h,记录在《Inside Mac Volume V》第 V-191 页

这件事没有什么优雅解法,只能分开处理。

最后就是用 Go 的 //go:build 把不同平台的映射拆开,各自维护。

逻辑上统一,但实现上不强行合并。


数据怎么存,反而是一个需要控制的点

监听拿到了,接下来就是存。

一想到这个脑子里的第一反应肯定是:按一次,写一次数据库。

但稍微再一琢磨就会明显感觉到问题。

键盘输入是一个非常高频的行为,如果每次都落盘,SQLite 的压力会有点大,而且写入冲突也比较频繁。

后来就换成了一种更“松一点”的方式:

先放在内存里攒着,到一定数量,或者过一段时间,再统一写进去。

严格来说,这会有一点点数据丢失的可能(比如程序突然退出),但换来的是整体的稳定性和更低的开销。

对这种工具来说,我更倾向于后者。


热力图反而没那么复杂

真正开始做展示的时候,反而是最顺的一段。

键盘布局其实是有现成逻辑的,用机械键盘里常说的 Unit(u)就能很好地描述:

普通按键是 1u,空格是 6.25u,一些功能键是 2u、2.75u 这种。

把它当成一个网格去排,然后再把每个键的使用次数映射成颜色深浅,一张热力图就自然出来了。

没有太多技巧,更多是一个“把东西摆对”的过程。


后来补了一点“实时感”

最早版本其实只是统计 + 展示。

但用的时候会觉得,它有点“太安静了”。

所以后面加了一点很轻的反馈,比如按键的时候会有一点变化。

实现上也不复杂,用 Wails 自带的事件机制,把后端的事件往前端推,Vue 那边监听一下就可以了。

这一块写起来反而最像在写前端项目。


写到这里,反而会有点疑问:这东西到底有什么用

项目做完之后,我其实想过这个问题。

它不会帮你提高效率,也不会改变你怎么打字。

你大概率也不会因为某个键用得特别多,就去刻意优化它。

但它提供了一种很微妙的东西:

你可以“看到”自己平时完全不会注意到的行为。

有些结果是符合预期的,有些会有一点点偏差。

这种偏差不大,但挺有意思的。

更像是一种观察,而不是一个工具。


Key Heat

最后把这个东西整理了一下,做成了一个完整的应用,叫 ​Key Heat

它会一直待在托盘里,做的事情其实很克制:

  • 只统计每个键被按了多少次
  • 不记录具体输入内容
  • 没有网络请求

数据只在本地。

如果你也对这种东西有点好奇,可以自己跑一下看看:

前阵子,我写了一篇关于 JetBrains 新产品 AIR (JetBrains AI IDE) 的文章。

写那篇文章的初衷,其实很简单——想搞清楚一件事:
当“AI 辅助编程”变成“AI 主导开发”,我们这一代程序员到底要怎么适应。

但写完之后,评论区和私信里出现了一个更现实的问题:

“Windows 用不了 AIR,那我们怎么办?”

这个问题,比工具本身更值得聊。

它把一个被很多人忽略的问题重新摆在台面上——
操作系统,正在重新分层。


一、一个很真实的瞬间

如果你是 Windows 用户,这一波 AIR 基本是“看得到,用不到”。

官方目前只支持 macOS,Windows 和 Linux 还在路上。

这件事让我突然意识到:

过去我们选操作系统,更多是习惯问题、性能问题、甚至是价格问题。

但现在,开始变成:

你能不能用上下一代开发工具。

这就不只是“顺不顺手”了,而是:

你处在技术生态的哪个位置。


二、三个系统,其实代表三种路线

如果把现在主流的三个系统放在一起看,其实差别已经很清晰了:

  • Windows:大众生态 + 商业软件中心
  • macOS:开发者 + 创意工具的主场
  • Linux:底层能力 + 服务器世界

它们不只是系统,更像三种不同的“技术路径”。


三、Windows:最广,但不再最前沿

Microsoft Windows 几乎是每个计算机学生的起点。

从装系统、写代码,到打游戏、做项目,大多数人都是在 Windows 上完成的。

它最大的优势很明显:

  • 软件生态最全
  • 学习成本最低
  • 兼容性极强

但问题也逐渐显现:

它越来越像“通用平台”,而不是“开发前沿”。

很多新工具,尤其是 AI 相关的开发工具:

  • 优先支持 macOS
  • 或者直接面向 Linux

Windows 往往是“后续适配”。

这并不是 Windows 不强,而是它的定位决定了:

它必须兼容一切,所以很难激进。


四、macOS:为什么越来越多开发者选择它

macOS 这些年的变化,其实挺明显的。

越来越多开发者,从 Windows 转向 Mac。

原因不是“更好看”,而是:

它站在一个很微妙的位置——

既有 Unix 的底层能力,又有成熟的桌面生态。

这带来几个非常关键的优势:

1. 天然接近服务器环境

macOS 本质上是类 Unix 系统,这一点和 Linux 非常接近。

你在本地写的很多东西:

  • Shell 脚本
  • 后端服务
  • 容器环境

可以更自然地迁移到服务器。


2. 新工具的首发阵地

这次的 AIR 就是典型例子。

很多 AI 原生工具,会优先支持 macOS:

  • 系统统一(硬件 + 软件)
  • 开发环境稳定
  • 用户群体集中

这让它成为:

新一代开发工具的“试验场”。


3. 工具链体验完整

从:

  • Xcode
  • 到 Docker、Node、Python
  • 再到各种 AI 工具

整体体验是“顺”的。

这种“顺”,其实很难量化,但长期使用的人都会感受到。


五、Linux:你最终绕不开的系统

Linux 很多人学生时代会“浅尝辄止”,但真正进入行业后会发现:

你可以不日常用 Linux,但你一定离不开它。

为什么?

因为它在另一个层面几乎是统治级的存在:

  • 服务器
  • 云计算
  • 容器(Docker / Kubernetes)
  • DevOps

本质上,互联网的底座就是 Linux。


Linux 的核心价值

它不是“好用”,而是:

可控。

你可以:

  • 控制系统的每一个细节
  • 自定义运行环境
  • 深入理解底层机制

但代价也很明显:

  • 学习成本高
  • 桌面体验弱
  • 对新手不友好

六、AI 时代,操作系统正在重新分工

如果放在过去,这三者的差距其实没那么大。

但 AI 的出现,正在放大这种分化。

我们可以简单粗暴地总结一下:

  • Windows:最广泛的用户基础
  • macOS:最活跃的开发创新
  • Linux:最核心的基础设施

而 AIR 这种工具的出现,其实在释放一个信号:

未来的开发工具,会优先出现在“更容易控制、更统一”的平台上。

这也是为什么:

很多 AI IDE,先上 Mac。


七、一个更现实的问题:要不要换 Mac?

这个问题我想直接说结论:

不要因为一个工具,就贸然换系统。

但你需要意识到一件事:

你未来的技术路径,可能会影响你的选择。


如果你是学生

建议是:

  • 先把基础打扎实(语言、数据结构、系统)
  • Windows 完全够用
  • 可以通过虚拟机接触 Linux

不要焦虑工具。


如果你已经在做开发

可以开始思考:

  • 是否需要更贴近生产环境
  • 是否需要更好的工具链体验
  • 是否在用越来越多“Mac 优先”的工具

如果答案是“是”,那 Mac 会是一个合理选择。


八、回到 AIR,这件事真正重要的地方

说到底,这篇文章不是在讨论哪个系统更好。

而是因为 AIR 这件事,让我意识到:

工具,正在反过来影响我们的技术选择。

过去是:

你选系统 → 再选工具

现在可能变成:

工具在哪 → 你去哪


九、最后

AIR 现在还不成熟,Windows 也迟早会支持。

但趋势已经很清楚了:

开发这件事,正在从“写代码”,变成:

定义问题 + 驱动 AI + 审查结果

而在这个过程中:

你所处的操作系统生态,会直接影响你的效率和视野。

这才是这件事真正值得思考的地方。


如果你现在用的是 Windows:

你会因为 AIR 这种工具,考虑换 Mac 吗?

还是继续观望?

这个选择,没有标准答案,但很可能会影响你接下来几年的开发体验。

本文由mdnice多平台发布

LinkedIn 推出认知记忆智能体(Cognitive Memory Agent,CMA),作为其生成式 AI 技术栈的组成部分,旨在构建具备状态感知与上下文理解能力的 AI 系统,使其能够在交互过程中留存并复用知识。该系统主要用于支撑招聘助手(Hiring Assistant)等应用,解决了大语言模型工作流中的一个核心问题:缺乏状态记忆,进而导致无法跨会话保持连贯交互。

CMA 充当应用智能体与底层语言模型之间的共享记忆基础设施层。应用智能体无需通过重复提示词来重建上下文,而是通过这套专用系统来实现记忆的持久化存储、检索与更新。这既实现了跨会话连贯的交互,减少了冗余推理,也能在用户上下文持续变化的生产环境中提供更优质的个性化体验。

会话记忆层示意图(来源:LinkedIn 博客文章

该架构将记忆划分为三个不同层级。情景记忆(Episodic memory)用于捕获交互历史与对话事件,让智能体能够回忆过往的交流内容。语义记忆(Semantic memory)存储从交互中提炼出来的结构化知识,支持对用户、实体及偏好等持久化信息进行推理。程序记忆(Procedural memory)对已习得的工作流程与行为模式进行编码,帮助智能体优化任务执行策略。三层记忆协同作用,使智能体的行为从单次响应升级为长期自适应演进。

LinkedIn 工程师 Xiaofeng Wang 在一篇帖子中指出:

记忆是构建生产级智能体最具挑战性、同时也最具价值的核心模块之一,它能够实现真正的个性化、交互连续性与规模化适配。

CMA 在多智能体系统中同样扮演着关键角色。与让每个智能体各自维护独立上下文不同,CMA 提供了一个共享记忆底座,让负责规划、推理与执行的各类专业智能体可以共同访问。这一共享层减少了状态冗余,提升了协作效率,并确保分布式工作流输出结果的一致性。 

从系统层面来看,CMA 集成了多种检索与生命周期管理机制。近期上下文检索用于保障短期相关性,语义搜索则支持对长期历史交互的调取。通过摘要进行记忆压缩有助于控制存储容量增长,并在规模化场景下维持系统的性能。这些机制也带来了关键的工程挑战,包括相关性排序、过期内容管理以及不断演变的用户上下文的一致性维护。

LinkedIn 杰出工程师 Karthik Ramgopal 强调了智能体系统向持久化上下文转型的重要性,他表示:

优秀的智能体 AI 不是无状态的:它会记忆、适应与积累。实现这一目标的核心能力之一便是突破上下文窗口限制的记忆能力。

在运营层面,持久化记忆系统带来了分布式系统中经典的权衡问题。确定需要存储哪些内容、何时进行检索以及如何处理过期数据已成为保障系统正确性的核心问题。

MLOPS 数据工程师 Subhojit Banerjee 强调:

缓存失效是计算机科学中公认的难题之一,很高兴你们明确提出了这一点。提取这类记忆的挑战在于如何准确识别情景边界、处理内容时效性和解决冲突。

在招聘等面向用户的应用场景中,LinkedIn 还将人工校验融入工作流程。这种人机结合的方式能够确保 AI 生成内容始终贴合用户意图与业务需求,尤其适用于高风险决策场景。

CMA 体现了 AI 系统从无状态生成向有状态、记忆驱动的智能体这一更广泛的架构转变。LinkedIn 将 CMA 定位为构建自适应、个性化、协作式智能体系统的横向平台。这一方向也凸显出业界日益增长的共识:生产级 AI 系统并非仅由模型决定,而是由围绕模型构建的记忆、上下文管理及基础设施层共同定义。

【声明:本文由 InfoQ 翻译,未经许可禁止转载。】

查看英文原文:https://www.infoq.com/news/2026/04/linkedin-cognitive-memory-agent/

继上次在 V 站做了内测宣传后,说好的公测活动终于可以开始啦!

APIBox 官网: https://apibox.cc

本次公测活动只针对 V2EX 的童鞋们,回帖附上你的用户名或者 ID 即可参与。

对了,差点忘记说了,福利是赠送余额 5$,这个是真 5 刀哈,因为我们站改成了美元充值和计费了。

额,介绍一下 APIBox 吧:

1. 企业精品线路大宽带,大部分地区延迟低至 10ms
2. 我们自己就是源头上游,暂时不用找中间商,不会有数据泄露风险。
3. 我们有 Claude 官方 API 、御三家的官代兜底(当然有点贵啊 ...)
4. GPT 0.1 折,这个同行中应该也算是低价了。
5. Gemini 0.2 折,稳定使用。
6. Claude 反代 0.2 ~ 0.3 折。
7. glm-5.1 0.2 折。

上面内容纯古法手打,更多介绍可以看官网或加入技术交流群咨询哈。

介绍

「🍉西瓜备份」是为 iPhone 设计的相册备份 App 。

支持外接硬盘、SMB 、WebDAV 作为远端存储点。

我自己是 immich/群晖用户,但是我不想相册管理也走它们的 mobile App ,有一些自己想要的功能点没满足,所以自己做了个。

优势

  • 原始信息保存

iOS 的照片不是单纯的图库,也不是简单的同名 MOV + 静态图的组合,还有一些七七八八的数据。我想要尽可能原始数据导出/导入,按照 iOS 照片结构导出对应角色,然后再导回去。这个过程里是依赖一个 watermelon manifest 文件来作为索引实现的。

  • PIP 功能支持

用户可以在备份过程中退到后台。

  • 后台备份功能

接入 Wi-Fi 和连上电的时候,就能进行最近两个月照片数据的备份。

  • 支持多个备份节点

重要的照片要备份好几个地方,所以支持多节点切换。

  • 除了支持上传,还支持下载与同步

这个同步需要说明,准确说是本地内容上传上去后,下载远端没有的数据。

  • 兼顾性能与速度

基本是目前能做到兼顾速度还考虑内存容量的状态了,优化好几遍了。

App Store

https://apps.apple.com/app/id6762260596

内购

只有一个,就是 Watermelon Pro ,定价 $3.99

限免时间 2026/04/22-2026/04/30

其他

内购免费,结果大家拿完内购就走了,也不回复。

但是如果是发码,20 个兑换码感觉可以钓 50 个评论。

所以希望大家玩命地评论我这种直接内购全免,对我来说真的很重要。

当然关于产品反馈,比如问题、建议,对我也很重要。

Nyarime 已经和 iKuai 官方团队进行了友好沟通,相关内容也 404
Nyarime 估计没想到官方不去找闲鱼赚钱留后门的反而几天时间内找到他
原因也简单,闲鱼一帮人只抢爱快一点钱,而他直接把爱快的底底都扒光公开,可以不找你吗
我留个备份,官方可不要找我哦,我不懂技术不需要友好沟通,要我删也不好删,看需求让它慢慢消失吧。
http://54.39.161.251:8080/ipfs/bafybeigvisqpuai2j77uqrwsdk7unonjqle2grjntvunuvcfgkzyyk6w7e?filename=爱快_naixi
如果网关无法访问可以替换下面网关节点试下
152.53.66.109|158.220.115.253|159.65.119.244|178.18.250.229|18.209.43.135

2026年国内算电协同政策进入全面落地阶段,电力成本占比超60%的服务器托管赛道迎来全新降本窗口,不少从业者好奇算电协同政策下,服务器托管的成本优化逻辑是什么,本文将从核心逻辑、落地方法等维度展开解读。

该逻辑本质是依托政策打通算力需求与电力供给的匹配链路,降低服务器托管的电力成本占比。通过将算力调度与绿电交易、峰谷电价错配、电力需求侧响应等政策结合,实现托管算力的单位用电成本最高可降30%。

相较于传统固定电价的托管模式,新逻辑下IDC服务商可根据电力供给动态调整算力调度策略,在保障用户算力稳定性的前提下,最大化享受政策红利,传导至托管用户端也能获得更低的报价。

中小IDC首先要完成算电协同试点资质申报,纳入地方算力调度清单后,即可参与绿电交易、需求侧响应补贴申领等政策福利,首先从电力采购端降低基础成本。

搭配轻量化算力调度系统,对托管服务器的算力需求进行分级,非实时性算力可安排在电价低谷时段运行,实时性算力优先匹配低价绿电供给,进一步摊薄单位用电成本。

将降本空间按照不同用户的算力需求分层传导,既可以提升自身产品的市场竞争力,也能将政策红利惠及终端用户,形成正向运营循环。

算电协同政策下,服务器托管的成本优化逻辑落地步骤有哪些,主要分为4个核心环节:

第一步:2026年3月底前完成本地算电协同试点资质申报,提交机房算力规模、用电结构等基础材料;

第二步:对接地方电力交易平台,完成绿电交易账户、需求侧响应账户的开通;

第三步:部署算力调度模块,完成托管服务器算力需求的分级标签设置;

第四步:每月度复盘电力成本数据,调整调度策略,最大化降本空间。

2026年是算电协同政策的红利释放期,中小IDC如何运用算电协同政策下服务器托管的成本优化逻辑降本,核心是吃透政策要求、完成内部运营体系适配,最快3个月即可看到明显的降本效果。

对于有服务器托管需求的企业来说,也可以优先选择已落地算电协同模式的IDC服务商,既能降低托管成本,也能满足绿电算力的碳排放要求,适配双碳政策下的合规需求。

数字孪生并非单一技术,而是由感知互联、三维建模、实时渲染与人工智能交织而成的复杂技术体系。在产业落地加速的2026年,以凡拓数创为代表的国产技术厂商正积极推进AI 3D数字孪生产品开发及一体化服务,其自研FT-E引擎在视频解码、多物理场仿真与云边协同渲染等环节实现了汇编级优化,为工业、能源、交通等行业提供低门槛、高可靠的数字底座。本文将从技术研发者的视角,拆解数字孪生体从数据源头到智能决策终端的完整技术栈,梳理每一层的核心算法、工程难点与演进方向。

一、引言:数字孪生的技术本质与演进路径

数字孪生是为物理实体在数字世界构建同步演化数字副本的技术体系,它依托传感器与物联网实现实时数据映射,借助仿真技术与人工智能开展分析推演与反向控制。从技术演进的角度看,该领域经历了三个重要阶段:数据驱动阶段(基于传感器数据实现基础监控)、模型驱动阶段(引入物理引擎与数学模型提升仿真精度)、智能驱动阶段(融合AI算法实现自主优化与预测)。

当前,数字孪生已上升为国家层面覆盖多领域的系统性工程布局。从2021年“十四五”规划首次纳入,到2023年《数字中国建设整体布局规划》提出构建数字孪生流域,再到2025年六部门联合发文将数字孪生作为智能工厂建设的重要支撑技术加以部署,政策层面的持续加码为技术研发与产业化落地提供了强劲推力。

从技术架构来看,一个完整的数字孪生系统通常遵循“数据中台+仿真引擎+应用层”的三层设计,按数据流向则可细分为物理层、模型层、引擎层、智能层与协作层五个层级。以下将逐层展开技术解析。

二、物理层:多源数据采集与时空对齐

物理层是数字孪生体的“感官”,负责捕捉物理世界的实时状态。这一层的核心技术挑战在于多源异构数据的融合与时空对齐。

在数据采集层面,工业物联网通过MQTT、CoAP等轻量级协议接入海量传感器,实时采集压力、温度、振动等参数。与此同时,现实捕捉技术通过LiDAR激光雷达扫描生成高精度点云数据,结合无人机倾斜摄影进行三维重建,为工厂、城市等大规模场景提供建模基础。在边缘计算节点(如NVIDIA Jetson),系统可进行初步的数据清洗和异常检测,有效减少云端延迟。

图片

时空对齐是实现精准映射的关键前提。凡拓成熟的技术方案通常采用“空间基准统一+时间同步校准”双引擎架构。空间基准统一方面,通过ICP算法实现激光点云与BIM模型的毫米级配准,在某地铁建设项目中,施工误差从传统方式的5厘米控制在2毫米以内;时间同步校准方面,采用PTP精密时钟协议,确保不同设备采集数据的时间戳误差小于10微秒,满足工业自动化场景的实时性要求。

三、模型层:高精度三维建模与物理仿真

模型层是数字孪生体的“骨架”与“灵魂”——不仅要视觉相似,更要行为一致。这一层涵盖了可视化建模与物理机理仿真两大技术方向。

在可视化建模方面,BIM技术用于建筑内部结构及管线的精细化表达,CAD/PLM则专注于工业零件的精确几何描述。多模态数据融合是该领域的核心难题:通过语义分割算法自动提取GIS影像中的道路与建筑轮廓,并与BIM模型进行语义对齐,先进平台已能在智慧城市项目中实现85%以上要素的自动匹配。
图片

在物理机理仿真方面,CAE(计算机辅助工程)技术利用有限元分析和流体动力学仿真模拟复杂物理过程。为满足实时交互的需求,2026年流行的“可执行数字孪生”采用降阶模型技术,将复杂的仿真计算简化,实现毫秒级响应。

值得关注的是,在工业制造场景中,行业头部企业正积极推进AI 3D数字孪生产品开发及一体化服务,为客户提供覆盖工业、水利水务、能源电力、交通环保等行业的软件产品服务。例如,凡拓数创依托自研FT-E数字孪生引擎,某智慧工厂平台对厂区建筑、产线设备、物流系统进行了高写实三维重建,构建了毫米级精度的全域动态数字镜像,实现了物理空间与虚拟模型的实时交互映射与数据同步。该平台通过AI驱动的预测性维护功能,将非计划停机率降低40%,产能利用率提升25%。

图片

四、引擎层:实时渲染与可视化交互

引擎层是用户最终接触的界面,也是数字孪生系统的核心展示平台。该层对渲染性能、数据吞吐能力和交互体验提出了极高要求。

在渲染技术选型上,Unreal Engine凭借Nanite虚拟化几何体和Lumen全局光照技术,提供影视级渲染效果,适用于智慧城市、高端制造展示场景;Unity则以强大的跨平台能力成为AR/VR培训和工业应用的主流选择。在Web端,Three.js与Cesium.js基于WebGL技术,适合在浏览器中展示大规模GIS数据和轻量级孪生场景。实时交互协议方面,WebSocket与gRPC保障了渲染引擎与后端数据的双向同步。

实时云渲染技术正在成为时空智能落地的关键支撑。时空数据具有高维、动态、海量的特性,决策者需要能融合、回溯、推演的“时空立方体”,而实时云渲染正是将其转化为直观、可交互三维场景的核心呈现层。云边协同架构实现了算力的最优调度:凡拓数创中心云处理城市级交通大数据分析和大规模预测模型训练,边缘端部署渲染节点处理低延迟高实时任务,在港口、工厂等场景实现端到端低于50毫秒的响应。
图片

此外,凡拓数创自研底层引擎在视频解码和时空计算方面进行了汇编级优化,相较通用游戏引擎在GIS坐标处理、海量IoT数据吞吐和实景视频映射等方面展现出显著性能优势。

五、智能层:AI驱动的分析与预测

智能层是数字孪生从“可看、可算”迈向“可调、可控”的核心驱动力。这一层融合了机器学习、生成式AI、知识图谱等前沿技术。

在设备预测性维护领域,机器学习模型利用历史数据训练,可精准预测设备剩余寿命。2026年的新趋势是利用生成式AI,通过大模型实现自然语言查询孪生体状态,如“总结过去一周3号生产线的能耗异常情况”,显著降低数据分析门槛。知识图谱技术则用于理清复杂系统中组件之间的逻辑依赖关系,支撑更复杂的因果推理。

图片

在具身智能领域,数字孪生作为物理AI的核心应用载体,正发挥越来越重要的作用。凡拓数创自研AI3D数字孪生引擎具备多物理场仿真能力,可模拟摩擦系数、光照变化、物体形变等复杂环境变量。在机器人训练中,该引擎构建的虚拟环境支持千万次动作迭代,相比于传统训练模式能够大幅缩短训练周期。通过高保真物理引擎构建包含多维随机变量的仿真环境,开展基于强化学习的海量并行训练,预生成超10亿场景的操控经验模型,再结合自适应算法实现从仿真到现实的无缝迁移。这一技术路线正成为突破“Sim2Real”迁移瓶颈的关键路径。

六、应用层:从技术到价值的跨越

数字孪生的价值最终体现在行业场景的深度应用中。当前,该技术已广泛应用于能源、航天、智慧城市等领域,在复杂系统全生命周期管控中展现出“可视、可算、可调”三项核心能力。

智慧城市与园区:通过构建城市级数字孪生底座,整合路网、信号灯、警力、拥堵数据于三维地图,实现城市运行的全要素动态管控。在水利水务领域,数字孪生平台接入水位、雨量、闸门开度等传感器数据,构建流域级数字镜像,实现洪水演进模拟与防洪调度方案的智能推演。某水库数字孪生平台案例曾荣获中国信通院《高质量数字化转型典型案例》殊荣,成为行业内可复制、可推广的范本。

工业制造:在广东某电子制造企业的智慧车间改造中,产线数字孪生体帮助企业打通了生产系统的数据闭环,设备预测性维护能力显著提升,非计划停机时间大幅压缩。通过统一的数据接口与调度系统,实现人员指令、机器执行与环境反馈的实时联动与动态优化,构建出可自主演进的工业智能系统。

能源与交通:在新能源场站,数字孪生平台对风机、光伏组件进行全景监控与故障预警;在智慧交通场景,依托AI 3D数字孪生核心技术,实现车路云一体化感知与协同决策。

引言:供应链优化不是系统问题,而是经营能力的分水岭
在我们服务的制造业企业中,一旦打通端到端协同机制,通常在6-12个月内可以实现:
交期效率提升50%左右,并带动履约率持续改善
库存周转提升15%左右
整体供应链成本降低8-12%
但现实是,很多企业都经历过类似的困境:系统建了好几套,SAP、APS、WMS 一样不少;跨部门会议开了无数次,但订单履约率三年没有明显提升;旺季时缺货与积压并存,淡季时产能闲置、库存高企……
投了几百万,问题还在原地。甚至很多时候,投入越大,问题暴露得越彻底。
这不是个案。在新能源、快消品、家电家居等行业的头部企业,我们反复看到同一个现象:真正导致供应链“烂尾”的,往往不是系统能力不足,而是缺乏一套打通“流程—组织—数据”的端到端运行机制。

供应链优化失败的根本原因:不是系统,而是运行机制缺失

从表象看是系统问题,本质上通常源于三类结构性失灵。

  1. 流程不贯通 —— 端到端存在“隐性断点”
    销售拿到订单,生产计划要花两天做评估;采购按经验备货,生产投料却发现缺料;仓库满了,但客户要的货就是发不出去。
    问题不在单点,而在端到端流程没有真正打通。流程是“分段优化”的,而不是“全链路协同”的——每个部门都在局部做对了,但整体就是跑不通。
  2. 决策不一致 —— 局部最优替代了整体最优
    供应链的四类核心成本——采购、生产、仓储、物流,本质是一个动态博弈系统。
    很多企业盯着一个成本指标优化,结果整体成本反而上升。根本原因,是把成本当作独立变量来管,而不是一个动态博弈的系统——只是把成本从一个环节转移到了另一个环节。
  3. 组织协同跟不上市场变化 —— 市场已经变了,计划还没动
    需求是动态变化的,但组织响应往往滞后。
    如果没有清晰的协同机制——谁基于什么数据做决策、决策如何在各环节传导、异常如何响应——那么再先进的系统,也只是一个信息展示工具。

真正有效的供应链优化:必须同时打通流程、决策与组织

基于大量实践,AMT企源将供应链优化抽象为一个可落地的统一框架——端到端供应链协同优化模型。
它的核心不是“建什么系统”,而是同时建立三层能力:
流程贯通
决策一致
组织协同
只有三者同时成立,供应链优化才具备真正的落地基础。
在这个模型下,需要一套覆盖不同时间维度的规划体系来支撑:
年度战略规划 → S&OP滚动协同 → 主计划(MPS)→ 周度排程 → 每日执行
指标体系三级拆解
仅有大指标是不够的。以“订单履约率”为例,需要拆解到三级:
一级:公司级指标
二级:流程节点指标
三级:部门执行指标
只有落到具体部门,供应链协同才有抓手。
在这个模型中,真正决定体系能否运转的,并不是框架本身,而是承载它的关键能力模块。其中,S&OP与主计划构成了整个体系的“决策中枢”,向上承接战略,向下驱动执行,是最优先需要构建的能力。

决定优化成败的关键:五大核心能力

专项一:S&OP 产销协同 —— 打破部门墙的全局平衡机制
很多企业把 S&OP(销售与运营规划) 当成了一场月度例会,这是最大的误解。S&OP本质上是一套以产品族为粒度、以月为单位的跨部门闭环协同机制,它的核心是把销售、生产、采购、财务的目标拉到同一个维度,找到全局最优的平衡点,而不是各部门各自为政。

  1. 从需求输入到全局共识的闭环流程
    S&OP 的落地遵循标准化的五步闭环,确保所有部门基于同一套数据做决策。
    数据准备:整合历史销售、市场活动、产能库存等基础数据;
    需求评审:基于算法预测输出需求基线,销售团队对齐市场端的波动;
    备注:针对制造业不同生产模式,我们会做差异化的需求处理。
    毛需求算法:GrossDemand=αx订单需求+βx预测需求
    其中:对于MTO(按订单生产)的定制品,α=1,β=0.2,也就是以确认订单为核心,预测仅用来做产能预留,避免定制品抢占标品的产能;
    对于MTS(按库存生产)的标品,α=0.3,β=1,以预测需求为核心,确认订单仅用来做小范围的偏差调整;这样就解决了制造业不同生产模式需求互相抢占产能的问题;
    供给评审:生产、采购团队评估产能、物料的可行性,识别供需缺口;
    高层预备会:各部门负责人提前对齐冲突点,形成初步决策方案;
    执行会议:最终敲定月度滚动计划,明确各部门的执行目标与责任。
  2. 算法驱动的供需平衡决策
    S&OP 不是拍脑袋的会议,而是基于数据的量化决策,核心是通过以下通用算法实现全局优化。
    供需缺口计算:

    其中,NetDemandt为 t 期的净需求,Forecastt为预测需求,OnHandInventoryt为现有库存,InTransitt为在途库存,SafetyStockt为安全库存。
    t:当前的计划周期(可以是一个月 / 一周,看我们做计划的粒度)
    NetDemandt​:这个周期里,真正需要额外生产的货的量(如果现有货够,这个数就是 0)
    Forecastt​:预测这个周期能卖出去的货的总量
    OnHandInventoryt​:现在仓库里已经有的现成的货
     InTransitt​:已经在生产 / 运输路上,很快就能到仓库的货
    SafetyStockt​:留的“安全缓冲货”——怕突然爆单或者送货延迟,仓库里最少要留的保底库存,不能把货全卖光
    产能负荷校验:

    通过负荷率判断产能是否存在瓶颈,当负荷率超过 110% 时触发产能调整或需求优先级排序。
    CapacityUtilization:产能利用率,就是工厂的机器 / 工人,这个周期里要干活的时间,总共能干活的时间的比例
     Demandi,t​:这个周期里,产品 i 的总需求
    WorkHouri​:生产一个产品 i,需要花多少工时
    AvailableCapt​:这个周期里,工厂总共能提供的工时(比如一周工人最多干 40 小时,机器最多开 40 小时)
    举个例子:如果算出来这个数是 110%,就说明我们的产能不够干这么多活,要么要加班,要么要推迟一部分订单
    全局成本优化目标:

    其中,Pt为 t 期生产量,It为库存量,St为缺货量,Cprod、Cinv、Cshort分别为单位生产成本、库存持有成本、缺货成本。通过这个目标函数,我们可以根据淡旺季动态调整成本权重:
    •淡季:以生产成本最优为核心,推动大批量集中生产、降低换线频次
    •旺季:以订单交付为优先,接受适当的采购提前和仓储增加,保障高周转回款
    这个公式的意义是:我们要找一个方案,让总花费最少。
  3. 落地价值
    在给某乳业企业落地 S&OP 机制后,我们帮忙客户实现了:
    •需求预测准确率从 60% 提升至 85%
    •产销达成率从 78% 提升至 94%
    •成品库存周转天数从 38 天压缩至 26 天,释放流动资金数亿元
    本质上,S&OP解决的是:需求不确定性与供给约束之间的全局平衡问题。
    专项二:主计划(MPS)—— 从战略到执行的中枢枢纽
    当我们通过 S&OP 达成了跨部门的供需共识,接下来就需要将这个中长期的规划,拆解为可落地到执行层的具体指令,这就是主计划(Master Production Schedule,MPS)的核心价值 —— 它是承上启下的核心中枢,向上承接 S&OP 的战略目标,向下驱动 MRP 物料计划与车间排产,是端到端链路中不可或缺的衔接层。
  4. 主计划的核心逻辑:平衡稳定与灵活
    主计划以最终成品为对象,按周 / 日粒度明确 “什么时间、生产多少”,同时通过时间围栏机制平衡计划的稳定性与灵活性:
    •冻结期(前 1-2 周):计划完全锁定,不允许变更,保障车间执行的稳定性
    •协商期(3-8 周):计划可调整,但需要跨部门审批,避免随意插单
    •预测期(9 周以上):计划为参考值,随 S&OP 滚动更新
  5. 主计划的核心运算逻辑
    主计划通过标准化的净需求运算,将需求转化为可执行的生产指令:
    净需求与计划产出计算:

    其中,BatchSize为经济生产批量,通过这个运算,我们可以自动计算出每个时段需要生产的产品数量,同时满足批量生产的经济性要求。
    产能约束校验:

    确保所有产品的生产工时总和不超过当期可用产能,避免出现 “计划做了,产能跟不上” 的情况。
    也就是说:计划生产的所有货,加起来需要的工时,不能超过工厂这个周期能提供的总工时。说白了就是:我们不能计划生产一堆货,结果工厂根本没那么多时间做完。
    针对多工厂制造的企业,主计划会额外增加跨工厂产能分配逻辑:
    通过运输成本、生产基地成本的对比,自动将需求分配到最优的生产基地,同时支持跨工厂的库存调拨,解决单工厂产能不足、其他工厂产能闲置的问题,实现全局产能的最优利用。
    同时主计划会自动驱动物料需求计划(MRP):通过BOM清单拆解,将成品的生产计划,自动拆解为零部件的采购与生产计划,确保物料提前到位,从根源上避免停工待料。
  6. 落地价值
    在给某家电企业落地主计划体系后,我们帮助客户实现了:
    •计划编制时间从 3 天缩短至 4 小时;
    •订单交期答复准确率从 82% 提升至 96%;
    •物料齐套率从 75% 提升至 92%,生产线停工待料时间减少 60%。
    本质上,主计划解决的是:如何把战略共识转化为可执行的生产指令。
    专项三:排产优化 —— 经济性与交期的动态平衡
    有了明确的主计划指令,车间执行层就可以基于此进行精细化的排产优化,其核心矛盾,是经济性生产(少切换、大批量)与订单交期(按优先级灵活插单)之间的博弈。
    以某饮品企业为例:从无糖可乐切换到果粒橙,需要大清洗,耗时 8-16 小时;同品类间的小清洗只需 3.5-4 小时。因此,排产目标被明确设定为每月大清洗不超过两次、每周小清洗不超过五次 —— 这是产能利用率最优解的约束条件。
    在给某餐饮企业做排产时,我们设计的模型需要同时处理不同品类(宫保鸡丁、水煮鱼片等)的切换成本、战略客户订单的优先保障,以及普通客户订单的经济性排期。通过业务属性标签与生产执行系统联动,将 “客户优先级” 这一业务判断自动转化为排产序列的动态调整。最终实现排产时间从 4 小时缩短至 5 分钟的巨大成效,效率提升 48 倍。
    本质上,排产优化解决的是:效率与交期之间的动态权衡。
    专项四:OTD 全流程可视 —— 让风险在爆发前就被看见
    排产完成后,我们需要对整个交付过程进行全链路的可视管控,OTD(订单交付周期)是企业对客户最核心的承诺。但传统模式下,销售接单时根本不知道工厂能不能按时交货,出了问题只能救火。
    在给某装备制造企业做 OTD 管控后,我们把交期评估能力从生产计划部门前移到了营销端。销售人员在与客户对接时,可以当场调取主计划中的产能占用、半成品库存、采购周期等数据,实时给出可兑现的交期承诺 —— 原来需要两天评估才能回复的问题,变成了现场直接确认,客户决策周期大幅压缩。
    我们认为,真正的 OTD 管控,要做到三点:
    前置到营销端:让销售在打单现场就能实时获取交期数据
    全程可视化:从订单进入到产线进度、物流调度全链路透明,延期风险提前预警到责任人
    异常分级响应:以汽配行业为例,一级异常要求 15 分钟内响应,二级 45 分钟,三级 4 小时,五级 48 小时,确保风险不因信息传递延迟而扩大
    同时我们在原有异常分级的基础上,新增了异常优先级排序算法,解决人工判断异常优先级的偏差问题:Priority=OrderPriority×ImpactDays×LossAmount
    其中:
    OrderPriority是受影响订单的客户优先级(战略客户的订单权重更高)
    ImpactDays是异常会导致的交付延迟天数
    LossAmount是异常带来的直接损失金额。
    系统会自动根据这个公式计算异常的紧急程度,把最需要处理的异常排在最前面,避免小问题耽误了大订单。
    另外,我们还建立了异常闭环跟踪机制:每个异常都会生成对应的工单,明确责任人与解决时限,解决完成后才会关闭。每个月会对所有异常做复盘,分析异常的根因,进行针对性优化,避免同样的异常重复发生。
    从 “事后救火” 转为 “事前预警”—— 这才是 OTD 管控真正的价值所在。
    本质上,OTD解决的是:从“被动响应”到“主动可控”的交付能力。
    专项五:供应商协同与VMI——打通端到端的最后一公里
    在制造业的端到端供应链中,超过40%的交付延迟来自供应商端的缺料,这也是很多企业优化的盲区——只优化了自己的工厂,没管上游的供应商。
    我们通过供应商协同平台,将主计划的需求提前1-3个月同步给供应商,让供应商可以提前做自己的产能规划,同时通过VMI(供应商管理库存)模式,配套了VMI 自动补货算法,替代原来的人工下单。
    Replenishq​ty=max(0,MaxInventory−OnHandInventory−InTransit)
    其中,MaxInventory是 VMI 库存的最大库存阈值,当库存低于最小阈值的时候,系统会自动触发补货,补货量补到最大库存,既保证不会缺料,也不会库存过高,用多少结多少,既降低了库存资金占用,也让供应商的生产更平稳。避免了供应商的急单成本。
    同时我们会给供应商提供实时的缺料预警:当供应商的交付延迟超过24小时,系统会自动触发预警,提前启动备选供应商或者调整排产,避免影响我们的生产交付。
    本质上,供应商协同与VMI解决的是:将外部不确定性纳入内部计划体系。

供应链优化的落地路径:从诊断到落地架构

 先做诊断和优化,再谈系统
很多企业做供应链优化,容易一上来就上线系统,结果因为流程没理清楚、数据没打通,最后系统变成了摆设。我们的落地逻辑是「先理清楚,再落地,小步快跑」,避免一次性上线的风险。如果你的企业正在经历:履约率长期停滞、旺季缺货与淡季积压并存、多系统并存但无法协同 —— 那么问题往往不在系统,而在 “系统之下的运行机制”。在我们的实践中,更稳妥的路径是:用 2-4 周时间完成一次结构化诊断,识别流程断点、指标断层与协同缺口,重点评估 S&OP 协同机制、主计划衔接能力是否缺失,再决定优化路径与系统建设节奏。

 分阶段实施完成诊断后,我们会分三个阶段落地所有优化内容,分阶段实施内容;
第一阶段(1-3 个月):诊断与基础能力搭建。完成流程梳理、数据打通,先落地需求预测与 OTD 可视,快速看到预测准确率提升、交期答复效率提升的效果。
第二阶段(4-6 个月):核心计划模块落地。落地 S&OP 协同机制与主计划模块,实现产销协同,库存周转开始下降,缺料情况减少。
第三阶段(7-12 个月):全链路协同落地。落地供应商协同、排产优化,实现端到端的全链路优化,达成最终的优化目标。

技术落地架构:从业务逻辑到可执行系统
为了保障业务逻辑能真正落地,AMT企源配套了三层技术架构,解决传统方案 “能看不能用” 的问题。
数据集成层:打通 ERP、MES、WMS、SRM 等多系统的数据,解决数据孤岛的问题,让所有的业务数据都汇总到统一的平台,确保我们的算法能拿到准确、实时的数据。
算法引擎层:内置我们的需求预测算法、S&OP 优化算法、主计划算法、排产算法,所有的运算都可以在小时级甚至分钟级完成,替代原来的人工 Excel 运算。
应用交互层:给销售、生产、采购、供应商提供对应的可视化界面,每个人都能看到自己需要的计划数据,异常预警,不需要再跨部门要数据,大幅提升协同效率。 供应链优化的分水岭,不在于有没有系统,而在于是否具备一套可持续运行的端到端协同机制

什么时候必须启动供应链重构?
如果你的企业出现以下任意两种情况:
履约率连续两年以上未改善
旺季缺货与淡季积压并存
多系统并存但计划仍靠Excel
那么问题已经不是局部优化能够解决,而是需要一次端到端的结构性重构。一旦完成这套重构,企业通常可以在6-12个月内实现履约率、库存与成本的系统性改善。

引言:供应链优化不是系统问题,而是经营能力的分水岭
在我们服务的制造业企业中,一旦打通端到端协同机制,通常在6-12个月内可以实现:
交期效率提升50%左右,并带动履约率持续改善
库存周转提升15%左右
整体供应链成本降低8-12%
但现实是,很多企业都经历过类似的困境:系统建了好几套,SAP、APS、WMS 一样不少;跨部门会议开了无数次,但订单履约率三年没有明显提升;旺季时缺货与积压并存,淡季时产能闲置、库存高企……
投了几百万,问题还在原地。甚至很多时候,投入越大,问题暴露得越彻底。
这不是个案。在新能源、快消品、家电家居等行业的头部企业,我们反复看到同一个现象:真正导致供应链“烂尾”的,往往不是系统能力不足,而是缺乏一套打通“流程—组织—数据”的端到端运行机制。

供应链优化失败的根本原因:不是系统,而是运行机制缺失

从表象看是系统问题,本质上通常源于三类结构性失灵。

  1. 流程不贯通 —— 端到端存在“隐性断点”
    销售拿到订单,生产计划要花两天做评估;采购按经验备货,生产投料却发现缺料;仓库满了,但客户要的货就是发不出去。
    问题不在单点,而在端到端流程没有真正打通。流程是“分段优化”的,而不是“全链路协同”的——每个部门都在局部做对了,但整体就是跑不通。
  2. 决策不一致 —— 局部最优替代了整体最优
    供应链的四类核心成本——采购、生产、仓储、物流,本质是一个动态博弈系统。
    很多企业盯着一个成本指标优化,结果整体成本反而上升。根本原因,是把成本当作独立变量来管,而不是一个动态博弈的系统——只是把成本从一个环节转移到了另一个环节。
  3. 组织协同跟不上市场变化 —— 市场已经变了,计划还没动
    需求是动态变化的,但组织响应往往滞后。
    如果没有清晰的协同机制——谁基于什么数据做决策、决策如何在各环节传导、异常如何响应——那么再先进的系统,也只是一个信息展示工具。

真正有效的供应链优化:必须同时打通流程、决策与组织

基于大量实践,AMT企源将供应链优化抽象为一个可落地的统一框架——端到端供应链协同优化模型。
它的核心不是“建什么系统”,而是同时建立三层能力:
流程贯通
决策一致
组织协同
只有三者同时成立,供应链优化才具备真正的落地基础。
在这个模型下,需要一套覆盖不同时间维度的规划体系来支撑:
年度战略规划 → S&OP滚动协同 → 主计划(MPS)→ 周度排程 → 每日执行
指标体系三级拆解
仅有大指标是不够的。以“订单履约率”为例,需要拆解到三级:
一级:公司级指标
二级:流程节点指标
三级:部门执行指标
只有落到具体部门,供应链协同才有抓手。
在这个模型中,真正决定体系能否运转的,并不是框架本身,而是承载它的关键能力模块。其中,S&OP与主计划构成了整个体系的“决策中枢”,向上承接战略,向下驱动执行,是最优先需要构建的能力。

决定优化成败的关键:五大核心能力

专项一:S&OP 产销协同 —— 打破部门墙的全局平衡机制
很多企业把 S&OP(销售与运营规划) 当成了一场月度例会,这是最大的误解。S&OP本质上是一套以产品族为粒度、以月为单位的跨部门闭环协同机制,它的核心是把销售、生产、采购、财务的目标拉到同一个维度,找到全局最优的平衡点,而不是各部门各自为政。

  1. 从需求输入到全局共识的闭环流程
    S&OP 的落地遵循标准化的五步闭环,确保所有部门基于同一套数据做决策。
    数据准备:整合历史销售、市场活动、产能库存等基础数据;
    需求评审:基于算法预测输出需求基线,销售团队对齐市场端的波动;
    备注:针对制造业不同生产模式,我们会做差异化的需求处理。
    毛需求算法:GrossDemand=αx订单需求+βx预测需求
    其中:对于MTO(按订单生产)的定制品,α=1,β=0.2,也就是以确认订单为核心,预测仅用来做产能预留,避免定制品抢占标品的产能;
    对于MTS(按库存生产)的标品,α=0.3,β=1,以预测需求为核心,确认订单仅用来做小范围的偏差调整;这样就解决了制造业不同生产模式需求互相抢占产能的问题;
    供给评审:生产、采购团队评估产能、物料的可行性,识别供需缺口;
    高层预备会:各部门负责人提前对齐冲突点,形成初步决策方案;
    执行会议:最终敲定月度滚动计划,明确各部门的执行目标与责任。
  2. 算法驱动的供需平衡决策
    S&OP 不是拍脑袋的会议,而是基于数据的量化决策,核心是通过以下通用算法实现全局优化。
    供需缺口计算:

    其中,NetDemandt为 t 期的净需求,Forecastt为预测需求,OnHandInventoryt为现有库存,InTransitt为在途库存,SafetyStockt为安全库存。
    t:当前的计划周期(可以是一个月 / 一周,看我们做计划的粒度)
    NetDemandt​:这个周期里,真正需要额外生产的货的量(如果现有货够,这个数就是 0)
    Forecastt​:预测这个周期能卖出去的货的总量
    OnHandInventoryt​:现在仓库里已经有的现成的货
     InTransitt​:已经在生产 / 运输路上,很快就能到仓库的货
    SafetyStockt​:留的“安全缓冲货”——怕突然爆单或者送货延迟,仓库里最少要留的保底库存,不能把货全卖光
    产能负荷校验:

    通过负荷率判断产能是否存在瓶颈,当负荷率超过 110% 时触发产能调整或需求优先级排序。
    CapacityUtilization:产能利用率,就是工厂的机器 / 工人,这个周期里要干活的时间,总共能干活的时间的比例
     Demandi,t​:这个周期里,产品 i 的总需求
    WorkHouri​:生产一个产品 i,需要花多少工时
    AvailableCapt​:这个周期里,工厂总共能提供的工时(比如一周工人最多干 40 小时,机器最多开 40 小时)
    举个例子:如果算出来这个数是 110%,就说明我们的产能不够干这么多活,要么要加班,要么要推迟一部分订单
    全局成本优化目标:

    其中,Pt为 t 期生产量,It为库存量,St为缺货量,Cprod、Cinv、Cshort分别为单位生产成本、库存持有成本、缺货成本。通过这个目标函数,我们可以根据淡旺季动态调整成本权重:
    •淡季:以生产成本最优为核心,推动大批量集中生产、降低换线频次
    •旺季:以订单交付为优先,接受适当的采购提前和仓储增加,保障高周转回款
    这个公式的意义是:我们要找一个方案,让总花费最少。
  3. 落地价值
    在给某乳业企业落地 S&OP 机制后,我们帮忙客户实现了:
    •需求预测准确率从 60% 提升至 85%
    •产销达成率从 78% 提升至 94%
    •成品库存周转天数从 38 天压缩至 26 天,释放流动资金数亿元
    本质上,S&OP解决的是:需求不确定性与供给约束之间的全局平衡问题。
    专项二:主计划(MPS)—— 从战略到执行的中枢枢纽
    当我们通过 S&OP 达成了跨部门的供需共识,接下来就需要将这个中长期的规划,拆解为可落地到执行层的具体指令,这就是主计划(Master Production Schedule,MPS)的核心价值 —— 它是承上启下的核心中枢,向上承接 S&OP 的战略目标,向下驱动 MRP 物料计划与车间排产,是端到端链路中不可或缺的衔接层。
  4. 主计划的核心逻辑:平衡稳定与灵活
    主计划以最终成品为对象,按周 / 日粒度明确 “什么时间、生产多少”,同时通过时间围栏机制平衡计划的稳定性与灵活性:
    •冻结期(前 1-2 周):计划完全锁定,不允许变更,保障车间执行的稳定性
    •协商期(3-8 周):计划可调整,但需要跨部门审批,避免随意插单
    •预测期(9 周以上):计划为参考值,随 S&OP 滚动更新
  5. 主计划的核心运算逻辑
    主计划通过标准化的净需求运算,将需求转化为可执行的生产指令:
    净需求与计划产出计算:

    其中,BatchSize为经济生产批量,通过这个运算,我们可以自动计算出每个时段需要生产的产品数量,同时满足批量生产的经济性要求。
    产能约束校验:

    确保所有产品的生产工时总和不超过当期可用产能,避免出现 “计划做了,产能跟不上” 的情况。
    也就是说:计划生产的所有货,加起来需要的工时,不能超过工厂这个周期能提供的总工时。说白了就是:我们不能计划生产一堆货,结果工厂根本没那么多时间做完。
    针对多工厂制造的企业,主计划会额外增加跨工厂产能分配逻辑:
    通过运输成本、生产基地成本的对比,自动将需求分配到最优的生产基地,同时支持跨工厂的库存调拨,解决单工厂产能不足、其他工厂产能闲置的问题,实现全局产能的最优利用。
    同时主计划会自动驱动物料需求计划(MRP):通过BOM清单拆解,将成品的生产计划,自动拆解为零部件的采购与生产计划,确保物料提前到位,从根源上避免停工待料。
  6. 落地价值
    在给某家电企业落地主计划体系后,我们帮助客户实现了:
    •计划编制时间从 3 天缩短至 4 小时;
    •订单交期答复准确率从 82% 提升至 96%;
    •物料齐套率从 75% 提升至 92%,生产线停工待料时间减少 60%。
    本质上,主计划解决的是:如何把战略共识转化为可执行的生产指令。
    专项三:排产优化 —— 经济性与交期的动态平衡
    有了明确的主计划指令,车间执行层就可以基于此进行精细化的排产优化,其核心矛盾,是经济性生产(少切换、大批量)与订单交期(按优先级灵活插单)之间的博弈。
    以某饮品企业为例:从无糖可乐切换到果粒橙,需要大清洗,耗时 8-16 小时;同品类间的小清洗只需 3.5-4 小时。因此,排产目标被明确设定为每月大清洗不超过两次、每周小清洗不超过五次 —— 这是产能利用率最优解的约束条件。
    在给某餐饮企业做排产时,我们设计的模型需要同时处理不同品类(宫保鸡丁、水煮鱼片等)的切换成本、战略客户订单的优先保障,以及普通客户订单的经济性排期。通过业务属性标签与生产执行系统联动,将 “客户优先级” 这一业务判断自动转化为排产序列的动态调整。最终实现排产时间从 4 小时缩短至 5 分钟的巨大成效,效率提升 48 倍。
    本质上,排产优化解决的是:效率与交期之间的动态权衡。
    专项四:OTD 全流程可视 —— 让风险在爆发前就被看见
    排产完成后,我们需要对整个交付过程进行全链路的可视管控,OTD(订单交付周期)是企业对客户最核心的承诺。但传统模式下,销售接单时根本不知道工厂能不能按时交货,出了问题只能救火。
    在给某装备制造企业做 OTD 管控后,我们把交期评估能力从生产计划部门前移到了营销端。销售人员在与客户对接时,可以当场调取主计划中的产能占用、半成品库存、采购周期等数据,实时给出可兑现的交期承诺 —— 原来需要两天评估才能回复的问题,变成了现场直接确认,客户决策周期大幅压缩。
    我们认为,真正的 OTD 管控,要做到三点:
    前置到营销端:让销售在打单现场就能实时获取交期数据
    全程可视化:从订单进入到产线进度、物流调度全链路透明,延期风险提前预警到责任人
    异常分级响应:以汽配行业为例,一级异常要求 15 分钟内响应,二级 45 分钟,三级 4 小时,五级 48 小时,确保风险不因信息传递延迟而扩大
    同时我们在原有异常分级的基础上,新增了异常优先级排序算法,解决人工判断异常优先级的偏差问题:Priority=OrderPriority×ImpactDays×LossAmount
    其中:
    OrderPriority是受影响订单的客户优先级(战略客户的订单权重更高)
    ImpactDays是异常会导致的交付延迟天数
    LossAmount是异常带来的直接损失金额。
    系统会自动根据这个公式计算异常的紧急程度,把最需要处理的异常排在最前面,避免小问题耽误了大订单。
    另外,我们还建立了异常闭环跟踪机制:每个异常都会生成对应的工单,明确责任人与解决时限,解决完成后才会关闭。每个月会对所有异常做复盘,分析异常的根因,进行针对性优化,避免同样的异常重复发生。
    从 “事后救火” 转为 “事前预警”—— 这才是 OTD 管控真正的价值所在。
    本质上,OTD解决的是:从“被动响应”到“主动可控”的交付能力。
    专项五:供应商协同与VMI——打通端到端的最后一公里
    在制造业的端到端供应链中,超过40%的交付延迟来自供应商端的缺料,这也是很多企业优化的盲区——只优化了自己的工厂,没管上游的供应商。
    我们通过供应商协同平台,将主计划的需求提前1-3个月同步给供应商,让供应商可以提前做自己的产能规划,同时通过VMI(供应商管理库存)模式,配套了VMI 自动补货算法,替代原来的人工下单。
    Replenishq​ty=max(0,MaxInventory−OnHandInventory−InTransit)
    其中,MaxInventory是 VMI 库存的最大库存阈值,当库存低于最小阈值的时候,系统会自动触发补货,补货量补到最大库存,既保证不会缺料,也不会库存过高,用多少结多少,既降低了库存资金占用,也让供应商的生产更平稳。避免了供应商的急单成本。
    同时我们会给供应商提供实时的缺料预警:当供应商的交付延迟超过24小时,系统会自动触发预警,提前启动备选供应商或者调整排产,避免影响我们的生产交付。
    本质上,供应商协同与VMI解决的是:将外部不确定性纳入内部计划体系。

供应链优化的落地路径:从诊断到落地架构

 先做诊断和优化,再谈系统
很多企业做供应链优化,容易一上来就上线系统,结果因为流程没理清楚、数据没打通,最后系统变成了摆设。我们的落地逻辑是「先理清楚,再落地,小步快跑」,避免一次性上线的风险。如果你的企业正在经历:履约率长期停滞、旺季缺货与淡季积压并存、多系统并存但无法协同 —— 那么问题往往不在系统,而在 “系统之下的运行机制”。在我们的实践中,更稳妥的路径是:用 2-4 周时间完成一次结构化诊断,识别流程断点、指标断层与协同缺口,重点评估 S&OP 协同机制、主计划衔接能力是否缺失,再决定优化路径与系统建设节奏。

 分阶段实施完成诊断后,我们会分三个阶段落地所有优化内容,分阶段实施内容;
第一阶段(1-3 个月):诊断与基础能力搭建。完成流程梳理、数据打通,先落地需求预测与 OTD 可视,快速看到预测准确率提升、交期答复效率提升的效果。
第二阶段(4-6 个月):核心计划模块落地。落地 S&OP 协同机制与主计划模块,实现产销协同,库存周转开始下降,缺料情况减少。
第三阶段(7-12 个月):全链路协同落地。落地供应商协同、排产优化,实现端到端的全链路优化,达成最终的优化目标。

技术落地架构:从业务逻辑到可执行系统
为了保障业务逻辑能真正落地,AMT企源配套了三层技术架构,解决传统方案 “能看不能用” 的问题。
数据集成层:打通 ERP、MES、WMS、SRM 等多系统的数据,解决数据孤岛的问题,让所有的业务数据都汇总到统一的平台,确保我们的算法能拿到准确、实时的数据。
算法引擎层:内置我们的需求预测算法、S&OP 优化算法、主计划算法、排产算法,所有的运算都可以在小时级甚至分钟级完成,替代原来的人工 Excel 运算。
应用交互层:给销售、生产、采购、供应商提供对应的可视化界面,每个人都能看到自己需要的计划数据,异常预警,不需要再跨部门要数据,大幅提升协同效率。 供应链优化的分水岭,不在于有没有系统,而在于是否具备一套可持续运行的端到端协同机制

什么时候必须启动供应链重构?
如果你的企业出现以下任意两种情况:
履约率连续两年以上未改善
旺季缺货与淡季积压并存
多系统并存但计划仍靠Excel
那么问题已经不是局部优化能够解决,而是需要一次端到端的结构性重构。一旦完成这套重构,企业通常可以在6-12个月内实现履约率、库存与成本的系统性改善。

截至 4 月 20 日,Hermes Agent 在 GitHub 上已斩获 102k+ Star,持续霸榜 GitHub Trending,成为近期开源 Agent 社区最受关注的项目之一。技术大佬更是直言它是"OpenClaw 上线以来第一个真正意义上的竞争对手。"

什么是 Hermes

Hermes Agent 由 Nous Research 在 2026 年 2 月开源发布。官方的定义很直接:"The self-improving AI agent"。它最大特点是内置学习闭环(learning loop),能从任务中提炼 Skill,在使用中持续改进,主动沉淀知识,搜索过往会话,并在跨会话过程中逐步形成对用户的长期理解。简单说,它试图成为一个会持续积累经验的个人 AI Agent。

OpenClaw 与 Hermes:同属通用 Agent,但重心却不在同一层

OpenClaw 和 Hermes 都不只是单点脚本或聊天 bot,而是在把模型、工具、会话、记忆、Skill 和运行环境接成一套长期可用的通用 Agent 系统。它们的区别,不在"是不是 Agent",而在"厚度长在什么地方":

  • OpenClaw 更像控制面,重点是把入口、会话、权限、路由和秩序组织进系统
  • Hermes 更像学习循环,重点是把执行中的方法沉淀下来,并在后续任务里复用

继续往下拆,两者的差异还可以概括成以下几点:

10 分钟上手 Hermes

要判断 Hermes 到底好不好用,最直接的办法还是自己跑一遍。不同类型的开发者,可以走不同路径。

路径一:Agent Bus 先试试,不折腾环境

如果只是想先快速感受一下 Hermes 的执行链路,不想先折腾环境,可以直接从七牛云 MaaS 平台的 Agent Bus 上手。一键启动后,可以在 Web 控制台里直接看到任务拆解、工具调用和中间过程,适合先做低成本体验。

对长任务来说,预算上限和权限边界也可以提前设定,避免测试时跑飞。

路径二:本地快速上手 → Pinokio / 手动安装

如果更习惯本地玩,可以走 Pinokio 或手动安装。Pinokio 的优势是快,基本属于"开箱即用";手动安装也不复杂:

pip install hermes-agent
hermes init

路径三:从 OpenClaw 快速迁移

如果已经在用 OpenClaw,Hermes 有比较直接的迁移入口:

hermes claw migrate

可以导入 OpenClaw 的部分设置、记忆、技能和 API Key,适合把 Hermes 当成低成本试用入口。

路径四:七牛云 LAS 一站式部署 Hermes

如果想把 Hermes 放到一个更稳定的运行环境里继续验证,七牛云 LAS 也提供了社区镜像。用预装镜像起一台实例,再通过 hermes setup 接入模型和消息通道,就可以很快进入后面的真实任务测试。

第一步:创建 LAS 实例,先把运行环境准备好

登录七牛云控制台,进入"云基础资源 → 全栈应用服务器 LAS",在实例管理页点击"创建服务器"。核心参数保持尽量简单即可:

  • 地域:按就近原则选择,降低访问延迟
  • 镜像:选择社区镜像 HermesAgent-v2026.4.13.lf
  • 规格:个人测试可选轻量型 T1(2 核 2G),更高负载场景可从计算型 C1(2 核 4G)起步
  • 安全设置:设置实例密码,并妥善保存

第二步:通过 Web 终端完成初始化配置

启动实例后,进入 Hermes 初始化向导。在控制台中找到已创建实例,点击 操作 → 更多 → Web 命令行,输入实例密码后即可登录。

执行一条命令:

hermes setup

这会直接进入 Hermes 的交互式配置向导。在第一步里,选择 Quick Setup,就可以用更简洁的方式完成基础配置。

第三步:接入模型,让 Hermes 真正开始"工作"

对 Hermes 来说,模型接入不是附属步骤,而是它真正开始发挥能力的前提。直接选七牛云 MaaS 上的 MiniMax M2.7 来配置:

  • Provider 选择中,先进入 More providers...
  • 再选择 Custom endpoint (enter URL manually)
  • 输入七牛云大模型服务地址:https://api.qnaigc.com/v1
  • 填入 MaaS API Key
  • 模型名称填写:minimax/minimax-m2.7

配置完成后,系统会自动验证连通性。一旦验证通过,Hermes 就已经具备了进行后续任务调用的基础条件。

第四步:接入消息通道,把它从命令行 Agent 变成可触达的助手

这里以飞书为例。完成模型接入后,继续进入消息平台配置页。选择 Set up messaging now (recommended),再选择 Feishu / Lark,按照指示即可完成接入。

更详细部署步骤参考:Hermes Agent 一站式部署教程,全程10分钟

Hermes 持续运行的"三重保障"

要让 Hermes 这类 Agent 不只是"跑通一次",而是能持续在线、稳定调用、放心验证,七牛云 LAS + MaaS 准备了几项适合开发者上手的保障:

  • 运行更稳:LAS 社区镜像帮你快速拉起 Hermes 的长期运行环境,省掉环境折腾.https://s.qiniu.com/IviUfa
  • 成本更可控:MaaS 送 Token,可以覆盖长任务测试时的模型消耗.https://s.qiniu.com/rAzUZ3
  • 接入更省心:兼容 OpenAI(/v1/chat/completions)和 Anthropic(/v1/messages)协议格式,替换 Base_URL 和 API Key 即可接入,减少改代码成本

截至 4 月 20 日,Hermes Agent 在 GitHub 上已斩获 102k+ Star,持续霸榜 GitHub Trending,成为近期开源 Agent 社区最受关注的项目之一。技术大佬更是直言它是"OpenClaw 上线以来第一个真正意义上的竞争对手。"

什么是 Hermes

Hermes Agent 由 Nous Research 在 2026 年 2 月开源发布。官方的定义很直接:"The self-improving AI agent"。它最大特点是内置学习闭环(learning loop),能从任务中提炼 Skill,在使用中持续改进,主动沉淀知识,搜索过往会话,并在跨会话过程中逐步形成对用户的长期理解。简单说,它试图成为一个会持续积累经验的个人 AI Agent。

OpenClaw 与 Hermes:同属通用 Agent,但重心却不在同一层

OpenClaw 和 Hermes 都不只是单点脚本或聊天 bot,而是在把模型、工具、会话、记忆、Skill 和运行环境接成一套长期可用的通用 Agent 系统。它们的区别,不在"是不是 Agent",而在"厚度长在什么地方":

  • OpenClaw 更像控制面,重点是把入口、会话、权限、路由和秩序组织进系统
  • Hermes 更像学习循环,重点是把执行中的方法沉淀下来,并在后续任务里复用

继续往下拆,两者的差异还可以概括成以下几点:

10 分钟上手 Hermes

要判断 Hermes 到底好不好用,最直接的办法还是自己跑一遍。不同类型的开发者,可以走不同路径。

路径一:Agent Bus 先试试,不折腾环境

如果只是想先快速感受一下 Hermes 的执行链路,不想先折腾环境,可以直接从七牛云 MaaS 平台的 Agent Bus 上手。一键启动后,可以在 Web 控制台里直接看到任务拆解、工具调用和中间过程,适合先做低成本体验。

对长任务来说,预算上限和权限边界也可以提前设定,避免测试时跑飞。

路径二:本地快速上手 → Pinokio / 手动安装

如果更习惯本地玩,可以走 Pinokio 或手动安装。Pinokio 的优势是快,基本属于"开箱即用";手动安装也不复杂:

pip install hermes-agent
hermes init

路径三:从 OpenClaw 快速迁移

如果已经在用 OpenClaw,Hermes 有比较直接的迁移入口:

hermes claw migrate

可以导入 OpenClaw 的部分设置、记忆、技能和 API Key,适合把 Hermes 当成低成本试用入口。

路径四:七牛云 LAS 一站式部署 Hermes

如果想把 Hermes 放到一个更稳定的运行环境里继续验证,七牛云 LAS 也提供了社区镜像。用预装镜像起一台实例,再通过 hermes setup 接入模型和消息通道,就可以很快进入后面的真实任务测试。

第一步:创建 LAS 实例,先把运行环境准备好

登录七牛云控制台,进入"云基础资源 → 全栈应用服务器 LAS",在实例管理页点击"创建服务器"。核心参数保持尽量简单即可:

  • 地域:按就近原则选择,降低访问延迟
  • 镜像:选择社区镜像 HermesAgent-v2026.4.13.lf
  • 规格:个人测试可选轻量型 T1(2 核 2G),更高负载场景可从计算型 C1(2 核 4G)起步
  • 安全设置:设置实例密码,并妥善保存

第二步:通过 Web 终端完成初始化配置

启动实例后,进入 Hermes 初始化向导。在控制台中找到已创建实例,点击 操作 → 更多 → Web 命令行,输入实例密码后即可登录。

执行一条命令:

hermes setup

这会直接进入 Hermes 的交互式配置向导。在第一步里,选择 Quick Setup,就可以用更简洁的方式完成基础配置。

第三步:接入模型,让 Hermes 真正开始"工作"

对 Hermes 来说,模型接入不是附属步骤,而是它真正开始发挥能力的前提。直接选七牛云 MaaS 上的 MiniMax M2.7 来配置:

  • Provider 选择中,先进入 More providers...
  • 再选择 Custom endpoint (enter URL manually)
  • 输入七牛云大模型服务地址:https://api.qnaigc.com/v1
  • 填入 MaaS API Key
  • 模型名称填写:minimax/minimax-m2.7

配置完成后,系统会自动验证连通性。一旦验证通过,Hermes 就已经具备了进行后续任务调用的基础条件。

第四步:接入消息通道,把它从命令行 Agent 变成可触达的助手

这里以飞书为例。完成模型接入后,继续进入消息平台配置页。选择 Set up messaging now (recommended),再选择 Feishu / Lark,按照指示即可完成接入。

更详细部署步骤参考:Hermes Agent 一站式部署教程,全程10分钟

Hermes 持续运行的"三重保障"

要让 Hermes 这类 Agent 不只是"跑通一次",而是能持续在线、稳定调用、放心验证,七牛云 LAS + MaaS 准备了几项适合开发者上手的保障:

  • 运行更稳:LAS 社区镜像帮你快速拉起 Hermes 的长期运行环境,省掉环境折腾.https://s.qiniu.com/IviUfa
  • 成本更可控:MaaS 送 Token,可以覆盖长任务测试时的模型消耗.https://s.qiniu.com/rAzUZ3
  • 接入更省心:兼容 OpenAI(/v1/chat/completions)和 Anthropic(/v1/messages)协议格式,替换 Base_URL 和 API Key 即可接入,减少改代码成本

Matrix 首页推荐 

Matrix 是少数派的写作社区,我们主张分享真实的产品体验,有实用价值的经验与思考。我们会不定期挑选 Matrix 最优质的文章,展示来自用户的最真实的体验和观点。

文章代表作者个人观点,少数派仅对标题和排版略作修改。


引子

在 2 月底的时候,我这个待业的中年男人终于迈出了开启第一份兼职工作这一步:成为一名兼职的货拉拉司机,喜提杨师傅的称号。

根据朋友的提醒,我注册 3 了个平台:小拉出行(单量多抢单激烈)、滴滴送货(单量少单价低)和顺丰同城骑士(审核严要求多)。最终只用了小拉出行,其他两个 app 都陆续卸载掉。

在 36 岁才做第一份兼职工作,不是注册成为某团或某东的骑手而是开车送货,不得不说,有点晚但并不迟。

整个 3 月出车 20 天、完成 56 单,流水为 2627 元,如果扣除掉高速费用流水接近 2500 元,每单均价为 44.6 元。

大致情况如下:

  • 出门时间:8 点 30 到 9 点
  • 兼职时长:单次 4-6 小时
  • 里程范围:100-200km

兼职开车送货的 7 个真相

有许多感受在刚开始送货的时候是模糊的,通过一段时间的积累才能逐步显现,然后变得清晰起来。

自身权益必须自己主张

如果送货是一场游戏,最核心的两个东西是空间和时间。

车内空间决定能放多少货,时间决定在出车后能跑多少单,这两项直接关系到当天的流水。收货和送货的过程中,必然遇到要等、偶尔需要搬货卸货、超重、放倒后备箱等情况。

遇到需要主张自己权益的时候,如果和我一样期待对方先开口,那必然会和我一样拉不少超重的货。

这种按照 app 里面的规则,作为司机可以选不拉这趟货,但是得承担往返的时间损耗,也可以尝试和货主说明清楚缘由,要加钱才能拉——如果不主张自己的权益、表明态度,只会让被占便宜成为常态。

吃亏不是福,哑巴亏吃多了只会给自己添堵,老实人必然被欺负!自身权益这根弦必须时刻绷紧,要养成主张权益的习惯和意识。

出车后,便成为 play 的一环

随着兼职司机变多,发单人结合平台算法给到的单价呈下降趋势,大部分的单子单价都来到了 50 元以下,15 公里内的基本在 30 元以下。如果计算上取货的距离和等待时间,折合每公里在 1-1.2 元,折合时薪在 20-30 元。

司机的收入与付出相比并不对等,在不计算车辆损耗的情况下时薪都是偏低的,如果再计算上可能的损耗那就更低了。

作为司机,出车接上单,便成为串联起发货方和收货方的关键一环,由此也成为整个 play 的一环。

观察真实世界如何运行的契机

电子书或许在将来有可能替代实体书,但网络再发达也无法取代真实的物理世界。送货的时候,能去到日常不会去的地方:

  • 禁毒所
  • 农产品批发市场
  • 汽配城
  • 五金城
  • 各类仓库
  • 各种园区
  • 各种工厂
  • 新建中的小区
  • 郊区的村里面
  • 大学校园
  • 商场的卸货区
  • 物流园
  • ......

有几个典型的单子能经常遇到:从仓库拉菜和油,送到某个饭馆;从批发市场拉水果,送到某个超市;从五金城拉装修材料,送到某个新建中的小区;从物流园拉纯净水,送到某个园区……作为劳动参与者之一,这个观察的视角的是无可替代的,而且能获取到一手信息。

送货,绝对是一个观察真实世界如何运行的契机。

要接受随机性

因为是抢单制,每一单都充满随机性:能否抢单成功?货具体是什么?位置在哪?

唯一能做的是随机而动,见机行事。

秒变赶时间的人

和送外卖不同的是,其实开车送货没有那么赶时间。但一抢到单子,心态还是会产生微妙的变化,会不由自主的想快点去拉货,最好赶在系统建议的时间之前到。

到了之后快速把货装上车拍照,即刻出发去收货点,把货送到后又趁着对方卸货的间隙抢新的单子。所以整个送货的过程中,还是会秒变为一个赶时间的人、一个赶时间的司机。

辅助驾驶完全想不起来用,除非长时间堵车的时候。另外需要谨记的是,再赶时间也要遵守交通规则,做到安全驾驶!

平台在去责任化

有一些事情是平台必须做到的,但平台或有意或无意并没有做好。

如上图所示,对于抢单的司机来说,客户要拉的货完全是盲盒,只能根据地址借助已有的经验去推测货物可能是什么、是多大的物件。而常寄快递的也都知道,快递运输不仅实名,下单的时候早已要求注明具体的物品类型、重量、体积等关键信息。

借鉴寄快递的逻辑,平台完全可以要求发货方写清楚物品信息,甚至附上物品照片,在抢单前就让司机对需要运送的货物有明确的认识。

平台把关键信息模糊了,让发货方和司机去博弈,这是妥妥的去责任化,因为在博弈的过程中,唯有平台是始终获益的一方。

体力劳动让人踏实

送货的时候一出车便是 4-6 个小时,但回来后只是有点累、并不疲惫,吃完晚饭后我还是会坚持跑步。

某天晚上没有出去跑步,翻出来去年听播客买的一本书《跑外卖:一个女骑手的世界》,没想到跑外卖和送货有不少相似之处。

尤其是这段关于「踏实」的描述,极其敏锐且精准,和我开车送货时候的心态一模一样:

体力劳动可能不够体面,不过这种踏实感无可替代!

结语

作为 一个 2012 年毕业,一直在互联网行业的中年人,我对真实社会的了解十分有限,想象和现实存在一定的偏差。在送货的过程中,我能逐步 get 到真实的社会是什么样的,逐步缩小和修正想象与现实的偏差。

开车送货的 20 天,对我这个中年人来说无疑是一堂姗姗来迟的社会实践课。

> 关注 少数派小红书,感受精彩数字生活 🍃

> 实用、好用的 正版软件,少数派为你呈现 🚀

    Matrix 首页推荐 

    Matrix 是少数派的写作社区,我们主张分享真实的产品体验,有实用价值的经验与思考。我们会不定期挑选 Matrix 最优质的文章,展示来自用户的最真实的体验和观点。

    文章代表作者个人观点,少数派仅对标题和排版略作修改。


    引子

    在 2 月底的时候,我这个待业的中年男人终于迈出了开启第一份兼职工作这一步:成为一名兼职的货拉拉司机,喜提杨师傅的称号。

    根据朋友的提醒,我注册 3 了个平台:小拉出行(单量多抢单激烈)、滴滴送货(单量少单价低)和顺丰同城骑士(审核严要求多)。最终只用了小拉出行,其他两个 app 都陆续卸载掉。

    在 36 岁才做第一份兼职工作,不是注册成为某团或某东的骑手而是开车送货,不得不说,有点晚但并不迟。

    整个 3 月出车 20 天、完成 56 单,流水为 2627 元,如果扣除掉高速费用流水接近 2500 元,每单均价为 44.6 元。

    大致情况如下:

    • 出门时间:8 点 30 到 9 点
    • 兼职时长:单次 4-6 小时
    • 里程范围:100-200km

    兼职开车送货的 7 个真相

    有许多感受在刚开始送货的时候是模糊的,通过一段时间的积累才能逐步显现,然后变得清晰起来。

    自身权益必须自己主张

    如果送货是一场游戏,最核心的两个东西是空间和时间。

    车内空间决定能放多少货,时间决定在出车后能跑多少单,这两项直接关系到当天的流水。收货和送货的过程中,必然遇到要等、偶尔需要搬货卸货、超重、放倒后备箱等情况。

    遇到需要主张自己权益的时候,如果和我一样期待对方先开口,那必然会和我一样拉不少超重的货。

    这种按照 app 里面的规则,作为司机可以选不拉这趟货,但是得承担往返的时间损耗,也可以尝试和货主说明清楚缘由,要加钱才能拉——如果不主张自己的权益、表明态度,只会让被占便宜成为常态。

    吃亏不是福,哑巴亏吃多了只会给自己添堵,老实人必然被欺负!自身权益这根弦必须时刻绷紧,要养成主张权益的习惯和意识。

    出车后,便成为 play 的一环

    随着兼职司机变多,发单人结合平台算法给到的单价呈下降趋势,大部分的单子单价都来到了 50 元以下,15 公里内的基本在 30 元以下。如果计算上取货的距离和等待时间,折合每公里在 1-1.2 元,折合时薪在 20-30 元。

    司机的收入与付出相比并不对等,在不计算车辆损耗的情况下时薪都是偏低的,如果再计算上可能的损耗那就更低了。

    作为司机,出车接上单,便成为串联起发货方和收货方的关键一环,由此也成为整个 play 的一环。

    观察真实世界如何运行的契机

    电子书或许在将来有可能替代实体书,但网络再发达也无法取代真实的物理世界。送货的时候,能去到日常不会去的地方:

    • 禁毒所
    • 农产品批发市场
    • 汽配城
    • 五金城
    • 各类仓库
    • 各种园区
    • 各种工厂
    • 新建中的小区
    • 郊区的村里面
    • 大学校园
    • 商场的卸货区
    • 物流园
    • ......

    有几个典型的单子能经常遇到:从仓库拉菜和油,送到某个饭馆;从批发市场拉水果,送到某个超市;从五金城拉装修材料,送到某个新建中的小区;从物流园拉纯净水,送到某个园区……作为劳动参与者之一,这个观察的视角的是无可替代的,而且能获取到一手信息。

    送货,绝对是一个观察真实世界如何运行的契机。

    要接受随机性

    因为是抢单制,每一单都充满随机性:能否抢单成功?货具体是什么?位置在哪?

    唯一能做的是随机而动,见机行事。

    秒变赶时间的人

    和送外卖不同的是,其实开车送货没有那么赶时间。但一抢到单子,心态还是会产生微妙的变化,会不由自主的想快点去拉货,最好赶在系统建议的时间之前到。

    到了之后快速把货装上车拍照,即刻出发去收货点,把货送到后又趁着对方卸货的间隙抢新的单子。所以整个送货的过程中,还是会秒变为一个赶时间的人、一个赶时间的司机。

    辅助驾驶完全想不起来用,除非长时间堵车的时候。另外需要谨记的是,再赶时间也要遵守交通规则,做到安全驾驶!

    平台在去责任化

    有一些事情是平台必须做到的,但平台或有意或无意并没有做好。

    如上图所示,对于抢单的司机来说,客户要拉的货完全是盲盒,只能根据地址借助已有的经验去推测货物可能是什么、是多大的物件。而常寄快递的也都知道,快递运输不仅实名,下单的时候早已要求注明具体的物品类型、重量、体积等关键信息。

    借鉴寄快递的逻辑,平台完全可以要求发货方写清楚物品信息,甚至附上物品照片,在抢单前就让司机对需要运送的货物有明确的认识。

    平台把关键信息模糊了,让发货方和司机去博弈,这是妥妥的去责任化,因为在博弈的过程中,唯有平台是始终获益的一方。

    体力劳动让人踏实

    送货的时候一出车便是 4-6 个小时,但回来后只是有点累、并不疲惫,吃完晚饭后我还是会坚持跑步。

    某天晚上没有出去跑步,翻出来去年听播客买的一本书《跑外卖:一个女骑手的世界》,没想到跑外卖和送货有不少相似之处。

    尤其是这段关于「踏实」的描述,极其敏锐且精准,和我开车送货时候的心态一模一样:

    体力劳动可能不够体面,不过这种踏实感无可替代!

    结语

    作为 一个 2012 年毕业,一直在互联网行业的中年人,我对真实社会的了解十分有限,想象和现实存在一定的偏差。在送货的过程中,我能逐步 get 到真实的社会是什么样的,逐步缩小和修正想象与现实的偏差。

    开车送货的 20 天,对我这个中年人来说无疑是一堂姗姗来迟的社会实践课。

    > 关注 少数派小红书,感受精彩数字生活 🍃

    > 实用、好用的 正版软件,少数派为你呈现 🚀

      虽然火山的消耗有点快 TPS 有点低,但是这应该是众多 Coding Plan 中为数不多积极接入新模型的了吧?

      Codingplan 说实话,你怕龙虾啥的薅 token ,你就做缓存上的费率倍数我觉得(因为 Coding 上的话,同一任务中命中缓存应该是常态所以花费反而不高),对程序员尤其是 vibe Coding 选手,提供了 Coding plan 属于双赢...(只要挡住龙虾类的“滥用”)

      火山 CP 我还能再磕一阵子了 XD