直覺式程式開發是什麼?

直覺式程式開發是一種新興的軟體開發做法,作業過程極為仰賴人工智慧技術 (AI)。這個詞彙由 AI 研究人員 Andrej Karpathy 在 2025 年初提出,是指開發人員主要透過語音或文字輸入自然語言提示,簡單說明需求來指示 AI 工具生成、修正及偵錯程式碼。這種做法的核心概念,是讓使用者專心說明想要軟體執行的操作 (即「感覺」(vibe) 或意圖),由 AI 負責處理大部分的作業,也就是實際導入程式碼。

直覺式程式開發做法旨在降低軟體製作的門檻,而且所需時間可能更短,特別適合較簡單的專案或原型設計工作。不過,我們必須清楚區分「純粹的直覺式程式開發」和「ㄧ般的 AI 輔助開發」這兩個概念。

正如 Karpathy 的論點,採用純粹的直覺式程式開發做法時,應該要「忘記」程式碼的存在,表示整個過程多半仰賴 AI 的輸出內容,開發人員甚至不必完全理解生成的程式碼。另一方面,如果採用負責任的 AI 輔助開發做法,開發人員可使用 AI 工具 (如 Gemini Code Assist) 提高工作效率,但在將程式碼整合至專案前,仍需仔細檢查、測試及徹底瞭解程式碼。

直覺式程式開發的運作方式為何?

直覺式程式開發通常需要完成下列步驟,之後便會進入循環:

  1. 以自然語言輸入內容:使用者用文字或語音提供淺白易懂的指令,向 AI 程式設計助理說明所需的功能或工作。AI 會將輸入內容當做基礎。
  2. AI 進行解讀:AI 模型會分析輸入內容、識別主要需求,並判斷必要的程式碼結構和邏輯。
  3. 生成程式碼:AI 會根據解讀結果生成程式碼,可能包含函式、類別或完整程式。
  4. 執行及觀察:使用者執行生成的程式碼,確認是否正常運作。
  5. 提供意見回饋並修正問題:如果發生錯誤或功能不符合需求,使用者可以向 AI 提供意見回饋,通常只要自然地說明問題 (例如「按鈕應該是藍色的」或「輸入負數後就當機了」),或貼上錯誤訊息即可。接著,AI 就會嘗試生成正確或修改後的程式碼。
  6. 重複步驟:持續進行「生成 -> 執行 -> 觀察 -> 意見回饋 -> 修正」這個循環,直到使用者取得想要的結果為止。

直覺式程式開發與傳統程式設計

傳統程式設計需要開發人員手動撰寫程式碼,過程不僅費時,還得具備深厚的程式設計語言和語法知識。直覺式程式開發提供了另一種做法,改變原有的互動模式。

以下是這兩種做法的差異:

功能

傳統程式設計

直覺式程式開發

程式碼建立方式


手動逐行寫程式

AI 根據自然語言提示生成


開發人員角色

架構師、實作人員、偵錯人員

輸入提示者、引導者、測試人員、修正人員

需要的程式設計專業知識程度

偏高 (熟悉程式設計語言和語法)

偏低 (只需瞭解所需功能)

主要輸入內容

精確的程式碼

自然語言提示

開發速度

通常較慢,但更有條理

可能較快,特別是在為較簡單的工作設計原型時

處理錯誤

根據對程式碼的理解來手動偵錯

必須反覆向 AI 提供意見回饋,而且偵錯複雜的 AI 程式碼並不容易

學習門檻

通常較高

入門的門檻可能較低

程式碼可維護性

仰賴開發人員的技能和既有做法

可能會非常依賴 AI 輸出內容的品質和使用者的檢查

功能

傳統程式設計

直覺式程式開發

程式碼建立方式


手動逐行寫程式

AI 根據自然語言提示生成


開發人員角色

架構師、實作人員、偵錯人員

輸入提示者、引導者、測試人員、修正人員

需要的程式設計專業知識程度

偏高 (熟悉程式設計語言和語法)

偏低 (只需瞭解所需功能)

主要輸入內容

精確的程式碼

自然語言提示

開發速度

通常較慢,但更有條理

可能較快,特別是在為較簡單的工作設計原型時

處理錯誤

根據對程式碼的理解來手動偵錯

必須反覆向 AI 提供意見回饋,而且偵錯複雜的 AI 程式碼並不容易

學習門檻

通常較高

入門的門檻可能較低

程式碼可維護性

仰賴開發人員的技能和既有做法

