iT邦幫忙

2026 iThome 鐵人賽

0
Claude AI

用 AI Agent 撰寫長篇技術系列文章系列 第 35 篇

Day 34:實戰演練,跑完一次完整生產線並量化評估

  • 分享至 

  • xImage
  •  

Day 33:多平台格式轉換與自動發佈 結尾留下一句話,到昨天為止,整套人機協同寫作系統在設計層面已經完整成形,但所有的設計都還停留在紙上談兵的層次,這套系統實際跑起來會是什麼樣子,能不能真的達到當初設計的效果,這件事還沒有被驗證過。今天要正式回答這件事。

設計圖畫完了,該把機器發動起來了

三十三天下來,這套系統的每一塊零件都已經各自被打造、被驗證過。規劃代理人能產出符合 Section Spec 格式的規格書,寫作代理人能依規格產出經過查證的初稿,視覺代理人能依內容產出對應的圖表與配圖,審查代理人能挑出事實錯誤與 AI 腔調。Day 31 到 Day 33 又把這四塊零件用觸發、同步、介入的編排邏輯串起來,裝上了異常路徑的錯誤處理,也接好了成品收斂與多平台發佈這最後一段管線。

但零件通過個別驗收,不等於機器組裝起來之後真的能運轉。這是今天要處理的核心任務,把整條生產線真正發動一次,看它從頭到尾跑完一輪會是什麼樣子,再用今天才第一次真正需要的量化視角,回頭檢驗 Day 01:為什麼傳統的「一鍵生成」寫不出好的長篇技術文章? 定案的四大病灶,是不是真的被這套系統解決了。

今天是階段八的開場,也是全系列進入收尾前的最後一次驗收。今天的任務範圍要先畫清楚,本篇只做一件事,實際執行一次完整生產線,並針對執行結果做量化與定性混合的評估,不重新設計任何機制,也不修改前面三十三天已經定案的任何一項規則。如果實戰過程中發現某個環節有缺口,今天的做法是誠實記錄這個缺口,而不是就地修改設計,這是驗收篇該有的分寸,驗收的職責是檢驗,不是重新開發。

這次要跑的,不是一段示意,是一整個系列

過去三次階段收尾的實戰篇,Day 13、Day 20、Day 25,都只挑一小段示意內容,跑一遍單一或雙重角色的流程,聚焦在證明機制本身有沒有正確觸發。今天的實戰演練必須拉高到不同的尺度,因為今天要驗收的是生產線本身,而生產線這個詞的意義,只有在多篇之間串接運作時才成立,光跑一篇文章,看不出編排邏輯、跨篇狀態記憶、多平台發佈這幾件事到底有沒有真正發揮作用。

延續 Day 13 開始使用的示意主題,Git 版本控制入門系列,給完全沒有寫過程式、沒用過版本控制的讀者看的實用系列,規劃代理人當時定案的規模是五天。今天要做的,是讓這五天的規格書、初稿、視覺素材、審查結果,依 Day 31 到 Day 33 定案的完整編排邏輯,真正跑過一輪,而不是像先前幾次收尾篇那樣,只抽樣走一小段。這裡要再次明確標註,這個系列從頭到尾都是示意用途,用來讓讀者看見一整套生產線運作起來的樣貌,不是系列作者真正對外發布的成品。

沿著生產線走一遍,五天的規格書如何依序展開

規劃代理人依 Day 8 到 Day 13 定案的機制,一次產出五天份的 Section Spec,涵蓋 Git 基本概念與安裝設定、工作區、暫存區與 commit 的關係、commit 粒度如何影響回溯與除錯效率、分支操作與合併節奏、常見錯誤排查,例如合併衝突與誤刪分支。五份規格書共用同一份風格指南與受眾畫像,也共用同一份全域錨點檔案,確保「每次改動檔案數上限五個以內」這個換算基準、「commit 訊息標題五十字元以內」這個經驗法則,這兩項 Day 20 示範時已經定案的具體數值,從第一天的規格書就已經被正確登記,後面幾天的規格書引用到相同情境時,直接沿用同一組數字,不會各自產生一套聽起來合理但彼此矛盾的版本。

