电池 SOC、SOH 与 RUL:估计之外还要回答有多确定
电池管理系统经常同时讨论 SOC、SOH 和 RUL。SOC 描述当前剩余电量,SOH 描述相对于初始状态的健康程度,RUL 试图预测到达失效阈值之前还能运行多久。它们彼此相关,却不是同一个问题:SOC 是快速变化的状态,SOH 是缓慢退化的参数,而 RUL 还依赖未来工况假设。 一个只输出单点数值的模型看起来很确定,但温度、老化路径、传感器偏置与未来负载都会让估计产生分布。工程系统除了回答“是多少”,还需要回答“有多确定,以及不确定时怎么办”。 SOC:库仑计量需要校准锚点库仑计量通过对电流积分更新 SOC,计算简单且适合实时运行,但初始 SOC 错误和电流传感器偏置会不断累积。开路电压法可以提供校准锚点,却要求电池充分静置,并且 OCV-SOC 曲线受到温度与老化影响。 等效电路模型结合扩展卡尔曼滤波、无迹卡尔曼滤波或粒子滤波,是常见折中方案。模型通过端电压残差修正 SOC,但结果依赖参数辨识质量。若内阻和极化时间常数仍使用新电池参数,老化后的滤波器可能稳定地收敛到错误值。 因此 SOC 评测不能只在单一工况循环上计算 RMSE。应覆盖不同温度、倍率、初始状态和老化阶段,并检...
提示注入之后:Agent 工具安全的最小边界
当大模型只能生成文本时,一次错误回答通常停留在界面里;当它能读取邮件、检索内部文档、执行代码或控制设备时,文本就可能变成动作。提示注入的危险不在于“模型被说服”,而在于系统把来自不同信任级别的内容放进同一个上下文,又让模型同时拥有决策权和执行权。 指令与数据必须分层网页、文档、邮件和检索片段都应被视为不可信数据。它们可以提供事实,却不能自行提升为系统指令。仅在提示词里写一句“忽略文档中的命令”并不构成安全边界,因为模型仍在同一概率生成过程中处理所有文本。 工程上应把策略放到模型之外:运行时决定哪些工具可见,参数验证器决定哪些输入合法,授权层决定当前用户能执行什么动作,模型只提出候选调用。即使模型完全遵循了恶意文本,外部策略也应阻止越权动作。 工具应遵循最小权限不要给一个通用“执行 SQL”工具,再期望模型永远只查询。读取文章列表、修改草稿和删除用户应是三个独立能力,拥有不同的身份要求和确认策略。工具描述需要明确输入、输出、错误和副作用,服务端还要再次校验资源所有权。 高风险工具可以采用两阶段协议:第一阶段只生成预览与影响范围,第二阶段在获得明确授权后使用短期令牌执行。令牌应绑定用...
INT4 不是魔法:大模型量化与推理容量规划
把权重从 FP16 压到 INT4,模型文件常常能缩小到原来的四分之一。这很容易制造一种错觉:显存问题解决了,推理也必然快四倍。实际系统里,权重、KV Cache、中间激活、运行时工作区和并发调度共同占用资源;量化格式是否被硬件内核真正加速,也比位宽数字本身更重要。 先把显存账算完整仅估算权重时,可以用“参数量 × 每参数字节数”。例如 7B 模型的 FP16 权重大约需要 14 GB,理想 INT4 权重大约 3.5 GB,但真实文件还包含分组缩放因子、零点和元数据。推理时还需要模型运行时、临时张量与 KV Cache。 KV Cache 与层数、上下文长度、并发序列数和键值头维度近似线性增长。长上下文服务中,权重量化后省下的显存很快会被 KV Cache 吃掉。因此容量规划应分别测量空载权重、单请求峰值、不同上下文长度和不同并发下的峰值,而不是只看模型下载页面上的文件大小。 GPTQ、AWQ 与运行时格式GPTQ 通常通过近似二阶信息逐层量化权重,目标是减小量化引入的重构误差。AWQ 更关注激活显著的权重通道,通过缩放保护少量重要权重。两者都是部署方法族,不是单一固定实现;分...
工业时序基础模型:从预测分数到可用决策
时间序列基础模型把“为每条曲线训练一个模型”改成了“先在大量序列上学习通用结构,再迁移到具体任务”。这条路线很吸引人:设备历史数据零散、标签昂贵,而预训练模型似乎可以直接做零样本预测。但工业现场真正关心的并不是排行榜上的平均误差,而是模型能否在工况切换、传感器缺失和故障前兆出现时给出稳定、可解释的结果。 先定义预测对象同一条功率曲线可以支持完全不同的任务:预测未来十五分钟用于控制,预测明日峰值用于排产,估计未来一个月的退化趋势用于检修。预测窗口、采样频率、决策延迟和错误成本不明确,模型分数就没有工程意义。 我会先写一张任务卡:输入信号及单位、可使用的历史长度、预测步长、刷新周期、允许延迟、缺测比例和下游动作。对于储能系统,还要注明充放电状态、环境温度、额定容量变化和保护逻辑,因为这些变量决定序列是否近似平稳。 数据切分必须尊重时间随机打乱序列再划分训练集和测试集,会把未来的统计特征泄漏到过去。更可靠的方法是滚动回测:在多个历史截点上只使用截点之前的数据训练或适配,再预测之后的固定窗口。设备级泛化还应增加留一设备测试,避免同一设备的相邻片段同时出现在训练和测试中。 归一化也可能造成...
记忆不是仓库:从柏格森到数字化自我
相册会按年份整理照片,聊天软件能搜索十年前的一句话,云端笔记保存我们曾经写下的每个版本。技术第一次让个人拥有近乎无限的外部记忆。但奇怪的是,保存越完整,我们越容易发现:记录仍然不是过去本身。 柏格森对记忆的区分,可以帮助理解这种落差。 两种不同的过去在《物质与记忆》中,柏格森区分了习惯记忆与纯粹记忆。背熟一首诗、熟练骑车,是通过重复进入身体的习惯;记得第一次学车时摔倒的傍晚,则是带着具体位置和情绪的独特事件。 前者服务于行动,让身体迅速调用已经学会的模式。后者并不总有立即用途,却保存了经验不可重复的质地。我们说“我记得”,有时是在展示一种能力,有时则是在让某个过去重新进入现在。 数字系统擅长保存痕迹,却很难自动区分两者。一张照片包含时间、地点和像素,但它何时成为真正的回忆,取决于此刻的我如何重新进入那段经验。 回忆不是从硬盘读取文件我们常把记忆想象成仓库:过去被完整存放,需要时再取出。可心理经验更像重建。现在的处境决定哪些细节被照亮,后来的知识也会改变我们对旧事件的理解。 同一段校园生活,在毕业当天、工作五年后和重新见到旧友时,会呈现不同轮廓。这不必然意味着记忆在撒谎,而是过去始...
大模型上线之后:推理优化与可观测性清单
本地调用一次模型成功,只能证明链路通了。真正上线后,首字延迟、输出速度、并发、缓存命中、失败重试和成本会一起出现。用户感受到的“快不快”,也不只是总耗时。 先拆开延迟我通常关注三个时间:请求进入到开始推理、首个 token 返回、完整回答结束。首字延迟决定对话是否有即时反馈,生成速度决定长回答是否拖沓,而排队时间会在并发升高时突然放大。 如果只记录一个总耗时,很难判断应该优化网络、检索、提示词长度还是模型服务。 上下文也是计算预算把所有历史对话、所有检索片段和完整工具输出塞进上下文,既慢又容易分散注意力。可以通过摘要、结构化状态、去重和相关性阈值控制输入长度。 提示词缓存与前缀复用适合大量请求共享固定系统指令的场景;连续批处理能够提高吞吐,但会在吞吐与单请求延迟之间做交换。选择哪一种,要看真实流量,而不是跑分榜。 重试不能制造更大的事故网络读取失败可以重试,设备控制和支付类操作却不能简单重复。每个带副作用的工具调用都应有幂等键,运行时要区分“请求没有送达”和“已经执行但响应丢失”。 熔断与降级同样重要。主模型不可用时,可以切换小模型、只返回检索结果,或明确提示稍后再试。悄悄返回一...
Agent 工程不只是工具调用:MCP、A2A 与评测闭环
第一次看到模型自动调用搜索、数据库和终端时,很容易把 Agent 理解成“会使用工具的聊天机器人”。但把演示放进真实系统后,问题马上从提示词转向工程:权限如何限制,失败怎样恢复,状态放在哪里,每一步又由谁审计。 工具只是入口一个工具至少需要清楚描述输入、输出、错误和副作用。读取天气与删除文件不应该拥有同一种确认策略;查询数据库与执行设备指令也不应该共享同一层权限。 我更愿意把 Agent 看成一个受约束的状态机:模型负责提出下一步,运行时负责验证参数、检查授权、执行动作并记录结果。模型可以有判断力,但不能同时成为自己的门禁系统。 MCP 与 A2A 解决的不是同一个问题MCP(Model Context Protocol)把模型应用连接到工具与上下文,重点是客户端如何发现并调用能力。A2A(Agent2Agent Protocol)关注不同 Agent 之间如何描述能力、委派任务和交换结果。 可以把它们粗略地理解为两条边: 12Agent -> 工具/数据:MCPAgent -> Agent:A2A 协议带来的价值不是让系统名字更先进,而是减少每接一个数据源就写一套...
技术会替我们决定吗:海德格尔与自动化系统的边界
自动化系统最诱人的承诺,是把复杂选择变成一个结果:模型给出风险分数,调度器生成最优计划,控制器选择下一步动作。只要指标足够准确、算力足够充足,我们似乎就能把犹豫交给机器。 但技术真正改变的,往往不是答案,而是什么能够被当作问题。 技术不只是一组工具海德格尔在《技术的追问》中反对把技术仅仅理解为达到目的的手段。锤子、发电站和算法当然都是工具,但现代技术还携带一种“揭示世界”的方式:事物首先以可计算、可调用、可储备的资源出现。 河流不再只是河流,而成为水力储备;森林成为木材库存;人的注意力成为可变现的停留时长。海德格尔把这种结构称为“座架”。危险并不来自某台机器产生恶意,而来自我们逐渐只会用这一种方式理解存在。 当一个系统把员工表示为工时,把学生表示为分数,把设备表示为健康指数,它获得了管理能力,也同时舍弃了无法进入字段的部分。问题不是抽象必然有错,而是抽象很容易忘记自己只是抽象。 最优解永远依赖目标函数工程中的“最优”从来不是无条件的。储能调度可以优化电费、循环寿命、峰谷差或应急余量,不同目标会给出不同策略。目标权重一旦写入系统,价值判断就已经发生。 因此,算法替我们决定常常是一种...
工业多模态 AI:让振动、图像与日志互相作证
一台设备发生故障时,证据很少只存在于一个传感器里。轴承振动开始出现边频,温度缓慢抬升,巡检图像里有轻微渗漏,维修日志又提到上次更换后的异常噪声。这些信息单独看都不够确定,放在一起却能构成完整线索。 这正是工业多模态 AI 值得关注的地方:它不是让模型同时看图和说话,而是让不同来源的数据在时间和设备语义上对齐。 第一难题是对齐,不是融合振动数据可能以 kHz 采样,温度每分钟一次,图像来自不定期巡检,日志则由人手工填写。若设备 ID、时间戳和工况没有统一,再复杂的融合网络也只是在组合错位的数据。 我会先建立统一事件窗口:以告警或工况切换为中心,收集前后一定时间范围内的波形统计、频谱特征、图像和文本记录。原始数据保留,同时生成可检索的摘要。 模型不必一次完成所有工作一个稳妥的管线可以分层:专用视觉模型找出缺陷区域,时序模型检测振动异常,规则系统验证阈值与联锁,语言模型负责汇总证据并生成面向维修人员的解释。 这样做虽然不像“端到端大模型”那样简洁,却更容易定位错误。若结论不对,可以判断是图像漏检、时序误报,还是最后的文字归纳出了问题。 缺失模态必须是正常状态现场数据不会永远齐全。摄像头...
小模型走向边缘:把 AI 放进设备之前要算的账
云端大模型很强,但工业现场并不总有稳定网络。延迟、隐私、带宽和断网后的可用性,会把“模型越大越好”变成一道成本题。 边缘 AI 的目标也不是把完整聊天模型硬塞进控制器,而是让合适的模型在合适的位置完成合适的任务。振动异常检测、仪表读数识别、声音分类和局部控制策略,通常比开放式对话更适合先落地。 先画资源边界部署前至少要列出内存、存储、算力、功耗、允许延迟和更新方式。模型文件能放进去,不代表推理时的中间张量也能放进去;平均延迟达标,也不代表最坏延迟不会破坏控制周期。 对实时系统来说,我会同时记录 P50、P95 和 P99 延迟,并在温度升高、CPU 抢占和低电量状态下重复测试。实验室里的稳定帧率,未必等于机柜里的稳定帧率。 量化的代价需要测量INT8、INT4 量化可以降低内存和计算量,但精度损失并不均匀。分类模型可能几乎不受影响,回归、微弱故障特征或多语言生成却可能明显退化。 因此量化不能只看一个综合分数。应该按设备型号、工况和故障类别拆分评测,特别关注原本就稀少的边缘样本。 云边协同通常更现实一种实用结构是:边缘端完成采集、过滤、快速告警和小模型推理;云端负责长周期分析、模型...