導(dǎo) 語
今天大家已經(jīng)越來越接受coding agent參與開發(fā),越來越多團隊開始把coding agent引入日常開發(fā)流程,TRAE/Codex/Claude Code/Cursor等coding agent被廣泛應(yīng)用。
它可以讀代碼、改代碼、補測試、解釋問題,甚至能完成一部分自動修復(fù)工作。看上去,agent正在快速成為開發(fā)者的“第二工作臺”。
但在MCU場景里,一個agent真的有用,標準從來不只是會寫代碼,改完之后,能不能按正確方式把工程驗證清楚也很重要。
nxp-mcu-build-verify這個skill解決的,正是這件事。
本文不過多的介紹Skill的概念,更多介紹請參考https://mp.weixin.qq.com/s/LUyHgdaByxZuDyCfSxolIA
nxp-mcu-build-verify這個skill理論上支持所有支持skill的coding agent,例如TRAE/Codex/Claude Code/Cursor等,已經(jīng)在Codex和Claude Code下進行了實測。
并且也支持所有NXP的通用MCU支持的IDE,包括Keil,IAR,MCUXpresso IDE和MCUXpresso for Visual Studio Code。
正 文
很多通用agent都擅長處理源碼、腳本和配置,也擅長調(diào)用常見構(gòu)建命令??蒑CU工程并不是一個“統(tǒng)一入口、統(tǒng)一格式、統(tǒng)一工具鏈”的世界。
一個工程目錄背后,可能是IAR、Keil、MCUXpresso IDE,也可能是MCUXpresso VS Code。不同項目類型對應(yīng)不同的工程文件、不同的原生構(gòu)建工具、不同的配置名,甚至依賴不同的宿主機環(huán)境、工作區(qū)機制和IDE許可證狀態(tài)。
這意味著:如果不給coding agent一套專門的能力,它雖然會執(zhí)行命令,卻不一定知道該執(zhí)行什么命令,更不一定知道什么才算真正完成了編譯驗證。
通用Coding Agent在MCU場景里,最容易錯在哪?
如果把一個沒有專門skill的通用coding agent直接放進MCU工程里,它通常會出現(xiàn)幾類典型問題。
它容易錯誤回退到使用gcc,甚至是宿主機的x86 gcc,這是最常見、也最危險的一類誤判;很多通用agent在遇到IDE工程時,會本能地尋找一種“通用替代路徑”。
如果它發(fā)現(xiàn)目錄里有源碼文件,就可能嘗試gcc,甚至是嘗試使用宿主機的x86 gcc;如果它發(fā)現(xiàn)有部分CMake痕跡,就可能誤以為整個工程都能按通用CMake工程處理。
而對于IAR、Keil這類工程來說,回退到gcc,是明顯錯誤的。
它會花很多時間,大量浪費寶貴的上下文做“無效嘗試”;
沒有領(lǐng)域約束時,agent的典型策略是不斷試錯:
這條命令不行,換一條;
這個工具不行,換一個;
這個路徑失敗,再猜一個。
這種模式在工具鏈明確、規(guī)則嚴格的MCU開發(fā)里,往往會造成大量無效嘗試。不僅浪費時間,還會讓用戶很難判斷:agent到底是在做有效驗證,還是在漫無目的地碰運氣。
Coding Agent用了這個Skill有什么直接好處?
給coding agent提供nxp-mcu-build-verify,最大的價值,不在于它學(xué)會了一條命令,而在于它的工作方式發(fā)生了變化。它會從“能寫代碼的agent”,變成“能參與MCU工程編譯驗證閉環(huán)的agent”。
節(jié)省寶貴的上下文空間,大幅減少誤判和無效試錯;
上下文空間是Coding agent最寶貴的資源,減少了誤判和試錯能將節(jié)省出大量的上下文空間,用于執(zhí)行真正的開發(fā)任務(wù)
提高了效率和自動化程度
有了這個skill之后,再也不用手動將IDE的編譯錯誤貼給coding agent了。現(xiàn)在coding agent可以自行編譯,并且能直接根據(jù)編譯結(jié)果進行排查,大大的提高了效率。這也讓MCU開發(fā)離自動擋又近了一小小步。
只用四個字,AI幫我解決bug
下面我們來真刀真槍演示一下這個skill。演示環(huán)境是Claude Code,在Windows下編譯Keil工程。
首先我們啟動小老弟claude code,讓小老弟幫忙“編譯一下”,注意,這里并沒有告知claude code這是一個什么工程:

可以看到,小老弟自動加載了skill,并識別到了這是個Keil的工程。
緊接著,小老弟開始按照skill進行編譯:

欸,編譯失敗了,當然這是我為了考驗小老弟和這個skill,故意制造了一個錯誤。
這種小問題是難不倒小老弟的,根據(jù)剛才編譯產(chǎn)生的報錯信息,小老弟干凈利落地找到了問題,并且已經(jīng)自覺自動地修復(fù)好了:

大功告成!
從頭到尾,只說了4個字,AI就搞定了從編譯到排錯的所有問題。
讓我們檢查一下小老弟的上下文占用情況:

可以看到,有了skill標準的規(guī)定,coding agent再也不像無頭蒼蠅一樣自行胡亂嘗試,也不是一股腦加載所有提示詞,而是按需加載。這提高了效率,節(jié)省了很多上下文,可以用省下來的token錢去加油站加油。
結(jié) 語
這個skill開源在github:
https://github.com/0xchaihu/nxp-mcu-build-verify,歡迎大家試用和指導(dǎo)。
由于IDE的局限性,目前只支持Windows平臺。對IDE的兼容性考慮可能不夠,所以請盡可能在新的IDE配合使用(例如Keil 5.x以及IAR 9.5x以上版本)。
嵌入式IDE的兼容性和環(huán)境較為復(fù)雜,難免會有bug,歡迎大家反饋。
-
mcu
+關(guān)注
關(guān)注
147文章
19094瀏覽量
402721 -
NXP
+關(guān)注
關(guān)注
61文章
1410瀏覽量
198927 -
Agent
+關(guān)注
關(guān)注
0文章
216瀏覽量
29120
原文標題:會寫代碼還不夠,Coding Agent開發(fā)MCU軟件還需此技能~
文章出處:【微信號:NXP_SMART_HARDWARE,微信公眾號:恩智浦MCU加油站】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
通用Coding Agent在MCU場景里最容易錯在哪
評論