Skip to main content
< All Topics
Print

【Vibe】U03. 建立你的AI韌體助手/專屬家教

✨閱讀技巧:請瀏覽一次本單元的文字說明,在腦海中建立知識輪廓之後,再看最後的影片DEMO。接下來就是你的反覆實作練習。

進入主題……

第 3-1 小節:前單元回顧

來到第三單元囉!在真正開始撰寫第一組 Vibe Coding 提示詞(Prompt)之前,讓我們用心理學中「後設知識(Metaknowledge)」的強大視角來回顧【第二單元、一位稱職的韌體架構師】的核心精華。

每回PBL課程,我總是喜歡引用心理學中,約翰·弗拉維爾(John Flavell)提出的【個人、任務、策略】三種知識層面。這三種知識是後設認知(Metaknowledge)的一體三面,對於面對PBL、個人知識建構,或是AI此類新興工具,特別有效。本小節,我們就採用【個人、任務、策略】三種知識層面進行上一單元的內容回顧吧!

面對「如何使用 AI 助手進行韌體程式開發」這項全新任務,我們一起在心裡層面與行動策略上,其實已經悄悄完成了三個層次的進化:

  1. Personal(個人知識):認清你與 AI 的角色定位
    在第二單元中,我們建立的最重要心態就是「角色轉換」。你必須清楚認知到自己的定位是「韌體架構師」——你負責繪製戰略藍圖、定義邏輯條件;而 AI 則是那位「語法極強,卻完全沒有實體硬體概念的盲目工程師」 。
    在心理層面上,這是一種「認知卸載」。我們暫時性地不再去死背繁瑣的 C++ 語法,而是將這些底層勞動交給 AI,把大腦的運算空間保留給最高階的戰略思考與系統架構設計。但是,不對 AI 抱有全知全能的錯誤期待,是我們成功駕馭它的第一步。
  2. Task(任務知識):深刻理解「韌體」的物理硬限制
    我們認知到了當前任務的特殊性:寫「韌體」跟寫「純軟體」有著天壤之別。純軟體可以天馬行空,但韌體開發存在著絕對的「硬體區域性」 。你的 ESP32 開發板、dual2s 控制器的腳位定義(例如狀態燈固定為 DUAL2S_HW::WSLED,或是你的電路接線變動),這些都是實實在在的物理限制 。
    如果我們沒有向 AI 交代清楚這些物理邊界,AI 為了強行給出答案,就會開始「通靈」發明不存在的函式或腳位,最終導致編譯失敗(翻車)。理解這項任務的先天難度與資訊量,是我們制定防禦策略的基礎 。
  3. Strategy(策略知識):備齊「三寶」與 SKILL 檔的完美通關法
    既然知道了自己的定位(Personal)與任務的痛點(Task),我們的行動策略(Strategy)是什麼?第二單元給出了完美解答:在召喚 AI 之前,必須先備齊「三寶」。
    這三寶包含了明確的「專案任務說明」、詳細的「硬體環境規格」,以及最重要的——專屬「員工手冊」(dual2s-Skill.md 規則指南) 。我們透過這份 SKILL 檔,為 AI 戴上「零容忍幻覺防禦機制」的緊箍咒,明定 API 白名單與絕對禁止事項 。這就是我們用來徹底消滅 AI 幻覺、確保程式碼一次編譯成功的最高行動策略!

帶著這套完整的「後設認知」裝備,接下來,我們終於要進入實戰,教你如何把這些心理建設與策略化為實際的 AI 提示詞了!準備好了嗎?


第 3-2 小節:打造你的專屬AI韌體助手/家教

準備好你的提示詞(Prompt)了嗎?在我們正式對 AI 下達開發指令前,還有一個至關重要的「前置作業」。就像新員工報到需要先讀懂公司的系統架構圖一樣,我們必須先幫 AI 建立起正確的「開發環境認知」,才能避免它後續發生幻覺。

