隨著AI編碼工具的興起,軟體開發正在快速發展。本文探討了開發者如何在不失控的情況下駕馭AI編碼工具的速度和力量,以及為什麼理解您的程式碼仍然至關重要。
有界限的“氛圍式程式設計”
“氛圍式程式設計”(即向AI描述您想要的功能,然後讓它生成程式碼)的概念已經激發了開發者的想象力。其成果令人印象深刻:從簡單的描述中具現化的功能原型、無需與語法鬥爭即可實現的複雜演算法,以及無需繁瑣CSS調整即可組裝的UI介面。
然而,任何嘗試過這種方法的開發者都不可避免地會遇到其侷限性。經過幾輪提示後,最初的簡潔實現往往會變得難以駕馭。細微的bug悄然出現,且越來越難以解決。輕鬆開發的承諾最終讓位於熟悉的挫敗感——現在還加上了您自己沒有編寫的程式碼所帶來的困擾。
2025年的現實是,開發者仍然需要理解他們交付的程式碼。AI可以顯著加速開發,但它(目前)還不能取代使應用程式健壯和可維護的批判性思維和系統設計技能。
那麼,在利用這些強大新工具的同時,構建全棧應用程式的最佳方法是什麼呢?
理解AI工具的範圍
AI編碼工具存在於一個抽象光譜中,每種工具都提供不同程度的協助和控制。選擇哪種工具取決於您自身的經驗和個人目標。
讓我們仔細看看這些抽象級別,以及如何定位最流行的AI軟體開發工具。
低層:AI輔助程式碼編寫
在抽象層級底部的是那些幫助您更高效地編寫程式碼而不改變您基本工作流程的工具。
- Claude Code:一個與您的終端整合的AI助手,作為對自然語言作出響應的結對程式設計師。
- Windsurf/Cursor:專門圍繞AI輔助構建的IDE,在提高編碼體驗的同時讓開發者保持完全控制。
- GitHub Copilot:隨VS Code附帶的“AI結對程式設計師”。
這些工具透過直接整合到開發者熟悉的工作流程和工具中來協助編寫程式碼。它們特別適用於生成樣板程式碼、編寫“膠水程式碼”(如基本的CRUD操作或DTO)或實現測試等工作流程。
中層:提示優先並可訪問程式碼庫
該光譜的中間部分是那些以提示為主要介面但允許您直接修改生成程式碼的工具。這通常透過將您的程式碼“彈出”到GitHub倉庫中實現,您可以在需要時進行手動更改。
這類工具的例子有:co.dev, Lovable, v0, Replit, Bolt, …
這些方法在將大部分工作交給AI處理的同時,在需要時保持精確控制,從而達到了平衡。
高層抽象:“無程式碼”AI平臺
在最高的抽象層級是那些在過去幾年中出現的“無程式碼”應用構建工具的演變平臺。
- Bubble.io:一個帶有AI輔助的視覺化程式設計平臺。
- Glide:透過AI驅動功能從電子表格建立應用程式。
- Gamma:透過自然語言構建互動式簡報和輕量級應用。
雖然這些工具在簡單的用例中(如基本的CRUD應用程式或定義明確的單一任務應用程式,例如待辦事項應用、國際象棋遊戲或個人日程跟蹤器)能最大限度地提高生產力,但它們不提供直接自定義程式碼的路徑,因此不適用於需求更復雜的應用程式。
程式碼與基礎設施:AI無法幫助的領域
儘管AI在程式碼生成方面已變得非常強大,但應用程式開發中有一個關鍵組成部分是它無法取代的:您的程式碼將執行的計算基礎設施以及儲存基礎設施。
無論您的AI生成應用程式執行得多麼好,它仍然需要一個實際執行的地方。您需要
- 可靠執行程式碼的計算資源
- 以適當保障維護資料的儲存系統
- 安全連線元件的網路基礎設施
像Vercel這樣的平臺提供了計算基礎設施並使您的應用程式部署變得簡單——然而,您的應用程式仍然需要與資料庫互動。
執行在重量級作業系統上的傳統資料庫由於其高資源消耗、配置開銷和緩慢的冷啟動,不適合現代AI軟體開發時代。
Prisma Postgres:為AI開發時代設計的資料庫
這正是像Prisma Postgres這樣的解決方案提供特殊價值的地方!Prisma Postgres是首個基於高效unikernel構建的無伺服器資料庫,旨在單臺機器上執行數千個例項。
它提供了開發者所需的可靠性,同時又沒有AI無法抽象掉的運維複雜性。當AI幫助您更快地進行程式碼生成時,您需要能跟上這種速度的基礎設施——可擴充套件、按需供應且只需最少配置。
要試用Prisma Postgres,只需在您的終端中執行此命令
Prisma Postgres還透過模型上下文協議(MCP)直接與您喜愛的LLM和AI編碼環境整合。
只需使用此JSON程式碼片段將其新增到您所需AI工具的MCP配置中
在Prisma Postgres文件中瞭解更多資訊。
何時使用AI?
儘管AI在編寫程式碼方面已變得異常強大,但它(目前)尚未取代開發者。理解AI的優勢和人類專業知識仍然至關重要的領域,是有效使用AI工具的關鍵。
讓我們來看看抽象光譜低端AI工具(如Cursor、Windsurf、GitHub Copilot等)非常適合的一些用例和場景。
例行和單調的任務 / 膠水程式碼
實現CRUD操作、設定身份驗證流程或建立標準API端點等任務都遵循AI可以可靠複製的既定模式。這些是委託給AI助手的完美選擇,讓您能夠專注於開發的更具創造性的方面。
按規範編碼
當您有明確的需求和規範時,AI可以高效地將它們轉化為可工作的實現。對於具有明確輸入、輸出和行為的特性尤其如此。
快速原型設計
AI在快速建立功能原型方面表現出色,這些原型可以演示概念和驗證想法。在探索想法或與使用者測試新功能時,AI生成的程式碼可以顯著加速反饋週期,即使您計劃為生產環境重構,或者只是用低質量的“一次性程式碼”構建初始版本。
您仍然需要理解您的程式碼(目前是這樣!)
AI代表著程式設計抽象階梯上的下一步——從機器碼到組合語言,再到高階語言、框架,現在是自然語言介面。支配先前過渡的相同規則也適用於此處
- 更高的抽象可以提高生產力:用自然語言描述功能比逐行編寫程式碼更快。
- 但抽象會洩漏:當出現問題時(而且它們會的),理解抽象之下發生的事情變得至關重要。
- 除錯複雜性並未消失:隨著您指定的內容與實際實現之間的差距擴大,除錯複雜性通常會增加。
最有效的開發者將AI視為一個強大的工具,而不是理解的替代品。他們利用AI加速開發,同時對生成的程式碼保持足夠的瞭解,以便隨著時間的推移對其進行除錯、最佳化和維護。
結論
在AI時代構建全棧應用程式並非盲目透過提示生成程式碼,而在於找到AI加速和人工監督之間的正確平衡。
在這個新時代,最成功的開發者將是那些
- 在保持架構控制的同時,將AI用於適當的任務
- 選擇與AI加速開發相輔相成的基礎設施
- 理解他們交付的程式碼,即使並非每一行都是親手編寫
- 使用型別安全工具,如Prisma ORM,為人類和AI編寫的程式碼提供保障
隨著AI能力的不斷發展,這種平衡將會發生變化。但目前,成功的策略是結合兩者的優勢:人類開發者的創造力和判斷力與AI助手的速度和模式識別能力。
不要錯過下一篇文章!
訂閱Prisma新聞通訊