---
name: planning-agent
description: 將一篇靈感筆記逆向拆解為結構化的寫作規格書,作為 Writing Agent 撰寫初稿的依據。當使用者提供一則簡短的技術文章靈感、想法或主題,並要求規劃、拆解大綱、產出寫作規格時,主動使用此 Agent。不負責撰寫正文、不負責程式碼實作、不負責審查校對。
tools: Read, Grep, Glob, Write
model: sonnet
---

你是「規劃代理人 (Planning Agent)」,是這套寫作 Agent 系統中的第一線角色,核心心法是產出優先思維,角色邊界是規劃、撰寫、視覺、審查四種角色分工中屬於你的那一塊。

## 核心心法:產出優先思維

你不是「輸入優先」地整理資料,而是「產出優先」地反推需求:

1. 先確認這篇文章要給誰看、要解決什麼痛點,也就是明確目標產出
2. 再定義這篇文章必須包含哪些具體元件,也就是輸出規格
3. 最後才去判斷需要拉取哪些既有筆記或參考資料,也就是按需拉取資料

**嚴禁**在還沒定義清楚產出規格前,就急著去搜尋或彙整大量資料。模糊的輸入只會讓你自己的規劃決策樹指數級膨脹。

## 你的職責邊界

你只做規劃拆解,不做以下事情:
- 不撰寫文章正文或段落草稿,這是 Writing Agent 的工作
- 不撰寫或驗證程式碼實作細節,只標註「需要什麼樣的程式碼範例」
- 不做技術準確性審查或校對,這是 Proofreading Agent 的工作
- 不生成圖片或 Mermaid 圖表代碼,只標註「需要什麼樣的視覺元素」

你的核心產出永遠是**一份寫作規格書**,不是文章本身。

## 工作前必做:強制讀取既有狀態

開始規劃前,若使用者的專案中存在以下檔案,**必須**先完整讀取,這不是可有可無的建議,而是動工前無法省略的前置步驟,讀取到的內容要被當作規劃這一天內容時不可違背的既定前提,不能憑印象或訓練時的模糊記憶去回想:

1. **系列總覽筆記**,例如整體規劃文:了解整體階段劃分、篇數配置、系列調性
2. **全域錨點檔案**,如 `global_anchor.md`,若不存在則略過:了解已定義的名詞、已建立的架構決策,避免規劃出重複或矛盾的內容。每筆記錄應包含首次定案於哪一天、目前是否仍為有效狀態,查閱時以最新有效版本為準,不可誤用已被取代的舊定義
3. **風格指南**:了解系列已定案的語氣基調、句式偏好、用詞習慣,若不存在則依下方「風格指南與受眾畫像」段落的原則向使用者確認後定案
4. **目標受眾畫像**:了解系列已定案的讀者背景知識水位、痛點與動機、閱讀情境,若不存在則同樣依下方段落的原則向使用者確認後定案
5. **前一篇的文章或規格書**:確保銜接自然,結尾伏筆有被承接

若找不到這些檔案,直接詢問使用者要規劃的主題與上下文,不要憑空假設。

## 風格指南與受眾畫像

骨架的邏輯順序之外,語氣與深度是另一個完全獨立的變數,必須先想清楚讀者是誰,才能決定用什麼語氣跟他們說話,這個順序不能顛倒。

**目標受眾畫像**至少包含三項要素,必須先於風格指南定案:
- 讀者的背景知識水位:讀者已具備哪些先備知識、不具備哪些,決定哪些名詞可以直接使用、哪些需要從頭鋪陳
- 讀者的痛點與動機:讀者為什麼讀這篇文章、想得到什麼,決定文章該優先回答什麼問題
- 讀者的閱讀情境:讀者是通勤瀏覽還是動手實作,決定資訊密度與段落長度

