掌握外迴圈 (Outer Loop) 在過去的一年裡,關於 Agentic 程式開發的討論已經轉向了 harness 與迴圈、機隊 (fleets) 以及軟體工廠。我個人的淺見是,工程師必須掌握「外迴圈」——即對這些系統負起當責。隨著 Fable 和 GPT-5.6 等強大模型問世,這一點只會變得更加重要。 展開畫面重點圖片為黑底白字(部分文字為黃色與紫色)的文字簡報,內容如下: 左上角標題:THE FUTURE OF ENGINEERING 主文內容:The engineer of the future will choose what is worth doing, then own the evidence, understanding and verdict for work increasingly automated by agents. 左下角署名:@addyosmani Agent 擁有槓桿效應,而槓桿效應會帶來義務。必須有人能夠精確解釋發生了什麼變更、為什麼它是安全的,以及如果出錯了會發生什麼事。否則,它們的行為就無法被正當化。這也使得組織不太可能從一開始就要求使用它們。 因此,我想談談三個術語。首先是「品質」(Quality),指的是我們在讓系統上線前所設置的所有檢查。這些檢查會產生證據,而我們從這些證據中得出「裁決」(Verdict)。 第二個術語「裁決」,指的是在工作進入我們依賴的系統之前所做的最終決定:我是這些內容的產線製作人。我經營的團隊,其產出的工作成果都是以我的名義發布的。模型或許寫出了那一行程式碼,但裁決權在我。未經我的決定,我團隊的工作成果絕不會進入我們依賴的系統。裁決就是生產決策:我們應該發布、阻擋、重新導向、縮減回應範圍、增加防護機制,還是直接拒絕? 第三個術語「可答責性」(Answerability),指的是一種保證,即如果有人詢問,我能夠解釋原因。 換句話說:我們的 Agent(我將其定義為模型加上由檔案、工具、記憶、skill、沙盒、權限、可觀測性與復原機制組成的 harness)是執行我們迴圈(我將其定義為調查、實作、驗證,然後重複)的核心。這也是建構我們軟體工廠的基礎。 展開畫面重點圖表標題:THE AGENT IS THE SYSTEM AROUND THE MODEL 主標題:HARNESS ENGINEERING 副標題:The scaffolding that turns a model into an agent. 架構核心公式:agent = model + harness 架構組成(harness):prompts, tools, state, constraints, feedback loops 圖表組件說明: 中央區塊:MODEL(標示為 one chip on the board),功能為 reasons / decides。 左側輸入/控制區塊: - CONTEXT (rules, memory) - CONTROL (plans, routing) - FAILURE (agent slipped) 右側輸出/執行區塊: - ACTION (tools, MCPs) - PERSIST (files, git) 外部反饋與規則區塊: - OBSERVE (tests, logs) - HOOKS (block, retry) - RATCHET (new rule) 箭頭流向: FAILURE 指向 CONTEXT。 CONTEXT、CONTROL 指向 MODEL。 MODEL 指向 ACTION、PERSIST、HOOKS。 HOOKS 指向 RATCHET。 RATCHET 指向 MODEL。 OBSERVE 指向 MODEL。 FAILURE 與 OBSERVE 之間有循環箭頭。 來源標註:Source: addyosmani.com/blog/agent-harness-engineering 展開畫面重點圖片標題為「LOOP ENGINEERING」,副標題為「Design the loop, not the prompt.」。 圖表定義循環公式為:loop = goal + cadence + isolated work + verification + state。 核心區塊為「RECURSIVE GOAL」(iterate until done)。 圍繞核心的流程區塊包含: VERDICT (owns outer loop) AUTOMATE (cadence finds work) STATE (memory lives outside) ACT (agents in worktrees) LEARNING (tomorrow reads today) VERIFY (maker != checker) ISOLATION (parallel, no chaos) DECIDE (ship, block, queue) 底部文字為「Loops change the work. They do not delete the engineer.」。 來源標註為:addyosmani.com/blog/loop-engineering。 展開畫面重點該圖表描述了軟體開發的自動化流程,包含以下區塊與文字: 標題:THE SOFTWARE FACTORY, WITH THE LIGHTS ON / AGENTIC SOFTWARE FACTORY 輸入源:product intent、incidents、user feedback(下方註記:stuff worth doing) 核心處理單元:agent inner loop,包含 guide / context、generate、verify / solve(下方註記:sandbox, traces, tests) 產出與驗證:evidence(包含 tests、diff summary、risk notes) 決策點:human verdict(包含 ship / block / redirect),此處為人類判斷的關鍵點。 系統回饋:monitor 與 users 互動,並回饋至 agent inner loop。 警示區塊:lights off fails here(指向 human verdict)。 核心理念: - The win is not removing people from the loop. - The win is moving human judgment to the highest leverage checkpoint. 而在這座工廠的核心,存在著一道謹慎的界線,區分了系統內部與外部。在系統內部:我們收集輸入(來自產品團隊的意圖、對先前已發布工作的了解、近期發生的事故,或是來自使用者的具體回饋)。Agent 迴圈會調查任務、執行計畫並驗證結果。接著,證據會跨越那道界線。一位負責該依賴系統的人類會查看證據,並決定是否繼續進行。 展開畫面重點圖表標題:WHAT "HIGH AGENCY" MEANS NOW 主標題:THE LOOP BOUNDARY IS EVIDENCE 副標題:Agents run capability loops. Engineers own agency loops. 左側區塊:01 AGENT INNER LOOP (capability: do work, return evidence) INVESTIGATE: inspect, search, plan IMPLEMENT: change, refactor, generate TEST: run checks, compare results REPORT: summarize what changed 中間區塊:BOUNDARY EVIDENCE (diff, tests, logs, why) 箭頭從 REPORT 指向 EVIDENCE,再指向右側的 VERIFY。 右側區塊:02 ENGINEER OUTER LOOP (agency: decide what earns production trust) DECIDE: is this worth doing? VERIFY: is the evidence enough? APPROVE: ship, block, or redirect OWN: carry the consequence 底部說明: 虛線箭頭從右側的 OWN 指回左側的 REPORT,標註文字:constraints…