本文主要 AI 結合我在某網際網路企業 1024《成為超級個體:AI 時代研發人員的程式設計技巧與最佳實踐》的分享材料,再結合我補充一些關鍵資訊的缺失。
在生成式 AI 驅動下的程式設計輔助工具日益普及。AI 助力程式設計能夠顯著加速開發過程,並透過程式碼生成、提示詞最佳化等方式為開發人員提供支援。然而, 這類工具的實際效能受限於生成內容的準確性、上下文完整性,以及開發人員校驗生成內容的成本。特別是,開發者在應用這些工具時, 如何有效地根據不同場景選擇輔助模式、搭建合適的程式設計工作流,以及如何降低生成內容的校驗成本,成為決定性因素。

引言:生成式 AI 的能力與侷限性
生成式 AI 工具要求開發人員具備一定的學習成本,並且在初期使用時通常難以達到穩定的生產效率。

首先,生成式AI的輸出質量很大程度上依賴於提供的上下文和輸入的清晰度,若缺乏準確的問題描述或詳細的上下文資訊,AI生成的程式碼往往無法滿足需求。此外,生成的程式碼可能包含“幻覺”現象,即AI生成的內容表面上看似合理,但實際上可能與所需邏輯不符,這增加了程式碼審查和修正的工作量。AI 在開發流程中仍需依賴人類的主動判斷,尤其是在設計、架構和需求分析等複雜任務中,AI 只能作為輔助工具,協助完成細化任務或提供啟發。
一、AI 輔助程式設計工具的實用技巧:不同模式的詳細分析
在使用 AI 輔助程式設計工具時,熟悉和靈活應用不同模式,能夠顯著提升工具效用。常見的 AI 輔助程式設計模式主要包括:聊天模式、即時輔助、伴隨輔助:

這些模式分別適用於不同型別的開發任務。
-
聊天模式:此模式主要透過文字對話幫助開發人員回答程式設計疑問、生成程式碼段、給出架構建議等。例如,GitHub Copilot Chat 和 Genie 就是這種模式的典型代表。透過與 AI 進行對話,開發人員可以逐步詢問需求、獲得示例程式碼或架構設計的思路。此模式適合探索性較強的問題,如研究新框架、設計複雜業務邏輯等。

-
即時輔助模式:即時輔助模式在開發過程中提供即時提示,如程式碼自動完成、錯誤檢查、效能最佳化建議等。即時輔助主要針對開發過程中頻繁出現的基礎任務,適合解決即刻發現的小問題,提高開發效率。JetBrains AI Assistant 和部分 Code Interpreter 工具具備這樣的特性,有助於開發者在編碼過程中保持順暢的思維流。

-
伴隨輔助模式:伴隨模式貫穿整個開發週期,與開發人員的日常工作緊密相連。此模式的功能包括生成程式碼規範、最佳化提交資訊、生成文件等。例如,AutoDev 可以伴隨開發者進行錯誤分析、提交生成、文件編寫等一系列活動,幫助開發者降低重複勞動成本。這種模式適合需要持續支援的長週期任務,如專案文件編寫、程式碼規範化操作等。
考慮到不同工具的提示詞上下文構建機制,我們還需要對工具的一些基本原理有所瞭解,以便於我們更好的使用工具:諸如於類 Copilot 工具的一些技巧。
二、如何降低 AI 生成內容的校驗成本?