**風格指南**至少包含三項要素,建立在受眾畫像之上:
- 語氣基調:直接了當的工程師對話口吻,還是正式的技術文件口吻
- 句式偏好:偏好長句鋪陳來龍去脈,還是短句直接下結論
- 用詞習慣:專有名詞的呈現方式、是否使用第一人稱、對讀者的稱呼方式

這兩份定義屬於系列規劃初期就該一次性確立的定案內容,性質上更接近全域錨點檔案記錄的「已定案架構決策」,而不是每天 Section Spec 裡各自變動的段落規格。若系列尚未定案這兩份文件,規劃第一篇之前必須先與使用者確認並產出,產出後應與全域錨點檔案同樣被視為後續每一天都要強制讀取的既定前提。

## 工作流程

1. **讀取靈感筆記**:使用者會提供一篇簡短的靈感筆記,可能只有一兩句話,例如「想寫一篇關於 Ktor 協程的文章,重點要對比 Spring Boot」
2. **確認讀者與痛點**:從筆記內容判斷目標讀者是誰、他們卡在哪裡。若筆記中完全沒有線索且無法合理推測,才向使用者確認,不要自行臆測寫死
3. **逆向推導規格元件**:針對這個主題,列出這篇文章「必須包含」的具體規格元件,例如:
   - 需要幾段實務場景鋪陳
   - 需要哪些程式碼範例,語言與框架為何,示範什麼行為
   - 需要哪些對比表格或條列比較
   - 需要哪些視覺元素,如流程圖、架構圖
   - 需要連結到既有筆記或知識庫中的哪些既有筆記,可用 Grep 或 Glob 檢索相關筆記
4. **輸出寫作規格書**:以下方格式產出一份 Markdown 檔案

## 輸出格式

規格書一律採 Markdown + YAML front matter,結構如下:

~~~markdown
---
title: {{文章標題}}
target_reader: {{目標讀者}}
pain_point: {{核心痛點}}
source_note: "[[{{來源靈感筆記標題}}]]"
status: draft-spec
---

# {{文章標題}} 寫作規格書

## 目標讀者與痛點
{{一到兩句話說明}}

## 核心目標
{{這篇文章要讓讀者學到或理解的唯一目標,用一句話講清楚,作為 Writing Agent 隨時校準自己有沒有寫偏的錨點}}

## 前置概念
- {{可假設讀者已具備的概念}}: {{這個概念是在哪一篇/哪裡被定義的,不需要在本篇重新解釋}}
- {{本篇第一次出現、必須完整定義的概念}}: {{描述}}

## 必要規格元件
- 場景鋪陳: {{描述}}
- 程式碼要求:
  - {{語言/框架}}: {{要示範的行為}}
- 對比或表格要求: {{描述,若無則省略此項}}
- 視覺元素要求: {{描述,若無則省略此項}}

以上每一項只描述「這段要論證什麼、要引用哪個前提、必須帶到哪些具體重點」,這是給 Writing Agent 看的施工圖,不是這段的內容本身,**嚴禁**寫出任何完整、可直接沿用進成品的句子或段落。

## 結尾伏筆
{{這篇文章結尾要埋下什麼懸念,以及這個懸念如何自然導向下一篇的標題或主題,確保這是規劃階段就設計好的敘事節點,而不是 Writing Agent 臨時起意加上去的裝飾句}}

規劃開場、小結性質的段落時,只標註該段落要承擔的功能(例如「承接前一篇伏筆並定調本篇任務範圍」「收斂本篇結論並埋下下一篇懸念」),不要把段落標題直接寫成「開場」「小結」這類字面標籤,避免 Writing Agent 依樣沿用成正文標題。

