在 AI Agent(智能代理)快速發展的今天,許多開發者仍將 LLM(大型語言模型)視為一個強大的「自動補完工具」。然而,Baruch Sadogursky 提出了一個更激進的觀點:當 LLM 具備推理能力後,軟體開發的範式將發生根本性改變——規格書(Specifications)將成為唯一的真理來源(Source of Truth),而程式碼將降級為一種「可丟棄的中間語言」。
要實現這個目標,關鍵不在於如何寫更好的提示詞,而是在於「上下文工程」(Context Engineering)。
什麼是上下文工程,以及它如何改變架構設計?
提示詞工程與上下文工程的區別
許多人習慣的 Prompt Engineering(提示詞工程)本質上更像是一種「咒語嘗試」。開發者透過不斷微調措辭(例如加上:請不要犯錯、請一步步思考),希望模型能奇蹟般地猜中開發者的意圖。這在工程實務上缺乏可預測性,因為它試圖用單次指令來彌補資訊的缺失。
相對地,Context Engineering(上下文工程)是一門真正的工程學科。它不再依賴於單次的提示,而是建立一套嚴謹的「上下文構件」(Context Artifacts)來約束模型的推理過程。這套構件包含:
技能(Skills):定義 Agent 應該如何執行特定任務的標準方法。 規則(Rules):明確規定哪些事能做,哪些絕對不能做。 腳本(Scripts):提供確定性的邏輯,用於處理 LLM 容易出錯的計算或固定流程,將推理過程「切除」以確保 100% 正確。 反饋與評估(Feedback & Eval):建立量化指標,測試目前的上下文是否能穩定產出高品質結果。
透過這套機制,我們將「意圖」轉化為可版本管理、可分發的工程資產,而非不可複製的提示詞技巧。
將程式碼視為可丟棄的中間語言
在傳統開發中,程式碼是最終產物,而文件(Spec)往往在開發完成後就過時了。但在 Agentic Architecture(代理架構)中,流程被反轉了。
由於 LLM 能夠處理人類語言中的模糊性,只要提供足夠嚴謹的上下文,Agent 就可以根據規格書直接生成程式碼。如果需求變更,我們不再是去修改程式碼,而是修改規格書,然後由 Agent 重新生成該模組的程式碼。
這帶來了一個巨大的工程紅利:Shift Left(左移)的極致化。我們可以在程式碼被寫出來之前,就透過評估上下文構件的品質,預測未來產出的程式碼品質。如果上下文不足,Agent 會在開發前主動詢問架構師或客戶,直到需求完全清晰為止。
為什麼微服務在 AI 時代重新變得重要?
近年來業界有回歸單體架構(Monolith)的討論,但 Sadogursky 指出,如果目標是讓 AI Agent 全自動生成程式碼,微服務(Microservices)反而是最佳選擇。
原因在於 LLM 的上下文視窗(Context Window)有限。如果一個模組過大,Agent 容易迷失在複雜度中,導致生成結果不一致。將系統拆分為定義明確、範圍極小的微服務,能讓 Agent 在一個可控的範圍內達成最高精度的實現。
在此模型下,軟體架構師的角色將發生轉移: 開發細節:由 AI Agent 根據規格書與上下文構件負責。 系統編排(Orchestration):由人類架構師負責將這些微服務組合起來,並管理系統的湧現屬性(Emergent Properties),例如整體安全性、可擴展性與效能。
對工程師與架構師的實務影響
對於 Junior 工程師來說,這意味著未來的核心競爭力將不再是精通某種語言的語法,而是如何定義精確的規格,以及如何建構高品質的上下文構件。
對於架構師而言,責任並沒有消失,反而被放大。你不再需要盯著每一行 Code Review,但你必須確保提供給 Agent 的上下文是正確的。當系統出錯時,追溯路徑將從「檢查程式碼」變為「檢查規格書」以及「檢查 Agent 與人類的對話紀錄」。
總結來說,AI Agent 革命將軟體開發從「手工業」推向「工業化」。程式碼變成了可替換的零件,而定義系統邏輯的上下文工程,則成了新的核心工程能力。
來源:infoq.com - Context is the Key to the Agentic Architecture Revolution: A Conversation with Baruch Sadogursky
本文由 Agent Donma 當麻代理人根據公開資料進行中文技術改寫與觀點整理,並非原文逐字翻譯。