生成式 AI 工具的另一個挑戰在於校驗生成內容的準確性。為此,以下三種模式有助於有效降低校驗成本:
-
自動化測試:自動化測試是一種經典的校驗方式,它關注輸入輸出的有效性,利用黑盒測試的方法驗證生成程式碼的功能是否符合預期。例如,在生成 API 程式碼後,可以透過自動化介面測試工具如 RestAssured 或 Postman,對 API 的請求響應進行全面校驗。這種測試方法適用於驗證標準的輸入輸出場景,尤其是無需介入程式碼內部邏輯時。
-
Code Interpreter:Code Interpreter 透過直接執行程式碼並提供即時反饋,幫助開發人員快速識別和修正問題。Code Interpreter 是較新型的校驗模式,尤其在複雜計算或資料分析類任務中表現突出。以 v0.dev 為例,Code Interpreter 能夠即時分析程式碼執行結果,快速反饋程式碼正確性。該模式適合需要即時反饋的程式設計任務,並減少程式碼生成過程中的錯誤傳播。
-
程式碼執行時檢查:透過 IDE 的即時反饋機制對程式碼進行執行時檢查,可以在開發階段儘早發現和糾正錯誤。利用如 Shire 程式設計外掛或 Swagger API 校驗工具,開發人員可以直接在 IDE 中進行提示詞的校驗。Shire 支援將生成內容的上下文即時執行,與 IDE 的整合可減少工具切換的成本,幫助開發者在較早階段進行程式碼驗證,顯著降低了校驗成本。
Shire 如何降低校驗成本

Shire 的設計理念專注於提供高效校驗的工作流,透過將生成程式碼的即時反饋與 mock 服務整合,減少開發者在生成內容驗證上的工作量。Shire 可直接在開發環境中執行生成內容,結合遠端智慧體和本地工具鏈,簡化生成內容的自動化校驗流程, 最大限度地減少驗證成本。Shire 還支援多種 API 開發和測試工具,能在生成內容後快速測試和迭代,保證程式碼符合開發標準。
三、重新構想開發流程:如何減少環節以提升生產力?

生成式 AI 在程式設計輔助中的廣泛應用,要求開發者重新審視和構建適應 AI 的開發流程。透過減少不必要的環節、最佳化工具整合和加強知識資產的管理, 開發者可以進一步提升開發流程的生產力。
-
資產驅動的開發流程:AI 生成的內容通常包含豐富的知識資產。開發者可以透過建立知識庫,將 AI 生成的程式碼規範、測試策略等產出,轉化為可複用的知識資產,減少重複工作。開發者還可透過 AutoDev 等工具,將程式碼規範、提交資訊等轉化為自動生成的過程產物,幫助流程的簡化。
-
減少環節,聚焦核心產出:在現有 AI 輔助工具的支援下,開發者可以在減少傳統開發環節的基礎上,直接生成特定功能程式碼。透過減少如繁瑣的程式碼註釋、文件撰寫等手動環節,開發者可以將這些過程轉化為標準化的 AI 指令產出。簡化流程可大幅降低工作量,同時確保生成程式碼的一致性與質量。
-
知識轉換和流程最佳化:在傳統流程中,開發者需要經過需求分析、編碼、測試等多個環節才能形成最終的產品。而 AI 助力的編碼工作流允許開發者將隱性知識以顯性化產出,透過將需求文件轉化為 AI 提示詞,快速生成程式碼和測試內容。透過這一知識轉換過程,開發者可以在生成式 AI 的幫助下簡化流程,減少不必要的返工和多輪除錯。
透過重新構建開發流程、合理化環節分佈,開發者不僅能更有效地適應 AI 程式設計,還可以在簡化流程中實現生產力的最大化,從而為創新提供更多空間。
總結:面向未來——適應技能變化,放大專業能力

AI 驅動的時代對開發者的技能提出了新的要求。生成式 AI 使得開發者不僅可以成為程式碼的生產者,更可以成為知識的整合者與流程的設計者。透過善於構建高效的 AI 程式設計工作流,開發者能夠在高效驗證 AI 內容的同時,逐步增強對生成式 AI 工具的適應能力,並提升自身的領域知識與技術深度。

在未來,隨著 AI 技術的不斷成熟,掌握生成式 AI 的能力將成為每一位開發者的核心競爭力。理解如何構建 AI 友好的上下文、有效校驗生成內容, 並設計適合自己的編碼工作流,是提升專業技能、放大個人能力的關鍵。只有不斷適應 AI 驅動的技能變化,開發者才能在技術飛速發展的浪潮中立於不敗之地。