news 2026/10/15 15:28:03

嵌入式AI编程:补全型和Agent型工具区分

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
嵌入式AI编程:补全型和Agent型工具区分

AI编程工具这两年迭代太快,叫法也乱。我天天在嵌入式AI编程里跟Agent、Copilot、Cursor这些名字打交道,一开始没觉得有啥区别,真用起来才发现是两码事。折腾过几轮,我按干活的方式分成两类:补全型和Agent型。

01两种工具,根本不是一回事

补全型,就是输入法。你在编辑器里敲,它在光标后面猜下一段。GitHub Copilot、Cursor的Tab补全、Tabnine都算这一类。快是真快,视野也真窄,它只看当前文件。

Agent型是实习生,丢任务给它,它自己读工程、改文件、跑命令、看报错,改完再跑一轮。Claude Code、Codex CLI、Cursor的Agent模式都算。慢,费token,但能自己干活。

输入法不会替你做决定,实习生会。这个差别,放到嵌入式开发里被放得特别大。

怎么判断一个工具到底是哪一类,看执行权在谁手里。它改完代码,要不要你自己复制、自己粘贴、自己编译。要,就是补全;不要,才是Agent。

容易混,是因为界面长得像。同一款工具里补全和Agent并存,菜单挨着菜单,不少人开着Agent模式当补全用,白费了token,还嫌它慢。

02补全型在嵌入式里擅长什么

补全最适合的,是那些一眼就知道怎么写的代码。头文件、寄存器宏、HAL库调用骨架、重复的外设初始化,这些样板活,它能省一大半打字量。

举个具体的。你写一行注释:USART1,115200,8N1。它能把HAL_UART_Init、GPIO复用、中断开启一整段补出来,省事是真省事。

边界也清楚:它不理解工程,不知道你的板子是什么芯片、什么时钟。跨文件的逻辑接不上。你在A文件定义的东西,到B文件它就当不存在。

没人喂上下文的时候,补全默认你用的是最常见的板子。时钟配置按训练数据里出现最多的写,编译一个错没有,烧进去外设全不转。这种亏,我吃过一次就记住了。

所以嵌入式里用补全,先把上下文喂够。芯片、时钟、引脚写进注释,它补出来的代码才靠谱。D3那篇的硬件上下文,就是干这个用的。

03Agent型能管到哪一步

Agent型的本事,是把整个工程当上下文。让它读,它就通读一遍;让它改,跨文件也下得去手。编译报错丢给它,它自己定位、自己改,改完再编译,直到干净为止。

这套在纯软件工程里已经很顺。嵌入式差在末了一环,它手里没有板子。时序对不对、引脚冲不冲突、上板能不能跑,它看不见。编译通过离能上板,还差一大段路。

我的用法是:代码生成交给它,报错循环交给它,上板验证留给自己。终端输出整段贴过去,它自己找文件、改代码、再编译,几轮下来编译干净,我再送审查。

Agent有个毛病,敢下重手。改错文件、顺手删了不该删的,我都撞见过。版本控制是底线,它每次动完,先看diff再放行。

04嵌入式里怎么分派

分派的标准就三条:跨不跨文件、要不要跑工具、沾不沾硬件。

三条都不沾的,交给补全。写一段独立初始化、填一个结构体、改一处寄存器配置,补全很快。

跨文件或者要跑工具的,交给Agent。重构、加功能、查编译报错,这类它干得比人快。

沾硬件的,人自己来。时序、上板、示波器,Agent现在干不了。

套用到任务上,一遍就过。改个日志打印,单文件不碰硬件,补全。给整个工程换时钟源,跨文件动配置,Agent。排查上电偶发重启,得上板量波形,人。

这套标准不是写死的。工具在进化,边界在动,判断的尺子不用换,量出来的结果过几个月可能就不一样。隔段时间回头看一眼就行。

05例子:屏幕驱动的分工

拿SPI屏幕驱动说。工程结构、引脚定义、时钟配置,这些跨文件的活,Agent改。单文件里的函数体、寄存器操作,补全写。波特率分频、上板时序,人核。