餵給 AI 關鍵資料:建立專屬開發環境
要讓通用型的大語言模型 (LLM) 瞬間化身為 dual2s 專屬的韌體工程師,你必須在對話的最一開始(或利用 AI 工具的 System Prompt / Project Knowledge 功能),提供以下三大核心的環境資料:

標頭定義檔 (.h):例如 dual2s.h。這就像是硬體與軟體溝通的「字典」。它明確告訴 AI 我們的相撲車有哪些類別、列舉常數(如 GoSUMO::FORWARD)與預設腳位名稱(如 DUAL2S_HW::WSLED)。有了字典,AI 就不會憑空發明不存在的腳位。

原始實作檔 (.cpp 關鍵片段):提供核心的 .cpp 原始碼,能讓 AI 深入理解底層函式的運作邏輯。例如,當 AI 讀過蜂鳴器的實作代碼,就會知道必須先將腳位卸載才能更新頻率,從而寫出更符合底層硬體特性的安全代碼。

規則指南 (SKILL 檔):這是最無可取代的「員工手冊」。將 dual2s-Skill.md 的內容完整提供給 AI,明確劃定 API 的白名單與絕對禁止事項(例如:絕對禁止在迴圈中使用阻塞式的狀態輪詢)。


第 3-3 小節:你有專屬AI韌體家教囉~

👉只要完整餵入這三份資料,你的 AI 助手就成功「連線」到你的硬體實體,環境建立宣告完成!

把 AI 當作「活生生」的韌體教科書進行自學
環境建立後,AI 已經完全理解你的硬體限制與開發規範。此時,身為「韌體架構師」的你,千萬不要只淪為無情的「複製貼上」機器!你應該善用這位完全懂你硬體的「活字典」,進行高效率的自學:

反向提問法(多問「為什麼」):
當 AI 生成了一段完美的非阻塞式(Non-blocking)超音波索敵程式碼時,請主動反問它:「為什麼這裡要用 millis() 來計算時間差,而不能直接用 delay(200)?」AI 會立刻結合硬體特性為你解說阻塞程式碼如何害機器人反應遲鈍,這比看任何靜態教科書都來得深刻。

白話文逐行解析:
如果看不懂某個複雜的函式呼叫,你可以圈選該段代碼並對 AI 說:「請用新手能懂的比喻,逐行解釋這段藍牙搖桿事件驅動(Event-driven)的邏輯。」讓 AI 用你的語言程度為你客製化教材。

情境推演與除錯導師:
當你想實驗新戰術(例如:如果偵測到白線邊界,要如何後退並轉向?)或者遇到編譯錯誤時,把你的邏輯想法或紅字錯誤碼丟給 AI。請它不僅要給出正解,還要「解釋錯誤發生的根本原因」。藉由這個過程,你可以不斷修正自己對 C++ 語法與硬體邏輯的認知。

透過這些互動技巧,AI 將不再只是一個冰冷的代碼生成器,而是蛻變成一位永遠耐心、隨傳隨到,且完全熟悉你手邊那台 RhinoSUMO 相撲機器人的「專屬實戰家教」!


第 3-4 小節:實作示範影片

本影片使用的Prompt

  • 提示詞1. 你是ESP32、韌體程式、機器人自走車的專家,這是我的重要開發資料,請分析並記錄:
  • 提示詞2. 依據dual2s函數庫,將ESP32 GPIO的腳位定義整理成表格形式,並且提供說明。
  • 提示詞3. 請解說此程式的用途與架構:

第 3-5 小節:結論

面對「如何使用 AI 助手進行韌體程式開發」這項全新任務,我們一起在心裡層面與行動策略上,也就是在後設認知(Metaknowledge)的個人、任務、策略三種知識角度上,悄悄地完成了三個層次的進化。並且透過實作演練,建立了【打造你的專屬AI韌體助手/家教】這個目標。

下個單元【U04. 硬體控制變換練習】,我們將要在這單元的基礎上開始進行GoSUMO/dual2s/esp32多種韌體編修練習。

最後,我用一個問題留給大家思考:
Q. 本單元的Vibe Coding環境建立方式,可以應用到其他微控器之上嗎? How To?

Table of Contents