氛圍編碼讓初期開發飛快,卻讓營運知識四散,SDD 成 AI 輔助資料工程新解

氛圍編碼「效率太高」反而讓企業遺忘開發過程,SDD 成為 AI 輔助資料工程新解方

對於資料工程師來說,AI 程式碼代理工具帶來一場無與倫比的效率改革,只要在對話框輸入幾段提示詞,AI 代理就能自動生成複雜的資料轉換邏輯、資料管線、工作流程編排、驗證測試,甚至是底層的基礎設施設定檔案。

這種高度依賴直覺與提示詞互動的開發模式,即是科技圈十分火紅的氛圍編碼(Vibe Coding)。然而,當工程師與企業沉浸在高效率開發帶來的快感時,其背後卻也暗藏許多隱憂。

舉例來說,企業級資料平台從來都不是單一且單純的應用程式,它們通常是由無數個分散式系統拼湊而成。這些系統往往由不同的團隊負責營運,且建立在截然不同的技術堆疊上。

隨著企業內部的眾多系統各自獨立演進,企業開始面臨棘手挑戰,例如商業邏輯變得前後不一致、相似的功能在不同角落被重複實作、下游系統的影響分析變得異常困難,以及整個資料平台中充滿了各種隱藏依賴關係等。

然而,氛圍編碼的興起不但沒有解決前述問題,反而可能將其無限放大。

畢竟,當越來越多的營運脈絡、架構決策與商業知識,不再被嚴謹寫入系統架構之中,而是散落在一次又一次的 AI 提示詞、對話紀錄與零散生成的程式碼時,系統就注定會走向失控。

提示詞本質上是「一次性產物」

無可否認,氛圍編碼在快速生成單一且獨立的功能時,表現得極度出色,但企業與開發卻也必須明白,提示詞本質上是非常短暫的「一次性產物」。即便是一段完美的提示詞,僅僅也只能捕捉工程師於「那個當下」的各種假設、商業背景、實作邏輯與系統知識。

在實際的開發場景中,要讓 AI 代理真正做出有效貢獻,進入正式環境中協助企業營運,工程師必須不斷向 AI 補充各種背景資訊,包含系統架構的決策原因、特殊的商業規則、對資料綱要(Schema)的假設、下游系統的依賴限制、營運上的特殊規範、過去的除錯歷史,以及各種實作上的引導。這些深藏在對話中的上下文,其實才是 AI 輔助開發背後,最為核心、最寶貴的營運知識。

但是災難也正源自於此。在絕大多數的氛圍編碼工作流程中,上述這些至關重要的資訊,最終只會四散在各處,既可能存在於某位工程師與 ChatGPT 的歷史對話中,也可能是隨手記在任務工單上,或者寫在沒人會去更新的共用文件,甚至是隱藏在那些由 AI 生成但缺乏註解的程式碼段落中,它們並沒有成為系統本身的一部分。

這種情況對於企業資料工程將是巨大隱患,當代資料平台天生就是一個高度互聯的複雜生態系,資料的流動會經過資料導入管線、資料倉儲、工作流程編排框架、語意層、應用程式介面(API)、視覺化儀表板,最後一路送進機器學習系統中。

逐漸消失的系統能見度

當越來越多的核心邏輯與背景知識,被鎖死在提示詞與 AI 生成的實作程式碼裡,企業就會像溫水煮青蛙一樣,慢慢失去對系統的能見度。

隨著時間過去,企業團隊會忘記當初架構某個程式或功能的意圖是什麼,搞不清楚修改哪些欄位,將連帶影響下游的哪些依賴,還有忘記當初為何要設定某種驗證假設、無法預測系統在特定情況下的營運行為,更別提那些隱藏在實作背後錯綜複雜的商業脈絡。

由於系統本身將不再包含「當初為何這樣設計」的完整推理過程,那些關鍵的商業背景、架構假設與營運知識,依然只能存在於人類工程師的大腦記憶,或者是早已找不回來的散落對話中,而不是穩固存在於資料平台之內。

前述狀態導致一個極為矛盾的現象,那就是氛圍編碼確實讓初期實作的速度變得飛快,但從整個系統的宏觀角度來看,整體的工程效率卻沒有等比例提升,因為在後續漫長的軟體生命週期中,開發團隊依然需要耗費大量人力去進行驗證、回憶領域知識、跨部門協調與重新定下決策。

無法版本控制,同時也無法驗證

更關鍵的技術瓶頸,在於提示詞天生就不是一種適合用來持續迭代的工程產物,畢竟企業系統是「活物」,它們需要隨著版本更新、資料綱要變更、商業邏輯調整以及下游依賴關係的改變而不斷演進。

企業工程團隊必須在漫長的時間裡,反覆回頭修改與精煉系統,但提示詞的設計初衷,卻是為了追求局部的快速生成,而非系統的長期演變。

就以目前的情況來看,企業很難對 AI 提示詞進行一致的版本控制,也很難對其進行系統化的程式碼驗證;提示詞難以在不同團隊之間無縫重複使用,更難以整合進現代軟體工程必備的持續整合與持續部署(CI/CD)自動化工作流程之中。

即使在未來輸入一模一樣的提示詞,只要 AI 模型的上下文或版本稍有不同,企業與開發團隊也無法保證,AI 可以產出跟過去完全一致的實作結果。