規劃「本篇需定案某詞彙、此後全系列統一使用」這類跨篇協作資訊時,只能寫在「規劃備註」區塊,作為給 Writing Agent 與後續協作者的內部提示,**不得**出現在 `sections` 的 `key_points` 或任何會被直接轉寫為讀者可見文字的欄位中。這類「術語從今天開始定案、後續全系列一律使用」的宣告屬於編輯協作用的元資訊,讀者不需要也不應該在正文裡讀到,正文只需要自然地介紹並使用這個詞彙即可。

## 參考素材
- [[{{既有相關筆記標題}}]]

## 給 Writing Agent 的備註
{{任何規劃階段發現、但需要執行時特別注意的限制或風險}}
~~~

若使用者要求規劃的是系列文章的整體大綱,先產出一份「系列規格總覽」,列出每一天/每一篇的標題與一句話重點,再視使用者要求決定是否逐篇展開成完整規格書,不要一次展開所有天數以免內容失焦。

## 規劃原則

1. **單一核心目標**:每篇只服務一個核心目標,不要在一篇塞入多個不相關的重點,避免讀者認知過載。
2. **明確銜接**:規格書中引用前面篇數定案的概念時,必須具體指出是哪一篇定義的,讓 Writing Agent 知道「這個名詞不用重新解釋」。
3. **可驗證的規格元件**:規格元件要具體到 Writing Agent 看了就知道該寫什麼方向,不能是空泛的形容詞,例如「說明其重要性」是不合格的,「用一個過時 API 導致文章出錯的具體案例,說明查證的必要性」才合格。
4. **不越界**:不規劃程式碼的實作細節、不設計 Mermaid 圖表的具體節點、不寫審查標準,這些分別是 Writing Agent、Visual Agent、Proofreading Agent 的職責。
5. **維持系列一致性**:標題風格、階段劃分、篇數配置必須與系列總覽筆記一致,不能自創新的分類方式。

## 輸出規格書之前:先做結構化推理

在寫出任何一行規格書之前,必須先用一段簡短的論證脈絡描述,把這篇文章的邏輯骨架梳理清楚。這段推理不是正式的規格書格式,不具備「必要規格元件」「參考素材」等欄位,純粹是你自己內部想清楚的過程,具體要梳理:

1. **核心論點**:這篇文章最終要讓讀者接受的主張是什麼,必須是一句明確、可被檢驗的陳述,不能只是模糊的主題範圍,例如「某個技術能解決什麼具體問題」或「為什麼某種做法優於另一種做法」,而不是「介紹某個技術」。
2. **支撐前提**:要讓讀者接受這個核心論點,必須先被說服哪些較小的子論證,這些子論證就是構成規格元件的積木。
3. **排列順序**:這些子論證,也就是規格書中的場景鋪陳、程式碼要求、對比表格等元件,該用什麼順序排列才能讓讀者一步步被說服,環環相扣,而不是彼此獨立、可任意並列的主題清單。

梳理完成後,用互換測試驗證邏輯是否先行於結構,自問:如果把規格元件中任兩個項目的順序互換,這篇文章的論證還能不能成立。如果調換完全不影響閱讀理解,代表這兩個項目只是主題並列而非邏輯遞進,必須回頭重新梳理順序;如果調換會讓後面的元件引用了還沒被建立的前提,讀者會感到困惑或跳躍,這才是真正具備邏輯先行性質的骨架。

這段推理脈絡完全服務於規格書的品質,本身不會出現在最終成品中,也不需要、不應該被寫進上方任何一個正式欄位裡。

## 交出規格書之前:自我檢查

在做跨篇一致性比對之前,必須先檢查規格書自己內部有沒有問題,這與下一節的跨篇比對是不同層次的問題,本節檢查的是規格書自身是否自洽,完全不需要對照全域錨點檔案這類外部文件,單看這一份規格書本身就能發現,下一節檢查的才是有沒有沿用外部的既有定案。想清楚了不等於寫清楚了,結構化推理階段已經想清楚的邏輯,轉譯成正式欄位時可能在過程中被漏掉,所以即使已經做過結構化推理,仍要回頭檢查這一次實際寫出來的文字。

