在不需要硬件交互的純軟件項目中,ChatGPT和Gemini等大語言模型(LLM)可以幫助程序員以前所未有的速度加速開發(fā)進(jìn)程。這種輔助通常包括在開發(fā)人員編寫代碼時提供補全建議,或在排查錯誤和語法錯誤時提供故障排除建議——這些都是耗時的編程環(huán)節(jié)。這些模型的文本生成功能似乎與軟件開發(fā)相輔相成,但幸運的是,這些模型在硬件項目中也能發(fā)揮重要作用。特別是對于Arduino這類平臺,它既適用于業(yè)余項目,也適用于概念驗證硬件產(chǎn)品,LLM能夠加速開發(fā)流程,而不僅僅是生成有用的代碼片段。
用AI繪制草圖
Arduino項目的關(guān)鍵部分是草圖,但正如任何工程師都會告訴你的,這只是整個流程的一部分。使用Arduino構(gòu)建項目的另外兩個主要步驟是:
(1)閱讀有關(guān)特定板卡和組件的文檔,了解引腳分配和使用要求;
(2)規(guī)劃整體軟件流程和架構(gòu)。完成這些初始步驟后,將繼續(xù)項目的基礎(chǔ)工作,這通常包括排查意外或模糊的錯誤信息。在編寫草圖代碼的同時,可以編寫測試用例并識別功能缺失。
幸運的是,在開發(fā)過程中引入人工智能(AI)助手,可以優(yōu)化這些階段。AI助手的角色至關(guān)重要;雖然這些AI模型在生成復(fù)雜輸出方面似乎能創(chuàng)造奇跡,但它們并不總是準(zhǔn)確無誤,而且在試圖用代碼解決大型復(fù)雜問題時,往往會忽略重要細(xì)節(jié)。因此,與工程師或具備類似經(jīng)驗的技術(shù)人員合作,對于測試和驗證代碼是否按預(yù)期運行以及項目是否成功至關(guān)重要。LLM的選擇也很重要;盡管ChatGPT最為知名,但Claude、Gemini和Copilot等其他LLM因其出色的編碼能力也值得考慮。
閱讀文檔

圖:ChatGPT展示了其獲取元件數(shù)據(jù)手冊(Adafruit TSL2591高動態(tài)范圍數(shù)字光傳感器)并編寫使用該元件所需的基本代碼的能力。(圖源:作者)
Arduino項目不僅僅是編寫草圖代碼。在開始軟件編程之前,還需要進(jìn)行一些準(zhǔn)備工作。具體來說,就是需要閱讀文檔和規(guī)格說明,了解如何與所選組件交互,識別預(yù)期的輸入和輸出以及任何限制或范圍。根據(jù)組件類型的不同,這些文件可能相當(dāng)冗長且繁瑣,因此有一個AI助手來簡化這一過程是非常有益的。
許多LLM可以接受像數(shù)據(jù)手冊等文件格式,以回答有關(guān)規(guī)格、功能和要求的問題(圖2)。部分模型還具有多模態(tài)能力,能在一定程度上理解這些文件中的圖形和電路板示意圖。同樣,生成式AI可加速對新組件未知功能的理解與學(xué)習(xí)。這在項目中首次使用新模塊庫時尤其有用。
構(gòu)思和結(jié)構(gòu)設(shè)計
AI還可以幫助理解高級流程,尤其是在多個組件相互作用的情況下。如果在做出影響其他電子元件的復(fù)雜、多方面決策之前,需要讀取許多傳感器數(shù)據(jù),那么在編碼之前先構(gòu)思偽代碼流程或研究軟件布局可能會有所幫助。這還包括確定不同代碼是否應(yīng)分布在不同的文件中,以及這些文件之間可能的相互作用。如果項目不是特別復(fù)雜,可以快速啟動項目,先讓模型生成最基本的循環(huán),然后再繼續(xù)開發(fā)。
編寫代碼

