乐于分享
好东西不私藏

当所有软件都在开放CLI给AI,嵌入式的机会在哪?

当所有软件都在开放CLI给AI,嵌入式的机会在哪?

前阵子,看到好多个软件开源了CLI。

当时没太在意,觉得就是个开发者工具嘛。但后来发现飞书开源的CLI的星涨得很快。

越想越不对劲,因为顺手翻了一下,发现在飞书之前,很多工具都开源了CLI,比如Github等等。

几乎所有主流平台,都在做同一件事。

把自己的能力,通过命令行暴露出来。

你可能会觉得,这不就是给开发者多一个工具嘛,有啥大不了的。

但如果你把时间线拉长一点看,这件事其实挺有意思的。

就在两三年前,CLI还只是程序员的小众偏好,普通人根本碰不到这东西。但现在,几乎所有人都在做。

为啥呢?

因为AI。

飞书CLI开源的时候,官方说了一句话,原生支持Claude Code、Codex、Cursor、Trae这些AI编程工具,AI Agent安装后可以直接操作飞书,读消息、查日历、写文档、建表格、发邮件。

2500多个API,19个AI Skill,11个业务域,全部通过命令行暴露给AI。

你想想看,这事有多大。

因为这些公司开放CLI,表面上是给开发者方便,实际上是在说一句话,我们接受AI作为用户。

你不开CLI,AI就用不了你的产品。

回头看,每一次计算范式的转移,都伴随着一个类似的信号。早期互联网时代,企业做网站,是在说,我们接受浏览器作为入口。移动互联网时代,企业做App,是在说,我们接受手机作为入口。

现在,开放CLI,是在说,我们接受AI agent作为入口。

三层递进。

从人直接操作,到人通过手机操作,到AI代替人操作。每一层都比上一层多了一个中间人,但每一层都让效率跳了一个量级。

说到这里,我就开始想一个事了。

嵌入式行业呢?

软件世界在疯狂开放CLI,给AI铺路,嵌入式行业是否也有自己的CLI?

为啥我会这样想?自然是从嵌入式研发的痛点出发,现在唯一的卡点,就是硬件调试闭环了。

昨天我用串口作为数据反馈,让AI从零自己写代码,自己修复BUG,自己调试,直到调通NBIot到Onenet云数据交互。

全程花了大概42分钟,我拿到手以后直接就跑通了,真的把我惊到了。

这大概是工程师一周的工作量。

我之前看到网上有些评论说,AI写的程序,你敢用在产品上?出现BUG找起来比写代码时间还长。。

作为工程师,我倒希望是这样。。。但现实比咱想得还要残酷。。

下面代码全是AI写的,我发誓,我没写过一行代码,AI嵌入式先锋队的群友可以给我作证,哈哈。

包括工程搭建,文件架构创建,新建的。c/.h文件,编译,下载等全是AI自主完成,我就守在硬件旁边,负责上下电和验证功能。

我直接说答案吧,这代码规范和质量吊打大多数工程师。。

以前我和很多人一样,用错误的方法,得到不理想的答案,从而低估了现在AI的能力。

其实现在AI已经进入Harness Engineering阶段了,也就是如何给AI配置恰到好处的环境,工具,约束,让它更好地完成任务。

我上篇文章聊了AI辅助MCU开发,搭工程、写代码、编译下载,跑通了挺多环节。但有一个环节,AI始终伸不进去手。

硬件调试。

你板子上的硬件没反应,AI能帮你查代码,但它没法拿万用表去量一下那个引脚有没有电压。你串口收到的数据是乱码,AI能帮你分析波特率对不对,但它没法拿逻辑分析仪去抓一下波形看时序。你ADC读数不对,AI能帮你检查配置寄存器,但它没法拿示波器去看一下输入信号长什么样。

这些东西,都需要人拿着探头去夹,眼睛盯着屏幕看。

这是目前AI辅助嵌入式开发里,最大的一个死角。

然后我就想到一个问题。

万用表、示波器、逻辑分析仪,这些测量设备,有没有类似于CLI的东西?有没有标准化的接口,能让外部程序读取测量数据?

我花了一些时间去查,发现这块其实比我预想的走得远。

SCPI,Standard Commands for Programmable Instruments,可编程仪器标准命令。这玩意已经存在几十年了,大多数正经的示波器、万用表、逻辑分析仪都支持。Rigol、Keysight、Tektronix这些牌子,基本都带USB口或者网口,能用SCPI命令去控制。

还有一个叫VISA的,Virtual Instrument Software Architecture,虚拟仪器软件架构。Python有PyVISA库,几行代码就能跟仪器通信,读取测量数据。

逻辑分析仪有个开源项目叫Sigrok,自带CLI工具sigrok-cli,可以直接从命令行抓取和解码信号。支持100多种协议解码器,SPI、I2C、UART、CAN都有。

讲真,看到这些的时候我是有点兴奋的。

因为基础设施是现成的。示波器能接电脑,万用表能接电脑,逻辑分析仪能接电脑,而且都有标准化的通信协议。

AI不需要长出手来拿探头。

它只需要能读懂仪器吐出来的数据。

但兴奋完之后我又冷静下来想了想,现在差的是什么。

差的是两层东西。

第一层,这些SCPI命令和VISA库,是给人写自动化脚本用的,不是给AI用的。

你让一个嵌入式工程师写Python脚本来控制示波器,他觉得挺方便。

但你让AI直接去拼SCPI命令字符串,就有点勉强了。

AI需要一个更抽象的接口,比如帮我测一下PA5脚的PWM频率和占空比,而不是自己去写什么*IDN??

第二层,测试环境本身还是需要人来搭。探头往哪夹,触发条件设什么,量程选多少,这些物理操作AI干不了。

但如果你把探头夹好、环境配好,剩下的读取数据和分析判断,AI估计完全能做。

所以这件事的分工其实挺清晰的。

人负责物理世界的搭建和连接。

AI负责数字世界的读取和分析。

中间的桥梁,是仪器本身的标准接口。

回到开头那个CLI的话题。

飞书开放CLI,是在给AI打开办公世界的门。GitHub开放gh命令,是在给AI打开代码世界的门。那SCPI和VISA这些仪器标准,是不是就是给AI打开物理世界的门?

我一直觉得一个事。

AI的能力边界,不是由AI自己决定的。

是由它能接触到的接口决定的。

它能接触CLI,就能操作软件。它能接触API,就能调用服务。它能接触SCPI,就能读取物理世界的测量数据。

每一次新的接口被接通,AI的能力就向外扩展一圈。

而仪器自动化这个接口,基础设施已经在了,只是还差一个AI友好的封装层。谁来做这个封装层,我不知道。可能是一个开源项目,可能是一个小团队,也可能就是某个嵌入式工程师周末闲着没事搞出来的。

但我觉得这个方向,值得被看见。

如果你是做嵌入式的,或者做仪器自动化的,可以去研究下,如果能实现,硬件调试闭环可能将彻底被打通。