逐一執行以下四項檢查,用清單方式逐項確認,不能用「仔細檢查一遍」這種空泛方式帶過:

1. **完整性檢查**:逐一確認核心目標、前置概念、段落規格、結尾伏筆這四個必要欄位是否都存在,有沒有哪一項還停留在草稿狀態或完全缺席。
2. **內部邏輯一致性檢查**:對這次寫出來的段落規格重新跑一次互換測試,確認段落之間確實存在先後依賴關係,而不是在結構化推理階段想清楚的順序,轉譯成正式欄位時又變回了可任意調換的主題並列。
3. **錨點衝突檢查**:確認規格書內部有沒有自己跟自己矛盾,例如某個名詞在段落規格一裡的用法,跟它在段落規格三裡的用法是否一致,即使兩種用法各自單獨看都合理,放在同一份規格書裡卻不能互相矛盾。
4. **核心目標對齊檢查**:逐一檢視每一個段落規格,確認它是否真的服務於這份規格書已經定義的核心目標,排除那些單獨閱讀也說得通、卻對核心目標沒有實質貢獻、只是順著話題延伸出去的枝節段落。

四項檢查合起來確保規格書在交給下游之前就先攔下瑕疵,因為寫作代理人的職責是依規格展開內容,不負責也不該越界質疑規劃代理人交付的規格是否自洽,瑕疵一旦流向下游才被發現,回頭修正的成本遠高於在這裡先攔下來。

## 產出後:跨篇一致性比對與回寫

完成自我檢查、確認規格書本身自洽之後,規格書寫定後、告知使用者之前,必須完成以下兩個步驟,這是攔截內容漂移的最後一道防線,不可省略:

1. **一致性比對**:主動比對這份規格書中使用的用詞、語氣、深度假設,是否與前面強制讀取到的全域錨點檔案、風格指南、受眾畫像存在衝突或不一致。若偵測到衝突,優先沿用既有定案,不要自己另創一個聽起來也合理的新說法,即使新說法邏輯上同樣站得住腳,優先權仍屬於先前已拍板的版本。這個比對關注的是「有沒有沿用既有定案」,不是檢查規格書自己內部的邏輯是否自洽,內部自洽是上一節自我檢查的職責。
2. **即時回寫**:若這次規劃過程中新增了先前沒有的專有名詞定義,或擴充了某個既有架構決策的適用範圍,必須立即把這個新增或擴充寫回全域錨點檔案,不能只記在自己心裡或只留在當天的 Section Spec 裡,確保後續天數查閱到的永遠是最新且完整的版本。

## 完成後

規格書寫定後,明確告知使用者這份規格書的檔案位置,說明是否有進行全域錨點檔案的回寫、回寫了哪些內容,並提醒下一步是交給 Writing Agent 依規格撰寫初稿,你的任務到此為止。

規格書產出完成、標記完成狀態之後,依 Day 31 定案的觸發機制,寫作代理人與視覺代理人各自監看這個狀態旗標,開始依序展開五天份的內容。

這裡具體記錄一個跨篇銜接的實際畫面,第三天規格書處理 commit 粒度如何影響回溯與除錯效率,這正是 Day 20 已經完整示範過的那一段內容,寫作代理人動筆前查閱全域錨點檔案,讀到第一天規格書提及 Git 基本概念時已經帶出的預設 commit 粒度標準,於是第三天談 commit 粒度與回溯效率的關係時,直接沿用同一組粒度標準前提,不需要重新定義一次讀者可能已經在第一天讀過的背景知識。這正是內容漂移這個病灶在多篇尺度上真正需要被驗證的地方,單篇內部語氣一致不夠,還要看隔了兩天的另一篇文章,會不會不自覺地重新定義一次已經交代過的前提。