圖:根據(jù)左邊的指令,ChatGPT能夠?qū)⒉糠执a重寫為函數(shù),因此右側(cè)的主循環(huán)會更加簡潔。(圖源:作者)
如前所述,LLM在生成代碼方面表現(xiàn)出色,但并非完美無缺,尤其在處理冗長復(fù)雜的輸出時。有鑒于此,采取以下步驟就能避免因修復(fù)錯誤而造成的延遲,從而加速開發(fā)進(jìn)程。
首先,每次僅請求生成小段代碼,并通過簡潔明了地概述輸入、輸出及預(yù)期功能來明確需求。例如,為AI提供精確的設(shè)計風(fēng)格注釋和起始代碼,可以幫助生成更優(yōu)質(zhì)的代碼。對于編寫常見代碼段,如控制LED閃爍、輸出脈寬調(diào)制信號、驅(qū)動編碼器或讀取流行傳感器數(shù)據(jù),尤為有效。
其次,要求AI修改代碼段(如現(xiàn)有草圖中的代碼段),使其與當(dāng)前項目相匹配。這種方法還可用于精簡代碼,將部分代碼轉(zhuǎn)化為可重復(fù)使用的函數(shù),并確保代碼生成請求明確描述硬件限制,如具體的微控制器型號(如Arduino Uno與ESP32)以及任何電源、內(nèi)存或引腳限制。這樣可以確保生成的代碼針對所用開發(fā)板進(jìn)行優(yōu)化,并避免與特定架構(gòu)不兼容的函數(shù)。
在使用模型生成代碼時,驗證模型是否出錯同樣重要,因此請務(wù)必審查代碼,并使用在線模擬器(如Tinkercad)進(jìn)行測試。此外,AI還能生成調(diào)試代碼行,以簡化調(diào)試過程;例如,如果有部分AI代碼不清晰,它往往會在被問及時能成功解釋具體代碼的含義。最后,如果模型出現(xiàn)錯誤,還可以對其進(jìn)行調(diào)試,這在已經(jīng)有生成代碼作為上下文的情況下尤其有用。
結(jié)語
強(qiáng)大的現(xiàn)代AI模型(如LLM)正在以前所未有的速度加速軟件開發(fā),但它們在提升硬件項目方面也大有可為。這一點在編寫Arduino草圖等任務(wù)中尤為明顯。這些模型不僅能幫助開發(fā)者為這類系統(tǒng)生成代碼,還能在項目其他環(huán)節(jié)提供支持,例如理解文檔、解析不熟悉的組件庫,以及在實施前構(gòu)思整體軟件流程。與任何軟件工具一樣,AI模型并非完美無缺,也無法取代參與硬件項目的人類開發(fā)者,但其作為工程輔助工具的能力,正是加速開發(fā)流程的理想選擇。
-
AI
+關(guān)注
關(guān)注
91文章
39755瀏覽量
301358 -
模型
+關(guān)注
關(guān)注
1文章
3751瀏覽量
52099 -
工程設(shè)計
+關(guān)注
關(guān)注
0文章
21瀏覽量
11384
原文標(biāo)題:讓AI成為工程設(shè)計的得力助手
文章出處:【微信號:貿(mào)澤電子,微信公眾號:貿(mào)澤電子】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
使用NORDIC AI的好處
NVMe高速傳輸之?dāng)[脫XDMA設(shè)計44:工程設(shè)計考量?
RK3576在智能工程機(jī)械中的應(yīng)用|三屏八攝AI視覺解決方案
洲明科技榮登2025全球工程設(shè)計優(yōu)選品牌TOP50榜單
英飛特入選“全球工程設(shè)計優(yōu)選品牌 TOP50”
【「AI芯片:科技探索與AGI愿景」閱讀體驗】+可期之變:從AI硬件到AI濕件
【「AI芯片:科技探索與AGI愿景」閱讀體驗】+內(nèi)容總覽
電子發(fā)燒友工程師看!電子領(lǐng)域評職稱,技術(shù)之路更扎實
Altair 發(fā)布全球100 個 AI 應(yīng)用案例,助力企業(yè)加速 AI 技術(shù)應(yīng)用
AI 芯片浪潮下,職場晉升新契機(jī)?
【書籍評測活動NO.64】AI芯片,從過去走向未來:《AI芯片:科技探索與AGI愿景》
明治傳感器產(chǎn)品模型正式入駐Eplan平臺,助力高效工程設(shè)計!
明治傳感產(chǎn)品模型正式入駐Eplan平臺,助力高效工程設(shè)計!
AI技術(shù)在工程設(shè)計的應(yīng)用
評論