可能會非常依賴 AI 輸出內容的品質和使用者的檢查

直覺式程式開發的優點

直覺式程式開發有許多優點,特別適合經驗較少的軟體開發人員。

方便更多人使用

與低程式碼和無程式碼開發程序類似,直覺式程式開發也降低了軟體開發的門檻。即使沒有接受過程式設計正規訓練的人,也能參與軟體解決方案建立和自訂等方面的工作。這種開發方式的普及化,能為這個領域帶來更多不同的觀點與創新。

加快開發速度

採用 AI 技術的程式碼生成功能可大幅縮短原型、最簡可行產品 (MVP) 或概念驗證的開發時間。自動處理一成不變或重複性工作,有助於加快初期階段的進展。

提升效率

對於經驗豐富的開發人員來說,AI 可以處理例行性工作,讓他們能夠專心解決複雜的問題、設計系統架構及推動創新。

錯誤率降低

AI 模型是以大量程式碼和資料訓練而成,因此能夠生成較不易出錯的程式碼。這可能會讓軟體應用程式更可靠且穩定,比較不需要大量偵錯或測試。

著重於意圖

AI 會簡化實作細節,讓創作者專注於軟體要達成目標及提供的使用者體驗,而非語法怎麼寫。

直覺式程式開發的難題

雖然直覺式程式開發好處多多,但同時也帶來了一些難題,使用者和機構採用時應多加考量:

程式碼品質與可靠度

AI 模型有時會「產生幻覺」,生成看似合理,但其實有細微缺陷、效率不佳或邏輯錯誤等問題的程式碼。若未經過嚴格驗證,就貿然採用 AI,可能會導致軟體不可靠。

偵錯與維護

如果使用者過度依賴 AI,而且對生成的程式碼沒有深入的瞭解,日後可能會很難找出並修正錯誤,這可能會增加長期維護的難度。

潛在的過度依賴問題

過度仰賴 AI 可能會妨礙人類培養基礎程式設計技能,和深入理解程式設計運作原理的能力,進而限制開發人員處理極度複雜或新問題的能力。

安全漏洞

如果基礎模型在訓練時,未以安全性最佳做法為優先考量,或是輸出內容沒有經過具備資安專業知識的人員徹底審查,AI 生成的程式碼可能會不慎引入安全性瑕疵,這些安全漏洞之後有可能會遭到惡意行為人利用。

擴充性和複雜度方面的限制

目前看來,直覺式程式開發最適合用於較簡單的應用程式或特定模組,但對於需要複雜邏輯、高效能或高度可靠性的大型複雜系統而言,效果可能就會大打折扣

可靠性

如果未完全瞭解功能就使用程式碼,可能會引發專業責任問題,尤其是在企業或重要業務應用程式中,錯誤可能會造成嚴重後果。

如何使用 Gemini Code Assist 開始以直覺方式開發程式

Gemini Code Assist 是 AI 輔助程式設計助理,可協助開發人員在整合式開發環境 (IDE) 中更有效率地撰寫程式碼。這項工具不僅支援多種 AI 輔助開發功能,還能理解自然語言提示,協助使用者輕鬆完成「直覺式程式開發」工作流程。

直覺式程式開發範例

以下列舉幾個情境範例,說明如何以直覺式程式開發方式,使用 Gemini Code Assist:

  • 根據自然語言意圖生成程式碼:您不必逐行編寫 Python 程式碼,只要直接輸入提示,例如「寫一個符合以下條件的 Python 函式:會以檔案名稱做為輸入內容、使用 pandas 讀取 CSV 檔案,並傳回包含 'email' 欄所有值的清單。」Gemini Code Assist 就會根據這段說明,生成函式程式碼。
  • 透過意見回饋改善功能:如果生成的程式碼第一版不太符合需求,您可以接著說:「請修改剛才生成的函式,追加以下功能:處理可能發生的 FileNotFoundError 例外狀況,以及如果檔案不存在,就傳回空白清單。」AI 就會再根據這段以自然語言提供的修正指示,反覆調整並改善程式碼。
  • 建立應用程式結構:您可以提出以下要求:「幫我生成一個簡易 Flask 網頁應用程式的基本檔案結構和樣板程式碼,包含一個名為「/status」且會傳回「OK」的路由。」這樣 AI 就能根據您提供的大方向,處理初步設定。

展開下一步行動

運用價值 $300 美元的免費抵免額和超過 20 項一律免費的產品,開始在 Google Cloud 中建構產品與服務。

Google Cloud