70%問題:關於AI協助編程的現實真相

展望未來:AI的真正潛力?

儘管面臨這些挑戰,我仍然對AI在軟體開發中的角色保持樂觀。關鍵在於理解它真正擅長的領域:

  1. 加速已知項目AI擅長協助我們實作已經理解的模式。這就像擁有一位無限耐心且打字飛快的配對程式設計師。
  2. 探索可能性AI非常適合快速建立原型和探索不同的方法。這就像擁有一個可以讓我們迅速測試概念的沙盒環境。
  3. 自動化例行工作AI大幅減少在樣板程式碼和例行編碼任務上所花費的時間,讓我們能專注於有趣的問題。

這對你來說意味著什麼?

如果你剛開始使用AI輔助開發,以下是我的建議:

  1. 從小處著手
    • 在獨立且明確定義的任務中使用AI
    • 審查每一行生成的程式碼
    • 逐步建立更大的功能
  2. 保持模組化
    • 將所有內容拆分為小型且專注的檔案
    • 維護組件之間清晰的介面
    • 記錄你的模組邊界
  3. 相信你的經驗
    • 使用AI來加速而非取代你的判斷
    • 對感覺不對勁的生成程式碼提出質疑
    • 維持你的工程標準

主動式軟體工程的崛起

AI輔助開發的格局正在朝著2025年劇烈轉變。儘管當前的工具已經改變了我們的原型設計和迭代方式,我相信我們正處於一個更重大轉變的邊緣:主動式軟體工程的崛起。

我所謂的「主動式」是什麼意思?這些系統不只是回應提示,還能以越來越自主的方式規劃、執行並反覆改進解決方案。

如果你有興趣深入了解代理人工智慧,包括我對Cursor/Cline/v0/Bolt的看法,歡迎觀看我上方的JSNation演講

我們已經看到這種演進的早期跡象:

從回應者到協作者

目前的工具大多只是等待我們的指令。但看看較新的功能,像是Anthropic的Claude電腦使用功能,或是Cline自動啟動瀏覽器和執行測試的能力。這些不只是華麗的自動完成功能而已 – 它們確實能理解任務並主動解決問題。

想想除錯過程:這些代理不只是提供修復建議,它們還能:

  • 主動識別潛在問題
  • 啟動並執行測試套件
  • 檢查UI元素並擷取螢幕截圖
  • 提出並實施修復方案
  • 驗證解決方案是否有效(這可能是個重大突破)

多模態的未來

下一代工具可能不只是處理程式碼而已 – 它們可以無縫整合:

  • 視覺理解(UI截圖、模型圖、圖表)
  • 口語對話
  • 環境互動(瀏覽器、終端機、API)

這種多模態能力意味著它們可以像人類一樣理解和處理軟體 – 從整體著手,而不僅僅停留在程式碼層面。

自主但受指引

我從使用這些工具中獲得的關鍵洞見是:未來並非關於AI取代開發人員 – 而是關於AI如何成為一個越來越有能力的協作夥伴,既能主動採取行動,同時也尊重人類的指導和專業知識。

2025年最有效率的團隊可能是那些學會以下事項的團隊:

  • 為AI代理設定明確的界限和準則
  • 建立代理可以在其中運作的強大架構模式
  • 在人類和AI能力之間建立有效的回饋循環
  • 在運用AI自主性的同時維持人類監督

以英語為首的開發環境

正如 Andrej Karpathy 所說:

「英語正在成為最炙手可熱的新程式語言。」

這是我們與開發工具互動方式的根本轉變。清晰思考和精確使用自然語言的能力,正變得與傳統編程技能同等重要。

這種朝向主動式開發的轉變將要求我們提升以下技能:

  • 更強大的系統設計和架構思維
  • 更優質的需求規格制定和溝通能力
  • 更注重品質保證和驗證
  • 增強人類和AI能力之間的協作

軟體開發重返工藝時代?

儘管AI讓軟體開發變得比以往更加容易和快速,我們卻正面臨失去一個關鍵要素的風險 – 創造真正精緻、消費者級品質體驗的藝術

示範品質陷阱

這已經成為一種模式:團隊使用AI快速建立令人印象深刻的展示版本。在理想路徑上運作完美無瑕。投資者和社群網路都被驚豔到了。但當真實用戶開始四處點擊時?一切就開始崩潰了。

我親身經歷過這些:

  • 一般用戶看不懂的錯誤訊息
  • 導致應用程式當機的邊緣案例
  • 從未被整理過的混亂UI狀態
  • 完全被忽視的無障礙設計
  • 在較慢裝置上的效能問題

這些不只是P2級別的錯誤 – 這些是讓軟體從被人們勉強接受到被人們喜愛的關鍵差異。

精雕細琢的失落藝術

打造真正自助式的軟體 – 讓使用者永遠不需要聯繫支援人員的那種 – 需要一種不同的思維模式:

  • 專注於錯誤訊息的優化
  • 在低速連線環境下進行測試
  • 優雅地處理每個邊緣案例
  • 讓功能易於被發現
  • 與真實的、通常是非技術型使用者進行測試

這種對細節的關注(或許)無法由AI生成。它來自於同理心、經驗,以及對工藝的深切關懷。

個人化軟體的復興

我相信我們即將迎來個人化軟體開發的復興。隨著市場被AI生成的最小可行產品所淹沒,那些由以下特質的開發者所打造的產品將會脫穎而出:

  • 以自己的工藝為榮
  • 在意細微的細節
  • 專注於完整的用戶體驗
  • 為邊緣案例做準備
  • 創造真正的自助式體驗

諷刺的是什麼?AI工具實際上可能促成這場復興。透過處理例行性的編碼任務,它們讓開發者能夠專注於最重要的事 – 創造真正服務並讓用戶感到喜悅的軟體。

結論重點

AI並沒有讓我們的軟體產生顯著的改善,因為軟體品質(或許)從來就不是主要受限於編碼速度。軟體開發中的困難部分 – 理解需求、設計可維護的系統、處理邊緣案例、確保安全性和效能 – 仍然需要人類的判斷。

AI確實讓我們能夠更快地進行迭代和實驗,透過更快速的探索潛在地帶來更好的解決方案。但這必須建立在我們維持工程紀律,並將AI視為工具而非取代良好軟體實踐的前提下。請記住:目標不是更快地寫更多程式碼,而是建立更好的軟體。明智地使用AI可以幫助我們達成這個目標。但究竟什麼是「更好」以及如何達成,仍然取決於我們自己。

您在AI輔助開發方面有什麼經驗?我很想在評論區聽聽您的故事和見解。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *