IR + VM:让 LLM 生成的控制逻辑安全运行在超低端 MCU 上

目前进度

  • ESP8266 和 STM32,同一份字节码,不改一行代码直接运行。
  • 任务代码平均 10.9 字节 ,相比 JSON 控制指令的 106.7 字节,缩小接近 10 倍。
  • VM 核心只占约 2KB RAM。
  • 113 个确定性任务全部通过。
  • 本地部署 8B 参数规模的 LLaMA 模型生成 LIR 时,错误可以通过编译器反馈自动修正,一轮收敛。

关于这套系统我写了一篇论文,已经进入 CCF B 类期刊大修阶段。


我目前大三,专业是软件工程,之前主要学习 Java 后端和 Agent 相关方向。

我一直觉得嵌入式开发太麻烦了------每次都要重新烧录。所以我想让 MCU 也拥有类似 JVM 的执行层:程序不直接绑定硬件,而是运行在一个小型虚拟机上。

这样上层只需要生成逻辑,底层负责执行。

整体架构

我的想法是,在 LLM 和 MCU 之间增加一个中间层,把上层逻辑和底层硬件解耦。整个系统分为三部分:

  1. LIR ------ 负责承接 LLM 输出的控制逻辑。
  2. 确定性编译器 ------ 负责把 LIR 转换成紧凑字节码,同时完成语法检查、类型检查、资源验证和编码。
  3. MCU 上运行的 VM ------ 负责执行字节码,并提供运行时安全限制。

整体流程:

IR 让模型生成结构化逻辑。例如:

bash 复制代码
task water_pump {
    require cap(relay1)
    require cap(water_sensor)
    set relay1 = 1
    wait 500ms
    read water_sensor
    halt
}

这段代码表达的是任务逻辑。编译器随后将它转换成 14 字节左右的机器指令。模型负责描述,编译器负责保证正确。

VM 的安全设计

让模型控制物理设备,最大的风险是错误可能直接作用于现实世界。比如系统里只有 relay1,但是模型生成:

ini 复制代码
set relay3 = 1

如果 relay3 对应一个真实设备,可能造成严重问题。

所以 VM 增加了三层限制。

权限锁

  • 程序必须提前声明需要使用的设备。
  • 没有声明的资源无法访问。
  • 错误会在编译阶段被拒绝。

时间锁

  • 任务执行有最大步数限制。
  • 如果出现异常循环,VM 会主动停止。
  • 避免电机、水泵等设备持续运行。

形式化验证

14 条核心指令已证明------任意输入下必然停机,且仅访问授权资源。

核心原则: 无论 LLM 生成什么,VM 保证程序必然终止,且只能操作被明确授权的设备。

适用场景: 计算资源极其受限、但需要被 LLM 动态控制的物理设备------灌溉系统、工业现场、智能家居里的廉价单片机。

以下是编译器把 6 行LIR 压成 14 字节字节码,VM逐指令 trace:每步的PC、栈状态、步数计数器、已授权设备集合全部可见,7步HALT。

以下是手工构造一段绕过编译器的恶意字节码:只授权了relay1,却在 pc=2 试图写relay2。VM在写操作到达驱动前拦截,EXEC_FAULT_UNAUTHORIZED_IO,relay状态未被改变。

一些思考

现在很多系统已经可以让模型生成代码。但当代码开始控制真实设备时,中间还需要更多工程约束。

如何让一个生成式系统输出的逻辑,经过一套可验证的流程,最终安全运行在资源非常有限的设备上------这是一个比较窄但是有价值的问题。

目前我的系统跑通了,但是学术是学术,在实验室里跑通不代表有工业价值。我觉得距离真正工业部署还有很多问题,例如:

  • 更复杂设备模型如何描述;
  • 多设备协同如何验证;
  • 如何和现有工业控制协议结合。

也想请教一下有实际部署经验的朋友:目前工业现场或者 IoT 场景里,如果需要让 LLM 参与设备控制,工程上通常采用什么架构?在类似「LLM 生成逻辑 → 中间约束 → 设备执行」这一套流程里有哪些成熟实践?

如果有团队或者企业正在探索类似方向(系统软件、IoT 安全、LLM+嵌入式),也非常希望有机会参与实际工程实践。

相关推荐
孟健9 小时前
LLM API 安全防线:从 OpenCode 盗刷事件到 LiteLLM 多模型容灾实操
人工智能·后端·架构
smallyoung10 小时前
告别N+1:Spring Boot 一键数据翻译框架体系
java·后端·架构
第404号工位12 小时前
40块钱二手瘦客户端,如何跑满家庭物联网中枢?(拒绝Docker爆盘实录)
linux·架构·node.js
Thneonl12 小时前
你写的 NetworkPolicy 可能一条都没生效
后端·架构
96245614 小时前
Go EVM 链上数据平台实践:从 RPC Demo 到可演进架构
rpc·架构·golang
考拉讲支付14 小时前
母婴亲子服务平台分账架构设计:多场景多方分账与合规清结算实践
大数据·运维·人工智能·微信小程序·架构·微信公众平台
黄俊懿15 小时前
【架构师从入门到进阶】第六章:服务集群优化——第八节:线程数公式
java·服务器·数据库·分布式·性能优化·架构·系统架构
行者全栈架构师15 小时前
【鸿蒙心迹】互动卡片全链路——把核心功能放到桌面(FormKit 实战)(HarmonyOS 7.x)
前端·算法·架构
海带紫菜菠萝汤15 小时前
PostgreSQL 19 延期一个月:AI 把找 bug 变便宜了,修 bug 还是人工价
人工智能·ai·程序员·架构·大模型
Thneonl15 小时前
主从延迟 0 秒的谎言:SBM 的三个盲区
后端·架构