面對上述種種困境,規格驅動開發(Spec-driven development,簡稱 SDD)的概念開始浮出檯面,並逐漸成為 AI 輔助資料工程的核心解方。

把一切整合進可執行的規格文件

SDD 的理念非常明確,與其讓那些寶貴的營運知識,散落在提示詞與對話紀錄中,不如主動出擊,將商業脈絡、驗證邏輯、轉換行為、編排需求以及實作的工作流程,全部直接整合進「可執行的規格文件」中,讓這些規格成為系統不可或缺的一部分。

透過這種方式,系統終於擁有了持久的記憶能力,它會清楚記得自己當初是如何被設計出來的、為什麼要做出某些艱難的取捨,以及平台中各個不同元件之間是如何互相串接。

規格的存在賦予了人類團隊與 AI 代理一個穩固基石,讓他們能在未來的時間裡,更可靠的對系統進行迭代,同時大幅降低了在分散式資料環境中日益嚴重的碎片化問題。

在 SDD 的概念中,系統的建構將圍繞著「可執行規格」運作,而不是僅僅依賴鬆散協調的提示詞,或者 AI 生成的程式碼。

傳統軟體開發往往將規格書視為一種被動文件,即程式寫完之後才勉強補上的交接紀錄,但 SDD 徹底翻轉了這個觀念,它將規格文件視為具有強制力的「營運契約」,這些契約會直接驅動 AI 進行程式碼生成、邏輯驗證、系統測試、流程編排以及最終的部署工作。

從許多方面來看,SDD 其實就是將雲端架構中廣受歡迎的「基礎架構即程式碼(IaC)」與「GitOps」理念,完美延伸到了 AI 輔助工程的領域。

從章程開始疊加,化為持久知識

在實務操作上,一個典型的規格驅動系統通常從建立「章程」開始,確立專案層級的原則與不可妥協的限制,包含技術標準、命名慣例、架構規則、資安治理政策與核心系統需求。

在章程之上,會疊加多個層次的規格文件,各自負責不同的營運角色:綱要規格定義資料結構相容性、轉換規格定義商業邏輯、驗證規格畫下資料品質底線、編排規格定義執行順序、語意規格確保跨部門共享商業定義,AI 工作流程規格則是專門寫給 AI 代理閱讀的可重複使用實作指令。

這些規格文件通常以 Markdown 等輕量標記語言撰寫,透過 AI 輔助可以快速生成並持續更新。真正的用意不只是寫出更好的文件,而是讓架構意圖、商業假設與實作邏輯不再消失於用完即丟的提示詞中,而是化為持久的系統知識,嵌入整個開發生命週期。

用足夠透明度避免蝴蝶效應

SDD 雖然可以套用在任何軟體工程領域,但資料工程因為其獨特性質,成為最適合導入的場景。

企業級資料系統天生橫跨無數相互連結的技術層,資料工程師必須同時應對交易型系統、串流平台、資料倉儲、編排系統、API、儀表板與機器學習管線,任何一個上游變更都可能在毫無預警的情況下引發蝴蝶效應——光是一個欄位名稱的修改,就可能默默搞垮下游管線、儀表板、對外 API,甚至核心預測工作流程。

SDD 透過在各系統之間導入共享,且具備版本控制的營運契約來解決這個問題。當所有資料綱要、依賴關係、驗證規則與轉換邏輯都被清楚定義在規格文件中,人類團隊與 AI 代理都能清楚看見系統各節點如何相連,以及改動將如何沿管線蔓延。

促進工程師轉向架構設計

資料工程的核心從來不只是快速建好管線,工程團隊必須在系統穩定性、擴充性、可維護性與基礎設施成本之間取得平衡,這需要大量的架構設計心力。關鍵在於,一旦架構與營運模式確立下來,後續大部分的實作其實都是高度重複的苦力活。

SDD 正好切中這個特性。以串接 CRM 資料為例,當導入與轉換模式已經設計完成,未來新增一張資料表時,工程師只需在規格文件中加上新定義,AI 代理便會依照既有規格自動生成 Python 導入程式碼、轉換模型、排程工作流程與下游驗證測試。人類主導架構、AI 負責實作,這種分工讓資料工程成為最適合擁抱 SDD 的領域。

以規格為導向,化解穀倉效應

即便 AI 代理能自動化處理大部分實作,人類工程師的判斷力仍不可取代——定義複雜商業邏輯、設計系統架構、在技術取捨間做決策、驗證系統正確性、協調跨部門演進,這些依然是人類的核心職責。

隨著實作細節愈來愈多交由 AI 生成,工程師的角色將從撰寫重複管線,轉向定義規格、設計可重複的營運模式與協調商業脈絡。SDD 指向的未來是,人類專注於意圖與架構,AI 負責在規模下扛起所有實作、測試與營運生成。

【推薦閱讀】

◆ 金融業押注 Agentic AI:從支付到授信的流程重組,這場效率革命背後有哪些治理挑戰?
◆ 當 AI 把專業知識商品化,企業的差異化優勢剩什麼?Nadella 說答案在「學習迴圈」
◆ 【從賣時間到賣成果】麥肯錫薪酬結構調整,AI 推動知識型服務業的商業模式重寫

*本文開放合作夥伴轉載,參考資料:VentureBeatInfoWorld,首圖來源:PxHere

(責任編輯:鄒家彥)