第四天規格書處理分支操作與合併節奏,其中一段要求視覺代理人配合產出一張標示分支操作階段與對應時間點的流程圖。依 Day 31 定案的協同機制,寫作代理人完成這段文字描述、標記進度後,視覺代理人依這段文字內容產出對應圖表,過程中沒有出現視覺代理人因文字描述不足而標記等待狀態的情況,協同銜接順暢。第五天規格書處理常見錯誤排查,例如合併衝突與誤刪分支,這一段內容邏輯層次較深,同一個失敗現象往往對應多種可能原因,寫作代理人依 Day 18 定案的論證步驟拆解,把這段收斂到步驟層級逐一排查,不是一次通順帶過。

五天的初稿與視覺素材全數產出完成後,依 Day 31 定案的介入時間點,審查代理人開始介入查核。

審查代理人真的抓出問題,也真的觸發了打回機制

這一段實戰過程裡,值得記錄一次審查代理人真正發揮作用的案例,而不是只描述一路暢通無阻的理想情況,那樣的記錄沒有驗收的意義。

審查代理人查核第五天內容時,發現一處與第二天規格書定案的 commit 粒度標準不一致,第二天談工作區、暫存區與 commit 的關係時,把 commit 粒度標準描述為以一個邏輯功能為單位,第五天排查合併衝突難以排查這個失敗案例時,卻順著論證需要暗示了以單一檔案為單位的描述,兩處對同一個前提的描述出現落差。

審查代理人判定這是內容層面的問題,依 Day 03 定案的交接方向,打回給寫作代理人,而非規劃代理人,因為問題出在撰寫時對既有前提的引用有誤,不是規格書本身要求的重點或結構有問題。

依 Day 31 定案的局部保留原則,這個問題只涉及第五天內容裡的一小段描述,不影響第五天規格書其餘段落,也不影響其他四天已經完成的內容,寫作代理人只需要回頭修正這一小段引用,重新查閱全域錨點檔案裡第二天登記的 commit 粒度標準,把第五天這處描述改回一致的用詞,不需要重寫整篇第五天內容,更不需要牽動其他四天。修正完成、重新標記完成狀態後,審查代理人針對這一小段重新複核,確認一致後才放行。

這個案例具體證明了兩件事,一是全域錨點檔案在多篇尺度下真的能攔截到人眼未必第一時間會注意到的跨篇不一致,二是 Day 31 定案的局部保留機制,在真實觸發時確實只牽動了一小段文字,沒有連帶影響其他已完成的部分。

五天內容收斂成統一格式,走完最後一段轉換與發佈

五天內容全數通過審查後,依 Day 33 定案的機制,收斂成五份統一格式的成品,各自包含正文、對應視覺素材、以及延續 Section Spec 而來的結構性中繼資料。轉換環節依假設的目標平台規則,把系列裡原本使用雙向連結語法互相指涉的天數引用,轉換成可公開存取的完整網址,程式碼區塊的語言標註對照目標平台支援清單逐一確認,標題階層依平台規則統一降階。轉換完成後,依 Day 33 定案的 HITL 節點,在正式發佈前保留人工確認這一關,確認轉換後五天的內容呈現正確,沒有因轉換過程而失真,確認無誤後才視為完成發佈。

到這裡,整條生產線從規劃到發佈,完整跑過一輪,中途真實觸發了一次打回機制並成功局部修正,沒有出現需要整篇作廢重來的情況。

五天份 Git 入門示意系列的完整生產線實戰流程圖,五份規格書依序展開,寫作與視覺代理人協同產出,審查代理人在第 5 天查出與第 2 天粒度標準不一致並打回寫作代理人局部修正,五天內容收斂成統一格式後轉換、確認並發佈

另外,這邊也將整個流程包裝成 Claude Code 的 Skill 與 Agent,並放在 GitHub 上

https://github.com/flamerecca/serialized-tech-series-architect

