001 · 打造 Agent 系統的工程紀律
講者以看房 agent 為例,說明系統思考、工作流程設計、模組化與威脅建模這些工程技能,如何用來打造穩定又好維護的 agentic 系統。
原標題:Build Systems, Not Code - Angie Jones, Agentic AI Foundation
重點摘要
- 先想清楚系統邊界設計 agent 前要先把它放進整個系統裡看,想清楚依賴、邊界與故障處置,而不是直接丟給 coding agent 動手做。
- 工作流程要有明確路徑光給 agent 一個目標不夠,還要定義完整工作流程,讓每次執行都收斂在停止、重試或升級三種結果之一。
- 拆解巨型 prompt所有規則都塞進同一份 prompt,只會讓 agent 偏離腳本;該做的是把不同職責拆開,分別做成 skill、schema、腳本或 sub-agent。
- 能用程式碼就別硬用 agent有確定答案的任務交給程式碼處理,需要判斷與模糊推理的才交給 agent 的模型,最終核准權留給人。
- 輸出要走結構化 contractagent 的判斷要寫成有欄位的結構化資料存進記憶,下游流程才能不靠人工介入直接讀取結果。
- 設計可重試與防護邊界系統要撐得住重複觸發或執行中斷,也要把外部輸入當成證據而非指令,並用人工核准圍住高風險動作。
時間軸
時碼點下去會跳到影片的那一段。
| 時碼 | 段落 | 重點 |
|---|---|---|
| 00:00 | 開場 | 用 agent 幫忙寫程式碼,讓寫程式的樂趣悄悄被拿走;但往上一層做「打造 agent」,工程的樂趣還在。 |
| 01:08 | 案例介紹 | 以看房 agent「Relocation Scout」為例,示範如何設計一套能重複使用、能跨 session 保留知識的 agentic 系統。 |
| 01:43 | 系統思考 | 第一個工程技能是系統思考:agent 只是更大系統裡的一個元件,要先想清楚邊界、依賴與故障處置。 |
| 03:05 | 工作流程設計 | 第二個技能是工作流程設計:agent 需要的不只是目標,而是明確路徑,每次執行都要收斂在停止、重試或升級三種結果之一。 |
| 04:30 | 拆解巨型 prompt | 規則一股腦塞進同一份 prompt,會讓 agent 偏離腳本;該做的是拆開不同職責,方便理解、測試與修改。 |
| 06:54 | 分離關注點 | 把各項職責放到對的位置:標準化流程做成 skill、輸出格式定義成 schema、算通勤時間交給腳本、研究鄰里交給 sub-agent。 |
| 08:23 | 模組化與 sub-agent | skill 與 sub-agent 都是可重複使用的模組,但抽出哪些共用元件需要工程判斷,不是所有東西都值得抽象化。 |
| 09:19 | 演算法思維 | 有確定答案的任務用程式碼算就好,需要判斷與模糊推理才交給 agent 的模型,最終核准權留給人。 |
| 11:16 | 定義輸出 contract | agent 的判斷要寫成有欄位的結構化資料存進記憶,下游流程才能不靠人工介入直接讀取結果。 |
| 12:59 | 設計可重試機制 | 系統要撐得住 webhook 重複觸發或執行中斷,靠檢查記憶裡寫了什麼,讓重試不會造成重複副作用。 |
| 15:29 | 威脅建模 | 把賣家文案、論壇貼文與匿名評論這類外部輸入當成證據而非指令,並把送出報價這類高風險動作圍在人工核准之後。 |
| 17:07 | 可維護性設計 | 不放心讓 coding agent 直接設計其他 agent,因此在系統每一層都放 AGENTS.md,讓任何人或 agent 都能不用回頭拆解 prompt 就上手。 |
| 18:51 | 收尾 | 打造 agent 系統其實就是軟體工程:拆解問題、界定職責、定義 contract、管理狀態,原理相同,只是換了元件。 |
值得記的話
名詞與人物
| Relocation Scout | 講者用來示範的看房 agent,負責蒐集房源、評分並排出候選清單。 |
|---|---|
| AGENTS.md | 講者在系統每一層放置的說明檔,記錄工作流程、政策與記憶維護方式,讓人與 agent 都能快速上手。 |
| skill | 把重複用得到的流程(例如標準化房源資料)包成可共用的 agent 能力模組。 |
| sub-agent | 專門處理單一任務的 agent,可以像函式一樣被呼叫,並在執行時挾帶整個 session 的脈絡。 |
| Karpathy's LLM wiki | 講者在多數 agent 上拿來當記憶層的東西,決策、分數與理由以結構化欄位寫進去,之後可以直接查詢。這場只提到名稱,沒有說明它怎麼運作。 |
延伸
- 講者提到系統要有定期跑的檢查(Lint Pass)來抓出做到一半就中斷的動作,但沒有說明實際怎麼實作。
- 講者提到把看房搜尋擴大到三個城市時,同一份 skill 可以直接被每個市場重複使用,但沒有進一步說明跨市場的其他差異。