具体到Agent那摊活,它是把SPI相关的文件串起来动:头文件补声明、主程序加初始化调用、工程目录扫一遍确认没有漏文件。补全只负责函数体里的寄存器读写。人盯剩下的两样:分频值和上板波形。

一轮下来,分到人手里的活就剩核对和上板两件事。

这轮分工有个前提:工程说明书得先喂好。D2那份就是干这个的,Agent进工程先读,补全也认。缺了它,工具全在瞎猜。

06Agent能不能自己调编译器

AI Agent自己调编译器,这事有开源方案了。条件是把编译、烧录这些命令,封装成它能调用的Skill。

Skill说白了就是给命令写使用说明。keil build怎么调、工程在哪个目录、烧录用哪根调试器,写成一段结构化的说明,AI到该用的时候自己会去调。

开源项目embeddedskills干的就是这个。Keil、GCC的编译,J-Link、OpenOCD的烧录调试,串口、CAN的通信监控,全部封装成Skill。AI改完代码自己编译,看到报错自己改,再编译一轮。

这一步打通,嵌入式里“改代码→编译→烧录→验证”的循环,人就能从中间退出来大半。

自动化到哪一步为止,边界也清楚。编译烧录能交出去,硬件验证交不出去。板子上的事,人还在。

补全和Agent的划分,业界没有统一口径,本文按公开评测里常见的分档思路讲。文中引用的两组数字——AI生成驱动框架提效50%到70%、提示词补齐后首次通过率提升63%——出自什么值得买《AI能否独立完成嵌入式开发全流程?》,168位作者联合实测;embeddedskills为GitHub开源项目;Claude Code、Codex CLI、Cursor、Copilot等工具情况来自官方文档与公开对比。分工清单按本号操作习惯整理,仅供参考。封面与配图由AI技术生成。

两类工具分清楚,效率差一半。收藏一份,下次开工程照着这张图分派。

本文转自于:https://mp.weixin.qq.com/s/t7P17SkoWBBhnpLEAZfKsA

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

BMS电池管理系统Simulink建模:从SOC估算到保护均衡策略

简介:面向电动汽车与储能系统开发者,这份电池BMS管理系统Simulink模型提供了从电池建模到保护策略的完整仿真平台。包内以slx主模型、ssc电气元件、mat参数数据以及m脚本为主,共43个文件、约304KB,可在MATLAB中直接打开、调试与扩…

作者头像 李华
网站建设 2026/10/15 15:26:48

Ubuntu新系统搜不到WiFi?无线网卡驱动安装全流程详解

新电脑装好Ubuntu系统,桌面正常、声音正常,点开右上角网络菜单,Wi-Fi列表却是空的。这个场景我在帮人装系统的过程中见过不止一次,自己第一次遇到的时候也愣了半天。问题通常不是无线网卡硬件坏了,而是Ubuntu系统并没有…

作者头像 李华
网站建设 2026/10/15 15:26:44

STM32F4驱动无晶振无FIFO OV7670:DCMI实现车牌识别与颜色识别

做这个项目的时候,我手头只有一块最普通、不带晶振也不带FIFO的OV7670模块。网上一搜,教程基本都是"带FIFO的OV7670怎么用",因为FIFO版本接51或者STM32F1都方便,很多人默认"没FIFO的STM32玩不了摄像头"。但实…

作者头像 李华
网站建设 2026/10/15 15:25:31

栈溢出返回地址劫持的底层原理与可靠利用方法

1. 这不是“改个地址”那么简单:一次函数返回地址修改实验的真实分量看到标题里“【0day安全实验三】2.3修改函数返回地址”,很多人第一反应是:“哦,栈溢出基础操作,把retaddr覆盖成shellcode地址就行。”我第一次在某…

作者头像 李华
网站建设 2026/10/15 15:25:00

Python+OpenCV车牌识别实战:传统图像处理从定位到字符分割

简介:这是一套基于Python与OpenCV实现的车牌识别系统源码资源,面向计算机视觉入门者、课程设计或毕业设计需求的学生,以及希望了解车牌检测与识别完整流程的开发者。资源在原项目基础上扩展了摄像头实时识别功能,并优化了识别模块…

作者头像 李华