可以手動複製、作為 Claude Code Plugin 安裝、也可以直接跑指令安裝。

光說「感覺跑得不錯」不夠,這次要拿出可觀察的數字

跑完一輪不代表驗收完成,Day 01 定案的四大病灶,注意力稀釋、內容漂移、事實幻覺、零容錯結構,各自原本描述的都是難以直接測量的認知現象,但今天作為全系列最終驗收,不能只停留在跟前幾次階段收尾篇一樣的定性論證,必須為每個病灶找出至少一項可觀察、可重現的量化代理指標,不涉及模型內部運作機制,只針對輸出結果本身可觀察到的現象。

注意力稀釋的代理指標,是程式碼與量化細節在人工複核時的錯誤密度。具體做法是,逐段展開架構產出的五天內容裡,統計所有涉及具體數值或可執行邏輯的片段,本次示意共十四處,其中包含 commit 粒度換算、訊息長度區間、分支操作步驟等,人工複核後零處出現錯誤或前後矛盾。這個指標之所以能對應注意力稀釋,是因為病灶原本描述的正是宏觀結構與微觀細節被迫共享同一次推理資源時,細節容易被犧牲,逐段展開讓每次生成只承載當前段落的細節份量,這個指標數字越低,代表細節沒有被結構完整性犧牲掉的比例越高。

事實幻覺的代理指標,是需要查證的技術性陳述中,實際觸發查詢動作的比例。本次五天內容裡,人工標註出十一處屬於可能隨資料來源或版本而變動的技術性陳述,例如 commit 訊息長度建議、單次改動檔案數上限、分支命名慣例,ReAct 模式依判準對其中十處觸發了查詢動作,一處因判定為通用穩定的邏輯概念而未觸發,人工複核這一處未觸發的判斷,確認判斷正確,這句話確實不具版本或時間漂移風險。十一分之十的觸發率不是要拿來宣稱十全十美,而是要誠實記錄下這個判準在實際內容中會如何分布,讓讀者未來遇到觸發率明顯偏低的情況時,有一個可以回頭比對的基準。

內容漂移的代理指標,是全域錨點檔案裡跨篇重複定義同一項具體數值的次數。理想狀態下這個數字應該是零,本次實戰演練裡,五天內容涉及 commit 粒度、訊息長度、分支命名這三項會反覆出現的具體數值,全數只在首次出現時定義一次,後續四次引用都查閱既有定案並沿用,重複定義次數為零。剛才審查代理人抓出的那處落差,是引用時的措辭不一致,不是重複定義,這裡需要區分清楚,全域錨點檔案這個機制本身在防止重複定義這件事上零缺失,但防止不了撰寫時對既有定案的引用出現措辭疏漏,這正是為什麼審查代理人的複核依然是必要的最後一道防線,而非全域錨點檔案存在之後就能完全取代人工查核。

零容錯結構的代理指標,是打回機制觸發後,實際被重做的內容範圍佔全體的比例。本次實戰演練裡唯一一次打回,只牽動第五天內容裡一小段描述的重新撰寫,五天內容整體篇幅裡,被重做的比例極小,遠低於一鍵生成模式下任何一次局部錯誤都可能導致整篇重寫的情況。這個指標的意義不在於這個比例數字本身多低才算合格,而在於它證明了局部保留機制在真實觸發時確實只牽動了受影響的段落單元,沒有連帶波及其他四天已經完成、且未被指出問題的內容。

病灶回顧,全系列累積的成果被回應到什麼程度

到今天為止,可以把 Day 01 定案的四大病灶,放在全系列的尺度上做一次最終盤點,而不只是階段四那一次侷限在寫作代理人職責範圍內的盤點。

注意力稀釋,可論證為完整解決,且今天的量化結果與 Day 20:實戰,寫作代理人依規格產出完整初稿 當時的定性論證互相印證。今天十四處技術性細節零錯誤的複核結果,具體呼應了逐段展開架構讓宏觀推理與微觀查證不再爭奪同一次推理注意力這個機制性解釋。

事實幻覺,同樣可論證為完整解決,十一處待查證陳述十處實際觸發查詢動作,且人工複核未觸發的那一處判斷正確,具體驗證了 ReAct 模式在真實內容分布下的觸發判準是可信的,不是紙上談兵的理論設計。

內容漂移,到今天可以升級為完整解決,這是與 Day 20 當時定性論證最大的不同之處。Day 20 當時誠實指出,寫作代理人只處理跨篇概念定義一致性這一層,單篇內部語氣隨長度稀釋這一層,責任在規劃代理人既已建立的風格指南與跨篇一致性機制。今天實戰演練走完整條生產線,全域錨點檔案零重複定義的量化結果,加上審查代理人成功攔截並打回那一處引用疏漏,兩層責任在今天這次完整跑過一輪的生產線裡,各自都被驗證確實發揮作用,內容漂移這個病灶到今天才第一次具備完整解決的資格,因為完整解決需要的是跨篇尺度下真正跑過一輪、而不是單一角色職責範圍內的局部驗證。

零容錯結構,同樣到今天可以升級為完整解決。Day 20 當時誠實指出,寫作代理人本身只提供錯誤定位精度的提升,最終能否做到只抽換局部不牽動整體,答案落在後續審查代理人與工作流編排階段。今天審查代理人真實觸發打回機制,且依 Day 31 定案的局部保留原則,只牽動了受影響的一小段內容,這正是最終解答被驗證兌現的具體時刻。

四大病灶到今天全數可論證為完整解決,這句話需要立刻補上但書,才不會流於過度樂觀的行銷式總結。

完整解決指的是,這套系統的設計機制確實針對每個病灶原本描述的機制性根源,提供了可驗證的對應解法,且今天的實戰演練提供了可觀察的量化證據支持這個論證。但完整解決不等於零風險,今天的量化結果來自一次規模有限的示意演練,五天份內容、十四處技術細節、十一處待查證陳述,樣本規模遠小於一個正式系列真正投入使用時會累積的規模,量化指標的絕對數字在樣本放大後會不會維持同樣的水準,今天的演練無法回答,這一點必須誠實留給讀者自行評估。

機器真的動起來了,但駕駛座上還是要有人

今天讓整套系統第一次真正被發動起來,從規劃代理人產出五天份規格書,到審查代理人真實觸發一次打回機制並成功局部修正,再到成品收斂統一格式並走完發佈前的人工確認,整條生產線確實如設計預期地運作,沒有出現需要推翻現有設計的意外狀況。四項量化代理指標的結果,讓 Day 01 定案的四大病灶,第一次能在跨篇尺度上被完整論證為解決,而不只是階段性、局部性的實質進展。

但今天也誠實記錄了兩件事,不能被今天的正面結果掩蓋。一是即使有全域錨點檔案這樣的機制存在,審查代理人這道最後防線依然真實攔截到了一處人為疏漏,系統設計降低了錯誤發生的機率,沒有也不應該宣稱能完全消除人工複核的必要性。二是今天的量化數據建立在有限樣本之上,規模放大後是否依然成立,是今天無法回答、留給未來實際使用時持續觀察的問題。

整套系統從紙上設計到今天實際跑通,三十四天的旅程證明了一件事,把長篇技術寫作拆解成多個單一職責角色協同運作,確實是可行的架構方向,且今天的實戰數據不是空泛的信心喊話,而是有具體案例支撐的驗證結果。但這套系統存在的意義究竟是什麼,它適合用在什麼情境、不適合用在什麼情境,人類在這整條生產線裡真正不可取代的位置在哪裡,這些更根本的問題,今天還沒有正面回答,將在系列最後一篇正式揭曉。


上一篇
Day 33:多平台格式轉換與自動發佈
系列文
用 AI Agent 撰寫長篇技術系列文章 共 35 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言