AI商業
燃燒 Token 成為新的虛榮指標:企業 AI 轉型的盲點
"如果你獎勵「AI 使用量」,你得到的只會是無意義的 Token 燃燒。真正的企業 AI 基礎設施,不是讓每個新 Agent 都像失憶症患者一樣重新搜索全公司的資料,而是提供編譯好的結構化狀態 (Compiled State)。"
閱讀全文
---
tags: [AI商業, 組織管理, 系統架構]
date: 2026-05-21
read: false
source: "2026-05-21T093131+0800-Token Burn Is the New Vanity Metric.md"
---
# 燃燒 Token 成為新的虛榮指標:企業 AI 轉型的盲點

原始來源與檔名:2026-05-21T093131+0800-Token Burn Is the New Vanity Metric.md
---
## NAPKIN | 餐巾紙
### 餐巾紙公式
> AI Transformation ≠ Token Usage + Agents Launched
> AI Transformation = Shared Context (Company Brain) + Minimized Rediscovery + Actual Outcomes
*公式說明:企業評估 AI 導入是否成功,不應看消耗了多少 Token 或啟動了多少 Agent(這些只是虛榮指標)。真正的轉型在於是否建立了「企業大腦」來共享上下文,從而減少 AI 每次啟動時的重新探索與推論成本。*
### 一句話
> 如果你獎勵「AI 使用量」,你得到的只會是無意義的 Token 燃燒。真正的企業 AI 基礎設施,不是讓每個新 Agent 都像失憶症患者一樣重新搜索全公司的資料,而是提供編譯好的結構化狀態 (Compiled State)。
### 餐巾紙草圖
```text
[ The Vanity Metric Cycle (Expensive Amnesia) ]
New Task -> Agent wakes up (Amnesia) -> Search all Slack/Jira/Drive -> Stuff Huge Prompt -> Burn Tokens -> Output -> (Context Lost)
[ The Structure Cycle (Company Brain) ]
New Task -> Agent connects to Semantic State -> Gets Pre-compiled context -> Minimal Tokens -> Accurate Output -> (State Updated)
```
## ROUND 1: SKELETON | 骨架掃描
**「這篇文章在說什麼」**
* **核心問題**: 為什麼企業投入大量資金使用 AI,卻高達 94% 沒看到顯著的業務價值?
* **核心答案**: 因為企業錯把「使用量 (Token burn, Agent 數量)」當作 KPI。解決方案是從「查詢時的暴力破解」轉向「結構化的共享上下文 (Company Brain)」。
* **論證結構**: 點出虛榮指標的亂象 -> 解釋為何發生 (Goodhart 定律與 Cobra 效應) -> 分析當前架構的缺陷 (Expensive Amnesia) -> 提出解法 (Semantic state layer) -> 重新定義成功的測量標準。
### 章節骨架
1. **現狀觀察**: 「燃燒 Token」成了企業展現進步的虛榮指標 (Vanity Metric)。
2. **動機分析**: 當真實的業務產出難以測量時,人們就會去優化容易測量的代理指標 (如 Agent 啟動次數)。這是眼鏡蛇效應 (Cobra Effect)。
3. **架構痛點 (Expensive Amnesia)**: 目前多數 Agent 是無狀態的。每次任務都要把 Slack, Jira, Drive 全掃一遍塞進 Prompt,這是依賴暴力破解 (Brute force) 的昂貴失憶症。
4. **Sentra 的解法 (Company Brain)**: 建立一個語義狀態層 (Semantic state layer),將離散的企業知識編譯成結構化的上下文。
5. **終局思考**: 未來勝出的企業不是「用最多 AI」的,而是懂得透過記憶與結構來「減少 Token 浪費」的。
## ROUND 2: DISSECTION | 血肉解剖
**「憑什麼這麼說」**
### 論證鏈
```text
企業急於證明自己在擁抱 AI --> 由於難以衡量 AI 帶來的實際利潤,轉而衡量 Token 消耗量與 Agent 部署量 --> 開發者為了滿足 KPI,使用多 Agent 進行窮舉 (Combinatorial explosion) 產生大量草稿與分支 --> 結果:生成變得廉價,但人類的「審查負擔 (Judgment burden)」急劇上升,且每次檢索都浪費大量 Token --> 結論:必須放棄暴力檢索,改建具備結構化記憶的「企業大腦」。
```
### 關鍵證據
1. **麥肯錫數據**: 90% 企業部署了 AI,但 94% 沒看到價值。這證明了「佈署」與「產出」之間的嚴重脫節。
2. **OpenRouter 成本分析**: GPT-5.5 的實際花費比 5.4 高出 49-92%。證明了「硬體會讓 Token 永遠便宜下去」的假設在企業級應用中是不成立的,無效的長上下文 (Irrelevant context) 依舊極其昂貴。
3. **內部測試對比**: Sentra 在測試中發現,提供「結構化檢索」比「無腦塞入長歷史紀錄」能減少 30% 到 90% 的 Token 消耗。
### 隱形假設與邊界
* **隱形假設**:
* 構建所謂的「Company Brain (結構化語義層)」是技術上可行的,且維護這個 Brain 的成本低於暴力檢索浪費的 Token 成本。
* 作者身為 Sentra 的創辦人,文章的核心目的是為自家產品 (Company Brain) 鋪陳理論基礎。
* **邊界條件**:
* 在創意發想或一次性的程式碼生成等「探索性任務 (Exploratory work)」中,消耗 Token 進行暴力窮舉在短期內依然是理性的選擇。
## ROUND 3: SOUL | 靈魂提取
**「還能怎麼用」**
* **知識連接**: 此文再次呼應了《No .md files until Series B》與《ActiveGraph》的終極命題:**Agent 的下一步不是更大的模型,而是更好的記憶架構 (Memory Architecture)。** 將檢索時間點從 Query-time 提前到 Compile-time,是所有高效能系統的共通法則。
* **行動觸發**: 檢視團隊目前的 AI 工具,是否每次都需要手動餵入相同的 Prompt 和背景知識?如果是,請立刻停止追求「使用了多少 Token」,轉而著手建立一個靜態的上下文資料庫。
---
# 系統架構師洞察:從暴力檢索到編譯狀態
這是一篇極具深度的 AI Infra (基礎設施) 架構文章。作者精準地指出,當前的企業 AI 架構正處於一個「**依賴算力掩蓋架構缺陷**」的粗暴階段。
## 核心架構轉移
### 1. Query-Time Brute Force vs. Compiled State
這句話是全文的技術眼:**"The architectural shift is from query-time brute force to compiled state."**
* **現狀 (Query-Time)**:目前的 RAG 系統,是在使用者發出 Request 的瞬間,去各大系統 (Slack, Jira) 進行向量檢索,然後組成一個巨大的 Prompt 傳給 LLM 進行意圖推斷。這在分散式系統中等同於「每次收到請求,都去全表掃描 (Full Table Scan) 一次資料庫」。
* **未來 (Compiled State)**:真正的 Agent 系統應該像編譯器一樣。平時就在背景將 Slack 的對話、Jira 的狀態「編譯 (Compile)」成結構化的語義視圖 (Materialized Views)。Agent 啟動時直接讀取這個狀態圖譜,極大化降低了 LLM 的推理成本 (Inference Cost)。
### 2. 轉移瓶頸:Generation to Judgment (從生成到審判)
在沒有共享上下文的情況下,開發者傾向於「開多個 Agent 跑不同的解法」。這導致系統的瓶頸從「生成代碼/草稿」轉移到了「人類必須花費極高認知成本去審查這些草稿」。
> 架構決策:這證明了單純的 Fan-out (扇出) 平行運算在 AI Agent 中是危險的。沒有**共同基礎事實 (Ground Truth)** 的平行生成,只會製造出指數級的知識熵 (Entropy)。
## 總結
不要把「每次都要讀取整座圖書館才能回答一個問題」的失憶症 Agent 稱為智能。真正的企業級架構,**Structure beats scale (結構勝過規模)**。在 AI 應用的下一階段,架構師的職責就是設計出這個能讓 Agent "Start closer to the needle" (離目標更近一步) 的記憶編譯層。
Obsidian 整理
原始文章
AI工具
20 個大多數開發者不知道的 Claude Skills (讓 AI 記住你的工作流)
"不要再把 Claude 當作每次都要重新教導的實習生。寫成 格式的 Skill 注入 Claude,讓它永遠記住你的「寫作聲音 (Voice)」、「PR 審查標準」與「決策框架」,終結每天重複貼上 Context 的低效輪迴。"
閱讀全文
---
tags: [AI工具, Prompt工程, 工作流]
date: 2026-05-21
read: false
source: "2026-05-21T093201+0800-20 Claude Skills Most Builders Don't Know Exist.md"
---
# 20 個大多數開發者不知道的 Claude Skills (讓 AI 記住你的工作流)

原始來源與檔名:2026-05-21T093201+0800-20 Claude Skills Most Builders Don't Know Exist.md
---
## NAPKIN | 餐巾紙
### 餐巾紙公式
> Prompt = One-time usage (Vaporware)
> Skill = Prompt + Context + Rules + Persistence (Operating System)
*公式說明:提示詞 (Prompt) 是一次性的,關閉對話就消失了。技能 (Skill) 是永久性的「工作說明書 (Job Description)」,設定好後,每次開啟 Claude,它都已經載入你的規則、語氣和標準,成為你系統化的一部份。*
### 一句話
> 不要再把 Claude 當作每次都要重新教導的實習生。寫成 `.md` 格式的 Skill 注入 Claude,讓它永遠記住你的「寫作聲音 (Voice)」、「PR 審查標準」與「決策框架」,終結每天重複貼上 Context 的低效輪迴。
### 餐巾紙草圖
```text
[ Amateur Workflow ]
Open Claude -> Paste instructions -> Paste context -> Output is mediocre -> Tweak prompt -> Close tab (Lose everything).
[ Power Builder Workflow ]
Create `hook-forge.md` in `.claude/agents/` (Once)
-> Open Claude -> "/hook-forge [topic]" -> Get 10 perfect psychological hooks.
-> State is preserved. System compounds.
```
## ROUND 1: SKELETON | 骨架掃描
**「這篇文章在說什麼」**
* **核心問題**: 多數使用者每天浪費大量時間在向 Claude「重新解釋」自己要什麼。因為他們使用的是會過期的「提示詞 (Prompt)」,而不是持久化的「技能 (Skill)」。
* **核心答案**: 建立一次性的 Skill (以 Markdown 撰寫),將特定任務的職位描述、規則和上下文永久鎖死在系統中。文章提供了 20 個涵蓋內容創作、研究、商業決策與軟體開發的高階 Skill 模板。
* **論證結構**: 破除 Prompt 的迷思 -> 定義 Skill (永久工作說明) -> 如何安裝 Skill -> 羅列 5 大領域共 20 個高階 Skill (包含具體的 System Prompt) -> 結論:建立一次,永久運行。
### 章節骨架
1. **概念釐清**: Prompt 是一次性的指令;Skill 是永久的職位描述。
2. **Category 1: Content & Writing**: 包含鉤子鍛造 (Hook Forge)、語音鎖定 (Voice Locker)、推文架構師 (Thread Architect) 等,解決「從零開始寫」與「AI 味太重」的問題。
3. **Category 2: Research & Analysis**: 包含簡報建立器 (Brief Builder)、矛盾尋找者 (Contradiction Finder)、信號掃描器 (Signal Scanner),防止被雜訊與表面共識誤導。
4. **Category 3: Business & Operations**: 包含 SOP 撰寫器、決策框架 (Decision Framer)、定價壓力測試,將模糊的商業想法轉為結構化輸出。
5. **Category 4: Coding & Dev**: 包含程式碼解釋器 (Code Explainer)、PR 審查員 (PR Reviewer)、除錯夥伴 (Debug Partner),要求找出根本原因而非 OK 繃修補。
6. **Category 5: Strategy & Thinking**: 包含第二層思考者 (Second Order Thinker)、心智模型應用 (Mental Model Applier),強制 AI 進行深度推演。
## ROUND 2: DISSECTION | 血肉解剖
**「憑什麼這麼說」**
### 論證鏈
```text
每次對話都重新輸入提示詞,導致 AI 產出充滿隨機性且難以維持高標準 --> 將優化好的 Prompt 固化為 Skill (Markdown 檔案) --> 系統自動載入 (如 Claude Code 的 .claude/agents/) --> 讓 AI 從「通用助理」轉化為「遵循你個人標準的專屬流水線工作站」 --> 最終實現工作效率的十倍提升 (因為消除了 Setup Time)。
```
### 關鍵證據
1. **The Voice Locker (語音鎖定)**: 這是對抗「AI 寫作感」的最強武器。與其每次叫 AI「寫得自然一點」,不如一次性給它 5 篇你的文章,讓它分析你的句型長度、詞彙偏好、開場白習慣,然後產出一份專屬的「語音簡報 (Voice Brief)」供未來永遠使用。
2. **The Contradiction Finder (矛盾尋找者)**: 揭示了多數研究的盲點——把各種資料壓平為「表面共識」。這個 Skill 強制 AI 去尋找「來源互相衝突」的地方,這才是真正的洞察所在。
3. **The PR Reviewer (PR 審查員)**: 規定 AI 只回報 Bug、缺少的測試、資安問題與程式碼風格違規,並且**強制提出一個值得討論的架構決策 (The Conversation)**。這將 AI 從「語法檢查器」提升到了「資深工程師 (Senior Engineer)」的層次。
### 隱形假設與邊界
* **隱形假設**:
* 使用者熟悉如何在其工具 (Claude.ai Web, Claude Desktop 或 CLI) 中載入與管理這些 Skill/Sub-agents。
* 使用者的任務具有高度的重複性,值得花時間建立並微調這些 Skill。
* **邊界條件**:
* 這些 Skill 的 Prompt 大多基於目前 LLM (如 Claude 3.5 Sonnet) 的理解能力設計。若模型更新或能力下降,某些複雜的約束 (Constraints) 可能會失效 (例如要求不使用 "I" 開頭,模型有時仍會犯錯)。
## ROUND 3: SOUL | 靈魂提取
**「還能怎麼用」**
* **知識連接**: 這裡的 Skill 概念與我們系統中使用的 `<appDataDir>/.agent/skills/` 資料夾完全吻合。它也高度呼應了《Karpathy's CLAUDE.md》中提到的「將規則程式碼化 (Codify rules)」的核心思想。
* **行動觸發**: 不要只把這些 Prompt 存在記事本。現在就去你的專案根目錄建立 `.claude/agents/` (或對應的系統設定檔),把 `PR Reviewer` 和 `Debug Partner` 寫進去,明天寫 Code 時立刻調用。
---
# 系統指令的持久化設計 (Architectural Deep Dive)
## 前言
這篇文章表面上是一份 Prompt 大全,但從系統架構的角度來看,它在倡導一種**「指令基礎設施即代碼 (Infrastructure as Code, IaC for Prompts)」**的典範轉移。作者試圖消滅游擊式 (Ad-hoc) 的 Prompting,轉向宣告式 (Declarative) 的狀態管理。
## 核心架構洞察
### 1. 無狀態 (Stateless) 到有狀態 (Stateful) 的躍遷
LLM 本質上是無狀態的 (Stateless API)。每次開啟新對話,它的 Context 都是空的。
* **一般人**:透過肉身複製貼上,手動將 Context 注入,這造成了極大的 I/O 頻寬浪費與人為錯誤。
* **Skill 架構**:透過 `.md` 檔案將 Persona、Constraints、Output Format 封裝。當我們呼叫這個 Skill 時,系統(例如 Claude Desktop/CLI) 其實在底層做了一次 `Context Injection`,將無狀態的 LLM 瞬間實例化 (Instantiate) 為一個有狀態的專家 Worker。
### 2. 嚴格的約束設計 (Negative Constraints)
觀察作者寫的 Skill,幾乎每一個都有極度嚴格的 `Rules` 區塊,且大量使用「否定句型」:
> * "No hook can start with 'I'."
> * "No tweet ends with 'Let me explain'."
> * "Do not summarize."
> * "Never suggest suppressing an error."
在 Prompt Engineering 系統設計中,**定義「不能做什麼 (Negative Space)」往往比定義「要做什麼」更重要。** 這防止了 LLM 落入其預訓練權重中最常見的「陳腔濫調 (Cliches)」。
### 3. 強制結構化輸出 (Schema Enforcement)
每一個 Skill 都規定了極度具體的回傳格式 (Return 1, 2, 3, 4)。
這在軟體工程上等同於**定義 API 的 Response Schema**。當 AI 的輸出結構變得可預測時,它就能被對接到下一個自動化流程中。例如,`Meeting Extractor` 固定輸出「決策、待辦、阻塞點、潛規則」,這使得我們可以用另一個腳本直接把「待辦」爬取出來並自動寫入 Jira。
## 總結
真正的高手不寫 Prompt,他們建構系統。將高頻的、高價值的認知勞動固化為具備嚴格 I/O 規範的 Skill 檔案,是打造「個人 AI 作業系統」的第一步。
Obsidian 整理
原始文章
AI工具
5 個極具破壞力的 Claude 高階技巧
"Claude 的能力遠超一般聊天機器人,透過使用其隱藏功能(如 Skills 2.0、Dispatch、Claude Code 作為記憶系統與平行子代理),能將其轉化為高度自動化且具備上下文記憶的個人助手。"
閱讀全文
---
tags: [AI工具, Prompt工程, 生產力系統]
date: 2026-05-21
read: false
source: "2026-05-21T093008+0800-5 Dangerously Powerful Claude Hacks.md"
---
# 5 個極具破壞力的 Claude 高階技巧

原始來源與檔名:2026-05-21T093008+0800-5 Dangerously Powerful Claude Hacks.md
---
## NAPKIN | 餐巾紙
### 餐巾紙公式
> Claude Power User = Sub-agents (Parallel) + Dispatch (Mobile to Desktop) + Claude Code Memory (Persistent Context)
*公式說明:要發揮 Claude 的真正實力,不應只把它當作文字聊天視窗。透過本地端的記憶系統 (Claude Code Memory)、桌面端遙控 (Dispatch) 與並發子系統 (Sub-agents),Claude 實質上成為了個人操作系統的 AI 核心。*
### 一句話
> Claude 的能力遠超一般聊天機器人,透過使用其隱藏功能(如 Skills 2.0、Dispatch、Claude Code 作為記憶系統與平行子代理),能將其轉化為高度自動化且具備上下文記憶的個人助手。
### 餐巾紙草圖
```text
[ Desktop Environment ]
|-- Claude Code (Memory.md + Identity.md)
| |-- Sub-agent 1 (Research)
| |-- Sub-agent 2 (Code)
|
|<-- [ Dispatch (Mobile) ] remotely controls desktop files
```
## ROUND 1: SKELETON | 骨架掃描
**「這篇文章在說什麼」**
* **核心問題**: 大多數使用者錯過了 Anthropic 快速發布的高階功能,僅將 Claude 當作普通的對話機器人,浪費了其強大的系統級整合能力。
* **核心答案**: 介紹 5 個少有人知的高階用法:Skills 2.0、Dispatch、Claude Code 記憶系統、Claude-Ception 以及平行子代理 (Sub-agents)。
* **論證結構**: 依照功能強大程度倒序介紹,從個人自動化腳本 (Skills) 到終極的平行代理 (Sub-agents)。
### 章節骨架
1. **Hack 5 (Skills 2.0)**: 使用自然語言讓 Claude 自建 slash command 技能,自動化日常任務。
2. **Hack 4 (Claude Dispatch)**: 透過手機端遠端控制電腦桌面與檔案系統,實現在外工作自動化。
3. **Hack 3 (Claude Code for Non-Coders)**: 在本地建立 `identity.md` 與 `memory.md`,打造持久化的第二大腦。
4. **Hack 2 (Claude-Ception)**: 打造自定義的視覺化操作介面(如 HTML 預覽),取代純文字對話。
5. **Hack 1 (Sub-agents)**: 在 Claude Code 內平行生成多個專精不同領域的子代理,協同完成複雜任務。
## ROUND 2: DISSECTION | 血肉解剖
**「憑什麼這麼說」**
### 論證鏈
```text
多數使用者僅停留在文字層面的互動 --> Anthropic 推出了能與本地檔案系統及作業系統互動的工具 (Claude Code, Dispatch) --> 透過在本地資料夾預設 memory.md,解決了 Context 丟失的問題 --> 透過 Dispatch 與 Sub-agents,解決了執行效率與跨裝置操作的物理限制。
```
### 關鍵證據
1. **Claude Code 不只是寫程式**: 只要在一個資料夾內放入 `identity.md` 並下達 `INSTRUCTION` 讓它每次開啟都讀取,Claude 就具備了持久的長期記憶,完全改變了 AI 每次對話都要重新教導的缺點。
2. **並發處理威力**: 透過指令 `"Spawn four sub agents in parallel..."`,可以在一次請求中同時完成研究、寫報、發推特與建置 Landing Page,展示了多代理協同 (Multi-Agent Collaboration) 的威力。
### 隱形假設與邊界
* **隱形假設**:
* 使用者對於開放本機檔案系統權限給 AI 具備足夠的信任,不會擔心資料外洩。
* 使用者訂閱了 Claude 的高級方案,因為這些進階功能(尤其是多代理平行運作)極度消耗 Token 額度。
* **邊界條件**:
* Claude Dispatch 的遠端遙控依賴網路與桌面端程式常駐,若電腦休眠,功能將失效。
## ROUND 3: SOUL | 靈魂提取
**「還能怎麼用」**
* **知識連接**: Claude Code 的 `memory.md` 與 `identity.md` 實踐,完美呼應了前一篇文章「Obsidian 作為個人作業系統」中 `CLAUDE.md` 的概念,兩者皆是 **Context 注入 (Context Injection)** 的架構實現。
* **行動觸發**: 立即在自己的工作目錄中建立 `identity.md`,並強制本地端 Agent (如 Cursor 或 Claude Code) 讀取,終結每天重複輸入背景資訊的無效率行為。
---
# Claude 系統級應用解析 (Architectural Deep Dive)
## 前言
這篇文章打破了「LLM 只是對話框」的既定印象,展示了如何將 Claude 深度整合進個人的作業系統 (OS) 中。從架構師的角度來看,這 5 個 Hack 的本質是**賦予 LLM I/O 權限 (檔案系統與網路) 以及狀態留存能力 (Statefulness)**。
## 核心架構洞察
### 1. 狀態持久化 (State Persistence via Filesystem)
在 Hack #3 (Claude Code memory) 中,作者提出透過 `identity.md` 和 `memory.md` 來記錄專案狀態。
* **架構對比**:過去我們依賴 OpenAI 的 Memory API 這種「黑盒子」來保存長期記憶。但作者的做法是採用**本地明文儲存 (Local Plain Text Storage)**。這保證了資料的可見性與可攜性 (Portability),你可以輕易把這兩個檔案餵給另一個模型(如 Gemini 或 Llama)。這是架構上非常優秀的防綁定 (Vendor-lock-in free) 策略。
### 2. 平行運算拓撲 (Parallel Computation Topology)
在 Hack #1 (Sub-agents) 中,作者展示了如何利用 Claude Code 進行**扇出 (Fan-out)** 模式的任務分配。
* **傳統模式**:依序執行(Research -> Draft -> Tweet)。
* **Fan-out 模式**:一個主管 Agent 收到指令,啟動 4 個 Worker Agents 平行處理互不依賴的任務。這在分散式系統中是標準的 MapReduce 變體,能將任務的總完成時間 (Makespan) 從串列的 O(N) 降低至接近 O(1)。
### 3. 遠端程序呼叫 (RPC via Dispatch)
Hack #4 提到的 Claude Dispatch,本質上是一個以手機為 Client、家用電腦為 Server 的非同步 RPC (Remote Procedure Call) 橋接。它讓手機上的 Claude App 可以越權操作你桌機的資料夾,這徹底打破了行動裝置算力與檔案權限的限制。
## 總結
真正的高手不是在「提示詞」上雕花,而是在「系統架構」上做文章。將 AI 接入本機檔案庫,讓它自己寫日誌、自己生成子代理,這才是向 Agentic AI 邁進的正確姿勢。
Obsidian 整理
原始文章
AI工具
成為 Claude 高階使用者的 30 天完整指南
"擺脫每天重複輸入上下文的低效輪迴。花 30 天建立你的 Claude 專案庫、工作流模板與定時自動化腳本,讓 AI 從「你問它才答的助理」變成「主動推進工作的系統」。"
閱讀全文
---
tags: [AI工具, Prompt工程, 生產力系統]
date: 2026-05-21
read: false
source: "2026-05-21T093135+0800-How to Become a Claude Power User for FREE (Full Course).md"
---
# 成為 Claude 高階使用者的 30 天完整指南

原始來源與檔名:2026-05-21T093135+0800-How to Become a Claude Power User for FREE (Full Course).md
---
## NAPKIN | 餐巾紙
### 餐巾紙公式
> Power User = (5-Part Prompts + Persistent Projects) * (Automated Workflows + Cowork Autonomy)
*公式說明:一般人把 Claude 當成無狀態的搜尋引擎;高階使用者則透過建立帶有背景記憶的專案 (Projects),結合固定的工作流模板與自動化代理 (Claude Cowork),將其打造成個人的自動化作業系統。*
### 一句話
> 擺脫每天重複輸入上下文的低效輪迴。花 30 天建立你的 Claude 專案庫、工作流模板與定時自動化腳本,讓 AI 從「你問它才答的助理」變成「主動推進工作的系統」。
### 餐巾紙草圖
```text
[ Casual User ]
Types query -> Claude guesses context -> Mediocre output -> Closes tab. (Repeats daily)
[ Power User (30-Day Setup) ]
W1: Setup Projects (Context/Style injected)
W2: Build Workflows (Templates for Research/Writing)
W3: Autonomy (Claude Cowork reads local files, triggers via Cron)
W4: Compound (Refine templates, build knowledge base)
---> AI works while you sleep.
```
## ROUND 1: SKELETON | 骨架掃描
**「這篇文章在說什麼」**
* **核心問題**: 為什麼大多數人覺得 Claude「還好」,而少數人卻能用它完成 80% 的日常工作?
* **核心答案**: 差距不在於聰明才智或付費模型,而在於是否投入了「刻意配置 (Deliberate setup)」。多數人把 Claude 當搜尋引擎,而高階使用者把它當作業系統。
* **論證結構**: 提出 30 天的訓練計畫。W1: 掌握 5 部位提示詞與建立 Projects (上下文注入) -> W2: 建立可重複的工作流模板 -> W3: 使用 Claude Cowork 實作本地端與定時自動化 -> W4: 迭代優化與知識庫建立。
### 章節骨架
1. **Week 1 (基礎與記憶)**:
* 學習 5-Part Prompt: Role, Context, Task, Format, Constraints。
* 理解 Context Window 的注意力衰退 (頭尾最重要)。
* 建立 3 個專屬 Projects (工作、研究、寫作) 以注入全局上下文。
2. **Week 2 (工作流建立)**: 放棄每次手打 Prompt,改用固定模板處理「研究」、「兩步法寫作 (先大綱後內文)」與「決策分析」。
3. **Week 3 (走向自動化)**: 啟動 Claude Cowork (本機代理)。連接 Google Drive / Slack,並設定 Cron 級別的自動排程任務。
4. **Week 4 (複利與優化)**: 反思產出缺陷並修改模板;建立知識庫避免 AI 重新發明輪子;畫出個人的 AI 作業系統架構圖。
## ROUND 2: DISSECTION | 血肉解剖
**「憑什麼這麼說」**
### 論證鏈
```text
人類大腦無法每次都精準輸入完美的上下文 --> 導致 LLM 產出充滿「隨機性與猜測」 --> 透過建立 Projects 預載 Context (風格、原則) --> 將常見任務寫成標準化 Workflow 模板 --> 透過 Claude Cowork 接管檔案讀取與定時執行 --> 最終將 AI 轉化為無需人類介入也能維持高品質產出的系統 (Operating System)。
```
### 關鍵證據
1. **注意力分配 (Attention Allocation)**: 作者指出 Claude 即使有 200K token,注意力依然是 U 型分佈 (Lost in the middle)。這就是為什麼必須把「最重要的規則放最前面,當前任務放最後面」的物理原因。
2. **兩步式寫作 (Two-step Workflow)**: 要求 Claude 先寫大綱 (Outline),人類確認後再寫內文。這證明了對於複雜任務,強制介入 (Human-in-the-loop) 來校正結構,遠比 One-shot 生成有效。
3. **非同步執行 (Asynchronous Execution)**: "Every Monday at 8am..." 透過自動化排程,系統正式從「人類驅動 (Reactive)」轉變為「AI 主動 (Autonomous)」。
### 隱形假設與邊界
* **隱形假設**:
* 使用者願意投資整整 30 天的時間來建立並優化這套系統,克服初期的學習曲線。
* 使用者的工作性質包含大量重複性的文本處理、研究、分析與彙整任務。
* **邊界條件**:
* Claude Cowork 與第三方工具整合 (如 Slack, Drive) 可能受到企業資安政策 (Compliance/DLP) 的嚴格封鎖,導致第三週的自動化無法在多數大公司內落地。
## ROUND 3: SOUL | 靈魂提取
**「還能怎麼用」**
* **知識連接**: 此文的 Week 1 完全呼應了《Karpathy's CLAUDE.md》的精髓 (Context Injection)。Week 3 的自動化則與《將 Obsidian 轉變為個人作業系統》中提到的 N8N 定時觸發架構如出一轍。
* **行動觸發**: 不要再打開新的空對話框問問題了。立刻去 Claude 的左側欄建立三個 Projects,把你的履歷、常用的寫作範例、公司介紹分別丟進 System Instructions 裡。
---
# 個人 AI 系統架構解析 (Architectural Deep Dive)
## 前言
本文披著「效率指南」的外衣,實則在傳授軟體工程中最核心的兩大思想:**狀態管理 (State Management)** 與 **流程自動化 (Workflow Automation)**。作者試圖將一般使用者的思維,從單次呼叫的腳本 (Ad-hoc Scripts) 提升到具備持久狀態的系統設計 (System Design)。
## 核心架構洞察
### 1. 隔離全域狀態與局部執行 (Global State vs. Local Execution)
在第一週的 Projects 設定中,作者要求建立專屬的工作區。
從架構上看,這是將**全域變數 (Global Variables)** 與**局部參數 (Local Parameters)** 解耦。
* **Global State (Projects)**:你的寫作風格、公司的背景知識。這些是低頻變更的靜態資料。
* **Local Execution (Chat)**:當前的具體任務。
> 架構決策:絕不應該在每次 function call (對話) 時,把環境變數 (公司背景) 重新傳遞一次。透過 Projects 預載,我們實作了 Context Injection (上下文注入),徹底消除了冗餘的 Token 浪費。
### 2. 管線化與人機介面 (Pipelining & Human-in-the-loop)
第二週提到的「先寫大綱,確認後再寫全文」,是標準的**管線化 (Pipelining)** 架構。
LLM 在長文本生成的後期極易發生「幻覺偏離 (Hallucination Drift)」。透過將大任務切分為 `Generate_Outline() -> Human_Validate() -> Generate_Draft()`,我們在兩個節點之間設立了檢查點 (Checkpoint),大幅降低了系統性失敗 (Cascading Failure) 的風險。
### 3. 從被動觸發到事件驅動 (From Reactive to Event-Driven)
第三週的 Claude Cowork 是整個架構的質變點。
* **傳統模式**:Human Request -> AI Response。這是一個阻塞式 (Blocking) 的同步模型,人類的注意力是系統的瓶頸。
* **Cowork 模式**:Cron Trigger -> AI Read Local Drive -> AI Produce Output。系統轉變為**事件驅動 (Event-driven)** 的非同步模型。AI 被賦予了 I/O 權限 (讀取檔案) 與計時器權限 (定時執行),正式從 "Tool" 晉升為 "Agent"。
## 總結
這 30 天的轉型,其實就是將人類自身作為 API 呼叫者的粗糙行為,重構為一個現代化的微服務架構:**預載環境變數 -> 制定標準化合約 (Templates) -> 實作非同步佇列 (Automation)**。
真正的 Power User,本質上就是自己個人工作流的首席架構師。
Obsidian 整理
原始文章
AI工程
AI 基礎設施工程師必收的 11 個開源專案 (安全與治理篇)
"周末隨手寫出來的 AI Agent,如果直接連上生產資料庫,就是一顆定時炸彈。當歐盟 AI 法案 (2026/8 生效) 逼近,AI 基礎設施已經從「效能優化」轉向「合規與安全防護」。這 11 個開源專案,幫你把 Agent 關進安全的籠子裡,並提供完整的稽核軌跡。"
閱讀全文
---
tags: [AI工程, 硬體基礎設施, 系統架構, 安全與治理, 開源專案]
date: 2026-05-21
read: false
source: "2026-05-21T093301+0800-11 Open-Source Repos Every AI Infra Engineer Should Bookmark.md"
---
# AI 基礎設施工程師必收的 11 個開源專案 (安全與治理篇)

原始來源與檔名:2026-05-21T093301+0800-11 Open-Source Repos Every AI Infra Engineer Should Bookmark.md
---
## NAPKIN | 餐巾紙
### 餐巾紙公式
> AI Agent Infra = Red Teaming (promptfoo) + Policy as Code (OPA) + Tool Proxy (AgentGateway) + Runtime Governance (Microsoft) + Container Sandbox (Dagger/microsandbox)
*公式說明:當你把 AI Agent 從周末的玩具變成生產環境的系統時,它就不再只是寫 Prompt 的遊戲。你必須建立一套包含自動化紅隊測試、宣告式權限管控、運行時中介軟體以及硬體級隔離沙盒的基礎設施棧 (Infrastructure Stack)。*
### 一句話
> 周末隨手寫出來的 AI Agent,如果直接連上生產資料庫,就是一顆定時炸彈。當歐盟 AI 法案 (2026/8 生效) 逼近,AI 基礎設施已經從「效能優化」轉向「合規與安全防護」。這 11 個開源專案,幫你把 Agent 關進安全的籠子裡,並提供完整的稽核軌跡。
### 餐巾紙草圖
```text
[ Threat Model for Agents ]
1. Input -> Prompt Injection -> (LlamaFirewall intercepts)
2. Agent -> Tool Call -> (AgentGateway / OPA checks permission)
3. Code Execution -> System Compromise -> (Dagger / microsandbox isolates)
4. Whole System -> Secret Leak / Vulnerabilities -> (Trivy / Deepsec scans repo)
```
## ROUND 1: SKELETON | 骨架掃描
**「這篇文章在說什麼」**
* **核心問題**: 許多開發者寫出 AI Agent 後,卻沒有考慮基礎設施安全(權限控制、Prompt 注入、憑證外洩、沙盒隔離)。一旦上線,往往要等到第一次事故發生才後悔。
* **核心答案**: 開源社群已經悄悄建立起一套完整的 AI Agent 基礎設施與安全技術棧。文章列出了 11 個涵蓋了紅隊測試、供應鏈安全、策略即程式碼、運行時防護、程式碼審查與沙盒隔離的必收開源專案。
* **論證結構**: 提出靈魂拷問 (誰控制權限?有稽核軌跡嗎?) -> 逐一介紹 11 個開源專案 (What it does & Why it matters) -> 總結趨勢 (AI Agent 被視為需要治理的自動化系統,且合規法案如 EU AI Act 已生效)。
### 章節骨架
1. **引言**: 你建了 Agent,但想過它的基建嗎?
2. **安全生態地圖**: `ProjectRecon/awesome-ai-agents-security` (動態更新的防禦目錄)。
3. **自動化測試**: `promptfoo` (LLM 紅隊測試與評估標準)。
4. **基礎設施掃描**: `trivy` (掃描映像檔、Git 憑證與依賴漏洞)。
5. **策略與權限控制**:
* `opa` (Policy-as-Code,通用權限引擎)。
* `AgentGateway` (專為 MCP 與 A2A 協議設計的 RBAC 代理)。
6. **運行時防護**:
* `microsoft/agent-governance-toolkit` (對應 OWASP 代理 AI Top 10 的防護中介軟體)。
* `LlamaFirewall` (攔截 Prompt 注入與惡意程式碼生成)。
7. **程式碼安全與審查**:
* `anthropics/claude-code-security-review` (利用 Claude 進行 PR 安全審查)。
* `vercel-labs/deepsec` (AI 驅動的程式碼庫深層漏洞掃描)。
8. **沙盒與隔離**:
* `dagger/container-use` (為 Coding Agent 提供容器隔離與 OTel 遙測)。
* `microsandbox` (自託管的程式碼執行沙盒,支援硬體隔離)。
9. **結語**: 歐盟 AI 法案生效,合規不再是選配,而是系統設計的前提。
## ROUND 2: DISSECTION | 血肉解剖
**「憑什麼這麼說」**
### 論證鏈
```text
AI Agent 本質上是一個能讀寫資料、執行程式碼的自動化非確定性系統 (Autonomous Non-deterministic System) --> 傳統的資安防護 (防火牆) 無法阻擋語意級別的攻擊 (Prompt Injection) 與 Agent 幻覺導致的越權操作 --> 因此,必須在 Agent 周圍建立專屬的防護層 --> 包括:開發期的紅隊測試 (Promptfoo)、運行時的中介代理 (AgentGateway/OPA)、意圖攔截 (LlamaFirewall) 以及最後的物理隔離沙盒 (Dagger/Microsandbox) --> 唯有如此,企業才能滿足即將到來的 AI 監管法規。
```
### 關鍵證據
1. **AgentGateway 作為 MCP 防護層**: 隨著 Model Context Protocol (MCP) 成為 Agent 連接工具的標準,直接讓 Agent 呼叫 MCP 是一個巨大的攻擊面 (Attack Surface)。AgentGateway 提供了 RBAC (基於角色的存取控制),證明了 Agent 架構正在向傳統微服務的 API Gateway 模式靠攏。
2. **Microsoft 的治理工具包**: 微軟直接對應 OWASP Agentic AI Top 10 推出的 Toolkit,展示了業界對「Agent 暴走」的具體解法:語意意圖分類器 (防目標劫持)、多模型交叉驗證 (防記憶體中毒)、自動終止開關 (防流氓 Agent)。
3. **合規壓力 (EU AI Act)**: 2026 年 8 月歐盟 AI 法案生效,這不僅是技術問題,而是生存問題。如果 Agent 沒有提供日誌、稽核軌跡與人工監督機制,企業將面臨高達全球營業額 7% 的罰款。
### 隱形假設與邊界
* **隱形假設**:
* 開發的 Agent 具有改變系統狀態的能力 (例如寫入資料庫、執行終端機命令、存取外部 API)。如果是純文字生成的 Agent (如文案撰寫),安全壓力會小得多。
* **邊界條件**:
* 這些基礎設施工具 (如 Kubernetes, OPA, Dagger) 都有極高的學習曲線。對於剛起步的新創團隊,一次全部引入會造成嚴重的「過度工程 (Over-engineering)」;應依據威脅模型 (Threat Model) 逐步導入。
## ROUND 3: SOUL | 靈魂提取
**「還能怎麼用」**
* **知識連接**: 本文提到的 `AgentGateway` 和 `LlamaFirewall` 完美彌補了《Founder's Playbook: Building an AI-Native Startup》中第五章「發布階段」所強調的「安全與合規不能再往後拖」的具體技術實踐。同時,沙盒工具 `microsandbox` 也是解決 Agentic Workflow 中不可預測性的物理防線。
* **行動觸發**: 作為 AI 基礎設施工程師,你的下一個 PR 不該是優化 Prompt,而是把 `promptfoo` 整合進 CI/CD pipeline。設定一個簡單的 YAML,對你的 Agent 進行 10 種常見的 Prompt Injection 測試,看看它會不會輕易把你的 System Prompt 交出去。
---
# 從玩具到基建:AI Agent 的零信任架構 (Architectural Deep Dive)
## 前言
這 11 個開源專案清單,描繪了 2026 年 AI 基礎設施工程 (AI Infra Engineering) 的全新版圖。過去我們關注 GPU 集群、推理延遲 (Inference Latency) 與向量資料庫,現在焦點已經轉移到了 **Agent 治理 (Agent Governance)** 與 **零信任安全 (Zero-Trust Security)**。
## 核心架構洞察
### 1. 職責分離 (Separation of Concerns) 在安全領域的實踐
Agent 開發者常犯的錯誤是把「安全規則」寫在 Prompt 裡(例如:"你絕對不能刪除資料庫")。
* 這在架構上是極度脆弱的,因為 LLM 容易被繞過 (Jailbreak)。
* 清單中的 `OPA (Open Policy Agent)` 與 `AgentGateway` 將**「決策邏輯 (Business Logic)」與「授權策略 (Authorization Policy)」徹底解耦**。
* Agent 可以隨便產生刪除資料庫的 API 請求,但外圍的 Gateway 在校驗 OPA 策略時,會無情地攔截這個未經授權的動作。這是「不要信任 Agent」的最高架構原則。
### 2. 多層次防禦縱深 (Defense in Depth)
清單展示了一個針對 Agent 攻擊的完整縱深防禦體系:
* **開發期 (Shift-Left)**:`deepsec` 掃描程式碼漏洞,`trivy` 檢查映像檔,`promptfoo` 進行 CI 階段的紅隊測試。
* **輸入期 (Ingress)**:`LlamaFirewall` 作為第一道語意防火牆,攔截 Prompt Injection。
* **運行時 (Runtime)**:Microsoft 的 Toolkit 與 `AgentGateway` 控制工具呼叫。
* **執行期 (Execution)**:`Dagger` 或 `microsandbox` 提供容器級或硬體虛擬化層級的實體隔離。如果 Agent 發瘋執行 `rm -rf /`,死的只是一個瞬態容器。
### 3. 可觀測性 (Observability) 作為合規的基石
清單中特別提到 `Dagger/container-use` 的 OpenTelemetry (OTel) 遙測能力。
* 當 EU AI Act 等法規落地,企業必須證明其 AI 系統的決策路徑是可被追溯的 (Traceable)。
* 單純記錄 LLM 的輸入輸出是不夠的。你需要記錄:Agent 在什麼環境下、呼叫了什麼工具、得到了什麼返回、最終做出了什麼行動。這將 OTel 從「效能除錯工具」變成了「法律合規工具」。
## 總結
這些開源專案宣告了「套殼 LLM」時代的結束。未來的 AI Infra Engineer,技能樹將不再只是 LangChain 或 LlamaIndex,而是 Kubernetes, Rego (OPA), eBPF (Sandbox) 以及分散式追蹤。Agent 正在成為系統中的一等公民,而我們必須用最嚴格的基礎設施規格來約束它。
Obsidian 整理
原始文章
AI工程
Automating LLM Fine-Tuning with Fireworks Agent
"透過 Agent 驅動的自動化微調工具(如 Fireworks Agent),開發者能以極低門檻與成本,將特定的輸出格式(風格)直接固化到模型權重中,從而擺脫對長篇系統提示詞的依賴。"
Top 5 Insights
**SFT 的起手式是 Style,而非 Knowledge**:對 50~100 筆資料進行微調,最有效益的是「風格與格式轉移」,而非強求模型學會新知識。知識注入應視為下一階段的挑戰。 **微調流程的自動化 (AutoSFT)**:將微調工作交給 Orchestration Agent(如 Fireworks Agent),開發者只需作為「審批者 (Approver)」,這大幅降低了 SFT 的進入門檻,使其成為常規開發工具。 **經濟效益的規模化**:對於高頻呼叫的結構化任務,前期投資幾美分進行微調,換來推論階段省略數百個 System Prompt tokens 以及使用更便宜的小模型,在系統架構上具備極高的 ROI (投資回報率)。
閱讀全文
---
tags: [AI工程, 模型微調, SFT, 系統工程]
date: 2026-05-21
read: false
source: "2026-05-21T092940+0800-Automating LLM Fine-Tuning with Fireworks Agent.md"
---
# Automating LLM Fine-Tuning with Fireworks Agent

原始來源與檔名:2026-05-21T092940+0800-Automating LLM Fine-Tuning with Fireworks Agent.md
---
## NAPKIN | 餐巾紙
### 餐巾紙公式
> LLM Wiki = (SFT on Style) + (Knowledge Injection via Context/Weights)
*公式說明:要建立個人的 LLM 知識庫,與其每次用長篇的 System Prompt 強制模型格式,不如先花極低成本(幾分錢)將「輸出風格」微調 (SFT) 進模型權重中,再疊加知識注入,實現高效且低成本的知識管理。*
### 一句話
> 透過 Agent 驅動的自動化微調工具(如 Fireworks Agent),開發者能以極低門檻與成本,將特定的輸出格式(風格)直接固化到模型權重中,從而擺脫對長篇系統提示詞的依賴。
### 餐巾紙草圖
```text
[Old Way: Context Heavy]
Prompt (1000 tokens of rules) + Data (2000 tokens) -> Big LLM -> Slow & Expensive
VS.
[New Way: Weight Heavy]
Fireworks Agent --(Auto SFT)--> Small Model (Style baked in weights)
Prompt (0 tokens) + Data (2000 tokens) -> Small Fine-tuned Model -> Fast & Cheap
```
## ROUND 1: SKELETON | 骨架掃描
**「這篇文章在說什麼」**
* **核心問題**: 如何高效、低成本地構建個人 LLM 知識庫(LLM Wiki),而不被冗長且容易出錯的 Prompt 工程所限制?
* **核心答案**: 使用 Fireworks Agent 等自動化工具,將微調 (SFT) 作為一個簡單的 API 呼叫,把「輸出風格與格式」直接寫入小模型的權重中。
* **論證結構**: 理念提出 (從上下文到權重) -> 技術突破 (微調自動化) -> 實作演練 (資料準備、Agent 執行、驗證) -> 商業/架構價值。
### 章節骨架
1. **概念轉變**: Karpathy 的願景——將知識從 Context Window 轉移到模型 Weights。
2. **SFT 的首要目標**: 為何「輸出風格 (Style)」是最適合的第一個微調目標。
3. **自動化微調**: 介紹 Fireworks Agent 如何顛覆傳統繁瑣的微調流程。
4. **完整操作流程**: 從資料準備到發布 API 端點的 6 步驟。
5. **未來展望**: 先固化風格,再注入知識 (Knowledge Injection)。
## ROUND 2: DISSECTION | 血肉解剖
**「憑什麼這麼說」**
### 論證鏈
```text
依賴 System Prompt 控制輸出格式容易出錯且耗費 Token --> 微調 (SFT) 可以將格式固化在權重中,使小模型具備大模型般的穩定性 --> 過去微調流程太繁瑣,阻礙了採用 --> 現在透過 Fireworks Agent,微調變成了自然語言指令驅動的自動化工作流 --> 開發者可以將「微調」視為日常工具,而非龐大專案。
```
### 關鍵證據
1. **成本與時間**: 作者僅使用了不到 10 分鐘的 GPU 時間與幾美分的運算成本,就完成了一個開源小模型 (qwen3-8b) 的微調與部署。
2. **資料量需求**: 只需要 50 到 100 筆乾淨的風格化資料 (Chat-format JSONL),就足以改變模型的預設輸出行為。
3. **結果比對**: 微調後的模型,即便移除了冗長的 System Prompt,依然能精準輸出帶有特定格式(包含作者機構、粗體重點清單等)的論文摘要,且語氣不帶行銷感。
### 隱形假設與邊界
* **隱形假設**:
* 底層模型 (如 qwen3-8b) 已經具備足夠的基礎語意理解能力,微調只是做「格式對齊 (Alignment)」,而非「知識學習」。
* 雲端平台 (如 Fireworks) 能提供穩定、極低冷啟動時間的 Serverless 部署服務。
* **邊界條件**:
* 這套流程目前僅證實對「風格與格式 (Style transfer)」極度有效。若要將大量「專業知識 (Knowledge)」注入權重,仍需要極大量的合成資料與更複雜的評估機制。
## ROUND 3: SOUL | 靈魂提取
**「還能怎麼用」**
* **作者盲點**: 文章主要展示了 Happy Path,並未深入討論當資料品質不佳,或自動化 Agent 選擇了錯誤的超參數導致模型過擬合 (Overfitting) 時,如何進行回滾 (Rollback) 或 Debug。
* **知識連接**: 這與前端工程中的「CSS 樣式表」概念類似。System Prompt 就像是 Inline Style (行內樣式,難維護且肥大),而微調 (SFT) 則是把樣式抽離成共用的 CSS 檔案 (固化到權重),讓主程式碼 (Prompt) 保持乾淨。
* **行動觸發**: 若團隊中某個 LLM 任務的 System Prompt 超過 500 tokens 且只是為了規範格式,立即收集 100 筆良好歷史對話,改用 SFT 來降低推論成本並提升穩定性。
### 跨域映射
* 在 **軟體工程**,這叫 **重構:將硬編碼規則抽取為底層函式庫**
* 在 **前端開發**,這叫 **從 Inline Style 轉移到 Global CSS**
---
# Automating LLM Fine-Tuning with Fireworks Agent (Architectural Deep Dive)
## 前言/背景
隨著 LLM 應用(如個人知識庫、自動化工作流)的擴展,開發者常面臨「Prompt 工程極限」:依賴冗長的 System Prompt 來強制模型輸出特定格式,不僅消耗大量 Token,且容易在邊界案例中失效。這篇文章探討了如何利用 AI Agent (Fireworks Agent) 將傳統繁瑣的模型微調 (SFT) 流程自動化,讓開發者能以極低成本將「輸出風格」直接燒錄進模型權重中。
## 章節詳細總結
### 1. 典範轉移:從 Context Window 走向 Weights
Andrej Karpathy 曾指出,個人 LLM 知識庫的演進,必然會從「依賴 RAG 將資料塞入 Context Window」走向「合成資料微調,讓模型權重記住資料」。
* **現狀痛點**:用 Claude Code 等 Agent 維護知識庫時,確保每一篇筆記格式一致極度依賴 System Prompt。這對大模型來說很昂貴,對小模型來說則不穩定。
* **解決方案**:透過 SFT 將目標格式(如:第一段背景、後接 3-5 個粗體 Bullet points、禁用行銷用語)固化。一旦完成,System Prompt 幾乎可以完全省略。
> 架構師洞察:不要用昂貴的 Runtime 計算 (Context) 去解決 Compile-time (Weights) 就該解決的問題。格式對齊是典型的 Compile-time 問題。
### 2. 微調即工具 (Fine-Tuning as a Tool)
傳統的微調需要 10 多個步驟:格式化資料、上傳、選模型、調超參數 (LoRA rank, Learning rate)、看 Log、選定 Checkpoint、部署。
Fireworks Agent 反轉了這個介面。你只需要給一句自然語言指令:
```bash
firectl session create \
--api-key $PI_API_KEY \
-n "Run end-to-end supervised fine-tuning on qwen3-8b using dataset accounts/<your-account>/datasets/wiki-sft-2026 and deploy the trained model to a working inference endpoint..."
```
Agent 會自動執行以下流程:
1. 提出包含多組超參數 (Hyperparameters) 的 Sweep 計畫並要求核准。
2. 平行跑 3 個 SFT 任務,使用 Validation loss 進行評估。
3. 選出最佳設定後,進行全量訓練 (Full training)。
4. 自動處理部署 (Deployment) 失敗或重試,最終給出一個可被 API 呼叫的 Endpoint。
### 3. 架構實踐細節與程式碼整合
文章展示了如何透過 OpenAI 兼容的 API 呼叫微調後的模型。關鍵在於模型的識別機制 `PINNED` 變數:
```python
API_KEY = os.environ["FIREWORKS_API_KEY"]
MODEL = "accounts/<your-account>/models/<your-trained-model>"
DEPLOYMENT = "accounts/<your-account>/deployments/<your-deployment>"
# 將模型與部署實例綁定,確保請求路由到客製化的 endpoint
PINNED = f"{MODEL}#{DEPLOYMENT}"
def call(messages):
body = json.dumps({
"model": PINNED, "messages": messages,
"temperature": 0.0, "max_tokens": 2500,
}).encode()
# 進行 API 呼叫...
```
* **效能數據**:全量訓練僅需 8 分鐘 GPU 時間與幾分錢。一旦端點「預熱 (warm)」,回應速度極快,甚至可作為其他大 Agent 迴圈內的一個同步呼叫步驟。
## 總結與結論
* **SFT 的起手式是 Style,而非 Knowledge**:對 50~100 筆資料進行微調,最有效益的是「風格與格式轉移」,而非強求模型學會新知識。知識注入應視為下一階段的挑戰。
* **微調流程的自動化 (AutoSFT)**:將微調工作交給 Orchestration Agent(如 Fireworks Agent),開發者只需作為「審批者 (Approver)」,這大幅降低了 SFT 的進入門檻,使其成為常規開發工具。
* **經濟效益的規模化**:對於高頻呼叫的結構化任務,前期投資幾美分進行微調,換來推論階段省略數百個 System Prompt tokens 以及使用更便宜的小模型,在系統架構上具備極高的 ROI (投資回報率)。
Obsidian 整理
原始文章
AI技術
別亂壓縮了!深度解析 LLM 對話壓縮機制的隱藏代價 (Cache 破壞)
"如果你為了省錢而頻繁壓縮對話歷史,你可能反而虧大了。現代 LLM (特別是 Claude) 的快取機制極度依賴「前綴完全匹配」。隨意把對話揉成摘要,會導致快取瞬間失效,強迫系統重新計算。除非對話即將撐爆上限,否則「讓快取自然運作」才是最省錢、最快的做法。"
閱讀全文
---
tags: [AI技術, 開發工具, 系統架構, Prompt工程, 成本優化]
date: 2026-05-21
read: false
source: "2026-05-21T093258+0800-别乱压缩了——Claude、Codex、Gemini 都有的对话压缩,省空间还是毁缓存?.md"
---
# 別亂壓縮了!深度解析 LLM 對話壓縮機制的隱藏代價 (Cache 破壞)

原始來源與檔名:2026-05-21T093258+0800-别乱压缩了——Claude、Codex、Gemini 都有的对话压缩,省空间还是毁缓存?.md
---
## NAPKIN | 餐巾紙
### 餐巾紙公式
> /compress (Context Compression) = Lower Base Token Cost + Clean Debug State - (Immediate Prompt Cache Invalidation)
*公式說明:在長對話中使用 `/compress` 或 `/compact` 指令雖然能降低未來的 Token 基準數量並清理廢話,但它會立刻摧毀現有的「精確前綴快取 (Exact Prefix Cache)」,導致下一次呼叫必須全額支付計算成本。這是一把雙面刃。*
### 一句話
> 如果你為了省錢而頻繁壓縮對話歷史,你可能反而虧大了。現代 LLM (特別是 Claude) 的快取機制極度依賴「前綴完全匹配」。隨意把對話揉成摘要,會導致快取瞬間失效,強迫系統重新計算。除非對話即將撐爆上限,否則「讓快取自然運作」才是最省錢、最快的做法。
### 餐巾紙草圖
```text
[ Scenario A: No Compression (Cache Hit) ]
History: A -> B -> C -> D (CACHED)
New Input: E
Cost: Calculate E only + 10% cost for (A,B,C,D) ✅
[ Scenario B: Compression (Cache Miss) ]
History: /compress
New History: Summary(A+B+C+D) (NOT CACHED)
New Input: E
Cost: FULL recalculation of Summary + E ❌
```
## ROUND 1: SKELETON | 骨架掃描
**「這篇文章在說什麼」**
* **核心問題**: 使用者在 LLM 終端工具 (如 Claude Code) 中習慣使用 `/compact` 或 `/compress` 來釋放上下文空間,卻不知道這會帶來隱藏代價。
* **核心答案**: 壓縮對話會改變文字字串,從而破壞現代 LLM 依賴的「精確前綴匹配 (Exact Prefix Matching)」快取機制,導致快取失效與重新計算。各平台 (Anthropic, OpenAI, Google) 對快取的敏感度與機制各有不同。
* **論證結構**: 點出隱藏陷阱 (破壞緩存) -> 解釋快取原理 (精確前綴匹配) -> 比較三大平台差異 (Claude 最嚴格, Codex 彈性, Gemini 開箱即用) -> 探討為何還要壓縮的三個理由 (突破硬限制、降長期成本、清理干擾) -> 結論 (最佳實踐決策樹)。
### 章節骨架
1. **隱藏陷阱**: 壓縮命令 (`/compress`) 的代價是讓現有快取立即失效。
2. **快取運作原理**: LLM 快取基於「精確前綴匹配」。改變歷史 (壓縮) 等同於創造全新的字串,必須重新預計算。
3. **三大平台差異**:
* **Anthropic (Claude)**: 管最嚴,分毫不差,需手動打標記,但折扣最大 (1/10 價格)。壓縮最傷。
* **OpenAI (Codex)**: 依賴 `conversation_id`,自動追加而非覆寫,自帶壓縮,手動干預必要性低。
* **Google (Gemini)**: 隱式快取,開箱即用,受 `/compress` 影響最小,但門檻較高 (32k tokens 起跳) 且折扣較少 (25%)。
4. **為何還要壓縮?**:
* 突破上下文物理上限 (Hard Limit)。
* 降低後續每輪對話的基礎 Token 成本。
* 清理 Debug 過程中的廢話與干擾資訊。
5. **最佳實踐 (決策樹)**:
* 在乎速度與短期成本:**不要壓縮**。
* 會話太重/變笨/想長期維持:**使用壓縮** (忍痛犧牲一次快取,換取長期基數降低)。
## ROUND 2: DISSECTION | 血肉解剖
**「憑什麼這麼說」**
### 論證鏈
```text
現代 LLM API 的降本增效極度依賴 Prompt Caching 技術 --> 該技術的底層邏輯是 Hash 比對 (精確前綴匹配) --> 任何對歷史文本的修改 (包括用 LLM 總結壓縮) 都會改變 Hash 值 --> 因此,執行 `/compress` 會導致 Cache Miss (未命中) --> 然而,當 Context 長度逼近模型極限,或充斥大量干擾雜訊時,壓縮帶來的「注意力聚焦」與「Token 基數降低」效益,將超越單次 Cache Miss 的成本。
```
### 關鍵證據
1. **Anthropic 的嚴格限制**: 文章精準點出 Claude API 的特性:連一個空格或大小寫不同都會導致快取失效。這解釋了為什麼在 Claude Code 裡隨便改動先前的對話 (或進行壓縮) 會導致下一次回覆突然變慢 (因為要重新計算 50k token 的 Context)。
2. **成本的數學權衡**: 即使快取能打 1 折 (1/10 價格),如果你的 Context 有 500k tokens,每次發送依然要付 50k 的錢。如果把它壓縮到 5k,後續每輪就只要付 5k 的全價 (或 500 的打折價)。這是短期陣痛與長期成本的數學博弈。
### 隱形假設與邊界
* **隱形假設**:
* 使用者在進行的是「長期、多輪次」的開發或除錯對話,且 Context 的累積速度很快 (例如不斷貼入 Log 檔)。
* **邊界條件**:
* 這篇文章的邏輯建立在「按 Token 計費」的 API 使用場景 (或底層邏輯)。如果你使用的是網頁版 (Web UI) 的包月訂閱,成本考量會消失,此時壓縮的唯一理由只剩下「清理模型注意力 (防止變笨)」與「防止爆 Context」。
## ROUND 3: SOUL | 靈魂提取
**「還能怎麼用」**
* **知識連接**: 本文與《I cut my AI agent's token bill 87% in 7 days》中 Day 2 的 "Prompt Caching" 及 Day 3 的 "Compress Context" 形成了精彩的對話與互補。前文教我們如何利用快取,本文則警告我們「壓縮 Context 時要注意快取失效的副作用」。此外,這也呼應了 UIUC 論文中提到的「壓縮會流失細節」的觀點。
* **行動觸發**: 調整你的 AI 開發習慣。在使用 Claude Code 時,把靜態的內容 (如 `CLAUDE.md`, API 文件) 放最前面並鎖定快取,然後**盡量不要手動去改動已經發送的對話歷史**。只有當你覺得 Claude 開始「忘東忘西」或「反應變慢」時,才把它當作大絕招,執行一次 `/compact` 來做全域垃圾回收 (Garbage Collection)。
---
# 記憶體階層與 LLM 快取經濟學 (Architectural Deep Dive)
## 前言
這篇文章用極其簡練的語言,揭開了目前 AI Agent 開發中最容易被忽視的「微觀經濟學」:**Prompt Cache (提示快取)** 與 **Context Compression (上下文壓縮)** 之間的拉扯。這本質上是軟體工程中經典的「快取無效化 (Cache Invalidation)」難題在 AI 時代的重現。
## 核心架構洞察
### 1. 狀態不變性 (Immutability) 在 LLM 時代的價值
在函數式編程 (Functional Programming) 中,我們強調資料的不可變性 (Immutability)。現在,這個概念被強加在了 LLM 的 Context 管理上。
* **Claude 的快取機制強制要求 Context 的前綴是 Immutable 的。**
* 這意味著你的對話歷史 (History) 應該是一個 Append-only Log (只增不減的日誌)。
* 一旦你對歷史進行了修改 (例如 `/compress` 重新總結),你破壞了 Immutability,系統就必須為了這個改變付出巨大的運算代價 (重新預計算整個 Context 的 Attention Matrix)。
### 2. 雙層記憶體架構的權衡
對於開發 Agent 系統的架構師來說,這篇文章提供了一個重要的決策矩陣:
* **L1 Cache (Prompt Cache)**:極快、極便宜 (一折),但極度脆弱 (要求精確匹配)。適合存放靜態文件 (工具定義、架構規範、System Prompt)。
* **L2 Memory (Compressed History / RAG)**:慢、全價,但空間無限。適合存放經歷過 `/compress` 的對話總結或向量資料庫。
優秀的 Agent 架構,必須清楚知道什麼時候該把資料放在 L1,什麼時候該把資料壓縮降級到 L2。
### 3. 注意力機制的實體化 (Materialization of Attention)
為什麼明知道會破壞 Cache,有時還是得壓縮?
* 因為 LLM 的「大海撈針 (Needle in a haystack)」能力雖然在進步,但過長的雜訊仍然會稀釋模型的注意力 (Attention Dilution)。
* `/compress` 雖然在物理上破壞了快取,但在邏輯上,它是一次「注意力對齊 (Attention Alignment)」。它強迫 LLM 把幾萬字的除錯廢話,收斂成一句「問題出在權限不足,目前已給予 root 權限」。
* 這其實是一種**降噪 (Noise Reduction)** 過程,犧牲一次運算成本,換取模型智商的短暫回升。
## 總結
不要盲目地把 `/compress` 當作清理記憶體的萬靈丹。在 Prompt Caching 普及的 2026 年,對話歷史不再只是文字,而是實打實的「已計算狀態 (Computed State)」。把它當作你珍貴的 RAM 來管理,只有在它真的塞滿垃圾時,才狠下心來清空它。
Obsidian 整理
原始文章
AI技術
提示詞快取 (Prompt Caching) 完全解析:如何達成 92% 的快取命中率
"不要每次對話都讓模型重新理解你的整個專案。把系統提示詞、工具定義與靜態文件放在 Prompt 的「最頂端」且永遠保持不變,這樣底層的 KV Cache 就能鎖定這些計算狀態,為你的 Agent 節省超過 80% 的 API 費用與延遲。"
閱讀全文
---
tags: [AI技術, 系統架構, 最佳實踐]
date: 2026-05-21
read: false
source: "2026-05-21T093224+0800-Prompt caching, clearly explained.md"
---
# 提示詞快取 (Prompt Caching) 完全解析:如何達成 92% 的快取命中率

原始來源與檔名:2026-05-21T093224+0800-Prompt caching, clearly explained.md
---
## NAPKIN | 餐巾紙
### 餐巾紙公式
> Agent Cost = (Static Prefix * N turns) + Dynamic Tail
> Caching Cost = (Static Prefix * 1 turn) + (Prefix Cache Read * N turns) + Dynamic Tail
*公式說明:Agent 在執行長期任務時,每一回合都會重新讀取高達數萬 Token 的系統指令與背景知識 (Context Tax)。透過 Prompt Caching (底層實作為 KV Cache),我們只需計算一次靜態前綴,後續回合讀取快取只需 10% 的費用,這能將 Agent 的運行成本降低 80% 以上。*
### 一句話
> 不要每次對話都讓模型重新理解你的整個專案。把系統提示詞、工具定義與靜態文件放在 Prompt 的「最頂端」且永遠保持不變,這樣底層的 KV Cache 就能鎖定這些計算狀態,為你的 Agent 節省超過 80% 的 API 費用與延遲。
### 餐巾紙草圖
```text
[ Perfect Caching Architecture ]
--- (Static Prefix / Cachable) ---
1. System Prompt & Rules
2. Tool Definitions
3. Project Context (CLAUDE.md)
---------------------------------- <- Cache Breakpoint (Hash calculated here)
--- (Dynamic Tail / Uncachable) ---
4. User Message 1
5. Tool Output 1
6. User Message 2 ...
```
## ROUND 1: SKELETON | 骨架掃描
**「這篇文章在說什麼」**
* **核心問題**: AI Agent 執行連續任務時面臨極高的「上下文稅 (Context Tax)」。如果一個 2 萬 Token 的系統提示詞重複執行 50 輪,就會浪費 100 萬 Token 的全額算力與費用。
* **核心答案**: 利用 Prompt Caching。解析了 LLM 的 Prefill (計算密集) 與 Decode (記憶體密集) 階段,說明只要 Prompt 的前綴 (Prefix) 保持絕對靜態,伺服器就能暫存 KV Tensor,讓後續請求跳過 Prefill 階段,直接進入便宜快速的 Decode 階段。
* **論證結構**: 提出痛點 (上下文稅) -> 定義 Static Prefix 與 Dynamic Tail -> 底層原理 (Transformer 的 KV Cache) -> 經濟學 (Anthropic 的定價策略) -> 實戰案例 (Claude Code 的 30 分鐘任務拆解) -> 破壞快取的致命規則 -> 開發者的實務建議。
### 章節骨架
1. **Context Tax**: 重新讀取相同的系統指令是 Agent 工作流中最昂貴的浪費。
2. **什麼會變,什麼不變**: 區分靜態前綴 (Static Prefix) 與動態尾巴 (Dynamic Tail) 是優化的基礎。
3. **底層原理 (KV Caching)**:
* Prefill 階段 (O(n²)):建立 Query, Key, Value 向量矩陣。
* Decode 階段 (O(n)):依賴前文的 KV Tensor 生成新 Token。快取就是儲存這些 Tensor。
4. **經濟學模型**: 寫入快取貴 25%,讀取快取只需基本費率的 10%。維持高命中率是唯一解。
5. **Claude Code 案例**: 完美示範如何在一開始載入 2萬 Token,後續所有 Subagent 的循環與工具呼叫都只依賴快取讀取,最終省下 80%+ 費用。
6. **破壞快取的規則**: 順序改變、新增工具、更換模型,都會導致 Hash 改變,造成 Cache Miss。
## ROUND 2: DISSECTION | 血肉解剖
**「憑什麼這麼說」**
### 論證鏈
```text
Agent 的多輪對話本質上是不斷延長的字串串接 --> Transformer 模型處理字串時,前方的 Token 計算結果 (KV Tensor) 不會受後方 Token 影響 --> 因此,只要保證字串的前半段 (Prefix) 絕對不變,伺服器就可以將其計算狀態暫存起來 --> 當下一個請求進來時,比對 Hash 值,若相符則直接載入記憶體 --> 大幅降低 O(n²) 的算力消耗,轉化為使用者的 API 成本折扣與速度提升。
```
### 關鍵證據
1. **1 + 2 = 3. But 2 + 1 is a cache miss**: 這是全篇最反直覺也是最關鍵的警告。快取是基於字串的密碼學雜湊 (Cryptographic Hash) 建立的。這意味著即使你只是對調了兩個工具的宣告順序,或是增加了一個空格,整個 Prefix 的 Hash 就會改變,快取瞬間歸零,你必須重新支付全額的 Prefill 費用。
2. **KV Tensor 的單向依賴性**: 作者清楚解釋了 Attention 機制中,Key 和 Value 向量只依賴前面的 Token,這是快取在數學上能夠成立的根本原因。這也是為什麼靜態內容「必須」放在最頂端的原因。
3. **Compaction (上下文壓縮) 的正確姿勢**: 當 Context 達到上限時,不要刪改原本對話歷史 (這會破壞 Hash)。正確作法是:保持原本的 Prefix 與對話,在最後加上一句「請壓縮以上內容」,將壓縮結果作為新對話的開頭,這樣壓縮的指令本身也能享受到前綴快取的折扣。
### 隱形假設與邊界
* **隱形假設**:
* 你使用的 LLM Provider (如 Anthropic) 在 API 層面支援並啟用了 Prompt Caching 功能,且你發送請求的頻率高於快取的存活時間 (TTL,通常為 5-60 分鐘)。
* **邊界條件**:
* 如果任務是大量不相關的單次查詢 (Zero-shot query),且沒有共用的超大系統提示詞,則 Caching 的效益不高,甚至可能因為 Write 費用較高而增加成本。
## ROUND 3: SOUL | 靈魂提取
**「還能怎麼用」**
* **知識連接**: 本篇探討的 Context 邊界管理,完美解釋了《20 Claude Skills》中為什麼要把 Persona 和 Rules 寫死成模板。那些固化的模板就是為了成為高命中率的 Static Prefix。同時也呼應了《Goal Engineering》中,為何 Goal+Rider 要作為一個穩定不變的文件被頻繁讀取。
* **行動觸發**: 立刻檢查你程式碼中組合 Prompt 的邏輯。確保 `System Prompt`、`Tools[]`、`Reference Docs` 的順序永遠是鎖死的。把所有動態生成的變數 (如當前時間、使用者 ID) 全部移到 Prompt 的最尾端 (Dynamic Tail)。
---
# 從 I/O 成本到運算狀態的持久化 (Architectural Deep Dive)
## 前言
這篇文章用極度清晰的邏輯,揭開了 AI Infra 層面最重要的一項優化技術:KV Caching。對於架構師而言,Prompt Caching 不是一個 API 開關,而是一種約束整個 Agent 系統生命週期的**架構紀律 (Architectural Discipline)**。
## 核心架構洞察
### 1. 記憶體 vs 算力的經濟學套利
Anthropic 針對 Cache Read 收取 10% 費用,這反映了硬體層面的現實:
* **Prefill 階段**是 Compute-bound (卡在 GPU 算力矩陣相乘)。
* **Decode 階段**是 Memory-bound (卡在 VRAM 頻寬傳輸)。
當我們利用快取跳過 Prefill 時,我們實際上是在替 LLM 營運商節省最昂貴的 GPU 算力。這套定價模型鼓勵開發者將「架構」設計得更符合底層硬體的物理特性。
### 2. State Management 的重新定義 (Immutable Prefix)
在傳統 Web 開發中,我們習慣在 Middleware 動態修改 Request Context。但在 Prompt Caching 架構下,這是致命的反模式 (Anti-pattern)。
* **靜態前綴必須是不可變的 (Immutable)**。
* 這要求開發者將 Prompt 視為某種 **Append-only Log (只能附加的日誌)**。你不能去修改前面的舊狀態,只能在尾部新增指令 (例如:加一個 tag 提醒系統) 來覆寫前面的行為。這與 Event Sourcing (事件溯源) 架構的理念完全一致。
### 3. Agentic Routing 與 Context Isolation
文章中 Claude Code 的案例展示了高階的 Multi-Agent 架構:
* `Explore Subagent` 探索完的龐大日誌 (Log),並沒有直接塞回給 `Plan Subagent`。
* 系統強制做了一次**摘要 (Summary)**,只把精華塞進 Dynamic Tail。
* 如果放任 Dynamic Tail 無限增長,不僅會超出 Context Window,還會降低 Cache Hit 的邊際效益。**在微服務中,我們不能把整個 DB 丟給下一個服務;在 Agent 中,我們不能把整個對話紀錄丟給下一個 Agent。** 這印證了第一篇《企業級 Agent 構建指南》中提到的「傳遞結論,不傳遞過程」的黃金法則。
## 總結
不會利用 Prompt Caching 的開發者,是在用蠻力付費。未來的 LLM 應用架構,必然圍繞著「極致擴展的 Static Prefix (百萬 Token 級別)」與「嚴格修剪的 Dynamic Tail」來設計。這不僅是成本優化,更是解鎖長時間自主運作 Agent 的技術基石。
Obsidian 整理
原始文章
AI技術
智能體 AI (Agentic AI) 的 Token 經濟學:如何拯救你的 API 帳單?
"別讓你的 AI Agent 變成吃 Token 的怪獸!隨著 System Prompt 越來越龐大、載入的工具越來越多,每次 API 呼叫都在燃燒美金。這篇文章提供了四大實戰架構設計:理解 K/V Prefix Caching 來打九折、引入 Semantic Caching 處理高頻問題、不要一股腦把百個 MCP Tools 塞給模型(改用 Tool Search),以及最困難但也最有效的——設計「狀態管線 (State Pipeline)」定期清理不必要的對話廢氣。"
閱讀全文
---
tags: [AI技術, 系統架構, Token經濟學, 提示工程]
date: 2026-05-21
read: false
source: "2026-05-21T093521+0800-Agentic AI How to Save on Tokens.md"
---
# 智能體 AI (Agentic AI) 的 Token 經濟學:如何拯救你的 API 帳單?

原始來源與檔名:2026-05-21T093521+0800-Agentic AI How to Save on Tokens.md
---
## NAPKIN | 餐巾紙
### 餐巾紙公式
> Agent Cost Optimization = Prompt Caching (Static K/V) + Semantic Caching (Dynamic Q&A) + Lazy-loading (Tool Search) + Context Compaction (State Pipeline)
*公式說明:Agent 的花費往往會失控(一個未優化的 Agent 每日百次對話可能耗費上千美金)。降低成本不能只靠換便宜模型,必須從架構切入:利用 Prompt Caching 節省固定 System Prompt 成本、用語義快取阻擋重複問題、用 Lazy-loading 推遲工具載入,並建立嚴格的上下文狀態清理機制 (Context Compaction) 來防止對話垃圾堆積。*
### 一句話
> 別讓你的 AI Agent 變成吃 Token 的怪獸!隨著 System Prompt 越來越龐大、載入的工具越來越多,每次 API 呼叫都在燃燒美金。這篇文章提供了四大實戰架構設計:理解 K/V Prefix Caching 來打九折、引入 Semantic Caching 處理高頻問題、不要一股腦把百個 MCP Tools 塞給模型(改用 Tool Search),以及最困難但也最有效的——設計「狀態管線 (State Pipeline)」定期清理不必要的對話廢氣。
### 餐巾紙草圖
```text
[ Token Optimization Pipeline ]
1. Prefix Caching (The Quick Win)
[ Static System Rules & Examples ] --> K/V Cache (Pay once, 90% discount)
[ Dynamic User Query ] --> Recomputed
2. Lazy-loading Context
Instead of: Injecting 100 MCP Server definitions
Use: Tool Search (Agent queries BM25 -> loads specific tool schema)
3. Context Compaction (Garbage Collection)
Raw Agent Actions (Grep, logs, errors) --> Archive (Drop)
Synthesized State (Auth flow, bugs) --> Active Context (Keep)
```
## ROUND 1: SKELETON | 骨架掃描
**「這篇文章在說什麼」**
* **核心問題**: Agent 的 System Prompt 與工具定義很容易膨脹到數萬 Tokens(如 Claude Code 高達 2.4 萬),導致每次對話成本與延遲暴增。一個活躍的 Agent 每月 API 帳單可能高達數千美元。
* **核心答案**: 降低成本有四大設計原則:1. 盡可能重複使用 Token(Prompt Caching 與 Semantic Caching);2. 延遲載入 (Lazy-loading) 不活躍的工具與 Token;3. 任務路由與降級 (使用便宜的小模型處理簡單任務);4. 保持上下文乾淨 (Context Compaction)。
* **論證結構**: 提出成本痛點 -> 講解 K/V Caching 的底層原理與各家 API 規則 -> 解析 Semantic Caching 的陷阱與適用場景 -> 探討如何延遲載入 MCP 工具庫 -> 分析 Model Routing (路由) 與 Cascading (串聯) 的得失 -> 最後強調設計「狀態管線 (State Pipeline)」以清除上下文垃圾的重要性 -> 總結。
### 章節骨架
1. **痛點**: Agent 每動一次都要把巨量歷史紀錄丟給模型重新計算,成本驚人。
2. **原則一:重複利用 Token (Caching)**
* **Prompt/Prefix Caching**: 利用底層 K/V 向量快取。只要 Prefix 完全一致,API 供應商 (OpenAI/Anthropic) 會給予高達 90% 的折扣。秘訣是:把靜態規則放前面,變動對話放後面。
* **Semantic Caching (語義快取)**: 利用 Embeddings 比對相似問題。適合高頻重複的 Q&A 機器人,但工程實作困難 (需處理 TTL、多輪對話、權限隔離)。
3. **原則二:不要預載休眠的 Token (Lazy-loading)**
* 不要在 System Prompt 塞入幾百個 Tool schema。
* 使用 Tool Search:讓 LLM 先搜尋需要的工具,才將該工具的 schema 動態注入 Context。
4. **原則三:賤物賤用 (Model Routing & Cascading)**
* **Routing**: 用小模型預判問題難度,再決定派給 GPT-4 或小模型。但實務上難以做到完美。
* **Cascading**: 先讓便宜模型回答,如果不確定 (信心度低),再交給貴的模型。
* **Subagents**: 將特定工作 (如單純的程式碼搜尋) 委派給專屬的便宜子代理 (如 Claude 的 Explore)。
5. **原則四:清理上下文 (Context Compaction)**
* **最困難的工程**: Agent 會產生大量垃圾 (失敗的 Log、重複的 grep)。
* 建立 State Pipeline,丟棄原始輸出,只保留「提煉後的狀態 (Synthesized State)」。可節省 30-70% 空間,且能提升模型解題成功率。
## ROUND 2: DISSECTION | 血肉解剖
**「憑什麼這麼說」**
### 論證鏈
```text
LLM 的成本來自於 Token 數與運算次數。在 Agentic 架構中,模型必須反覆讀取越來越長的歷史狀態 (History),導致成本呈指數上升 --> 要打破這個循環,必須在不同層級介入:在「底層基礎設施」依賴 K/V Caching 減少重複運算;在「應用架構層」實作 Semantic Caching 與 Model Routing 阻擋不必要的呼叫;在「Prompt 工程層」實作 Lazy-loading 與 Context Compaction 壓縮 Payload 體積 --> 綜合這四種策略,可以將 Agent 的運營成本從每月千元美金,壓縮到合理的百元以內,並同時改善模型的注意力 (Attention) 與效能。
```
### 關鍵證據
1. **Prompt Caching 的嚴格前綴匹配 (Exact Prefix Match)**: 作者深入解釋了 K/V Tensors 的底層機制,指出 Cache Hit 的條件是「順序絕對不變」。只要 System Prompt 裡面不小心插了一個動態的時間戳記,整個 Cache 就會失效,這是許多開發者白燒錢的主因。
2. **Tool Search 的取捨**: Anthropic 官方報告指出,當工具定義達到 55K-134K tokens 時,模型會選錯工具。Lazy-loading (先搜尋工具,再提供細節) 雖然會多花一個 Step 的 API 呼叫,但大幅減少了每一步 Payload 的基數,長期算下來還是省錢且更準確。
3. **Context Compaction 對效能的雙重好處**: 根據 SWE-bench 的論文,將上下文壓縮 6 倍,不但減少了 51.8-71.3% 的 Token 預算,反而還提昇了 5.0-9.2% 的 Issue 解決率。這證明了「垃圾進、垃圾出 (GIGO)」的真理:塞太多廢話給模型,不僅費錢,還會讓它變笨。
### 隱形假設與邊界
* **隱形假設**:
* 系統能夠準確地分辨哪些內容是「有用狀態 (Active Context)」,哪些是「垃圾排氣 (Exhaust)」。在 Context Compaction 階段,如果演算法錯誤地刪除了關鍵除錯線索,Agent 就會陷入死胡同。
* **邊界條件**:
* Semantic Caching 僅適用於「問題具高度重複性」的場景 (如客服問答)。對於每次都在解決獨特 Bug 的 Coding Agent 來說,Semantic Caching 的命中率趨近於零,建置成本會遠大於節省的 API 費用。
## ROUND 3: SOUL | 靈魂提取
**「還能怎麼用」**
* **知識連接**:
* 這篇文章對 Context Compaction 的探討,直接呼應了《UIUC 論文探討 LLM 記憶壓縮導致的效能退化》。那篇論文指出「過度摘要會摧毀細節」,而本文則給出了解方:不要無腦摘要,而是建立「狀態管線 (State Pipeline)」,明確區分並丟棄純粹的廢氣 (如 grep 過程),但精確保留關鍵架構決策與未解決的 Bug,藉此達到無損壓縮。
* Lazy-loading MCP Tools 的觀念,完全契合了目前 Google Antigravity CLI 的動態子代理架構。
* **行動觸發**: 立刻檢視你的 Agent System Prompt 架構。將所有的 `<Dynamic Data>` (如時間、使用者輸入、對話歷史) 嚴格移到 Prompt 的最底部,確保上半部所有的工具定義與核心人設 (Persona) 完全不動,以最大化觸發 API 供應商的 Prompt Caching 折扣!
Obsidian 整理
原始文章
AI研究
UIUC 論文:LLM Agent 的「記憶壓縮」可能導致效能退化
"別再盲目讓你的 Agent 寫「學習日記」了!UIUC 的新研究指出,讓 LLM 反覆把過去的經驗壓縮成抽象的「經驗總結」,其實會破壞記憶的可靠性。相反地,直接保存原汁原味的「情節記憶 (Episodic Memories)」(原始對話或日誌),反而可靠得多。"
閱讀全文
---
tags: [AI研究, Agent架構, 記憶體機制, AI工程]
date: 2026-05-21
read: false
source: "2026-05-21T093254+0800-Post by @haopeng_uiuc on X.md"
---
# UIUC 論文:LLM Agent 的「記憶壓縮」可能導致效能退化
原始來源與檔名:2026-05-21T093254+0800-Post by @haopeng_uiuc on X.md
---
## NAPKIN | 餐巾紙
### 餐巾紙公式
> Agent Memory Degradation = Repeated Consolidation (Summarization) of Episodes
*公式說明:目前業界普遍認為將過去的經驗(Episodes)不斷用 LLM 壓縮總結(Consolidation)成「可重複使用的記憶」,能幫助 Agent 越變越聰明。但這篇論文證明:這種持續壓縮的過程反而會讓有用的細節流失,導致效能比「完全沒有記憶」還要差。*
### 一句話
> 別再盲目讓你的 Agent 寫「學習日記」了!UIUC 的新研究指出,讓 LLM 反覆把過去的經驗壓縮成抽象的「經驗總結」,其實會破壞記憶的可靠性。相反地,直接保存原汁原味的「情節記憶 (Episodic Memories)」(原始對話或日誌),反而可靠得多。
### 餐巾紙草圖
```text
[ The False Assumption ]
Raw Experience -> (LLM Summarizes) -> "Lesson Learned" -> (Next Task) -> Agent gets smarter? ❌
[ The Reality (UIUC Paper) ]
Raw Experience -> (LLM Summarizes) -> Loss of crucial details -> (Next Task) -> Agent fails previously solved tasks ⚠️
[ The Solution ]
Raw Experience -> (Store as-is in Vector DB / Graph) -> Retrieve Raw Episode -> Agent succeeds ✅
```
## ROUND 1: SKELETON | 骨架掃描
**「這篇文章在說什麼」**
* **核心問題**: LLM Agent 能否透過將過去的經驗轉化為精簡的、可重複使用的記憶(Compact, reusable memories)來持續進步?
* **核心答案**: UIUC 的論文 ("Useful Memories Become Faulty When Continuously Updated by LLMs") 指出這套機制極度脆弱。持續整合(Consolidated)的記憶在多次迭代後,效能會退化,甚至比沒有記憶更糟。直接保存原始的「情節記憶(Episodic memories)」反而更可靠。
* **論證結構**: 作者在 X 上的發文摘要了論文發現 -> 共同作者補充(強制壓縮會破壞有用經驗) -> 社群評論(與自駕車合成數據污染的類比、細節流失的具體表現、對當前 AI 架構的挑戰)。
### 章節骨架
1. **論文宣告**: 指出「持續更新的壓縮記憶」會變得不可靠。
2. **核心發現**: 壓縮記憶的效能可能低於「零記憶」,甚至會導致 Agent 忘記如何解決曾經解過的問題。
3. **替代方案**: 情節記憶(保留原始日誌)比壓縮記憶更穩健。
4. **研究結論**: 目前的模型在長期經驗中學習「可重複使用的抽象概念」的能力仍然有限。
5. **社群討論精華**:
* 類比「合成數據污染 (Model Collapse)」。
* 具體案例:3 輪壓縮後,有用的觸發條件消失,只剩下廢話。
* 對當前追求「記憶體壓縮」架構的當頭棒喝。
## ROUND 2: DISSECTION | 血肉解剖
**「憑什麼這麼說」**
### 論證鏈
```text
開發者假設 LLM 能像人類一樣從經驗中萃取「抽象法則」--> 因此設計了 Agent 在任務結束後撰寫「經驗總結」的機制 --> 但 LLM 本質上是文字機率模型,多次的 Summarization (摘要) 等同於有損壓縮 (Lossy Compression) --> 經過幾輪壓縮後,真正解決問題的「具體細節 (Specific Triggers)」被過濾掉,只剩下「高層次的廢話」--> Agent 讀取這些廢話記憶時,反而會被誤導,導致效能暴跌。
```
### 關鍵證據
1. **退化現象 (Degradation)**: 論文發現 Agent 甚至會因為讀取了被過度壓縮的記憶,而在「以前成功解過的問題」上失敗。這打破了「記憶越多越好」的迷思。
2. **細節遺失的具體路徑**: 評論區 @\_Suresh2 點出了實務上的慘況:在經歷 3 輪的壓縮迴圈後,原本包含解決方案的細節記憶,退化成了類似 "user is frustrated"(使用者很沮喪)這種毫無操作價值的字句,真正能觸發工具的細節全部消失。
3. **自駕車合成數據的類比**: 評論區 @leozc 將其與自駕車的合成數據污染相比。當 LLM 吃自己的產出(LLM 總結 LLM 的行為)超過一定比例後,模型能力就會崩塌。
### 隱形假設與邊界
* **隱形假設**:
* 目前的 LLM 在「抽象化推理 (Abstract Reasoning)」與「歸納總結」時,無法準確區分「什麼是必須保留的關鍵變數」與「什麼是可以丟棄的雜訊」。
* **邊界條件**:
* 這個結論特別適用於需要精確操作細節的 Agent (例如 Coding Agent, Tool-use Agent)。如果是一般的心理諮商或閒聊 Agent,高層次的情感摘要可能反而足夠了。
## ROUND 3: SOUL | 靈魂提取
**「還能怎麼用」**
* **知識連接**: 本文強烈呼應了前一篇《別亂壓縮了》中提到「壓縮會毀掉精確緩存」的觀點。無論是為了省錢在 API 層做壓縮,還是在認知層做經驗總結,LLM 時代的真理似乎是:**盡可能保留 Raw Data (原始數據)**。這也與《The State of Statefulness in AI Agents》提倡使用 Event Sourcing (事件溯源,即保留所有原始動作) 的架構思想不謀而合。
* **行動觸發**: 檢查你手邊 Agent 的 `Reflection` 或 `Memory` 模組。如果它會在每次任務結束後呼叫 LLM 寫一段 "What I learned today",請慎重考慮將其關閉。改為將成功的 `[Task Objective, Final Tool Call Trace, Outcome]` 以原汁原味的 JSON 格式存入 Vector DB,當作 Few-shot examples (情節記憶) 供未來的任務檢索。
---
# 抽象化的詛咒與情節記憶的勝利 (Architectural Deep Dive)
## 前言
這篇 UIUC 的論文戳破了 Agent 圈子裡一個長久以來的幻想:我們以為只要給 LLM 加上一個「反思與總結 (Reflection & Summarization)」的迴圈,它就能像人類大腦一樣,自動從經驗中提煉出高階智慧。事實證明,當前的 LLM 做不到。
## 核心架構洞察
### 1. 有損壓縮 (Lossy Compression) 與特徵丟失
LLM 的摘要能力本質上是一種**有損壓縮**。
* 人類在總結經驗時,會基於生存本能或強烈的目標導向,保留最關鍵的「破局點 (Breakthrough point)」。
* LLM 的總結則是基於「語言的流暢度與普遍性」。當它被要求總結一段複雜的 Debug 過程時,它會傾向輸出:「*在處理 API 錯誤時,仔細檢查權限設定是很重要的。*」
* 這種「高階廢話」對於下一次的程式執行毫無幫助。原本真正解決問題的那行特定的 `curl` 參數(有用的特徵)在壓縮過程中被作為「雜訊」過濾掉了。
### 2. 情節記憶 (Episodic Memory) 作為 Few-Shot Prompting
論文證實了保留原始日誌 (Raw Episodes) 更加可靠。這在架構上的意義是:
* **我們不應該讓 Agent "學習 (Learn)" 規則,而應該讓它 "檢索 (Retrieve)" 範例。**
* 情節記憶本質上就是**動態生成的 Few-Shot Examples**。當系統遇到新問題時,透過 RAG 找出歷史上最相似的一段完整對話/工具調用紀錄(包含所有的 Input/Output/Error),直接原封不動地塞進 Context Window。
* 讓 LLM 在當前的 Context 中自行對照原始紀錄進行 reasoning (推理),遠比讓 LLM 讀取上一代 LLM 寫的「心得報告」要精準得多。
### 3. Model Collapse (模型崩塌) 的微觀體現
在訓練領域有一個著名現象叫 Model Collapse:如果用 LLM 生成的數據去訓練下一代 LLM,模型的能力會逐漸退化。
* 這篇論文實際上展示了 Agent 記憶系統中的 **Runtime Model Collapse (運行時模型崩塌)**。
* 「Agent 產生行為 -> LLM 總結行為變成記憶 -> LLM 讀取記憶產生新行為」這個閉環,只要迭代超過 3 次,資訊的熵 (Entropy) 就會劇增,導致系統陷入無用的空轉。
## 總結
架構師必須放棄「讓 Agent 越聊越有智慧」的浪漫幻想。現階段最穩健的 AI 記憶體架構,是建立一個巨大的、不可變的 (Immutable) 事件日誌庫 (Event Log)。當你需要 Agent 變聰明時,不要去壓縮歷史,而是去優化你的檢索演算法 (Retrieval Algorithm),把最原汁原味的成功經驗送到它面前。
Obsidian 整理
原始文章
AI評測
Evals (模型評估) 解析:從人工審查到自動化評測的演進
"不要一開始就盲目追求自動化或設定模糊的「品質分數」。優秀的 Eval 系統始於你親自閱讀輸出、定義具體的 Pass/Fail 標準,最後才是寫程式與呼叫 LLM 來幫你把這些測試自動化。"
閱讀全文
---
tags: [AI評測, 系統架構, 最佳實踐]
date: 2026-05-21
read: false
source: "2026-05-21T093221+0800-Evals, explained.md"
---
# Evals (模型評估) 解析:從人工審查到自動化評測的演進

原始來源與檔名:2026-05-21T093221+0800-Evals, explained.md
---
## NAPKIN | 餐巾紙
### 餐巾紙公式
> Effective Eval System = Human Review (Baseline/Intuition) + Code-based Eval (Deterministic checks) + LLM-as-a-Judge (Semantic checks, Calibrated)
*公式說明:建立一個有用的 AI 評估系統不能一步登天。必須先透過人工審查找出錯誤模式,再將能用程式碼檢查的 (如 JSON 格式、長度) 寫成 Code Eval,最後把需要語意理解的 (如語氣、相關性) 交給經過人工校準的 LLM Judge。*
### 一句話
> 不要一開始就盲目追求自動化或設定模糊的「品質分數」。優秀的 Eval 系統始於你親自閱讀輸出、定義具體的 Pass/Fail 標準,最後才是寫程式與呼叫 LLM 來幫你把這些測試自動化。
### 餐巾紙草圖
```text
[ Eval Evolution Path ]
Phase 1: Manual Review (Eyeballing)
-> Discover "Oh, it hallucinates dates."
Phase 2: Define specific failure mode
-> "Date must match input text."
Phase 3: Automate (Code or LLM)
-> Code: Regex check for date format.
-> LLM Judge: "Is the date factually consistent with the reference?" (Pass/Fail)
```
## ROUND 1: SKELETON | 骨架掃描
**「這篇文章在說什麼」**
* **核心問題**: 在開發 AI 應用時,如何系統化地判斷「模型這次的輸出是不是好的」?如果無法自動評估,就無法放心部署更新 (無法形成 CI/CD 閉環)。
* **核心答案**: 介紹 Offline Evaluation (離線評估) 在 AI 工程循環中的地位。將評估分為三種方法:人工評估、程式碼評估、LLM 裁判,並強烈建議「先人工、再自動化」,且評估標準越具體 (如 Pass/Fail) 越好。
* **論證結構**: 評估在 AI 開發循環的定位 -> 評估機制的演化 (手動->定義錯誤->自動化) -> 詳解三種評估方法 (Manual, Code, LLM) -> 解釋有參考 (Reference-based) 與無參考 (Reference-free) 的差異 -> 實務建議 (何時建 Eval、該評估什麼)。
### 章節骨架
1. **AI Engineering Loop**: 評估 (Eval) 是連接開發實驗與正式發布的橋樑。
2. **演化路徑**: 人工審查 -> 找出特定錯誤模式 -> 建立專用自動評估器。
3. **三種評估方法**:
* **Manual**: 建立直覺、產生 Ground Truth (黃金標準)。
* **Code-based**: 快速、便宜、具決定性 (如 JSON 格式),但不懂語意。
* **LLM-as-a-judge**: 評估語意、語氣,但需要校準且可能與主模型有共同盲點。
4. **Reference 依賴**: 說明需要標準答案 (Reference-based) 與不需要標準答案 (Reference-free) 評估器的適用場景。
5. **實務指南**:
* 只有反覆出現的錯誤才值得寫成 Evaluator。
* 偏好使用二元評分 (Pass/Fail) 而非 1-5 分的模糊量表。
* 成熟系統會混合使用三種方法。
## ROUND 2: DISSECTION | 血肉解剖
**「憑什麼這麼說」**
### 論證鏈
```text
AI 的輸出是非決定性的 (Non-deterministic) --> 傳統軟體的 Unit Test 無法直接套用 --> 必須建立專屬的 Eval 系統 --> 如果一開始就用 LLM-as-a-judge 評分,容易因為標準模糊而導致 Eval 系統本身毫無參考價值 --> 因此必須從人工閱讀開始,定義出精確的錯誤模式 (Failure Modes) --> 最終將具體的規則轉化為 Code 或校準過的 LLM Judge,實現自動化防護網。
```
### 關鍵證據
1. **二元評分優於 1-5 分量表 (Binary > Scaled)**: 這是極具實戰價值的洞察。要求 LLM 給出 1-5 分往往會產生嚴重的分數飄移 (Drift),因為 3 分和 4 分的界線在語言模型中極其模糊。強迫定義明確的 Pass/Fail,能逼迫開發者把評估標準寫得非常具體。
2. **LLM Judge 的共同盲點 (Shared Blind Spots)**: 作者警告,如果你用 GPT-4o 產生內容,又用 GPT-4o 來當裁判,它們可能會對同一種幻覺或語氣偏好產生共鳴,導致「自我感覺良好」。因此需要人工標籤 (Human Labels) 來校準。
3. **Reference-free 的價值**: 雖然多數測試需要標準答案,但無參考評估器 (如:檢查輸出是否有害、是否符合特定語氣) 可以直接部署到生產環境 (Live Traffic) 即時監控,這延伸了 Eval 系統的使用壽命。
### 隱形假設與邊界
* **隱形假設**:
* 開發團隊擁有足夠的真實數據 (Dataset) 與人力來進行初期的 Manual Review,並建立具代表性的 Ground Truth 資料庫。
* **邊界條件**:
* 文章針對的是文字輸出的 LLM 應用。如果是生成圖像、聲音或高度複雜的程式碼庫 (如上一篇 Goal Engineering 提到的專案層級修改),單一的 Eval 方法可能不足以涵蓋,需要結合編譯器與終端測試。
## ROUND 3: SOUL | 靈魂提取
**「還能怎麼用」**
* **知識連接**: Evals 是落實《Goal Engineering》中「深度測試 (Depth Tests)」的底層機制。當你在 Rider 裡寫下 `lifecycle_fail_truncates_suffix` 這樣的測試名時,你就是在定義一個 Binary Pass/Fail 的 Code-based Evaluator。
* **行動觸發**: 檢視你目前 AI 專案的測試方法。把那些寫著「評估這個回答有多好 (1-10分)」的 prompt 砍掉。把它換成 3 個具體的 Yes/No 問題:「是否有引用來源?」、「是否超過 500 字?」、「是否包含髒話?」。
---
# AI 系統的自動化測試架構 (Architectural Deep Dive)
## 前言
如果說 TDD (測試驅動開發) 是現代軟體工程的基石,那麼 Evals (評估系統) 就是 LLM 應用開發的 CI/CD 防護網。在非決定性 (Non-deterministic) 的模型面前,如何建立高信賴度的測試架構,是區分玩具專案與企業級應用的分水嶺。
## 核心架構洞察
### 1. 測試左移 (Shift-Left Testing) 與資料飛輪
文章描述的 AI Engineering Loop,本質上是一種持續整合 (Continuous Integration) 的架構。
* **Dataset 是一切的基礎**:沒有穩定的資料集,Eval 就是在對空氣揮拳。人工審查的最終目的,是產出高質量的 Test Fixtures (測試治具)。
* 當這些 Eval 腳本 (Code or LLM Judge) 被整合進 Pipeline 時,我們就能在每次修改 Prompt 或更換底層模型 (如從 Claude 3.5 換到 GPT-4o) 時,瞬間知道系統的退化 (Regression) 情況。
### 2. 評估器的職責分離 (Separation of Concerns in Evals)
優秀的系統架構不依賴單一組件。作者將 Eval 拆分為 `Code-based` 與 `LLM-based`,這非常符合軟體架構的職責分離原則。
* **Code-based Eval (Deterministic Logic)**:像 Regex、JSON Schema Validator。它們非常便宜、快速 (O(1) 級別的延遲),應該放在測試鏈條的最前端 (Fail Fast)。
* **LLM-as-a-judge (Semantic Logic)**:像相關性分析、語氣判斷。成本高、有延遲,應該作為深層的斷言 (Deep Assertions) 使用。
* 將兩者混合使用,既保證了結構的正確性,也兼顧了語意的品質。
### 3. 校準與對齊 (Calibration as System Tuning)
這篇文章點出了一個常見盲區:LLM Judge 本身也只是一段程式碼,它也可能會有 Bug (幻覺/偏見)。
* 在機器學習系統中,我們不能盲目相信 Metric。
* 必須定期將 LLM Judge 的給分與 Human Baseline 進行比對 (例如計算 F1 Score 或 Cohen's kappa)。這個「校準」過程,就如同在分散式系統中校準時間戳一樣,是保證測量工具準確性的必要維護工作。
## 總結
Eval 不是一個外加的工具,它是 AI 應用的定義檔。你怎麼衡量它,它就會長成什麼樣子。摒棄模糊的分數量表,建立具體、二元、可測試的失敗模式 (Failure Modes),是駕馭 LLM 的關鍵工程能力。
Obsidian 整理
原始文章
Agent架構
AI 代理的狀態管理困境:為什麼記憶體不是真正的問題?
"全世界的 AI 開發者都在重複造輪子,試圖解決同一個問題:LLM 沒有狀態。我們把這個問題誤認為是「缺乏記憶」,但它真正的名字叫「缺乏連續性」。未來的 Agent 架構,必須從「對話反應器 (Reactive)」升級為「有狀態的運作實體 (Stateful Beings)」。"
閱讀全文
---
tags: [Agent架構, 系統架構, AI研究, 狀態管理]
date: 2026-05-21
read: false
source: "2026-05-21T093246+0800-The State of Statefulness in AI Agents.md"
---
# AI 代理的狀態管理困境:為什麼記憶體不是真正的問題?

原始來源與檔名:2026-05-21T093246+0800-The State of Statefulness in AI Agents.md
---
## NAPKIN | 餐巾紙
### 餐巾紙公式
> Stateful Agent = Continuous Operational Substrate (Graph + Event Source) + Stateless Model
*公式說明:目前 LLM 模型本質上是無狀態的 (Stateless)。為了解決這個問題,開發者拼湊了各種記憶體、日誌與圖譜系統。但真正的解法不是外掛更多「記憶」,而是建立一個統一的、持久的「營運基底 (Operational Substrate)」,讓圖譜與事件流共同維持 Agent 的狀態連續性。*
### 一句話
> 全世界的 AI 開發者都在重複造輪子,試圖解決同一個問題:LLM 沒有狀態。我們把這個問題誤認為是「缺乏記憶」,但它真正的名字叫「缺乏連續性」。未來的 Agent 架構,必須從「對話反應器 (Reactive)」升級為「有狀態的運作實體 (Stateful Beings)」。
### 餐巾紙草圖
```text
[ Current Agent Paradigm: Reactive ]
Prompt In -> [ Stateless LLM ] -> Output Out
(Memory is just a side-car database)
[ Future Agent Paradigm: Stateful ]
Event Stream (Tool calls, failures, beliefs)
↓
[ Operational Substrate (Graph) ] <-> [ Stateless LLM ]
↑
(The system mutates, branches, and evolves its own capabilities)
```
## ROUND 1: SKELETON | 骨架掃描
**「這篇文章在說什麼」**
* **核心問題**: Yohei Nakajima 在 X 上提問:大家都在談論狀態化 Agent (Stateful Agents)、決策追蹤、上下文圖譜,但有人看過優雅的實作嗎?答案是:沒有,大家都在瞎子摸象,重複解決同樣的基礎架構痛點。
* **核心答案**: 業界把問題誤診為「記憶 (Memory)」,但真正的問題是「連續性 (Continuity)」。我們需要的不是一個能記住對話的資料庫,而是一個能記錄系統**能力演進、決策分歧與營運狀態的持久基底 (Persistent Operational Substrate)**。
* **論證結構**: 提出痛點 (模型無狀態) -> 辨析概念 (記憶體被過度簡化) -> 比較現有方案 (Event Sourcing 的好處與 Graph 的潛力) -> 點出致命傷 (線性日誌無法處理「分支 Branching」) -> 提出願景 (需要一種結合兩者的營運狀態圖譜) -> 結論 (重返古老的系統工程原理)。
### 章節骨架
1. **痛點收斂**: 大家都在開發事件日誌、圖譜層、狀態機,但總感覺架構底層少了什麼。
2. **記憶體不是真問題**: 記憶體不僅僅是回憶文字。Agent 是會突變 (Mutate) 的實體,它會長出新工具、修改自己的 Workflow,這需要的是「能力演化」的紀錄。
3. **事件與圖譜的互補**: Event Sourcing (事件溯源) 適合記錄「發生了什麼」,Graph (圖譜) 適合表示「現在是什麼」。
4. **分支問題 (Branching Problem)**: 線性日誌在面臨 Agent 需要「假設分叉、比較策略、模擬替代方案」時就會失效。
5. **圖譜被低估**: 圖譜不該只用來做 RAG (檢索),而應該用來記錄系統的「營運狀態」(什麼過期了?什麼失敗了?哪個版本的系統相信這件事?)。
6. **深層轉變**: 從「反應式 (Reactive)」轉向「連續性 (Continuity)」。人類不是反應生物,而是有狀態的生物。
7. **結論**: 我們正在重新發明 70 年代的古老分散式系統。對話 (Chat) 只是最簡單的介面,絕不是持久智慧 (Persistent Intelligence) 的正確基底。
## ROUND 2: DISSECTION | 血肉解剖
**「憑什麼這麼說」**
### 論證鏈
```text
LLM 模型每次呼叫之間是不共享狀態的 --> 開發者被迫在模型外部建立各種 Context 系統 (RAG, Vector DB) 來補償 --> 但這些系統只解決了「陳述性記憶 (Declarative Memory)」--> 長期運行的 Agent 真正需要的是「程序性與營運性記憶」(我剛才用這個工具失敗了,我現在要換個策略) --> 傳統的 Event Sourcing (事件流) 可以解決線性步驟,但無法處理 Agent 的「假設性探索 (Branching)」--> 因此,我們急需一種新型的底層原語 (Primitive):持久的營運狀態圖譜。
```
### 關鍵證據
1. **「記憶」概念的扁平化**: 作者精準地指出,現在大家講的「Memory」混淆了:對話回溯、長期知識、工具歷史、決策血統 (Lineage) 與能力演化。把這些東西全塞進一個 Vector DB 是行不通的。
2. **線性回放 (Linear Replay) 的極限**: 許多系統採用 Event Sourcing 來達成 Agent 的 Auditability (可審計性)。但真正的智能系統很少是線性運作的,它需要 Fork (分支) 假設,這點破了目前 LangChain/AutoGPT 類框架的盲點。
3. **重返分散式系統老路**: 作者觀察到,Agent 開發者正在重新發現:Actor Systems, Blackboard architectures, Rules engines。這證明了 AI Agent 的發展已經跨出了「機器學習」領域,進入了「複雜系統工程 (Complex Systems Engineering)」的範疇。
### 隱形假設與邊界
* **隱形假設**:
* AI 模型 (如 GPT-4, Claude) 在可預見的未來內,其 API 調用模式依然是無狀態的 (Stateless Inference)。
* 未來的 Agent 將朝向「長期執行 (Long-running)」、「自主化」與「自我修改 (Self-modifying)」發展。
* **邊界條件**:
* 對於單次任務、即用即拋 (One-shot) 的簡單分類或摘要腳本,這套複雜的狀態管理基底是過度工程 (Over-engineering)。
## ROUND 3: SOUL | 靈魂提取
**「還能怎麼用」**
* **知識連接**: 這篇文章探討的「營運狀態基底」,與《Goal Engineering》中提倡的「決策樹紀錄檔 (AS-BUILT-ARCHITECTURE.md)」精神高度一致。我們手動維護的那個 Markdown 檔,實際上就是作者苦苦尋找的「圖譜狀態」的一種低保真度 (Low-fi) 實現!
* **行動觸發**: 當你下次在開發 Agent,覺得「它怎麼一直忘記剛才工具已經報錯了」,不要急著把錯誤訊息塞進 System Prompt。停下來思考:你的 Agent 架構是否缺乏一個紀錄「工具狀態與決策分支」的圖譜系統?試著將狀態管理從 Prompt 中抽離出來。
---
# 從 Prompt Engineering 到 State Engineering (Architectural Deep Dive)
## 前言
如果說 2023 年是 Prompt Engineering 的元年,2024 年是 RAG 的元年,那麼這篇文章宣告了未來的終極戰場在於 **State Engineering (狀態工程)**。這篇文章是一篇極具前瞻性的架構宣言,點出了目前所有 Agent 框架 (包含 LangGraph, AutoGen) 令人感到「還差一點」的根本原因。
## 核心架構洞察
### 1. 「反應機」與「狀態機」的根本差異
目前我們構建 Agent 的心智模型,停留在 HTTP Server 的層次:
* **Request-Response 模式**:給一個 Prompt,吐一個 Answer。
* 即使是引入了「工具調用 (Tool Calling)」,本質上也是在一個巨大的 While 迴圈中,不斷做 Request-Response,直到達成條件。
作者指出,人類(或任何高級智慧)不是這樣運作的。我們是「有狀態的實體 (Stateful Beings)」。一個外部刺激(Message),不是在真空中產生反應,而是**擾動 (Perturb)** 了一個已經充滿信念、目標、歷史經驗的巨大狀態網絡。
### 2. 圖譜 (Graph) 在 Agent 系統中的降維打擊
目前業界對 Graph (知識圖譜) 的使用非常膚淺,僅限於「找資料 (Retrieval)」,例如 GraphRAG。
* 這篇文章提出了一個架構躍遷:將 Graph 用作**「營運狀態圖譜 (Operational State Graph)」**。
* 這意味著,Graph 的節點不再只是「史蒂夫·賈伯斯」或「蘋果公司」,而是:「任務 A」、「策略 B」、「失敗的工具調用 C」、「V1.2 版的 System Prompt」。
* 這種圖譜能夠完美解決線性 Event Sourcing 無法處理的「分支 (Branching)」與「回退 (Backtracking)」問題。Agent 可以平行探索多條決策路徑,並在圖譜中標記哪條路徑是死胡同。
### 3. Agent 基礎設施的收斂 (Convergence)
這篇文章點出了一個令人振奮又好笑的現象:搞 AI 的人,終於開始補修分散式系統 (Distributed Systems) 的學分了。
* 為了讓 Agent 穩定運行,我們重新發明了 Actor Model (Erlang 的強項)。
* 我們重新發明了 Blackboard Architecture (多代理協作)。
* 我們重新發明了 Event Sourcing 與 CQRS (讀寫分離)。
這告訴架構師一個明確的訊號:不要試圖在「AI 框架」裡尋找 Agent 穩定性的答案,去翻開 70 年代的系統工程教科書,那裡才有解決「狀態、並發、一致性與故障恢復」的真正原語。
## 總結
不要再把時間花在優化「如何讓模型記住對話」了。真正的挑戰在於架構出一個「持久的營運基底」,讓模型能夠像人類一樣,在複雜的狀態網路中進行導航、分叉、修正與自我進化。對話框 (Chat UI) 是 AI 的搖籃,但我們終將離開搖籃。
Obsidian 整理
原始文章
Agent架構
ActiveGraph: 長期運行 Agent 的連續性狀態層
"ActiveGraph 提出了一個典範轉移:長期運行的 Agent 不應圍繞著「模型呼叫與反應」來設計,而應該將整個作業現實(任務、記憶、失敗)轉化為持久化的圖狀狀態 (Graph State),讓行為從狀態的改變中自然湧現。"
Top 5 Insights
**告別串流處理器隱喻**:人類是「透過串流互動的持久系統」。未來的 Agent 基礎設施必須將「狀態」提升為一等公民,LLM 只是用來推動狀態轉移的運算單元。 **後端工程模式的復興**:ActiveGraph 證明了構建 AGI 級別的軟體,需要的不是神祕的新技術,而是將傳統軟體工程中經過實戰檢驗的架構——**黑板模式、事件溯源、反應式資料庫 (Reactive DB)、版控系統**——重新封裝進 Agent Runtime 中。
閱讀全文
---
tags: [Agent架構, 系統設計, 狀態機]
date: 2026-05-21
read: false
source: "2026-05-21T092954+0800-ActiveGraph A Continuity Layer for Long-Running Agents.md"
---
# ActiveGraph: 長期運行 Agent 的連續性狀態層

原始來源與檔名:2026-05-21T092954+0800-ActiveGraph A Continuity Layer for Long-Running Agents.md
---
## NAPKIN | 餐巾紙
### 餐巾紙公式
> Long-Running Agent = LLM Inference + Agent Loops + Continuity of State (ActiveGraph)
*公式說明:要讓 Agent 能夠長期運行(數天或無限期),光靠模型推論能力和行動迴圈是不夠的,必須引入一個基於圖結構 (Graph) 的「狀態連續性層」,讓系統所有的記憶、任務、決策和證據都能共存並演化。*
### 一句話
> ActiveGraph 提出了一個典範轉移:長期運行的 Agent 不應圍繞著「模型呼叫與反應」來設計,而應該將整個作業現實(任務、記憶、失敗)轉化為持久化的圖狀狀態 (Graph State),讓行為從狀態的改變中自然湧現。
### 餐巾紙草圖
```text
[ Current Agents (Reactive) ]
Prompt -> LLM -> Tool -> Message
(No persistent model of the world)
VS.
[ ActiveGraph (Stateful) ]
+------------------------------------+
| Event Log (What happened) |
| v |
| Graph State (What is) |
| - Tasks, Memories, Claims, Risks |
| ^ |
| Behaviors (React to state change) |
+------------------------------------+
* The agent substrate is the graph itself.
```
## ROUND 1: SKELETON | 骨架掃描
**「這篇文章在說什麼」**
* **核心問題**: 為什麼目前即使是最強大的 AI Agent,在長期運行(數小時或數天)時,依然會給人一種「不連貫、斷片」的感覺?
* **核心答案**: 因為現有架構本質上是「反應式 (Reactive)」的串流處理器。要解決這個問題,必須建立一個連續性層 (Continuity Layer),將系統的所有中間推理與狀態保存為圖結構。
* **論證結構**: 回顧 BabyAGI 的啟發 -> 點出當前反應式架構的瓶頸 -> 提出 ActiveGraph 架構 -> 闡述 Graph 與 Event Log 結合的優勢與未來展望。
### 章節骨架
1. **緣起**: BabyAGI 的核心洞見是「將文字輸出轉化為持久狀態 (Task)」。
2. **痛點**: 任務管理器、記憶體、日誌不斷被重複造輪子,但 Agent 依然缺乏對世界演變的連貫認知。
3. **轉變**: 人類不是串流處理器,而是透過串流互動的「持久系統 (Persistent systems)」。
4. **ActiveGraph 解法**: 將任務、主張、證據、決定全部納入同一個圖結構,配合事件日誌 (Event Log) 追蹤演化。
5. **結論**: 連續性狀態 (Continuity of State) 將是 Agent 架構的下一個基礎設施。
## ROUND 2: DISSECTION | 血肉解剖
**「憑什麼這麼說」**
### 論證鏈
```text
短任務可以用反應式架構解決 --> 長任務需要維護信念、證據、失敗與依賴關係 --> 這些關係本質上是網狀 (Graph) 的 --> 如果把所有元件(任務、記憶、主張)都視為「狀態」,就能用 Graph 統一管理 --> 結合 Event Log,系統就能追溯「我是怎麼得出這個結論的」,實現真正的連續性與自我修正。
```
### 關鍵證據
1. **狀態共享的湧現行為**: 在圖結構中,當「沒有證據的主張」出現時,自然會觸發「研究任務」;當「兩個相互矛盾的主張」出現時,自然會觸發「審查」。這不需要硬編碼的工作流。
2. **架構收斂**: 當前系統不斷重複發明任務管理器、記憶存儲、審核佇列。作者指出,這些其實都只是對「共享演化狀態 (Shared Evolving State)」的不同操作,應該被統一。
3. **可追溯性 (Traceability)**: Graph 代表 "what is" (現狀),Event log 代表 "what happened" (歷史)。這兩者的結合讓 Agent 的決策過程具備了企業級所需的稽核能力。
### 隱形假設與邊界
* **隱形假設**:
* 圖資料庫 (Graph Database) 與事件溯源 (Event Sourcing) 架構在面對海量 Agent 狀態變更時,效能與延遲可以被有效控制。
* LLM 具備足夠的結構化輸出能力來準確更新 Graph 中的節點與邊 (Nodes and Edges)。
* **邊界條件**:
* 對於只需單次、快速回應的簡單任務,引入 ActiveGraph 會造成過度設計 (Over-engineering)。此架構專屬於研究、法律、合規等「中間推理與最終結果一樣重要」的領域。
## ROUND 3: SOUL | 靈魂提取
**「還能怎麼用」**
* **作者盲點**: 文章高度概念化,沒有觸及在多 Agent 併發 (Concurrency) 存取同一個 Graph 時,如何處理狀態衝突 (State Conflicts) 與分散式交易 (Distributed Transactions) 的問題。
* **知識連接**: ActiveGraph 的架構完美契合了後端工程中的 **CQRS (命令查詢職責分離)** 與 **Event Sourcing (事件溯源)** 模式,只不過這裡的操作主體從人類變成了 AI Agent。
* **行動觸發**: 在設計下一個企業級 Agent 時,放棄使用單純的向量資料庫 (Vector DB) 做記憶,改用圖資料庫 (如 Neo4j) 結合事件日誌,把 Agent 的每一步決策(為何呼叫這支 API)寫入圖中。
---
# ActiveGraph 架構解析 (Architectural Deep Dive)
## 前言
本文作者 Yohei Nakajima (BabyAGI 的作者) 提出了長期運行 Agent 的下一個架構演進方向:**ActiveGraph**。文章指出,現今多數的 Agent 框架仍深陷於「反應式 (Reactive)」迴圈,這導致了 Agent 在長時間運行下缺乏連貫性。ActiveGraph 試圖透過圖結構 (Graph) 與事件溯源 (Event Sourcing) 來建立 Agent 的「連續性狀態層 (Continuity Layer)」。
## 架構核心思想
### 1. 從「流程拓撲」到「世界狀態拓撲」
* **傳統 Workflow (如 LangGraph)**:通常模擬的是**計算流程** (Planner -> Researcher -> Critic)。節點是 Agent 或函數。
* **ActiveGraph**:模擬的是**系統作用的現實世界**。節點是 Task, Claim (主張), Evidence (證據), Decision (決策), Risk (風險)。
* **架構決策**:下一步要做什麼,不應該被硬編碼在流程圖裡。相反地,應該由「狀態的改變」來觸發行為 (Event-driven)。例如,當 Graph 中新增了一個 `[Claim] --contradicts--> [Claim]` 的邊時,系統自動觸發審查邏輯。這是一種基於黑板模式 (Blackboard System) 的演進。
### 2. 狀態與軌跡的統一 (Event Sourcing)
架構中包含了兩個不可或缺的資料庫視角:
* **Graph State (What is)**:代表系統當前的絕對真理,即最新的記憶與任務狀態。
* **Event Log (What happened)**:代表狀態變更的不可變日誌 (Immutable Ledger)。
這種設計讓系統可以回答最困難的 Debugging 問題:「這個結論是怎麼來的?」(Lineage/Provenance)。這在法律、合規等要求極高的領域是上線部署的硬性規定。
### 3. 一切皆為狀態 (Everything is State)
傳統架構將「任務列隊」、「記憶庫」、「日誌」切割為不同的系統。ActiveGraph 提出將它們**統一抽象化**。
* 一個任務是狀態。
* 一個失敗的行為是狀態。
* 一個自我改進的提案也是狀態。
當所有元件共享同一個基底 (Substrate),系統就能進行複雜的自我修正。例如:評估器 (Evaluator) 發現某個行為失敗,直接在圖中新增一個 Patch 節點,測試過後再 Promote,這就是帶有血統證明的自我進化 (Self-modification with lineage)。
## 總結與結論
* **告別串流處理器隱喻**:人類是「透過串流互動的持久系統」。未來的 Agent 基礎設施必須將「狀態」提升為一等公民,LLM 只是用來推動狀態轉移的運算單元。
* **後端工程模式的復興**:ActiveGraph 證明了構建 AGI 級別的軟體,需要的不是神祕的新技術,而是將傳統軟體工程中經過實戰檢驗的架構——**黑板模式、事件溯源、反應式資料庫 (Reactive DB)、版控系統**——重新封裝進 Agent Runtime 中。
Obsidian 整理
原始文章
Agent架構
Code as Agent Harness:邁向可執行、可驗證、有狀態的智能體系統
"程式碼不再只是 LLM 產出的最終結果,而是構建智能體系統(Agentic System)中,用來推理、行動、維持狀態與多智能體協調的核心「可執行框架」。"
Top 5 Insights
**將 CoT 升級為 PoT**:架構師應盡量減少對純語言思維鏈的依賴,在需要精確推理與狀態維護的場景中,強制要求 Agent 產出 Python 腳本或 DSL 來執行。 **建立「執行即回饋」的沙箱**:Agent Harness 的核心價值在於「閉環」。系統必須提供安全的沙箱環境 (如 Docker) 與 Linter,將 Runtime Error 即時餵給模型進行 Self-Correction。 **記憶體即程式庫 (Memory as Codebase)**:長期運行的 Agent 不應依賴無限增長的 Context Window,而應該將成功的解題軌跡「編譯」並持久化為本地的可呼叫函數 (Skills),實現真正的 O(1) 知識調用。 **測試驅動的 Agent 開發 (Agent TDD)**:在多 Agent 協作場景中,以「測試案例」作為不同 Agent 間的溝通與驗證合約,是保證系統不崩潰的最有效手段。
閱讀全文
---
tags: [Agent架構, AI工程, 系統架構, 框架設計]
date: 2026-05-21
read: false
source: "2026-05-21T092842+0800-Code as Agent Harness:迈向可执行、可验证、有状态的智能体系统(完整翻译) SagaSu的个人博客.md"
---
# Code as Agent Harness:邁向可執行、可驗證、有狀態的智能體系統
原始來源與檔名:2026-05-21T092842+0800-Code as Agent Harness:迈向可执行、可验证、有状态的智能体系统(完整翻译) SagaSu的个人博客.md
---
## NAPKIN | 餐巾紙
### 餐巾紙公式
> Agent Harness = Code (Interface + Mechanism + Multi-Agent Execution)
*公式說明:智能體的控制框架(Harness)本質上就是程式碼,它同時作為模型與環境交互的介面、狀態持久化的機制,以及多智能體協作的執行基底。*
### 一句話
> 程式碼不再只是 LLM 產出的最終結果,而是構建智能體系統(Agentic System)中,用來推理、行動、維持狀態與多智能體協調的核心「可執行框架」。
### 餐巾紙草圖
```text
+-------------------+
| |
| LLM (Brain) |
| |
+--------+----------+
| (Generates/Reads)
v
+===================+
| CODE HARNESS | <--- The Real Agent!
| |
| - Executable |
| - Inspectable |
| - Stateful |
+===================+
| (Interacts)
v
+-------------------+
| Environment |
| (API/OS/Codebase) |
+-------------------+
```
## ROUND 1: SKELETON | 骨架掃描
**「這本書在說什麼」**
* **核心問題**: 在構建長期運行且可靠的智能體系統時,如何彌補 LLM 無狀態、無執行力與環境隔離的缺陷?
* **核心答案**: 將程式碼作為智能體的「控制框架(Harness)」,使其成為推理、行動、環境建模與協作的統一介面。
* **論證結構**: 分層遞進演繹(框架介面 -> 框架機制 -> 多智能體擴展)。
### 章節骨架
1. **引言**: 程式碼是智能體的執行與檢查媒介。
2. **第一層 (框架介面)**: 程式碼用於推理、行動與環境建模。
3. **第二層 (框架機制)**: 程式碼驅動規劃、記憶與工具控制。
4. **第三層 (多智能體)**: 程式碼作為協同工作的共享狀態。
5. **應用與挑戰**: 具體領域實踐與未來的評估難題。
## ROUND 2: DISSECTION | 血肉解剖
**「憑什麼這麼說」**
### 論證鏈
```text
LLM 需要與外部環境進行長期互動 --> 純文字思考無法驗證且會丟失狀態 --> 程式碼具備可執行、可檢查、有狀態三大特性 --> 因此程式碼最適合用作智能體的控制框架(Harness) --> 框架透過程式碼串接推理、記憶與協作,實現真正的自主性。
```
### 關鍵證據
1. **推理的委託**: PoT (Program-of-Thoughts) 和 PAL 證明將計算委託給外部程式碼執行器,能大幅降低邏輯錯誤與幻覺。
2. **行動的具象化**: Code-as-Policies 等研究顯示,將抽象語言意圖轉化為可執行的 Python 腳本,是機器人與具身智能體與物理世界互動的最佳方式。
3. **記憶的持久化**: Voyager 等系統證明,將經驗提煉為程式碼技能庫,能有效解決災難性遺忘,並實現長期的自我進化。
### 隱形假設與邊界
* **隱形假設**:
* 目標環境(API、OS、沙箱)必須能安全地執行程式碼並返回準確的錯誤或狀態。
* LLM 具備足夠的 Coding 能力來生成、修改和修復控制框架所需的程式碼。
* **邊界條件**:
* 當任務屬於純粹的創意生成或情感交流,不需要與外部狀態進行互動時,此框架的優勢會遞減。
* 在無法提供確定性執行回饋的環境中(如模糊的語意評估),程式碼框架的自我修正機制會失效。
## ROUND 3: SOUL | 靈魂提取
**「還能怎麼用」**
* **作者盲點**: 文章高度關注程式碼作為「執行框架」,但較少深入探討當模型生成的程式碼含有惡意邏輯或無限迴圈時,Harness 本身的安全性隔離與資源控制邊界。
* **知識連接**: 與軟體工程中的「基礎設施即程式碼 (IaC)」概念高度吻合。這裡變成了「智能體基礎設施即程式碼 (Agent-Infrastructure-as-Code)」。
* **行動觸發**: 在設計新的 Agent 系統時,停止讓模型輸出大量純文字的思維鏈 (CoT),改為強制模型輸出可執行的狀態機腳本或驗證測試案例。
### 跨域映射
* 在 **雲端運算**,這叫 **基礎設施即程式碼 (IaC)**
* 在 **遊戲開發**,這叫 **資料驅動的腳本引擎 (Script-Driven Engine)**
---
# Code as Agent Harness:邁向可執行、可驗證、有狀態的智能體系統 (Architectural Deep Dive)
## 前言/背景
這篇綜述文章提出了一個核心範式轉移:在構建 AI Agent 時,程式碼不應僅僅被視為大型語言模型 (LLM) 產出的「最終產品」,而應該被視為智能體系統的「底層控制框架 (Agent Harness)」。文章解決了 LLM 系統如何從單次、無狀態的文字生成,走向長期、可靠、可驗證執行的架構問題。
## 章節詳細總結
### 1. 核心視角:程式碼作為智能體框架 (Code as Agent Harness)
作者將長期運行的智能體系統解構為三個要素:**模型內部能力**、**系統提供的框架基礎設施**、以及**智能體發起的程式碼工件 (Code Artifacts)**。
與自然語言相比,程式碼具備不可替代的三大架構特性:
* **可執行性 (Executability)**:模型的意圖變成了具有形式化結果的實體操作。
* **可檢查性 (Inspectability)**:中間的計算與思考過程暴露為結構化軌跡,方便 Debug 與遙測。
* **有狀態性 (Statefulness)**:程式可以作為持久的記憶,在多次對話與步驟間保存進度。
> 架構決策:在設計 Agent 時,應該讓 LLM 產出程式碼來控制流程,而非用自然語言描述流程。
### 2. 第一層:框架介面 (Framework Interfaces)
這一層探討程式碼如何作為模型與環境間的 I/O 介面。
* **程式碼用於推理 (Code for Reasoning)**:放棄純文字的思維鏈 (CoT),改用 **程序委託推理 (Program-Delegated Reasoning)**。例如 PoT 或 PAL 模式,模型只負責「寫出解決問題的程式碼」,把計算任務交給 Python 直譯器。這將「高階推理」與「低階計算」徹底解耦。
* **程式碼用於行動 (Code for Action)**:將語言意圖映射到 API 呼叫或機器人控制腳本。例如 Voyager 將動作轉化為可重用的技能庫 (Skill Library),這在軟體工程上等同於「動態生成並載入的 Plugin」。
* **程式碼用於環境 (Code for Environment)**:將不透明的外部世界,實體化為 Agent 可讀的資料結構或單元測試。例如 `SWE-bench` 利用單元測試作為「客觀世界狀態」,讓 Agent 有明確的 Feedback loop。
### 3. 第二層:框架機制 (Framework Mechanisms)
當程式碼進入 Agent 的執行迴圈後,需要機制來維持其穩定性與收斂。
* **規劃與記憶 (Planning & Memory)**:將工作流編排 (如 CodePlan) 具象化為 DAG 或樹狀結構。記憶體則退化為程式碼庫或檢索庫,Agent 透過讀取過去生成的函數來喚醒「長期記憶」。
* **回饋驅動的控制 (Feedback-Driven Control)**:這是一個典型的**閉環控制系統 (Closed-loop Control)**。依賴靜態分析 (Linter)、執行時期錯誤 (Stacktrace)、單元測試,強制 Agent 在失敗時進行程式碼修訂 (如 AgentCoder 模式)。
### 4. 第三層:多智能體擴展 (Multi-Agent Extension)
在多智能體系統中,程式碼扮演了分散式系統中的「共享狀態 (Shared State)」與「通訊協定」。
* **協作模式**:透過 Git 般的機制,規劃者、編碼者、審查者與測試者共同維護一個 Codebase。
* **工作流拓撲**:從集中式協調轉向分佈式協作,測試案例 (Tests) 成為了不同 Agent 之間的「服務級別協議 (SLA)」。若 Agent A 寫的程式無法通過 Agent B 寫的測試,協作便會觸發重試。
## 總結與結論
* **將 CoT 升級為 PoT**:架構師應盡量減少對純語言思維鏈的依賴,在需要精確推理與狀態維護的場景中,強制要求 Agent 產出 Python 腳本或 DSL 來執行。
* **建立「執行即回饋」的沙箱**:Agent Harness 的核心價值在於「閉環」。系統必須提供安全的沙箱環境 (如 Docker) 與 Linter,將 Runtime Error 即時餵給模型進行 Self-Correction。
* **記憶體即程式庫 (Memory as Codebase)**:長期運行的 Agent 不應依賴無限增長的 Context Window,而應該將成功的解題軌跡「編譯」並持久化為本地的可呼叫函數 (Skills),實現真正的 O(1) 知識調用。
* **測試驅動的 Agent 開發 (Agent TDD)**:在多 Agent 協作場景中,以「測試案例」作為不同 Agent 間的溝通與驗證合約,是保證系統不崩潰的最有效手段。
Obsidian 整理
原始文章
Agent架構
No .md files until Series B: 為什麼 Markdown 不適合做 Agent 的記憶體?
"不要把儲存問題變成推理問題。Markdown 檔案只是帶有 LLM 壓縮機制的 Key-Value 儲存,當你的 Agent 需要處理權限、時間狀態與決策追溯時,繼續使用 Markdown 會讓你的系統陷入萬劫不復的技術債。"
閱讀全文
---
tags: [Agent架構, 記憶體管理, 系統設計]
date: 2026-05-21
read: false
source: "2026-05-21T093119+0800-No .md files until Series B.md"
---
# No .md files until Series B: 為什麼 Markdown 不適合做 Agent 的記憶體?

原始來源與檔名:2026-05-21T093119+0800-No .md files until Series B.md
---
## NAPKIN | 餐巾紙
### 餐巾紙公式
> Agent Memory Scalability ≠ LLM + Markdown Files + Vector Search
> Agent Memory Scalability = Relational Graph + Lineage + Multi-tenant ACLs
*公式說明:在初期 (PMF 階段),用 Markdown 檔案搭配 LLM 摘要來做為 Agent 的記憶庫是可行的。但當系統擴展到多租戶、高並發、需要細粒度權限控制與時序推理時,基於檔案系統的記憶層將會徹底崩潰,必須回歸到圖形或關聯式資料庫。*
### 一句話
> 不要把儲存問題變成推理問題。Markdown 檔案只是帶有 LLM 壓縮機制的 Key-Value 儲存,當你的 Agent 需要處理權限、時間狀態與決策追溯時,繼續使用 Markdown 會讓你的系統陷入萬劫不復的技術債。
### 餐巾紙草圖
```text
[ The Markdown Trap ]
Time/Agents/Users increase -> Markdown File Count Explodes ->
- ACLs fail (Can't filter by line)
- Merges fail (LLM hallucinates facts)
- Timestamps fail (When was this true?)
- Traces fail (Why did we conclude this?)
===> System Collapse
[ The Graph Solution ]
Nodes (Entities) + Edges (Relations) + Metadata (Time/ACL/Trace)
```
## ROUND 1: SKELETON | 骨架掃描
**「這篇文章在說什麼」**
* **核心問題**: 為什麼許多開發 Agent 應用的新創團隊,在客戶增多後,系統架構會陷入嚴重的瓶頸?
* **核心答案**: 因為他們錯誤地將 Markdown 檔案系統 (.md) 作為 Agent 的長期記憶層 (Memory Layer)。這種架構在面對權限控制 (ACL)、並發寫入、時間軸推理與追溯性時,存在根本性的缺陷。
* **論證結構**: 描述新創團隊的踩坑現狀 -> 透過 5 個常見的架構 Q&A (權限、並發、時間、追溯、檢索) 逐一擊破 Markdown 記憶層的盲點 -> 結論並引出 Graph-based 的解法。
### 章節骨架
1. **引言**: 破除幻想,一個客戶就有 1,000+ 個 .md 檔案,擴展性災難已經開始。
2. **Q1 權限 (Permissions)**: 檔案層級的 ACL 無法處理細粒度的實體權限,在 Retrieval 階段過濾極易造成資料外洩。
3. **Q2 並發與互動 (Concurrency)**: 檔案鎖 (Locking) 阻斷了並發效能;依賴 LLM 在讀取時解決衝突,等於把儲存問題變成昂貴的推論問題。
4. **Q3 時間推理 (Temporal Queries)**: 檔案的 Timestamp 只代表寫入時間,不代表該事實的「有效時間」。自動摘要 (Auto Dream) 會默默損壞歷史狀態。
5. **Q4 追溯 (Traces)**: 將經驗蒸餾成 Markdown 規則會丟失原始的上下文。你擁有了便宜的推論,卻喪失了評估 (Evaluation) 的能力。
6. **Q5 檢索 (Retrieval)**: 用 Vector Store 搭配 Markdown 會丟失實體的關聯性;最終你會無意間發明一個極其拙劣的圖形資料庫 (Graph Database)。
## ROUND 2: DISSECTION | 血肉解剖
**「憑什麼這麼說」**
### 論證鏈
```text
真實世界的業務知識具備高度的關聯性、時效性與權限邊界 --> Markdown 本質上是無結構的扁平文字 (Unstructured Flat Text) --> 為了讓 Markdown 具備資料庫的功能,開發者被迫用腳本、Frontmatter 和 LLM 來硬刻 Schema 與鎖機制 --> 這導致了系統效能極差 (依賴 LLM 解決衝突) 且充滿資料損壞的風險 (蒸餾時的幻覺) --> 結論:長期記憶應該交給圖形資料庫 (Graph Database),而不是 Markdown。
```
### 關鍵證據
1. **時間軸的崩壞**: 客戶在 3 月告訴你續約在 10 月,在 6 月告訴你延到 12 月。在 Markdown 中,你會得到兩個帶有寫入時間戳的筆記,但 LLM 根本無從得知「哪個續約日期才是當下真實的」。這證明了 Timestamp 不等於狀態有效期 (Validity Period)。
2. **檢索的碎片化**: 將 1,000 個 Markdown 進行 Chunk (切塊) 和 Embed (向量化)。當你檢索「他們的定價」時,拿回來的片段可能完全缺失了「這是哪家客戶」的上下文。這證明了 Vector Store 破壞了實體的關聯性。
### 隱形假設與邊界
* **隱形假設**:
* 這篇文章是針對「企業級、多租戶、複雜業務邏輯」的 Agent 系統。對於單人使用的個人助理,Markdown 依然是可用且直觀的選擇。
* 作者本身是 `cognee.ai` (一個記憶管理平台) 的開發者,文章帶有推廣圖形記憶架構的動機。
* **邊界條件**:
* 在 Series A 之前的 PMF (Product-Market Fit) 階段,為了追求速度,寫 Hacky 代碼 (使用 Markdown) 仍是被允許的,真正的問題出在「不知道何時該重構」。
## ROUND 3: SOUL | 靈魂提取
**「還能怎麼用」**
* **知識連接**: 此文是對上一篇《將 Obsidian 轉變為個人作業系統》的強烈反思。Obsidian 就是典型的 Markdown 記憶層。這再次驗證了:**適用於個人 PKM 的架構,絕對不能直接平移到企業級的 Multi-Agent 系統中**。
* **行動觸發**: 如果你正在用 LangChain 的 Document Loader 把一堆 Markdown 塞給 Agent,請立刻停止。開始學習並評估使用 GraphRAG 或圖形資料庫 (如 Neo4j) 來管理 Agent 的知識本體 (Ontology)。
---
# 架構師洞察:從檔案系統到知識圖譜
這篇文章極其辛辣地指出了當前 Agent 開發界最大的反模式 (Anti-pattern):**重新發明一個爛透的資料庫**。
開發者往往從 LangChain 的教學起步,覺得讀取 `.md` 檔案餵給 LLM 很簡單。但隨著業務複雜度的提升,他們開始在 `.md` 上面疊加 YAML 解析、並發鎖、向量檢索。正如作者所言:*「最終你發明了一個儲存層其實是 Markdown 檔案的 Graph Database,並且把所有已經被現代資料庫解決的問題,全部用最糟的方式重新實作了一遍。」*
1. **儲存與推論的邊界 (Storage vs. Inference)**
這是全文最精華的架構哲學。
**"You have turned a storage problem into an inference problem."**
當你依賴 LLM 在讀取多個衝突的 `.md` 檔案時去判斷「哪個才是真的」,你就是把低成本、確定性 (Deterministic) 的儲存查詢問題,變成了高延遲、高成本、充滿幻覺的概率型 (Probabilistic) 推論問題。架構的底線是:**Truth (真相) 應該在寫入儲存層時就被確定,而不是在讀取時靠 LLM 猜測。**
2. **記憶的不可逆蒸餾 (Irreversible Distillation)**
另一個深刻的痛點是追溯性。當你讓 LLM 把過去 100 次的對話記錄「總結」成一條 Markdown 規則時,這是一個有損壓縮 (Lossy Compression)。如果有一天這條規則出錯了,你將無法查詢「是哪一次對話導致了這個錯誤規則的產生」。這在強調可解釋性 (Explainability) 的企業軟體中是致命的。
3. **架構演進**
對於生產環境的 Agent,必須走向 **Relational Memory (關聯式記憶)** 與 **Temporal Database (時序資料庫)**。這也解釋了為何微軟大力推行 GraphRAG,因為實體 (Entity) 與關係 (Edge) 的精確定義,才是突破向量檢索 (Vector Search) 瓶頸的唯一出路。
Obsidian 整理
原始文章
Agent架構
企業級 Agent 構建指南:從 Deep Research 看多智能體架構
"「單個 Agent 是員工,多個 Agent 是團隊。」真正的企業級 Agent 不在於模型有多聰明,而在於你能否建立一套良好的協作邊界 (Context Isolation) 與工具介面 (Agent-Computer Interface),避免多米諾骨牌式的錯誤複合。"
閱讀全文
---
tags: [Agent架構, 系統架構, Multi-Agent]
date: 2026-05-21
read: false
source: "2026-05-21T093154+0800-企业级 Agent 构建指南.md"
---
# 企業級 Agent 構建指南:從 Deep Research 看多智能體架構

原始來源與檔名:2026-05-21T093154+0800-企业级 Agent 构建指南.md
---
## NAPKIN | 餐巾紙
### 餐巾紙公式
> Enterprise Agent = Orchestrator (Planning) + Parallel Sub-Agents (Execution) + Context Compression + Independent Memory
*公式說明:單一 Agent 處理複雜任務會面臨「上下文腐爛」與效率低下的瓶頸。企業級 Agent 的本質是「編排 (Orchestration)」:由主 Agent 將任務拆解,派發給具備獨立上下文的並行子 Agent,最終透過濃縮摘要 (Summarization) 來進行上下文傳遞與組裝。*
### 一句話
> 「單個 Agent 是員工,多個 Agent 是團隊。」真正的企業級 Agent 不在於模型有多聰明,而在於你能否建立一套良好的協作邊界 (Context Isolation) 與工具介面 (Agent-Computer Interface),避免多米諾骨牌式的錯誤複合。
### 餐巾紙草圖
```text
[ Orchestration Model ]
User Query -> [ Lead Agent (Planner) ]
|
---------------------
| | |
[ Sub A ] [ Sub B ] [ Sub C ] <- Independent Context Windows (Parallel execution)
| | |
(Summaries) (Summaries) (Summaries) <- Pass conclusions, NOT raw data
| | |
---------------------
|
[ Lead Agent ] -> [ Citation Agent ] -> Final Report
```
## ROUND 1: SKELETON | 骨架掃描
**「這篇文章在說什麼」**
* **核心問題**: AI 變現的正確姿勢在於企業級專案定製(如一套 Deep Research 系統)。但從單點 prompt 走向企業級 Agent 系統,會面臨什麼樣的技術瓶頸?該如何架構?
* **核心答案**: 複雜任務必須從 Workflow 升級到 Multi-Agent。為了解決「上下文滿溢」與「串行低效」,必須採用「編排模式 (Orchestration)」,將大任務拆解給多個擁有獨立 Context 的子 Agent 並行執行,並僅傳遞「結論」而非「原始過程」。
* **論證結構**: 定義 Agent (思考+行動) -> 分辨 Workflow 與 Agent 的使用時機 -> 點出單一 Agent 的致命傷 (Context Rot) -> 提出多 Agent 架構 (編排 vs 自主) -> 深入拆解 Deep Research 工作流 -> 提出評估與迭代方法 (ACI, 提示詞, 工具優化)。
### 章節骨架
1. **Agent 本質**: 不是「回答問題」,而是透過工具、規劃、反饋來「解決問題」(ReAct loop)。
2. **何時使用**: 簡單任務用 Prompt,穩定流程用 Workflow,只有「信息入口複雜、執行路徑不確定」才用 Agent。
3. **多 Agent 的必要性**: 單一模型會遇到「注意力分散 (n² 計算複雜度)」與「上下文腐爛」。多 Agent 可實現任務隔離與並行加速。
4. **協作模式**: 主流採用「編排模式 (Orchestrator)」,由主 Agent 負責拆解任務與彙總,子 Agent 負責具體執行。
5. **上下文管理策略**: 分散上下文 (獨立窗口)、壓縮上下文 (定期總結)、外部記憶 (寫入資料庫/檔案)。
6. **迭代與評估**: 需建立 ACI (Agent-Computer Interface) 概念,工具設計應對模型友好 (例如讓模型寫整份檔案,而非計算行數的 diff)。
## ROUND 2: DISSECTION | 血肉解剖
**「憑什麼這麼說」**
### 論證鏈
```text
Transformer 的 n² 複雜度導致「上下文腐爛」 --> 複雜調研 (如讀 200 個網頁) 會壓垮單一 Agent --> 因此必須將系統拆解為 Multi-Agent (建立團隊) --> 但多 Agent 會帶來錯誤傳遞與狀態管理複雜度 --> 解決方案:採用 Orchestrator 編排模式,確保子 Agent 間 Context 物理隔離,並強制規定「只傳遞結論,不傳遞過程 (壓縮 Context)」 --> 最終形成如 Deep Research 般穩定、可並行、無幻覺的高效系統。
```
### 關鍵證據
1. **上下文腐爛 (Context Rot)**: 作者點出 10 萬個 Token 需要計算 100 億次關係,這是物理/數學上的限制,這解釋了為什麼塞滿 1M Token 的 Context Window 在實戰中往往會失憶或偏題。
2. **傳遞結論,不傳遞過程**: Agent A 讀了 3 萬字原始網頁,不能直接丟給 Agent B。必須先壓縮成 3000 字的結構化洞察 (主題、關鍵發現、來源)。這證明了「資料管道 (Data Pipeline)」在 Agent 系統中等同於「記憶壓縮機制」。
3. **Agent-Computer Interface (ACI)**: 這是極具洞察的概念。API 是給程式呼叫的,UI 是給人看的,而 ACI 是給模型用的。例如讓模型在 JSON 裡寫程式碼常會因為跳脫字元 (Escape) 崩潰,改用 Markdown Code Block 就大幅降低錯誤率。
### 隱形假設與邊界
* **隱形假設**:
* 主 Agent (Lead Researcher) 具備極強的 Task Decomposition (任務拆解) 能力,且不會在初期規劃時產生幻覺。如果主 Agent 拆解方向錯誤,後續並行計算全都是浪費算力。
* **邊界條件**:
* 完全自主 (Autonomous) 模式雖然靈活,但目前除錯成本極高,因此生產環境中絕大部份都退化為「編排模式 (Orchestrator-Worker)」。
## ROUND 3: SOUL | 靈魂提取
**「還能怎麼用」**
* **知識連接**: 此文的「上下文管理」完美呼應了《We Gave an AI Agent a Conscious and Subconscious Mind》中的階層記憶架構。子 Agent 處理 Subconscious 的龐雜資料,主 Agent 只處理 Conscious 裡的高濃縮 Insight。
* **行動觸發**: 審視你目前的 Agent 系統,如果它動不動就把整個網頁或對話歷史 (History) 塞進下一個 Prompt 裡,立刻重構它,加入一個 `Summarizer Node` 來進行資料壓縮。
---
# 企業級 Multi-Agent 系統架構解析 (Architectural Deep Dive)
## 前言
當業界還在爭論哪個模型的基準測試 (Benchmark) 分數高時,作者已經跳脫了「單體模型」的思維,轉向了「分散式系統 (Distributed Systems)」的架構設計。企業級 Agent 的設計,本質上是一場關於**狀態管理 (State Management)** 與 **I/O 頻寬 (Context Window)** 的工程挑戰。
## 核心架構洞察
### 1. 職責分離與沙盒化 (Separation of Concerns & Sandboxing)
在軟體工程中,我們不允許一個 Controller 直接操作 50 個資料表。同理,在 Agent 架構中,**我們不能讓單一 Context Window 承載所有工具與所有原始資料**。
* Deep Research 採用的 Orchestrator Pattern,等同於微服務架構中的 API Gateway。
* 每個子 Agent (Sub-Agent) 都在一個乾淨的、獨立的 Session 中啟動 (沙盒化)。它們沒有全域狀態,只接收 Input,執行 Search,並回傳 Output。這種架構保證了**無狀態 (Stateless) 的水平擴展能力**。
### 2. ACI (Agent-Computer Interface) 的覺醒
這是本文最深刻的工程洞見。開發者常犯的錯誤是:**拿著為機器寫的 REST API,或是為人寫的 CLI,直接餵給 Agent。**
* **反模式**:要求 Agent 返回精準的 Git Diff 格式,包含行數 `@@ -23,4 +23,5 @@`。Agent 根本不會數數,這必然導致幻覺崩潰。
* **最佳實踐**:設計符合 LLM 輸出特性的 ACI。例如讓 Agent 輸出 Markdown,再由傳統的 Python Parser 去正規化解析。這就是為什麼現在的 Agent 框架都在強調「工具抽象層 (Tool Abstraction)」。
### 3. 事件溯源與非同步調度 (Event Sourcing & Asynchronous Scheduling)
文章提到多 Agent 的錯誤會複合 (Cascading Failure),因此必須有追蹤機制 (Tracing) 與檢查點 (Checkpoint)。
* 在強壯的企業級系統中,Agent 不應該是阻塞式 (Blocking) 的呼叫。
* 它應該基於 Message Queue (如 RabbitMQ 或類似 LangGraph 的 State Graph),將每一次的 Agent 思考與行動寫入持久化日誌。一旦某個子 Agent 當機,系統可以從上一個 Checkpoint 恢復 (Resume),這正是 `Goal Engineering` 所追求的「可恢復性」。
## 總結
不要試圖建立一個全能的神 (AGI) 來解決企業問題;而是要像設計軟體架構一樣,建立一個分工明確、介面清晰、錯誤被隔離的**分散式微服務團隊 (Multi-Agent System)**。
Obsidian 整理
原始文章
Agent架構
我們賦予了 AI Agent 意識與潛意識:Mercury 的記憶架構
"如果一個 AI Agent 不具備分辨「什麼該忘記」和「什麼該喚醒」的機制,那它就只是個每次重啟都在假裝連續的聊天機器人。記憶的本質不是儲存,而是生命週期管理。"
閱讀全文
---
tags: [Agent架構, 記憶體管理, 認知架構]
date: 2026-05-21
read: false
source: "2026-05-21T093123+0800-We Gave an AI Agent a Conscious and Subconscious Mind.md"
---
# 我們賦予了 AI Agent 意識與潛意識:Mercury 的記憶架構

原始來源與檔名:2026-05-21T093123+0800-We Gave an AI Agent a Conscious and Subconscious Mind.md
---
## NAPKIN | 餐巾紙
### 餐巾紙公式
> Agent Continuity = Conscious Memory (Active Context) + Subconscious Memory (Dormant Storage) + Lifecycle Routing
*公式說明:單純塞給模型一個巨大的 Context Window 並非真正的記憶。真正的 Agent 記憶需要區分「意識層」(當下工作所需的極短上下文) 與「潛意識層」(休眠但隨時可喚醒的歷史決策),並透過生命週期路由系統在兩者間切換。*
### 一句話
> 如果一個 AI Agent 不具備分辨「什麼該忘記」和「什麼該喚醒」的機制,那它就只是個每次重啟都在假裝連續的聊天機器人。記憶的本質不是儲存,而是生命週期管理。
### 餐巾紙草圖
```text
[ Context Window (Conscious) ] <-- Fast, High Relevance, Token Limited
^ |
Recall Archive
| v
[ Dormant Storage (Subconscious) ] <-- Slow, Global Scope, High Capacity
```
## ROUND 1: SKELETON | 骨架掃描
**「這篇文章在說什麼」**
* **核心問題**: 為什麼即使上下文窗口 (Context Window) 變得巨大,多數 AI Agent 依然無法展現出令人信服的「長期連續性 (Continuity)」?
* **核心答案**: 因為更大的上下文不等於記憶。Agent 需要的是「記憶的生命週期管理」,區分出主動思考的「意識」與休眠儲存的「潛意識」,這正是 Mercury (一個開源 Agent 框架) 解決的問題。
* **論證結構**: 點出「重建與記憶」的差異 -> 分析現有 Agent 架構的缺陷 -> 引入史丹佛與 MemGPT 等學術先驅 -> 詳細闡述 Mercury 的意識/潛意識分層架構 -> 呼籲建立新的評測標準。
### 章節骨架
1. **痛點**: 多數 Agent 沒有記憶,它們只是在「重建」。史丹佛的 "Lost in the Middle" 論文證明了無限加長 Prompt 是無效的。
2. **學術脈絡**: Generative Agents, Reflexion, MemGPT,這些研究都指向同一個結論:我們需要記憶的階層架構 (Memory Hierarchy)。
3. **Mercury 的雙層架構**:
* **Conscious (意識)**: 活躍的任務、目標、近期決策。
* **Subconscious (潛意識)**: 休眠的上下文,在需要時「喚醒 (Resurfacing)」,並允許使用者主動「遺忘 (Controlled Forgetting)」。
4. **範式轉移**: Agent 正在從 Chatbot 轉變為作業系統 (Operating Systems)。它們需要處理看板 (Kanban) 任務、權限與狀態留存。
5. **新基準 (Benchmarks)**: 評估 Agent 的標準不應再是「回答一題的準確率」,而是「恢復中斷任務的能力」、「記憶重疊率」與「提取延遲」。
## ROUND 2: DISSECTION | 血肉解剖
**「憑什麼這麼說」**
### 論證鏈
```text
長 Context Window 模型在處理中段資訊時會出現注意力衰退 (Lost in the middle) --> 因此,將所有歷史記錄全塞入 Prompt 會導致推理降級與成本浪費 --> 解法是借鏡作業系統 (OS) 的記憶體管理 (RAM vs. Disk) --> 將高頻使用的上下文放入「意識 (Working Memory)」,低頻但重要的放入「潛意識 (Archival Memory)」 --> 如此才能實現長達數週的穩定運行。
```
### 關鍵證據
1. **"Lost in the Middle" 論文效應**: 史丹佛研究證實了 LLM 的注意力呈現 U 型分佈,極度關注首尾,忽略中間。這從根本上否定了「用巨大 Context Window 解決一切」的暴力美學。
2. **無控遺忘的災難**: 目前的 RAG 或自動摘要機制存在極端:要麼永久保留導致 Token 爆炸,要麼強制清理導致關鍵細節永久丟失。Mercury 提出的 "Controlled Forgetting" 把控制權還給了系統架構。
### 隱形假設與邊界
* **隱形假設**:
* Mercury 底層的 Routing 機制 (決定何時將資訊在意識與潛意識間搬運) 足夠精準。如果 Router 出錯,需要的潛意識沒有被喚醒,系統依然會崩潰。
* 讀者理解作業系統中的分頁 (Paging) 或快取階層 (Cache Hierarchy) 概念。
* **邊界條件**:
* 這套架構主要服務於長週期 (Long-running) 的工作流程 (如開發、研究專案)。對於單次查詢 (One-off Queries) 則顯得過度複雜。
## ROUND 3: SOUL | 靈魂提取
**「還能怎麼用」**
* **知識連接**: 此文的架構思想與《ActiveGraph》的狀態管理、《MemGPT》的 OS 級別內存切換高度一致。同時,它也回應了上一篇《No .md files until Series B》中提到的困境:我們需要結構化的生命週期管理,而非無腦堆疊文件。
* **行動觸發**: 停止用「增加模型的 Context Length」來掩蓋你粗劣的 Prompt 系統設計。在設計 Agent 應用時,強制規劃出「Active Context (傳給 LLM)」與「Archive Data (留存在 DB)」的邊界。
---
# 認知架構深度解析 (Architectural Deep Dive)
## 前言
本文以 Mercury Agent 框架為例,探討了 AI 領域最核心的前沿課題:**認知架構 (Cognitive Architectures)**。作者敏銳地指出,現今的 AI Agent 只是套著工具外殼的無狀態 (Stateless) 函數。要走向 AGI 或實用的企業級輔助系統,必須在架構上實作「記憶的階層 (Memory Hierarchy)」。
## 核心架構洞察
### 1. The Myth of Infinite Context (無限上下文的神話)
許多架構師誤以為 Google 的 2M Tokens 或 Claude 的 200K Tokens 解決了記憶問題。這犯了將「運算帶寬 (Bandwidth)」與「狀態管理 (State Management)」混為一談的錯誤。
作者引用史丹佛的 "Lost in the Middle" 點出物理極限。把所有東西塞進 Prompt,就像是把整個硬碟的資料都載入 CPU L1 Cache 裡去執行。這不僅帶來極高的成本 (Token burn),更會因為雜訊 (Noise) 導致推理品質斷崖式下跌。
### 2. 借鏡 OS 的雙層記憶體模型
Mercury 提出了意識與潛意識架構,這在計算機科學中是再經典不過的 **Virtual Memory (虛擬記憶體)** 與 **Paging (分頁) 機制** 的重生:
* **Conscious Memory (RAM / 暫存器)**:存放當前任務板 (Kanban)、近期指令。高優先權,佔用 Token。
* **Subconscious Memory (Disk / 持久層)**:存放歷史軌跡。當前不需要,但透過 `Page Fault` (在 Agent 中對應為觸發檢索) 可以喚醒並置換入 Conscious Memory。
> 架構決策:這種設計確保了 Agent 的推理能力 (Reasoning Quality) 始終保持在最銳利的狀態,不受歷史包袱拖累。
### 3. Agent 評測基準的範式轉移
過去我們用 MMLU 或 HumanEval 測試 LLM 的「智商」。但作者提出,對於 Agent,我們應該測試它的「系統維運能力」。
例如:
* **Context efficiency (上下文效率)**:恢復工作狀態所需的最少 Token。
* **Task resumption accuracy (任務恢復準確率)**:系統被強行中斷後,重啟時能否無縫接軌。
這標誌著 AI 評估從「演算法層面」正式走向了「軟體工程/系統可靠性 (SRE) 層面」。
## 總結
* **Reconstruct vs. Remember**:不要讓系統每次對話都在「重建」記憶,那叫 stateless。
* **Lifecycle Management**:最好的架構不是什麼都存,而是有一套完美的垃圾回收 (Garbage Collection) 與快取置換 (Cache Eviction) 策略。
* 未來的 Agent 將不再是單純的文字生成器,而是內建了文件系統、排程器、權限控制的 **Agentic Operating System**。
Obsidian 整理
原始文章
Agent架構
結構化推理:ARQs (Attentive Reasoning Queries) 如何終結 LLM 幻覺
"透過 ARQs(Attentive Reasoning Queries)將 LLM 的推理步驟編碼為嚴格的領域特定 JSON 表單,徹底解決了 Agent 在長對話中忘記規則與產生幻覺的問題。"
Top 5 Insights
**強制型別化你的 Prompt (Strong-Typed Prompts)**:對於企業級、高合規要求的 Agent,放棄 `Let's think step by step`,全面改用 Structured Output (JSON Schema) 作為推理的載體。 **可觀察性 (Observability) 的基石**:ARQs 提供了一個極佳的系統遙測點。你可以將這些 JSON 軌跡拋入日誌系統 (如 ELK/Datadog),用來監控 Agent 決策的健康度,這是純文字 CoT 無法做到的。 **結構永遠勝過自由**:雖然自由形式的思考聽起來很強大,但在高風險場景下,加入死板但明確的「檢查表 (Checklist) 架構」,才是防止 Agent 系統失控的唯一解法。
閱讀全文
---
tags: [Agent架構, Prompt工程, 系統架構, 幻覺控制]
date: 2026-05-21
read: false
source: "2026-05-21T092900+0800-Post by @_avichawla on X.md"
---
# 結構化推理:ARQs (Attentive Reasoning Queries) 如何終結 LLM 幻覺

原始來源與檔名:2026-05-21T092900+0800-Post by @_avichawla on X.md
---
## NAPKIN | 餐巾紙
### 餐巾紙公式
> Agent Reliability = Structured JSON Queries (ARQs) > Free-form CoT
*公式說明:在多輪、高風險場景下,與其讓 LLM 自由發揮寫「思維鏈 (CoT)」,不如強制它填寫包含領域限制條件的結構化 JSON 表單,這能大幅提升系統的可靠度與行為一致性。*
### 一句話
> 透過 ARQs(Attentive Reasoning Queries)將 LLM 的推理步驟編碼為嚴格的領域特定 JSON 表單,徹底解決了 Agent 在長對話中忘記規則與產生幻覺的問題。
### 餐巾紙草圖
```text
[Free-form CoT]
LLM: "I should check the rules... refund is not allowed, but customer is sad, I will refund." -> HALLUCINATION!
VS.
[Structured ARQs]
LLM Must Output:
{
"active_guideline": "Never refund",
"action_taken_before": false,
"next_step": "Deny request"
}
--> CONTROLLED & VERIFIABLE!
```
## ROUND 1: SKELETON | 骨架掃描
**「這篇文章在說什麼」**
* **核心問題**: 為什麼即使給了長篇系統提示詞或使用 CoT (思維鏈),Agent 在多輪對話中仍會忘記規則並產生幻覺?
* **核心答案**: 因為自由形式的推理 (Free-form thinking) 缺乏領域控制。解法是使用 ARQs 強制 LLM 在每一步用特定的 JSON Schema 填寫推理過程。
* **論證結構**: 問題痛點 (CoT 失效) -> 解決方案 (ARQs 結構化推理) -> 數據驗證 (90.2% 成功率) -> 開源實踐 (Parlant 框架)。
### 章節骨架
1. **痛點**: CoT 面對長對話與嚴格規則時的「遺忘與幻覺」困境。
2. **解法**: 引入 ARQs,將推理轉換為填寫 JSON 表單。
3. **效益**: 確保決策可稽核,並在對話中途重申關鍵規則。
4. **實踐**: 介紹開源框架 Parlant,並提出「結構勝於自由」的結論。
## ROUND 2: DISSECTION | 血肉解剖
**「憑什麼這麼說」**
### 論證鏈
```text
長對話與複雜 Policy 導致 LLM 遺忘規則 --> 自由形式的 CoT 無法提供強約束 --> 將推理步驟設計為帶有特定 Schema 的 JSON (ARQs) --> 強制模型每一步都驗證自己是否符合當前 Guideline --> 成功率從 86.1% 提升至 90.2% 且完全消除特定幻覺。
```
### 關鍵證據
1. **測試數據**: 在 87 個測試場景中,直接生成回應成功率 81.5%,CoT 為 86.1%,而 ARQs 高達 90.2%。
2. **Schema 約束**: 透過強制要求模型輸出 `active_guideline`、`requires_tool` 等明確欄位,阻斷了模型「自我合理化」的空間。
3. **Parlant 框架應用**: 該技術已在擁有 14k stars 的開源框架 Parlant 中落地,證明其具備工程可行性。
### 隱形假設與邊界
* **隱形假設**:
* 底層 LLM 具備極強的 JSON Schema 遵循能力 (如 GPT-4, Claude 3.5 Sonnet)。
* 業務邏輯可以被完美拆解為明確的鍵值對 (Key-Value) 問題。
* **邊界條件**:
* 當任務需要極高度創意或發散性思維(如寫詩、腦力激盪)時,ARQs 的死板結構反而會扼殺模型能力。此方法專屬於高風險、講求合規 (Compliance) 的企業級 Agent。
## ROUND 3: SOUL | 靈魂提取
**「還能怎麼用」**
* **作者盲點**: 文章主要強調 JSON Schema 對「推理過程」的約束,但沒有深入探討當 LLM 連 JSON 都生成失敗(格式錯誤)時,系統該如何進行 Retry 或 Fallback。
* **知識連接**: 與軟體工程中的「防禦性程式設計 (Defensive Programming)」以及狀態機 (State Machine) 的概念不謀而合。把 Agent 從「文字生成器」變成了一個「狀態轉移計算機」。
* **行動觸發**: 在建構企業內部 Agent(如客服、合規審查)時,立刻廢棄所有 `Let's think step by step` 的提示詞,改用 `Respond strictly conforming to the following JSON schema`。
### 跨域映射
* 在 **資料庫設計**,這叫 **強制 Schema (Strict Schema)**
* 在 **飛行安全**,這叫 **起飛前檢查表 (Pre-flight Checklist)**
---
# 結構化推理:ARQs (Attentive Reasoning Queries) 如何終結 LLM 幻覺 (Architectural Deep Dive)
## 前言/背景
這篇文章探討了目前 LLM 系統在多輪對話與複雜合規要求下容易產生的「遺忘與幻覺」問題。作者指出,傳統的思維鏈 (Chain-of-Thought, CoT) 雖然改善了推理,但在高風險場景下,自由形式的思考依然難以被控制。為此,文章介紹了一種稱為 ARQs (Attentive Reasoning Queries) 的架構模式,透過嚴格的 JSON Schema 將推理結構化,藉此取代不可控的 CoT。
## 章節詳細總結
### 1. 自由形式推理 (Free-form Reasoning) 的工程困境
在建構企業級 Agent(例如客服機器人)時,我們通常會塞入長達 2000 字的 Policy 提示詞(如:語氣、行為準則、絕對不能承諾退款)。
* **現象**:一開始模型表現良好,但在多輪對話後,模型會開始「漂移 (Drift)」,忘記五輪前設定的限制條件,最終快樂地答應客戶退款要求。
* **CoT 的侷限**:雖然 CoT 讓模型「大聲思考」,但它依然是**自由形式文字 (Free-form text)**。在長對話中,模型缺乏領域特定的控制,容易在自己的長篇大論中迷失方向。
> 架構師洞察:自由文本就像軟體工程中的弱型別 (Weak Typing),在龐大的系統中極易引發不可預期的 Side-effects。
### 2. 解決方案:ARQs (Attentive Reasoning Queries)
ARQs 的核心架構思想是:**停止讓 LLM 自由推理,改以領域特定的問題引導它。**
在實作上,這是將每一步推理編碼為受限的 JSON Schema。
在決定呼叫 Tool 或給出回應前,強制 LLM 填寫如下結構:
```json
{
"current_context": "Customer asking about refund eligibility",
"active_guideline": "Always verify order before issuing refund",
"action_taken_before": false,
"requires_tool": true,
"next_step": "Run check_order_status()"
}
```
* **強制重申規則**:透過要求填寫 `active_guideline`,強迫模型在對話中途重新關注並提取關鍵的 Policy,防止上下文遺忘。
* **可稽核的推理 (Auditable Reasoning)**:每一步決策都是鍵值對,這讓中介軟體 (Middleware) 可以輕易攔截、驗證、甚至記錄決策軌跡。這徹底排除了文字發散探索的可能。
### 3. 架構實踐與開源落地 (Parlant 框架)
根據 87 個測試場景的基準測試:
* 直接生成 (Direct response):81.5%
* 傳統 CoT (CoT reasoning):86.1%
* **ARQ 結構化推理**:**90.2% (SOTA)**
這個架構已經在開源框架 **Parlant** 中被實作。在 Parlant 內部,ARQs 被整合到三個核心模組中:
1. **Guideline proposer (準則提案器)**:決定當前上下文適用哪些行為規則。
2. **Tool caller (工具呼叫器)**:透過 JSON 決定需要哪些外部函數。
3. **Message generator (訊息生成器)**:最後才產生面向客戶的回應。
## 總結與結論
* **強制型別化你的 Prompt (Strong-Typed Prompts)**:對於企業級、高合規要求的 Agent,放棄 `Let's think step by step`,全面改用 Structured Output (JSON Schema) 作為推理的載體。
* **可觀察性 (Observability) 的基石**:ARQs 提供了一個極佳的系統遙測點。你可以將這些 JSON 軌跡拋入日誌系統 (如 ELK/Datadog),用來監控 Agent 決策的健康度,這是純文字 CoT 無法做到的。
* **結構永遠勝過自由**:雖然自由形式的思考聽起來很強大,但在高風險場景下,加入死板但明確的「檢查表 (Checklist) 架構」,才是防止 Agent 系統失控的唯一解法。
Obsidian 整理
原始文章
Prompt工程
如何不用 AI 把自己的腦袋搞壞:外包「工作」而非「思考」
"「你可以將思考的勞力外包給 AI,但你絕對不能將對事物的理解外包。」如果你只是盲目複製貼上,AI 就像 Google Maps 一樣,最終會剝奪你的認知導航能力。"
閱讀全文
---
tags: [Prompt工程, AI思維, 工作流]
date: 2026-05-21
read: false
source: "2026-05-21T093138+0800-How to Rot your Brain with AI.md"
---
# 如何不用 AI 把自己的腦袋搞壞:外包「工作」而非「思考」

原始來源與檔名:2026-05-21T093138+0800-How to Rot your Brain with AI.md
---
## NAPKIN | 餐巾紙
### 餐巾紙公式
> Output Quality = Extra Thinking (Front) + AI Execution + Human Verification (Back)
> Output Quality ≠ Magic Prompt -> Send -> Copy/Paste
*公式說明:如果你把思考的過程也外包給 AI,你最終會退化。正確的用法是:在前端花 15 分鐘把目標、受眾、格式與利害關係定義清楚(人類思考),讓 AI 執行繁瑣的組裝(AI 執行),最後人類扮演審核者與優化者(人類驗證)。*
### 一句話
> 「你可以將思考的勞力外包給 AI,但你絕對不能將對事物的理解外包。」如果你只是盲目複製貼上,AI 就像 Google Maps 一樣,最終會剝奪你的認知導航能力。
### 餐巾紙草圖
```text
[ Brain-Rotting Path (Outsourcing Understanding) ]
Vague Prompt -> Claude Guesses -> Generic Output -> You don't check -> Sent -> Lost credibility.
[ Brain-Enhancing Path (Outsourcing Labor) ]
1. Define (Audience/Format/Stakes) -> 12 min thinking
2. Connect Context (Notes/Slack) -> Claude compiles
3. Interrogate (Roast it / Reverse brief) -> Find gaps
4. Converse (Wispr Flow / Follow-ups) -> Iteration
5. Verify (Read aloud) -> Human ownership
```
## ROUND 1: SKELETON | 骨架掃描
**「這篇文章在說什麼」**
* **核心問題**: AI 就像 Google Maps 破壞方向感、手機破壞記憶力一樣,如果你濫用 AI,你的大腦將會萎縮,產出的工作也會變得極其平庸且充滿 AI 味。
* **核心答案**: 解決之道在於「外包勞力,保留思考」。作者提出了一個包含 5 個步驟的工作流,強制人類在前期注入高密度思考 (定義受眾/格式/利害關係),並在後期透過激烈的「對抗式追問 (Follow-ups)」來榨取 AI。
* **論證結構**: 科技導致退化的隱喻 -> 提出 5 步防退化工作流 -> 詳細解剖一個真實的 Chief of Staff 案例 -> 快速展示另外 3 個不同領域的實戰案例 -> 總結 AI 的目的。
### 章節骨架
1. **引言 (大腦腐敗)**: 依賴 Google Maps 讓人變成路痴;盲目信任 AI 則讓你失去對工作的掌控力。
2. **Step 1 (前端思考)**: 提供 Claude 超乎想像的上下文。先問自己 4 個問題:受眾是誰、目標是什麼、格式為何、利害關係在哪。
3. **Step 2 & 3 (請求與質疑)**: 拆解 Prompt,一次要一樣東西。拿到初稿後,不要接受,用 3 招 (Roast it, Reverse brief, Compare) 逼 LLM 承認錯誤並修正。
4. **Step 4 (無盡的追問)**: 如果 2 個回合就結束,代表你太早放棄。使用語音輸入 (Wispr Flow) 進行 40 次以上的深度追問。
5. **Step 5 (人類驗證)**: 讀出聲來,刪除廢話。最終的成品必須是「你的」,而不是 Claude 的。
## ROUND 2: DISSECTION | 血肉解剖
**「憑什麼這麼說」**
### 論證鏈
```text
科技的便利性會剝奪人類的基礎認知能力 (如計算機剝奪心算) --> AI 的一鍵生成讓人們以為可以跳過「思考過程」 --> 導致產出平庸,甚至在重要場合被看破手腳 (Client 發現是 AI 寫的) --> 必須改變流程:將「思考與定義邊界」的工作留在人類端,將「綜合、排版、擴寫」交給 AI --> 透過多輪的「攻擊性對話 (Roast/Compare)」,迫使 AI 產出超越常規的高質量內容。
```
### 關鍵證據
1. **4 個核心維度的威力**: 受眾 (CTO vs CEO)、帶走什麼 (Walkaway)、格式 (前案範例)、利害關係 (Stakes)。如果人類在前端花了 12 分鐘思考這 4 點,AI 就不可能產出罐頭文。
2. **Reverse the Brief (反轉簡報)**: 這是極具深度的技巧。問 AI「我忘記告訴你什麼會讓這份報告更好?」,這能打破人類自身的認知盲區 (例如忘了提供 SOC 2 資安規範),證明了 AI 是思考夥伴,而非打字機。
3. **40 次追問的價值**: 多數人對話 2 輪就結束。作者透過讓 AI 扮演「討厭新供應商的 CFO」來攻擊自己的草案,並在迭代中悄悄刪除會激怒對方的段落。這種沙盤推演 (Simulation) 是人類無法獨力完成的。
### 隱形假設與邊界
* **隱形假設**:
* 使用者擁有一套極度暢通的「數據流機制」,能快速將會議紀錄、Slack 對話、過往範本無縫匯入 Claude 系統中 (如透過 Connectors 或是 Projects 功能)。
* 使用者願意使用語音轉文字工具 (如 Wispr Flow) 來克服大量打字帶來的疲勞,從而實現高頻迭代。
* **邊界條件**:
* 對於日常瑣碎且低風險的雜務 (如總結一篇無關緊要的文章),硬套這 5 步流程會嚴重降低效率,造成牛刀殺雞。
## ROUND 3: SOUL | 靈魂提取
**「還能怎麼用」**
* **知識連接**: 此文的 `Move 1 (Roast it)` 與 `Move 2 (Reverse brief)` 完美實踐了《How to Master Claude Prompt Engineering》中提到的 **Negative Constraints** 與 **Self-Evaluation Loop**。將 AI 當作「紅軍 (Red Team)」來攻擊自己的論點,是防範認知腐敗的最佳解藥。
* **行動觸發**: 下次拿到 AI 的第一版草稿時,忍住複製貼上的衝動。直接輸入:「如果我是個挑剔的專家,我會怎麼攻擊這份草案?列出 5 個最致命的弱點,然後你自己把它們修好。」
---
# 認知卸載與系統邊界 (Architectural Deep Dive)
## 前言
本文探討了人機協作中一個深層的哲學與架構問題:**認知卸載 (Cognitive Offloading)** 的界線在哪裡?作者警告,過度依賴 AI 就像過度依賴 GPS,會導致系統(人類大腦)失去建立內部世界模型 (World Model) 的能力。
## 核心架構洞察
### 1. The Dangers of Black-box Processing (黑盒處理的危險)
當使用者輸入一個模糊的 Prompt ("寫一份 90 天 AI 導入計畫"),然後全盤接受輸出時,AI 就變成了一個黑盒子。
* 在軟體工程中,如果我們不了解一個函式庫的底層實作,當 Edge Case (極端情況) 發生時,系統就會崩潰。
* 在人機協作中,如果你不理解 AI 產出背後的決策邏輯,當客戶 (Client) 提出質疑時,你的信任度 (Credibility) 就會瞬間破產。
**架構解法:強制解耦 (Decoupling) 思考與產出。** 人類負責定義 Interface (Audience, Stakes, Format),AI 負責 Implementation (具體文字)。
### 2. Adversarial Validation (對抗式驗證)
文章中最精采的環節是 `Step 3: Treat the first answer like a draft from a junior intern.`
作者透過 "Roast it" 和 "Reverse the brief" 將單向的生成流程,轉變為**對抗生成網路 (GAN, Generative Adversarial Networks)** 的工作模式。
* **生成器 (Generator)**:Claude 產出初稿。
* **判別器 (Discriminator)**:Claude 扮演挑剔的 CEO 或 CFO,對初稿進行攻擊。
> 架構決策:這證明了在目前的 LLM 架構下,**自我反省 (Self-reflection/Self-correction)** 往往比一次性生成更強大。透過強制 LLM 在同一個 Context 內切換角色 (Persona) 進行對抗,能大幅提升最終輸出的 Robustness (穩健性)。
### 3. Iteration Bandwidth (迭代頻寬)
為什麼多數人只對話 2 次,而作者可以對話 40 次?因為作者解決了 **I/O 瓶頸 (Input/Output Bottleneck)**。
透過語音轉文字工具 (Wispr Flow),作者將輸入頻寬從 60 WPM (打字) 提升到了 200 WPM (說話)。在系統設計中,當通訊延遲 (Latency) 降低、頻寬加大時,原本昂貴的「多次微調 (Fine-grained iteration)」就變得經濟可行。
## 總結
AI 的意義不在於讓你「不用思考」,而在於把你的「思考槓桿率」極大化。
一個成熟的 AI 架構師,不會把大腦外包給機器。他會建立嚴格的驗證管道 (Pipelines) 和對抗測試 (Adversarial Tests),用機器的算力來窮舉所有的風險邊界,最後親自按下發布鍵。
Obsidian 整理
原始文章
Prompt工程
從零掌握 Claude 提示詞工程 (完整課程)
"提示詞工程的本質不是背誦咒語,而是「思維的清晰度」。你必須極度清楚自己要什麼、不要什麼,並用 XML 結構強迫自己與 Claude 對齊目標,才能榨出模型的極限潛力。"
閱讀全文
---
tags: [Prompt工程, AI思維]
date: 2026-05-21
read: false
source: "2026-05-21T093110+0800-How to Master Claude Prompt Engineering From Zero (Full Course).md"
---
# 從零掌握 Claude 提示詞工程 (完整課程)

原始來源與檔名:2026-05-21T093110+0800-How to Master Claude Prompt Engineering From Zero (Full Course).md
---
## NAPKIN | 餐巾紙
### 餐巾紙公式
> Expert Prompt = Role + Context + Exact Task + Format + Negative Constraints + Examples
*公式說明:一個平庸的 Prompt 只能得到平庸的結果。真正專業的 Prompt 必須包含這六大要素,且最好使用 XML 標籤進行結構化隔離,將模糊的自然語言轉化為精確的編譯指令。*
### 一句話
> 提示詞工程的本質不是背誦咒語,而是「思維的清晰度」。你必須極度清楚自己要什麼、不要什麼,並用 XML 結構強迫自己與 Claude 對齊目標,才能榨出模型的極限潛力。
### 餐巾紙草圖
```text
[ Bad Prompt (Ambiguous) ]
"Write a blog about AI" -> Guesses everything -> Generic Output
VS.
[ Expert Prompt (Structured) ]
<role> Expert </role>
<context> Target: VP SaaS </context>
<task> 3 Trends with data </task>
<constraints> NO "synergy" </constraints>
---> Predictable, High-Quality Output
```
## ROUND 1: SKELETON | 骨架掃描
**「這篇文章在說什麼」**
* **核心問題**: 為什麼同一套 Claude 模型,多數人覺得產出像「罐頭回覆」,而少數高手卻能用它完成高度專業的工作?
* **核心答案**: 差距在於提示詞 (Prompt) 的精確度。高階提示詞需要五大核心要素、負向約束、上下文前置,並使用 XML 結構化。
* **論證結構**: 從基礎錯誤 (缺乏特異性) 開始 -> 提出 5 部位框架 -> 進階技巧 (鏈式、負向約束、XML) -> 提供 5 個萬用模板 -> 總結:提示詞即思維。
### 章節骨架
1. **Level 1 (基礎)**: 最大的錯誤是「缺乏特異性」。介紹 5 大要素:Role, Context, Task, Format, Constraints。
2. **Level 2 (進階)**:
* One Example > 10 paragraphs (範例的力量)
* Chain Prompts (拆解步驟)
* Negative Constraint Stack (負向約束疊加)
* Self-Evaluation Loop (自我驗證迴圈)
* Context-First Ordering (資料放前面)
3. **Level 3 (專家)**: XML 結構化、多重人格辯論 (Multi-Persona Debate)、遞進式難度 (Graduated Difficulty)、Master Template。
4. **實踐模板**: 分析、寫作、決策、解題、回饋等五大模板。
5. **核心心法**: 最好的提示詞工程師,是思維最清晰的人。
## ROUND 2: DISSECTION | 血肉解剖
**「憑什麼這麼說」**
### 論證鏈
```text
多數人輸入模糊指令 --> 模型只能用「通用助理」的聲音去猜測答案 --> 產出平庸的廢話。
將指令分解為 Role/Context/Task --> 模型獲得邊界。
加入大量 Negative Constraints (如:不要用被動語態、不要寫 In conclusion) --> 瞬間消除 AI 感。
使用 XML 標籤包裝 --> 解決指令與上下文混淆的問題,提高遵循率 (Instruction Following)。
```
### 關鍵證據
1. **負向約束 (Negative Constraints) 的奇效**: 疊加 6-10 個負向約束(例如:不要用 "leverage", "ecosystem" 等廢話詞彙),是消除 AI 生成痕跡最快、最有效的方法。
2. **Context-First 排序**: Anthropic 的官方測試證實,將 500 行的參考資料放在提示詞「最上方」,指令放在「最下方」,能大幅提高模型的處理精準度。
3. **XML 原生性**: Claude 的訓練資料中包含了大量的 XML 結構,因此 XML 是它的「母語」,能徹底消除自然語言中「指令在哪裡結束、資料從哪裡開始」的歧義。
### 隱形假設與邊界
* **隱形假設**:
* 使用者對於自己想要的「最終產出格式」有極為具體且清晰的想像。
* 底層模型 (如 Claude 3.5 Sonnet 或 Opus) 具備足夠的 Instruction Following (指令遵循) 能力來處理複雜的 XML 結構與多重負向約束。
* **邊界條件**:
* 當任務是高度探索性、創意思維發散(如:給我幾個瘋狂的點子)時,過度使用 XML 框架與負向約束反而會扼殺模型的創造力與隨機性 (Temperature 效應)。
## ROUND 3: SOUL | 靈魂提取
**「還能怎麼用」**
* **知識連接**: XML Prompting 其實就是將自然語言轉換為**強型別資料結構 (Strongly-typed Data Structure)**。這與 API 設計中的 JSON Schema 概念完全一致,都是為了降低溝通時的 Entropy (熵)。
* **行動觸發**: 在系統中儲存一份 `<role>` 到 `<verification>` 的 XML Master Template。往後所有複雜任務,都強制自己「填空」這張表,而不是在空白對話框裡隨意打字。
---
# Prompt Engineering 架構解析 (Architectural Deep Dive)
## 前言
本文系統性地解構了如何與大語言模型(特別是 Claude)進行高效率的溝通。從架構師的角度來看,Prompt Engineering 並非「玄學」或「咒語」,而是一門關於**介面設計 (Interface Design)** 與**編譯器指令 (Compiler Directives)** 的工程學科。
## 提示詞架構的核心模式
### 1. 降低歧義的編譯制約 (XML Directives)
文章中提出最具工程價值的觀點是:**Claude 是用結構化 Prompt 訓練出來的,XML 是它的母語。**
當我們使用自然語言時,模型必須同時處理 NLP 解析與意圖猜測;當我們使用 XML 時:
```xml
<context> 業務背景資料 </context>
<task> 執行動作 </task>
<constraints> 邊界條件 </constraints>
```
這本質上是在對模型發送**結構化查詢語言 (Structured Query)**。這將「Prompting」從模糊的文科寫作,轉變為了嚴謹的理科參數傳遞 (Parameter Passing),大幅提高了系統的 Determinism (確定性)。
### 2. 負向約束堆疊 (Negative Constraint Stack)
在分散式系統中,我們常用 "Deny-list" (黑名單) 來快速阻斷不良請求。
在 Prompt 中,作者建議堆疊 6-10 個負向約束(如:不要寫結語、不要用被動語態、不要說 leverage)。
> 架構洞察:生成式 AI 的預設行為是「趨向平均值 (Regression to the mean)」——也就是產出平庸、常見的套話。負向約束的作用,就是在這個高維向量空間中,**手動切除那些通向「平庸結果」的路徑**,強迫模型在邊緣的高價值區域進行採樣。
### 3. 多元視角並發 (Multi-Persona Debate)
作者提出,與其讓模型「分析」,不如讓模型分裂成三個 Persona(追求增長的 CEO、規避風險的 CFO、用戶至上的客服)進行內部辯論。
這在演算法上等同於 **Ensemble Method (集成學習)** 或是 **Tree of Thoughts (ToT)** 的微型版本。透過強迫模型在單次推論中模擬多個對抗網路 (Adversarial viewpoints),最終的綜合決策 (Synthesis) 品質將呈指數級上升。
## 總結
* **提示詞即思維的實體化**:最好的提示詞工程師不是打字最快的人,而是邏輯最清晰的人。XML 模板強迫你把模糊的意圖,切割為精確的 Role、Context 與 Constraints。
* **從 Zero-shot 走向 Chain-of-Prompts**:不要試圖用一個龐大的 Prompt 解決所有問題。將大任務拆解為 Research -> Synthesize -> Outline -> Draft,這正是微服務 (Microservices) 解耦思想在 AI 工作流中的完美應用。
Obsidian 整理
原始文章
商業策略
FDE (駐場工程師):Agent 時代從 Demo 走向生產環境的 PMF 探索
"模型的聰明程度已經不是企業 AI 落地的瓶頸,部署才是。AI 巨頭們開始瘋狂招募 FDE 派駐到客戶現場,因為只有在那裡,才能把「砂石路」踩出來,最終沉澱成平台級的「柏油路」。"
閱讀全文
---
tags: [商業策略, AI商業, Agent架構]
date: 2026-05-21
read: false
source: "2026-05-21T093231+0800-OpenAI、Anthropic 都开始押注 FDE,FDE 才是 Agent 时代的 PMF 范式?.md"
---
# FDE (駐場工程師):Agent 時代從 Demo 走向生產環境的 PMF 探索

原始來源與檔名:2026-05-21T093231+0800-OpenAI、Anthropic 都开始押注 FDE,FDE 才是 Agent 时代的 PMF 范式?.md
---
## NAPKIN | 餐巾紙
### 餐巾紙公式
> Agent PMF = Foundational Model + FDE (Forward Deployed Engineer) + Domain Workflows
*公式說明:在 Agent 時代,強大的模型 (如 GPT-4, Claude 3.5) 本身並不能直接形成產品市場契合度 (PMF)。因為 Agent 需要「代勞」而非僅僅作為工具,這要求極深的領域知識與整合。FDE (駐場工程師) 就是將模型能力與企業內部「肌肉記憶 (Legacy Systems & Workflows)」對接的必要轉換器。*
### 一句話
> 模型的聰明程度已經不是企業 AI 落地的瓶頸,**部署**才是。AI 巨頭們開始瘋狂招募 FDE 派駐到客戶現場,因為只有在那裡,才能把「砂石路」踩出來,最終沉澱成平台級的「柏油路」。
### 餐巾紙草圖
```text
[ Traditional SaaS ]
Vendor builds features -> Client buys software -> Client learns to use it.
(Boundary is clear. Tools are passive.)
[ Agent Era (The FDE Model) ]
Vendor sends FDE to Client HQ -> FDE writes integration code / uncovers hidden rules
-> Agent executes workflows (Active substitution)
-> FDE abstracts common patterns back to Vendor Core Product (Gravel road to paved highway).
```
## ROUND 1: SKELETON | 骨架掃描
**「這篇文章在說什麼」**
* **核心問題**: AI 基礎模型越來越強,但在企業市場的實際落地 (Scale to Production) 卻極度緩慢。多數企業停留在 Demo 或試點階段。
* **核心答案**: OpenAI, Anthropic, Google 同時押注 FDE (Forward Deployed Engineer,前置部署/駐場工程師) 模式。這群人不僅懂技術,還直接深入客戶工作場景寫程式,解決 API 對接、合規邊界與隱性知識的整合問題,將客戶需求沉澱為產品能力。
* **論證結構**: 定義 FDE 與 PMF -> 敘述 2026 年三大 AI 巨頭的動作 -> 解釋為何 Agent 架構對 FDE 有「結構性需求」(代勞 vs 工具) -> 提出對 FDE 模式的三個質疑 (是找 PMF 還是掩蓋無 PMF?是軟體公司還是顧問公司?) -> 總結各角色的意義。
### 章節骨架
1. **引言**: AI 巨頭砸重金招募同一個職位:FDE。
2. **FDE 的起源**: Palantir 在 2000 年代初發明。與售前工程師或顧問不同,FDE 既寫生產程式碼,又負責將共性問題反哺給核心產品 (砂石路到柏油路)。
3. **2026 的拐點**: 模型產品力的邊際效益遞減,但「將模型轉為可用系統」的工程能力邊際收益飆升。企業需要的是交付速度與深度整合。
4. **Agent 與 SaaS 的本質差異**: SaaS 是「工具 (你用它)」,Agent 是「代勞 (它替你做)」。代勞需要深入企業的合規邊界與隱性知識,這無法靠需求文件解決,必須靠人駐場。
5. **三個保留 (悖論)**:
* FDE 可能是在掩蓋產品尚未達到 PMF 的事實 (如果永遠需要人力部署)。
* AI 公司的估值模型可能會被質疑 (變成勞力密集的顧問公司)。
* FDE 自己開發的 AI 工具,最終可能會吃掉 FDE 自己的低階整合工作。
6. **結語**: FDE 是從 Demo 走向生產系統的「必要中間態」,它是尋找 PMF 的方法,而非 PMF 本身。
## ROUND 2: DISSECTION | 血肉解剖
**「憑什麼這麼說」**
### 論證鏈
```text
Agent 的目標是自動化完整的業務流程 (如反洗錢調查) --> 這些流程高度依賴企業內部的 legacy 系統、合規限制與隱性知識 (無法標準化) --> 因此,無法靠一套通用的 SaaS 產品來解決 --> 必須派遣具有強大工程能力的 FDE 深入客戶現場,建立客製化的整合 (砂石路) --> 廠商再將多次駐場中發現的共通模式 (如 MCP 協定、Agent 框架) 抽象化回核心產品 (柏油路) --> 最終降低未來的部署成本。
```
### 關鍵證據
1. **SaaS 與 Agent 的邊界定義**: "SaaS 是工具,Agent 是代勞。" 這是極具洞察的分類。工具的邊界在說明書裡,但代勞的邊界在客戶的「機構肌肉記憶」裡。這解釋了為什麼 AI 落地如此困難——它要求 AI 系統必須理解未被文件化的潛規則。
2. **砂石路到柏油路 (Gravel road to paved highway)**: 借用 Palantir 的核心理念,精準描述了 FDE 模式的最高價值。FDE 不是純外包,外包只解決當下的案子;FDE 是「產品發現 (Product Discovery)」的前哨站。
3. **毛利與估值的矛盾**: 這是對 FDE 模式最尖銳的質疑。如果 OpenAI 變成了一家需要派幾千人駐場的公司,那它就不是一家高毛利的 SaaS 平台,而是像 IBM Consulting 或 Accenture 的 IT 服務公司,這會顛覆資本市場對其估值的基礎。
### 隱形假設與邊界
* **隱形假設**:
* 廠商 (Vendor) 具備足夠強大的架構抽象能力,能真的將 FDE 的客製化經驗轉化為通用的平台產品。如果這步失敗,FDE 就只是昂貴的人力外包。
* **邊界條件**:
* 客戶願意讓 AI 廠商的工程師深入其最核心的業務系統與數據庫。在金融或醫療等高監管行業,這種信任的建立成本極高。
## ROUND 3: SOUL | 靈魂提取
**「還能怎麼用」**
* **知識連接**: FDE 的工作內容,完美呼應了《下一批靠 AI 赚钱的人,不是提示词高手,而是业务流程猎人》中所提到的「將業務流程封裝」。FDE 就是最高端的「業務流程獵人」。他們透過編寫 MCP 伺服器 (如《我花了大半天,让Claude真正"住进"我的Obsidian知识库》中的 obsidian-mcp),打通 LLM 與企業舊有系統的橋樑。
* **行動觸發**: 在評估導入 AI Agent 專案時,不要只看模型的 Benchmark 分數。預留至少 70% 的預算與時間在「系統整合、資料清理、與既有工作流對接」上。認識到「部署能力」才是目前 AI 專案成敗的決定性因素。
---
# 企業級 Agent 落地的架構抽象與邊界 (Architectural Deep Dive)
## 前言
這篇文章從組織架構和商業模式出發,但揭示了目前 AI Agent 在系統工程上的最大挑戰:**抽象漏洞 (Leaky Abstractions)** 與 **領域知識 (Domain Knowledge) 的整合**。
## 核心架構洞察
### 1. 軟體架構中的「泥濘區 (Muddy Contexts)」
在微服務架構 (Microservices) 與領域驅動設計 (DDD) 中,我們強調系統邊界 (Bounded Context) 應該清晰。但現實的企業 IT 系統充滿了泥濘:
* 未被文件化的 API 限制。
* 基於人工作業習慣的狀態機 (State Machine)。
Agent 若要「代勞」,就必須踏入這些泥濘區。FDE 的本質,就是在客戶那端寫一層 **Anti-Corruption Layer (防腐層)**,將客戶混亂的 Legacy Data 轉換為 LLM 能夠理解的乾淨 Context。
### 2. 從客製化到標準化 (The Abstraction Engine)
Palantir 模式的精髓,在於建立了一台「抽象引擎」。
* **階段 1 (FDE 客製化)**:為 A 銀行寫了一套讀取 Swift 電文的 Python 腳本。
* **階段 2 (發現共性)**:發現 B 銀行也需要,但欄位不同。
* **階段 3 (沉澱至平台)**:將這個需求抽象為一個標準的 `FinancialMessage_MCP_Server`,整合到核心平台中。
如果沒有這個從客製化 (砂石路) 抽象出標準組件 (柏油路) 的能力,FDE 模式在架構上就是不可擴展的 (Non-scalable)。
### 3. Agent 基礎設施的演進 (Agentic Infrastructure)
文章點出,FDE 初期做的「整合性髒活」最終會被 AI 工具自身取代。
* 這意味著未來的 Agent 平台將內建更強大的 **Schema Inference (綱要推斷)**、**API Auto-discovery (API 自動發現)** 以及 **Resilient Routing (彈性路由)**。
* FDE 的價值將向架構的高層遷移:設計 Multi-Agent 拓撲 (Topology)、制定決策權重、以及設定系統崩潰時的 Fallback 策略 (如前文《Don't Outsource the Learning》提到的)。
## 總結
FDE 不是技術倒退,而是面對極端複雜現實時的必然妥協。在通用人工智慧 (AGI) 能夠完全自主理解人類社會所有潛規則之前,我們依然需要一群最頂尖的工程師,在第一線充當 AI 與真實世界之間的翻譯官與腳手架。
Obsidian 整理
原始文章
商業策略
創始人行動手冊:打造一家 AI-Native 創業公司 (Anthropic 官方指南)
"AI 最大的革命,是拉平了「誰有想法」與「誰能造出產品」之間的落差。現在,只要你有深厚的領域知識 (Domain Knowledge),即使不懂寫程式,也能指揮 AI 完成從市場調研、MVP 開發、自動化營運到 GTM 策略的全生命週期創業。"
閱讀全文
---
tags: [商業策略, AI商業, 工作方法, Agent架構]
date: 2026-05-21
read: false
source: "2026-05-21T093239+0800-创始人行动手册:打造一家 AI-Native 创业公司.md"
---
# 創始人行動手冊:打造一家 AI-Native 創業公司 (Anthropic 官方指南)

原始來源與檔名:2026-05-21T093239+0800-创始人行动手册:打造一家 AI-Native 创业公司.md
---
## NAPKIN | 餐巾紙
### 餐巾紙公式
> AI-Native Startup = Founder's Domain Knowledge + Claude (Research Partner) + Claude Code (Engineering Team) + Claude Cowork (Ops Team)
*公式說明:在 AI-Native 的時代,創業不再依賴龐大的人頭數 (Headcount)。創始人從「執行者 (Doer)」升級為「編排者 (Orchestrator)」。透過將研究、開發與營運自動化外包給 AI,單人或極小團隊就能達成過去需要 A 輪融資與 50 人團隊才能達到的規模與產出。*
### 一句話
> AI 最大的革命,是拉平了「誰有想法」與「誰能造出產品」之間的落差。現在,只要你有深厚的領域知識 (Domain Knowledge),即使不懂寫程式,也能指揮 AI 完成從市場調研、MVP 開發、自動化營運到 GTM 策略的全生命週期創業。
### 餐巾紙草圖
```text
[ Traditional Startup Lifecycle ]
Idea -> Raise Seed -> Hire Engineers -> Build MVP -> Raise Series A -> Hire Sales/Ops -> Scale
(Bottleneck: Capital & Hiring)
[ AI-Native Startup Lifecycle ]
Idea -> Validate with Claude -> Vibe Code MVP with Claude Code -> Automate Ops with Claude Cowork -> Scale with specialized AI Agents
(Bottleneck: Founder's Judgment & Domain Expertise)
```
## ROUND 1: SKELETON | 骨架掃描
**「這篇文章在說什麼」**
* **核心問題**: 隨著 AI 工具 (如 Claude Code) 的成熟,創業的門檻與流程發生了根本性的改變。過去基於「擴充團隊人數」的傳統創業模型已經不適用於 2026 年的 AI-Native 創業公司。
* **核心答案**: Anthropic 官方發布的創始人手冊,重新定義了創業的四個階段 (想法、MVP、發布、規模化)。它指出 AI 使得「非技術創始人」也能建立生產級軟體,並詳細說明在每個階段如何利用 Claude 的三種型態 (Chat, Code, Cowork) 來克服新的陷阱 (如過早規模化、Agentic 技術債)。
* **論證結構**: 創業範式的轉移 (從執行者到編排者) -> 第一階段:想法 (用 AI 驗證而非盲目製造) -> 第二階段:MVP (定義邊界,避免技術債複利) -> 第三階段:發布 (建立營運系統,解放創始人注意力) -> 第四階段:規模化 (建立防禦性護城河與 GTM 引擎) -> 結語與真實案例。
### 章節骨架
1. **重啟創業生命週期**: AI 抹平了學習曲線,壓縮了時間線。
2. **創始人角色的改變**: 變成 Agent 的編排者 (Orchestrator)。AI 提供了對話式研究、Agentic 程式設計與工作流自動化。
3. **想法階段 (Ideation)**: 核心目標是「在證據足夠前,不要動手造」。挑戰是 AI 帶來的確認偏誤與過早規模化。用 Claude 當反方代言人。
4. **MVP 階段**: 核心目標是「收集解決方案的證據」。挑戰是無摩擦的範圍蔓延與 Agentic 技術債。必須在寫 code 前先寫好架構檔 (`CLAUDE.md`)。
5. **發布階段 (Launch)**: 從證明產品到證明生意。挑戰是技術債到期與創始人成為瓶頸。用 Claude Cowork 接管營運,處理安全與合規。
6. **規模化階段 (Scale)**: 建立防禦性護城河 (深層工作流綁定與專有領域知識)。建立 GTM (走向市場) 職能。
7. **結語**: 瓶頸不再是「你能造什麼」,而是「你選擇造什麼」。
## ROUND 2: DISSECTION | 血肉解剖
**「憑什麼這麼說」**
### 論證鏈
```text
AI 大幅降低了寫程式的摩擦力 (Frictionless Building) --> 這導致新手創始人容易跳過「問題驗證」直接進入「產品開發」--> 產生了「造出來卻沒人要 (Fake PMF)」與「Agentic 技術債」等新形態風險 --> 解決之道是:創始人必須保持極高的紀律,將 AI 先用於「研究與反向思考 (Red-teaming)」,並在開發前強制定義架構邊界 (CLAUDE.md) --> 隨著產品上線,將日常營運交給 AI (Claude Cowork),讓創始人專注於建立領域知識護城河。
```
### 關鍵證據
1. **確認偏誤裝上引擎 (Confirmation Bias with a Research Engine)**: 這是全篇最敏銳的洞察之一。過去創始人自欺欺人還需要自己找資料;現在,如果你帶著偏見去問 AI,它能瞬間幫你產出一份完美的、支持你爛點子的 TAM (總潛在市場) 報告。解藥是:強制把 Claude 當作「反方代言人 (Devil's Advocate)」。
2. **Agentic 技術債會複利 (AI Tech Debt Compounds)**: 如果沒有 `CLAUDE.md` 作為持久上下文 (Persistent Context),每次 Agent 會話都會重新推導架構,導致程式碼風格與結構產生漂移 (Drift)。這種債務累積速度遠超人類工程師,最終會導致專案崩塌。
3. **努力測試 (The Effort Test)**: 判斷 PMF (產品市場契合度) 的標準。在 PMF 之前,留存需要創始人英雄式的「推 (Push)」;PMF 之後,產品會開始自己「拉 (Pull)」。這是極具實戰價值的檢驗標準。
### 隱形假設與邊界
* **隱形假設**:
* 創始人具備極強的「領域知識 (Domain Expertise)」與「商業直覺 (Business Judgment)」。因為當「執行」被商品化後,唯一值錢的剩下「判斷力」。
* Anthropic 的生態系 (Claude Chat, Code, Cowork) 足以涵蓋一家公司的所有軟體與營運需求。
* **邊界條件**:
* 高度依賴物理實體、硬體製造或重資本支出的創業項目,無法完全套用這種純軟體 (SaaS/Software) 的 AI-Native 擴展模型。
## ROUND 3: SOUL | 靈魂提取
**「還能怎麼用」**
* **知識連接**: 本文完美串聯了前幾篇的概念。它在 MVP 階段要求的 `CLAUDE.md` 紀律,呼應了《Claude Code 工程化指南》;它提倡的「先寫規格再寫 Code」對應了《Goal Engineering》;而它強調的「把領域專長和機構知識轉入 AI 上下文」,正是《20 Claude Skills》的終極目標。
* **行動觸發**: 如果你正在構思一個新專案,**今天絕對不要寫任何程式碼**。打開 Claude,寫下你的假設,然後下達指令:「你是這個領域最嚴苛的投資人與競爭對手,請提出 3 個最致命的理由,說明為什麼我的想法絕對會失敗,並找出我邏輯中的漏洞。」
---
# AI-Native 組織架構的演進 (Architectural Deep Dive)
## 前言
這篇由 Anthropic 發布的指南,不僅是一份創業手冊,更是對「未來企業組織架構 (Organizational Architecture)」的預言。當計算資源 (LLM) 開始具備推理與行動能力時,企業的邊界與內部拓撲結構將發生根本性變化。
## 核心架構洞察
### 1. 組織作為狀態機 (The Organization as a State Machine)
在傳統企業中,營運流程 (Operations) 依賴人類員工的記憶與交接。文章中提到的 `Claude Cowork` 實際上是一個**企業級的狀態機引擎 (Enterprise State Machine Engine)**。
* 創始人的任務是「定義狀態轉移規則 (Transition Rules)」(例如:當 Bug 標籤為 Critical 時,觸發 PagerDuty 並更新 Jira)。
* AI Agent (Cowork) 負責監聽事件並執行這些轉移。
* 這使得組織的「機構知識 (Institutional Knowledge)」從隱性 (Implicit) 的人類記憶,轉變為顯性 (Explicit) 的機器可讀程式碼 (Skills/Workflows)。
### 2. 架構的強制性防護 (Architectural Guardrails in Agentic Workflows)
文章深刻指出了 Agentic 程式設計的危險:沒有邊界的 AI 是一台製造技術債的永動機。
* 引入 `CLAUDE.md` 作為**持久上下文 (Persistent Context)**,本質上是在為 Agent 設定**邊界上下文 (Bounded Context)**。
* 在軟體工程中,如果沒有架構師約束,開發者會傾向寫出耦合度極高的義大利麵條碼。Agent 也是如此。
* 因此,「先寫架構決策紀錄 (ADR, Architecture Decision Records)」不再是大公司的專利,而是 AI-Native 創業公司在第一天就必須執行的生存法則。
### 3. 領域知識的軟體化 (Domain Knowledge Encapsulation)
AI 基礎模型是通用的,而護城河是具體的。
* 護城河來自於將創始人的「領域知識」封裝進系統中。
* 文章建議建立專門的測試案例 (Test Cases) 來捕捉產業邊緣情況 (Edge Cases,例如:340B 藥品專案的計費邏輯)。
* 這些**測試套件 (Test Suites) 最終會變成護城河地圖**。競爭對手可以輕易複製你的 UI,甚至用 Claude 複製你的後端架構,但他們無法複製那些由真實血淚經驗累積而來的、專門針對特定產業潛規則所編寫的測試斷言 (Assertions)。
## 總結
未來的 AI-Native 企業,其組織結構圖 (Org Chart) 上的人類節點將大幅減少,取而代之的是互相協作的 Agent 叢集。創始人不再是管理者 (Manager),而是這套龐大分散式系統的**系統架構師 (System Architect)**。你設計規則,AI 負責執行。
Obsidian 整理
原始文章
商業策略
業務流程獵人:把工作 SOP 變成可自動執行的 AI 資產
"別再鑽研怎麼寫出完美的 Prompt 了。未來的 AI 變現,是找出企業每天重複執行、極度煩人且結果可驗證的 SOP,將它拆解成 5-8 個動作的自動化工作流,把「你的崗位經驗」封裝成別人可以花錢按鈕執行的「數位資產」。"
閱讀全文
---
tags: [商業策略, 工作流, AI變現]
date: 2026-05-21
read: false
source: "2026-05-21T093218+0800-下一批靠 AI 赚钱的人,不是提示词高手,而是业务流程猎人.md"
---
# 業務流程獵人:把工作 SOP 變成可自動執行的 AI 資產

原始來源與檔名:2026-05-21T093218+0800-下一批靠 AI 赚钱的人,不是提示词高手,而是业务流程猎人.md
---
## NAPKIN | 餐巾紙
### 餐巾紙公式
> Prompt = Content (Low Barrier)
> Workflow = Action (High Value)
> Enterprise Asset = Workflow + API Access (Action Model Marketplace)
*公式說明:單純寫提示詞只是在產出內容,壁壘極低。真正的商業價值在於將特定崗位的高頻重複動作 (如對帳、篩選履歷) 封裝成具有判斷規則與變數的 Workflow,並上架到 Action Model Marketplace 供企業調用,按次計費。*
### 一句話
> 別再鑽研怎麼寫出完美的 Prompt 了。未來的 AI 變現,是找出企業每天重複執行、極度煩人且結果可驗證的 SOP,將它拆解成 5-8 個動作的自動化工作流,把「你的崗位經驗」封裝成別人可以花錢按鈕執行的「數位資產」。
### 餐巾紙草圖
```text
[ The Evolution of AI Monetization ]
Phase 1 (Past): Sell Prompts -> "Use this prompt to write better emails." (Easily copied, 0 defensibility)
Phase 2 (Past): Sell Time -> Consult / Build for clients manually.
Phase 3 (Now): Sell Executable Workflows (Actionist / Marketplaces) ->
[ Input: Unpaid Stripe Invoices ]
-> (Workflow: Read Invoice -> Check CRM -> Send reminder -> Update DB)
[ Output: Reconciled Accounts ] -> Creator earns $ per execution.
```
## ROUND 1: SKELETON | 骨架掃描
**「這篇文章在說什麼」**
* **核心問題**: 多數人想靠 AI 賺錢,卻把精力花在鑽研提示詞 (Prompt) 或賣教學,忽略了提示詞容易被複製且無法直接解決企業的痛點。
* **核心答案**: 下一波風口在於「業務流程自動化」。透過 Action Model Marketplace,任何懂業務的人都可以把自己的崗位經驗 (SOP) 封裝成 Workflow,當別人調用時即可賺取分潤。這將「出賣時間」轉變為「出租可執行能力」。
* **論證結構**: 破除 Prompt 迷思 -> 介紹 Action Model Marketplace 邏輯 -> 定義「可執行能力」的價值 -> 列出三大最有價值的企業場景 -> 提供普通人的最小啟動路徑 (MVP) -> 警示潛在風險。
### 章節骨架
1. **引言**: 最會賺錢的不是 Prompt 專家,而是最懂業務流程的人。
2. **新商業模式 (Action Model Marketplace)**: 將每日重複的工作流程 (如處理退款、GitHub 檢查) 變成自動化資產,系統依使用量消耗代幣,創作者拿分潤。
3. **從「內容」到「動作」**: 提示詞產出的是內容,Workflow 產出的是動作 (Action)。動作更接近商業交易。
4. **賣的是「可執行能力」**: 突破過去接單只能「賣時間」的限制,讓經驗數位化、資產化。
5. **三大高價值場景**:
* 企業剛需 (Stripe, AWS, GitHub)。
* 高頻營運 (CRM, 客服, 報表)。
* 可交付明確結果 (完成審核、更新系統)。
6. **最小啟動路徑**: 挑選熟悉崗位 -> 拆解動作 -> 設定變數與規則 -> 做 Demo -> 驗證需求。
7. **風險與認知**: 需考量流程穩定度、真實需求、合規風險。這是一個「賣流程」的強烈信號。
## ROUND 2: DISSECTION | 血肉解剖
**「憑什麼這麼說」**
### 論證鏈
```text
企業願付費的關鍵在於「解決繁瑣任務並產生明確結果」 --> Prompt 只能生成文字,無法操作軟體 (無法產生 Action) --> 隨著 Action Models (如 LAM) 與自動化工具成熟,我們可以把跨軟體的 SOP 串聯起來 --> 把這些 SOP 封裝上架,別人點擊執行就能解決問題 --> 創作者從賣「諮詢時間」進化為賣「軟體基礎設施 (API Call)」,實現被動收入。
```
### 關鍵證據
1. **按使用量付費 (Pay-per-execution)**: 文章提到「系統消耗 $LAM,創作者拿分成」。這種基於 Token 或 API Call 的商業模式,是 SaaS 產業驗證過最穩定的營收來源。
2. **越接近成本中心越值錢**: 為什麼 Stripe 退款或 AWS 巡檢值錢?因為它們直接影響企業的現金流與成本。這些流程的「容錯率低、重複性高」,是自動化 ROI 最高的切入點。
3. **拆解 SOP (5-8 步)**: 作者精準指出,自動化不是魔法,而是將流程拆解為:動作、變數、規則、例外處理、人工確認點 (Human-in-the-loop)。這證明了懂業務細節 (Domain Knowledge) 的人比單純懂 AI 技術的人更有優勢。
### 隱形假設與邊界
* **隱形假設**:
* 底層的 Action Model 工具 (平台) 足夠穩定,能夠處理各種軟體介面的變更與 API 權限授權,且不會因為資安問題被企業禁用。
* **邊界條件**:
* 並非所有流程都能自動化。只有具備「明確輸入、標準處理規則、可驗證輸出」的結構化任務才適合封裝。
## ROUND 3: SOUL | 靈魂提取
**「還能怎麼用」**
* **知識連接**: 這一篇的思路,完全對應了《20 Claude Skills》中提到的 Skill 封裝,以及《企業級 Agent 構建指南》中的 Workflow 架構。當你把你寫的 Claude Skill 加上了 API 對接能力,它就變成了一個可以賣錢的 Action Model。
* **行動觸發**: 審視你目前的日常工作,找出你每天都要打開 3 個以上不同網頁才能完成的一件事 (例如:從信件抓資料 -> 貼到 Excel -> 到系統發送通知)。把它拆解成 5 個具體步驟寫下來,這就是你第一個值得開發的 Workflow 藍圖。
---
# 業務邏輯封裝與 API 經濟 (Architectural Deep Dive)
## 前言
這篇文章從商業的角度,完美詮釋了軟體工程中的**封裝 (Encapsulation)** 與 **微服務化 (Microservices)** 概念。所謂的「業務流程獵人」,本質上就是在做「Legacy Business Process 到 Serverless Function 的重構」。
## 核心架構洞察
### 1. 意圖到動作的跨越 (From Intention to Action)
LLM 過去幾年解決了「意圖理解 (Intention Routing)」與「內容生成」,但這只解決了一半的問題。
* 商業價值的閉環在於**執行 (Execution/Action)**。
* Action Model Marketplace 的架構意義在於,它提供了一套標準化的介面 (Interface),讓 LLM 的輸出可以直接轉化為對接外部系統 (Stripe, AWS, GitHub) 的 API Calls。這使得 AI 從「顧問」變成了「操作員」。
### 2. 領域知識即代碼 (Domain Knowledge as Code)
為什麼懂業務的人比懂 Prompt 的人更有優勢?
* 在軟體工程中,最難的永遠不是寫 Code,而是**梳理業務邏輯 (Business Logic)**。
* 知道在處理 Stripe 退款時,何時該發送警告、何時該等待 3 天、何時該觸發人工審核 (Human-in-the-loop),這就是無價的 Domain Knowledge。
* 透過無程式碼 (No-code) 或 Actionist 平台,業務人員可以直接將這些邏輯「編譯」成 Workflow (本質上就是一種 State Machine 狀態機)。這是一次開發權限的下放。
### 3. 微服務市集 (Micro-SaaS as APIs)
創作者將 Workflow 發布到 Marketplace,其實就是發布了一個 Serverless Endpoint。
* 消費者傳入 Payload (例如一份發票 PDF)。
* Workflow 執行完畢,返回 Result。
* 這打破了傳統 SaaS 需要建構龐大前端、帳號系統的負擔,創作者只需專注於核心的邏輯運算 (Compute),這將帶來一波「微型自動化服務 (Micro-Automation)」的爆發。
## 總結
這是一場將人類白領經驗「API 化」的運動。未來最具價值的工程師/創作者,是那些能敏銳察覺企業低效痛點,並能熟練運用 Action Models 將其「狀態機化」的架構師。
Obsidian 整理
原始文章
工作方法
Vibe Coding 實戰指南:零基礎如何用 Claude 打造第一個產品
"放棄理解那些你看不懂的程式碼吧!只要你能用清晰的英文寫下「你的產品長什麼樣、有哪些功能」,Claude 就能瞬間為你生成一個可互動的 App。這不是魔法,這是未來的標準軟體開發流程,而「耐心且具體地給予回饋」是你現在唯一需要學習的技能。"
閱讀全文
---
tags: [工作方法, 開發工具, 工具技巧, Vibe Coding]
date: 2026-05-21
read: false
source: "2026-05-21T093236+0800-How to Vibe Code Your First Product Using Claude (Full Course).md"
---
# Vibe Coding 實戰指南:零基礎如何用 Claude 打造第一個產品

原始來源與檔名:2026-05-21T093236+0800-How to Vibe Code Your First Product Using Claude (Full Course).md
---
## NAPKIN | 餐巾紙
### 餐巾紙公式
> Vibe Coding = Clear English Description (Intent) + AI Implementation (Execution) + Specific Iterative Feedback (Refinement)
*公式說明:Vibe Coding 徹底改變了軟體開發的門檻。你不需要懂語法,只需清楚描述「做什麼 (What)」,將「怎麼做 (How)」交給 AI (如 Claude)。重點在於你能否給出極度具體的回饋來引導 AI 修正細節,這是一種「產品經理視角」而非「程式設計師視角」的開發過程。*
### 一句話
> 放棄理解那些你看不懂的程式碼吧!只要你能用清晰的英文寫下「你的產品長什麼樣、有哪些功能」,Claude 就能瞬間為你生成一個可互動的 App。這不是魔法,這是未來的標準軟體開發流程,而「耐心且具體地給予回饋」是你現在唯一需要學習的技能。
### 餐巾紙草圖
```text
[ The Vibe Coding Loop ]
1. Describe: "Build a budget tracker with a pie chart. Dark mode."
|
2. Claude Generates: (Artifact appears immediately in chat)
|
3. Test & React: "The chart works, but the 'Add' button is too small on mobile."
|
4. Refine: Claude updates code -> Artifact refreshes.
|
(Repeat 3-5 times) -> Deploy to web via Vercel.
```
## ROUND 1: SKELETON | 骨架掃描
**「這篇文章在說什麼」**
* **核心問題**: 多數非技術人員認為寫程式太難,不敢嘗試自己做產品;而已經開始嘗試的人,常因為錯誤的 Prompt 習慣或迷失在閱讀程式碼中而放棄。
* **核心答案**: 提倡 "Vibe Coding"(由 Andrej Karpathy 提出),即完全放棄理解程式碼,純粹用語意來引導 AI 構建產品。作者詳細拆解了從點子發想到部署的 6 個步驟,並列出了 7 個導致失敗的致命錯誤。
* **論證結構**: 定義 Vibe Coding -> 為何首選 Claude (Artifacts 預覽、效能) -> 6 步實戰流程 (選題、描述、生成、迭代、加功能、部署) -> 7 大致命錯誤 (範圍太大、回饋模糊、試圖看懂 Code 等) -> 推薦的 10 個新手題目。
### 章節骨架
1. **引言**: Vibe Coding 已經不是趨勢,而是現狀 (41% 的程式碼由 AI 生成)。
2. **什麼是 Vibe Coding**: 用白話文描述結果,AI 處理實作。不需要懂語法。
3. **為何選 Claude**: 介面親民、支援即時 Artifacts 預覽、模型能力強 (Opus 4.7)。
4. **實戰六步**:
* Step 1: 挑選自己真正在乎、會使用的痛點 (不要做無聊的 Todo List)。
* Step 2: 用白話文寫下 5 大要素 (功能、用戶、介面、痛點、視覺)。
* Step 3: 產生第一版。
* Step 4: 迭代 (具體指出哪裡壞了、哪裡要改)。
* Step 5: 添加個人化功能 (每次加一個)。
* Step 6: 儲存或部署上線。
5. **七大致命錯誤**: 專案太大、提示詞模糊、一次改太多、不立刻測試、遇到 Bug 就放棄、不描述視覺設計、**試圖理解程式碼 (這是最大的錯)**。
## ROUND 2: DISSECTION | 血肉解剖
**「憑什麼這麼說」**
### 論證鏈
```text
程式語言的本質是人類與電腦溝通的橋樑 --> 現在 LLM 已經精通了這座橋樑 (SWE-bench 高分) --> 人類可以直接用自然語言表達「意圖 (Intent)」,由 AI 轉譯為程式碼 --> 但多數人失敗是因為他們試圖用舊有的「工程師思維」去檢查 AI 的代碼 --> 正確的做法是切換到「產品經理/QA 測試員思維」,只看最終的 UI 表現,並給予極度具體的操作回饋 (Iterative Feedback) --> 最終達成零程式碼經驗也能獨立開發產品。
```
### 關鍵證據
1. **Artifacts 的即時回饋迴圈**: 為什麼 Claude 特別適合新手?因為沒有部署步驟。過去寫完 code 要跑 compile, 開 server, 看瀏覽器;現在 Artifacts 直接在對話框渲染。這將「測試回饋迴圈 (Feedback Loop)」縮短到幾秒鐘,這是維持初學者動力的關鍵。
2. **具體的回饋 (Specific Feedback)**: 作者對比了壞的與好的 Feedback。"Make it better" (垃圾指令) vs "The pie chart colors are too similar. Use distinctly different colors..." (好指令)。這印證了駕馭 AI 的核心在於**精確的規格描述能力**。
3. **錯誤 7:試圖理解程式碼**: 這顛覆了傳統觀念。作者強烈建議新手「不要看 Code」。這不是在逃避,而是在進行**職責分離 (Separation of Duties)**。Code 是 Claude 的問題,使用者的職責是評估產品「有沒有解決問題」。
### 隱形假設與邊界
* **隱形假設**:
* 產品的複雜度在單一網頁前端 (Frontend) 或簡單的本地端資料處理範圍內。
* **邊界條件**:
* 一旦產品涉及到複雜的後端資料庫架構、分散式系統或高併發,"Vibe Coding" 就會面臨極大的瓶頸。此時就不可能完全「不看程式碼」,需要架構師的介入 (回到了《Goal Engineering》等更嚴謹的工程方法)。
## ROUND 3: SOUL | 靈魂提取
**「還能怎麼用」**
* **知識連接**: 本文提倡的 "Vibe Coding" 適用於 0-1 的 MVP (最小可行性產品) 階段,與《Goal Engineering》提倡的嚴格 TDD 紀律看似衝突,其實是光譜的兩端。新手/前端展示用 Vibe Coding;後端核心/企業系統用 Goal Engineering。
* **行動觸發**: 今晚不要打開 Netflix,打開 Claude。用中文寫下:「幫我寫一個可以計算我和室友房租與水電費分攤的網頁工具。要有圓餅圖顯示誰付了多少。介面要像 Apple 的 App 一樣乾淨,深色模式。」立刻體驗一次 Vibe Coding。
---
# 從命令式到宣告式:軟體開發邊界的消融 (Architectural Deep Dive)
## 前言
"Vibe Coding" 聽起來像是一個網路流行語,但從系統架構史的角度來看,它代表了軟體工程界追求了幾十年的終極目標:**徹底的宣告式編程 (Declarative Programming)** 與 **意圖驅動開發 (Intent-Driven Development)**。
## 核心架構洞察
### 1. 抽象層的終極躍遷 (The Ultimate Abstraction)
軟體工程史就是一部「抽象層不斷疊加」的歷史:
* Machine Code (0101) -> Assembly (組合語言) -> C (高階語言) -> Python/JavaScript (腳本語言) -> React/Vue (前端框架)。
* 每一次躍遷,開發者都在遠離底層實作,專注於更高層次的邏輯。
* **Vibe Coding 標誌著自然語言 (Natural Language) 正式成為最新的編譯器抽象層。** LLM (如 Claude) 扮演了編譯器的角色,將人類的「自然語言規格 (Intent)」即時編譯並渲染為可執行的應用程式 (Artifacts)。
### 2. 測試驅動的黑箱化 (Black-box Testing as Development)
作者極力勸退新手去「閱讀程式碼」,這在軟體測試領域稱為 **黑箱測試 (Black-box Testing)**。
* 你不需要知道函數是怎麼寫的、變數怎麼命名 (白箱)。
* 你只需要知道:我按下按鈕 (Input),畫面有沒有變紅 (Output)。
* 在 Vibe Coding 模式中,**QA (品質保證) 過程與開發過程完全融合了**。人類成為了高階的測試執行器 (Test Runner),提供不斷的 Error Feedback,LLM 則作為迴路中的修正器。
### 3. 架構的邊界與技術債 (The Hidden Tech Debt)
這套方法極其強大,但架構師必須清楚其邊界:
* **不可維護的狀態**:由純 Vibe Coding 產生的數千行程式碼,對於人類工程師來說通常是不可讀的 (面條代碼 Spaghetti Code)。
* 如果這個產品只是一個工具 (Tool) 或原型 (Prototype),這完全沒問題。
* 但如果要將其轉為長期維護的企業級產品,就必須在某個節點引入重構 (Refactoring),建立真正的領域驅動設計 (DDD),否則技術債的利息將會壓垮後續的擴展性。這也就是為何我們依然需要專業工程師與架構文件 (`AS-BUILT-ARCHITECTURE.md`) 的原因。
## 總結
不要因為「程式碼很髒」就排斥 Vibe Coding。它極大地縮短了「想法」到「驗證」的距離。未來的軟體開發,將會是業務人員用 Vibe Coding 快速打造出功能原型,然後交由資深架構師 (透過 AI 輔助) 進行底層重構的雙軌協作模式。
Obsidian 整理
原始文章
工作方法
讓 AI 擁有你的靈魂:用單一 Markdown 檔塑造專屬寫作風格
"為什麼 AI 寫出來的文章總是充滿著濃濃的「AI 味」?因為它預設輸出的是最安全、最平庸的平均值。這篇文章提供了一個極具實用價值的解法:不要每次都在 Prompt 裡重複你的寫作習慣,而是讓 Claude 對你進行「100 題深度採訪」,把你的寫作 DNA(特別是你討厭的詞彙與絕不妥協的觀點)寫成一個 。結合 Claude Cowork 等工具,讓這個檔案成為你每次 AI 寫作的底層 Context。"
閱讀全文
---
tags: [工作方法, 提示工程, AI寫作, 個人化設定]
date: 2026-05-21
read: false
source: "2026-05-21T093525+0800-The Best Way to Make AI Write Like You.md"
---
# 讓 AI 擁有你的靈魂:用單一 Markdown 檔塑造專屬寫作風格

原始來源與檔名:2026-05-21T093525+0800-The Best Way to Make AI Write Like You.md
---
## NAPKIN | 餐巾紙
### 餐巾紙公式
> Authentic AI Writing = Negative Prompting (What you HATE) + Structural Preferences + Actual Examples -> 1 Unified `.md` Voice Profile
*公式說明:讓 AI 寫出像你的文章,關鍵不在於給予空泛的形容詞(如「直接」、「幽默」),而在於利用逆向提示(Negative Prompting)告訴它你絕對不用的詞彙與句型。透過讓 AI 採訪你,將你的好惡、寫作結構與真實範例提煉成一個 `.md` 檔案,每次寫作前載入,就能讓 AI 從「產生罐頭廢話」進化為「撰寫你的初稿」。*
### 一句話
> 為什麼 AI 寫出來的文章總是充滿著濃濃的「AI 味」?因為它預設輸出的是最安全、最平庸的平均值。這篇文章提供了一個極具實用價值的解法:不要每次都在 Prompt 裡重複你的寫作習慣,而是讓 Claude 對你進行「100 題深度採訪」,把你的寫作 DNA(特別是你討厭的詞彙與絕不妥協的觀點)寫成一個 `writing-voice.md`。結合 Claude Cowork 等工具,讓這個檔案成為你每次 AI 寫作的底層 Context。
### 餐巾紙草圖
```text
[ The Voice Profile Pipeline ]
1. The Interview (Let AI interrogate you)
- What are your hot takes?
- What words make you cringe? (e.g., "utilize", "delve")
- Show actual examples of your writing.
2. The Compilation (The .md file)
- HARD NOS (Never do this)
- STRONG TENDENCIES (Do this 80% of the time)
- ACTUAL EXAMPLES (Mimic this rhythm)
3. The Execution
- Load `writing-voice.md` into Claude Cowork context.
- Result: AI generates a draft that sounds like YOU, requiring minimal editing.
```
## ROUND 1: SKELETON | 骨架掃描
**「這篇文章在說什麼」**
* **核心問題**: 使用 AI 寫作不是錯,產生毫無個性的「AI 垃圾 (Slop)」才是錯。大多數人無法讓 AI 模仿自己的風格,因為他們給的提示詞太過模糊(例如只說「寫得專業一點」)。
* **核心答案**: 建立一個專屬的「寫作聲音設定檔 (Voice Profile)」。這個設定檔是一個 Markdown 檔案,裡面詳列了你絕對不用的詞、你的句子結構、你對文章排版的偏好,以及你真實的寫作範例。透過讓 AI 擔任「採訪者」來挖掘你的深層習慣,可以輕易建立這個檔案。
* **論證結構**: 點出 AI 寫作的問題 (預設平庸) -> 提出解法 (一個精確的 .md 檔) -> 指出建立設定檔的關鍵 (強調「你不想要什麼」比「你想要什麼」更重要) -> 提供具體的 50/100 題採訪 Prompt -> 說明如何將此檔案整合進日常工作流 (如 Claude Cowork)。
### 章節骨架
1. **AI 垃圾的來源**: AI 不認識你,所以它只能給出最安全的「平均值寫法」。
2. **解方:Voice Profile 檔案**: 一個包含你永遠不用的詞、預設句型、排版直覺與真實範例的 `.md` 檔。
3. **核心洞察 (The Insight)**: 一個好的聲音設定檔,大部分是關於「你拒絕什麼 (What you reject)」。例如:「我絕對不用分號,因為那看起來像大學論文」。
4. **如何建立檔案**:
* 不要自己從頭寫。
* 使用提供的 Prompt,讓 Claude 扮演「品味採訪者 (Taste Interviewer)」。
* 採訪規則:拒絕模糊答案、要求具體範例、指出矛盾。
5. **如何使用檔案**:
* 手動:每次對話前貼上。
* 自動:放進 Claude Cowork 的 Context 資料夾,讓它成為預設背景知識。
6. **最終目標**: AI 不是幫你寫完直接發布,而是幫你寫出一份「極度像你」的初稿,讓你只需微調。
## ROUND 2: DISSECTION | 血肉解剖
**「憑什麼這麼說」**
### 論證鏈
```text
人類的寫作風格 (Voice) 是一種難以具體名狀的隱性知識 (Tacit Knowledge) --> 傳統的 Prompt Engineering 試圖用語意模糊的形容詞來定義風格,必然導致 AI 產生平庸的結果 --> 有效的作法是翻轉流程,讓 AI 透過結構化的採訪 (Interview) 來挖掘使用者的邊界 (包含禁忌詞、不妥協的觀點、排版慣例) --> 將這些邊界具象化為一個靜態的 `.md` 檔案,做為 System Prompt 的一部分 --> 這為 AI 設定了清晰的「防護欄 (Guardrails)」,大幅提升了初稿的個人化程度與可用性。
```
### 關鍵證據
1. **逆向定義法 (Negative Definition)**: 作者指出,告訴 AI「我要直接的寫作風格」是無效的。有效的指令是「不要用分號」、「拒絕使用『利用 (utilize)』這個詞」。這在 Prompt Engineering 中稱為 Negative Prompting,對於限縮 LLM 的生成空間極度有效。
2. **AI 採訪提示詞 (Interview Prompt)**: 作者提供了一段設計精良的 100 題採訪 Prompt。其精妙之處在於設定了嚴格的 `<interview_rules>`,例如「逼問具體例子」、「指出使用者的矛盾」、「不接受『我不知道』」。這等同於讓 AI 執行一次深度的知識萃取 (Knowledge Extraction)。
3. **防過擬合指南 (Anti-Overfitting Guide)**: 在最終生成的 `.md` 檔案中,包含了對 AI 的警告:「這是品味指南,不是死板的檢查表 (Spirit Over Letter)」。這顯示了作者對 LLM 行為的深刻理解——如果規則太死,AI 寫出來的東西會比沒規則更生硬。
### 隱形假設與邊界
* **隱形假設**:
* 使用者本身必須具備鮮明的個人觀點與一定程度的寫作自覺。如果使用者本身就是一個寫作沒有特色的人,AI 採訪也無法無中生有萃取出獨特的「Voice」。
* **邊界條件**:
* 這種「預載龐大 Context」的作法,在頻繁短對話的場景下可能會消耗較多的 Token。但如前一篇文章《Agentic AI How to Save on Tokens》所述,只要這個 `.md` 檔保持靜態並放在 Prompt 最前面,就能完美利用 Prefix Caching,讓成本降到最低。
## ROUND 3: SOUL | 靈魂提取
**「還能怎麼用」**
* **知識連接**:
* 本文教導的建立 `writing-voice.md` 的方法,與《Stop Obsessing Over Prompts. Your Real Problem Is Probably CLAUDE.md》一文的核心理念完全一致:**不要依賴每次的對話 Prompt,而是要建立持久化的 Context 檔案 (CLAUDE.md / Voice.md)**。
* 將檔案放入 Claude Cowork 資料夾的作法,也呼應了 Obsidian 作為「個人知識基礎設施」的潛力。這個 Voice Profile 絕對應該成為你 Obsidian Vault 裡最核心的設定檔之一。
* **行動觸發**: 今晚就花 30 分鐘,開啟 Claude 並貼上文章中的「採訪 Prompt」。不要用打字的,用語音輸入 (Voice Dictation) 回答 Claude 的提問,這會讓你的真實語氣更自然地流露。將最終產出的 `.md` 檔存入你的 Obsidian `Agents/` 資料夾,這將是你未來所有 AI 創作的靈魂基石。
Obsidian 整理
原始文章
工作方法
讓 Claude 真正「住進」Obsidian 知識庫:MCP 與 Filesystem 實戰踩坑紀錄
"不要再把 AI 擋在你的知識庫門外。透過 Filesystem 與 MCP 雙管齊下,並把 Vault 目錄全數改為英文以避免底層路徑報錯,你就能讓 Claude 一秒內翻出你四年前寫下的思考軌跡。"
閱讀全文
---
tags: [工具技巧, 知識管理, Obsidian, MCP]
date: 2026-05-21
read: false
source: "2026-05-21T093205+0800-我花了大半天,让Claude真正\"住进\"我的Obsidian知识库.md"
---
# 讓 Claude 真正「住進」Obsidian 知識庫:MCP 與 Filesystem 實戰踩坑紀錄
原始來源與檔名:2026-05-21T093205+0800-我花了大半天,让Claude真正"住进"我的Obsidian知识库.md
---
## NAPKIN | 餐巾紙
### 餐巾紙公式
> Knowledge Agent = Filesystem Connector (Structural read/write) + MCP Server (Semantic search & logic) + Clean Directory Structure
*公式說明:要讓 AI 成為知識庫的管家,單靠手動複製貼上是低效的。透過 Claude Desktop 內建的 Filesystem 處理檔案結構,加上 obsidian-mcp 提供語意搜尋能力,並將知識庫路徑與檔名英文化 (避免編碼問題),就能打造出一個具備全局檢索能力的 AI 第二大腦。*
### 一句話
> 不要再把 AI 擋在你的知識庫門外。透過 Filesystem 與 MCP 雙管齊下,並把 Vault 目錄全數改為英文以避免底層路徑報錯,你就能讓 Claude 一秒內翻出你四年前寫下的思考軌跡。
### 餐巾紙草圖
```text
[ The Two-Pronged Setup ]
Claude Desktop
|
|-- (Scheme A: Filesystem) --> Direct I/O (Create/Move .md files) -> Local Vault
|
|-- (Scheme B: MCP Server) --> `obsidian-mcp` (Semantic Search/Tags) -> Local Vault
* Pitfall: "Allen的知识库" (Chinese Path) -> MCP breaks.
* Solution: Rename to "allen-vault" (English Path) -> MCP works -> Re-sync OneDrive/Mobile.
```
## ROUND 1: SKELETON | 骨架掃描
**「這篇文章在說什麼」**
* **核心問題**: 新手如何將 Claude 接入本地端的 Obsidian 知識庫,讓 AI 能自動讀寫、搜尋與關聯筆記,而不是仰賴手動複製貼上?
* **核心答案**: 結合兩種方案:使用 Claude 內建的 `Filesystem` 進行基礎讀寫,並架設 `obsidian-mcp` 伺服器進行高階搜尋與整理。過程中最大的地雷是「中文路徑」與「多端同步機制」,必須將 Vault 名稱與資料夾全數英文化才能穩定運作。
* **論證結構**: 動機 (為何要接上 Obsidian) -> 結論預告 -> 方案 A (Filesystem, 3分鐘搞定) -> 方案 B (MCP, 連續踩坑紀錄) -> 解決中文路徑引發的三端同步問題 -> 最終效果展示 -> 總結四個核心教訓。
### 章節骨架
1. **引言**: AI Agent 時代來臨,幾乎不需要寫程式也能打造個人智能體。
2. **兩種方案並行**:
* `Filesystem` 負責結構性操作 (穩定)。
* `obsidian-mcp` 負責內容語意搜尋 (功能強但複雜)。
3. **踩坑實錄 (MCP 配置)**:
* 坑一:Microsoft Store 版與普通版的 Config 路徑不同。
* 坑二:PowerShell 寫入中文路徑導致 UTF-8 亂碼。
* 坑三:路徑必須作為參數 (args) 傳入,不能放 env。
* 坑四:`obsidian-mcp` 不支援中文 Vault 名稱,會導致搜尋當機。
4. **三端同步的混亂**: 將資料夾英文化後,由於 OneDrive 與手機端 `Remotely Save` 插件的雙向同步機制,導致中英文資料夾並存。必須釐清「覆蓋順序」才能徹底清理。
5. **最終效果**: 成功讓 Claude 一秒內檢索出橫跨四年的「意識」相關筆記,證明了打造本地 AI 記憶庫的價值。
## ROUND 2: DISSECTION | 血肉解剖
**「憑什麼這麼說」**
### 論證鏈
```text
AI Agent 需要存取使用者的長期記憶庫 (Obsidian) 才能發揮真正價值 --> 但原生的 Claude Desktop 需要透過 MCP 協議才能深度檢索 --> MCP 工具 (如 obsidian-mcp) 由開源社群開發,通常未對非英語系環境 (中文路徑) 進行完整壓力測試 --> 導致中文路徑編碼失敗或 Vault 無法識別 --> 解決之道是妥協於底層系統:將所有根目錄與資料夾英文化,並手動排解雲端同步的衝突 --> 最終獲得流暢的 AI 讀寫體驗。
```
### 關鍵證據
1. **中文路徑的致命傷 (Encoding Issue)**: 作者記錄了 `obsidian-mcp` 會將中文 Vault 名稱 ("Allen的知识库") 強制轉為 "d-note",導致路徑迷失。這印證了在配置各類 CLI 或 MCP 伺服器時,**「路徑全英文」是避免詭異 Bug 的第一鐵律**。
2. **同步機制的時間差 (Race Condition)**: 由於 OneDrive 加上手機端的 `Remotely Save`,在本地端刪除中文資料夾後,手機端又會把它 push 回來。這在系統工程上就是典型的分散式狀態同步衝突 (State Synchronization Conflict)。
3. **兩種方案互補 (Filesystem + MCP)**: 作者體會到不需要執著於單一工具。原生的 Filesystem I/O 速度快且穩,適合搬移檔案;MCP 適合呼叫特定的搜尋邏輯,兩者在 Claude Desktop 的 `claude_desktop_config.json` 中可以完美共存。
### 隱形假設與邊界
* **隱形假設**:
* 使用者的筆記主要儲存於本地端 (Local File System),因此可以透過 Claude Desktop 直接訪問,這排除了完全雲端化 (如 Notion) 的使用情境。
* **邊界條件**:
* 配置 MCP 需要修改 JSON 檔案並了解基本的終端機/路徑概念。雖然作者自稱「非 IT 背景」,但仍需具備一定的 Debug 韌性才能走完這段流程。
## ROUND 3: SOUL | 靈魂提取
**「還能怎麼用」**
* **知識連接**: 這一篇踩坑實錄,與我們之前處理 `jkopay-agents` 中 YAML 配置檔路徑、以及上一篇提到的「不要讓模型處理跳脫字元」的 `ACI` 概念不謀而合。系統底層對於非標準字元 (如中文路徑) 永遠是不友善的。
* **行動觸發**: 檢查你目前的開發環境與知識庫。如果你的主目錄包含中文 (例如 `C:\Users\王小明\Documents\我的筆記\`),強烈建議趁早將它們全數改為英文 (`C:\Users\xiaoming\Documents\notes\`),這會為你未來的 AI 工具整合省下無數個除錯的夜晚。
---
# MCP 整合與系統狀態同步 (Architectural Deep Dive)
## 前言
這是一篇非常生動的「終端使用者踩坑報告」。從系統架構師的角度來看,這篇文章展示了在推動 AI 基礎設施落地到一般使用者端時,最容易發生斷層的兩個環節:**底層字元編碼 (Character Encoding)** 與 **分散式狀態同步 (Distributed State Synchronization)**。
## 核心架構洞察
### 1. Model Context Protocol (MCP) 的脆弱性
MCP 是 Anthropic 推出用於讓 AI 存取本地資源的標準協定。但 `obsidian-mcp` 這類開源實作,在處理字串時顯然依賴了某種預設的英文編碼假設 (如 ASCII 或未正確處理 UTF-8 的 Node.js/Python 腳本庫)。
> 架構教訓:在設計跨平台或跨語系的 Middleware (中介軟體) 時,URL Encode 或是嚴謹的 Unicode 處理是不可省略的防線。作為防禦性設計 (Defensive Design),要求系統層面統一採用英文命名,是最簡單暴力的解法。
### 2. 三端同步的 Race Condition (競爭危害)
作者在更改資料夾名稱時,遭遇了典型的**分散式系統同步問題**:
- Node A (電腦) 執行了 `Delete(中文資料夾)`。
- Node B (手機) 仍保有 `中文資料夾`,並根據其 Local State,發起了 `Push(中文資料夾)` 到 Node C (OneDrive)。
- 結果導致 Node A 剛剛刪除的資料夾又復活了。
> 架構決策:作者最終找到了正確的解法——**破壞雙向同步的對等性 (Symmetry)**。將 Node B (手機) 強制設為 `Pull only` (只讀模式),由 Node A 取得絕對的寫入權威 (Single Source of Truth),待狀態收斂後,再恢復雙向同步。這與資料庫在處理 Split-brain (腦裂) 時的選主 (Leader Election) 邏輯如出一轍。
### 3. 多路徑存取 (Multi-path Access) 的設計
作者最終採用了 `Filesystem` 與 `obsidian-mcp` 並行的架構。
* `Filesystem` 就像底層的 **Block Storage API** (直接讀寫磁區/檔案)。
* `obsidian-mcp` 就像上層的 **Search Engine API** (具備索引與語意理解)。
讓 Agent 同時掛載兩種 API,由 LLM 自行決定何時用粗暴的 I/O,何時用精緻的 Search,這正是 Agentic System 最強大的特徵——**工具路由 (Tool Routing)**。
## 總結
這篇文章證明了「AI 作業系統」的最後一哩路,往往不是大模型本身的智商,而是如何將 AI 無縫地接上人類現有的、充滿髒資料與舊習慣的 Legacy Data (遺留資料)。在通往 AGI 的路上,解決字元編碼與路徑衝突,依舊是每個工程師必修的苦工。
Obsidian 整理
原始文章
工作流
Goal Engineering: 如何用 Goal+Rider 駕馭 AI 自動化寫 Code
"不要把 Agent 當成聊天機器人,把它當作一個需要嚴格 PR 審核的開發者。透過撰寫 Goal+Rider 文件,你在 Agent 寫下第一行 Code 之前,就已經定義好驗收標準 (Tests) 與絕對不能碰的底線 (Posture),這能將 AI 的除錯成本降到零。"
閱讀全文
---
tags: [Agent架構, 工作流, 軟體工程, 最佳實踐]
date: 2026-05-21
read: false
source: "2026-05-21T093209+0800-Goal Engineering.md"
---
# Goal Engineering: 如何用 Goal+Rider 駕馭 AI 自動化寫 Code

原始來源與檔名:2026-05-21T093209+0800-Goal Engineering.md
---
## NAPKIN | 餐巾紙
### 餐巾紙公式
> Agent Work Round = Goal (Spine, ≤4000 chars) + Rider (Detail, Unbounded, 11 Phases) + Architecture Closure
*公式說明:單純的 Prompt 無法應付長時間的自動化 Agent 執行。一回合 (Round) 的工作應該由兩份納入版控的文件組成:精簡的 Goal 定義大方向與邊界,無限長的 Rider 定義具體的 11 個實作階段與測試。結束時更新架構文件。*
### 一句話
> 不要把 Agent 當成聊天機器人,把它當作一個需要嚴格 PR 審核的開發者。透過撰寫 Goal+Rider 文件,你在 Agent 寫下第一行 Code 之前,就已經定義好驗收標準 (Tests) 與絕對不能碰的底線 (Posture),這能將 AI 的除錯成本降到零。
### 餐巾紙草圖
```text
[ The Goal Engineering Loop ]
1. Trigger: One-sentence idea.
2. Skill Pre-work: Agent reads Architecture & prior Riders.
3. Draft Pair: Generates `goal.md` (≤4000 chars) & `rider.md` (11 phases).
4. Commit: `git add docs/goals/...`
5. Execution: Agent executes P1 to P11 (Write Test -> Fail -> Implement -> Green -> Commit).
6. Closure: Update AS-BUILT-ARCHITECTURE.md.
```
## ROUND 1: SKELETON | 骨架掃描
**「這篇文章在說什麼」**
* **核心問題**: 當開發者使用 Cursor 或 Claude Code 時,起初進展飛速,但隨著專案變大,Prompt 開始失控,Agent 開始偏離方向或破壞原有架構。
* **核心答案**: 提出 "Goal Engineering" 框架。放棄單次對話 (Turn) 的 Prompt,改以回合 (Round) 為單位。每回合產出一組包含在 Git 中的 Markdown 文件 (`goal.md` 和 `rider.md`),強制 Agent 遵循測試驅動開發 (TDD) 與明確的架構邊界。
* **論證結構**: 介紹工作流概觀 -> 比較 Prompt/Context/Compound/Goal Engineering 的差異 -> 深入解剖 Goal (限制與 Posture) -> 深入解剖 Rider (11 個階段與深度測試) -> 以 `deadreckon` 和 `findunmet` 兩個真實專案為例 -> 釋出自動產生 Goal+Rider 的 Claude Skill 腳本。
### 章節骨架
1. **引言與流程圖**: 一個 Trigger,兩個檔案,11 個階段,一次架構更新。
2. **Prompt 的侷限**: Prompt 無法被 Git 追蹤,無法 Code Review,也無法設定「不該做什麼 (Out-of-scope)」。
3. **The Goal**: 強制 4,000 字元上限。必須包含:Read first, Posture (防禦性邊界), Headline word (驗收標準)。
4. **The Rider**: 無字數限制。定義資料模型、11 個開發階段 (Phases)。強制要求「先寫深度測試 (Depth Tests),再寫實作」。
5. **V1-CANDIDATES.md**: 溢流閥。在開發中發現但不屬於本次回合的工作,強制寫入此檔案,防止 Agent 自作主張擴張範圍。
6. **實戰範例 (Coherence & Liveness)**: 展示如何透過 Rider 鎖定 UI 的位元組級細節,以及如何制定穩健的錯誤重試架構。
7. **Skill 實作**: 提供可直接複製使用的 `goal-rider-author` 技能腳本。
## ROUND 2: DISSECTION | 血肉解剖
**「憑什麼這麼說」**
### 論證鏈
```text
長時間運行的 Agent 會在遇到壓力時「發明」解決方案 (例如隨意修改資料庫 Schema) --> 傳統的 Prompt 缺乏對邊界 (Posture) 的約束力 --> 解決方法是將需求實體化為版本控制的 Goal+Rider 文件 --> 強制 Agent 在每回合 (Round) 中嚴格執行 11 個階段 (TDD: 寫測試->實作->綠燈->Commit) --> 讓 Agent 的產出具有可預測性、可驗證性,並持續累積為專案的知識基底。
```
### 關鍵證據
1. **Posture (姿態/邊界)**: Goal 中最重要的一環是定義「不做什麼」。例如:*No schema changes. No new deps. No rebuild.* 這是防止 Agent 產生幻覺 (Hallucination) 並擅自更改架構的最強防線。
2. **Depth Tests (深度測試)**: Rider 要求 Agent 在實作前,先寫出如 `stallguard_kills_after_no_output_growth` 這樣極度具體行為的測試。只有在測試寫出並確認 Fail 後,才允許實作。這是嚴格的 TDD (測試驅動開發) 實踐。
3. **Files, not fields (檔案優於欄位)**: 為了確保狀態在崩潰後依然存活,作者要求 Agent 將狀態寫入實體檔案 (如 `/tmp/run/stage.current`),而非記憶體中的 struct field。這顯示了作者對於系統韌性 (Liveness) 的深刻理解。
### 隱形假設與邊界
* **隱形假設**:
* 專案本身已經具備完善的 CI/CD 或本地編譯/測試命令 (如 `cargo test`, `go test`),否則 Agent 綠燈 (Green) 的驗收循環無法閉環。
* 使用者了解並願意採用這套極度嚴格、甚至略顯繁瑣的儀式感 (Ritual)。
* **邊界條件**:
* 作者坦承這套方法適用於「一個功能,2 到 5 個檔案,需要半天到一天 Agent 執行時間」的中大型任務。對於只需 15 分鐘的 CSS 微調,使用 Goal Engineering 是牛刀殺雞。
## ROUND 3: SOUL | 靈魂提取
**「還能怎麼用」**
* **知識連接**: 本文提到的 `V1-CANDIDATES.md` 溢流閥,完美呼應了軟體工程中的「技術債管理」與上一篇提到的「不要讓模型處理跳脫字元 (降低認知負載)」。Goal+Rider 就是作者為 Agent 設計的 **ACI (Agent-Computer Interface)**。
* **行動觸發**: 在開始下一個中型功能開發前,不要直接對 Cursor 說 "幫我做 XXX"。先建立一個 `docs/goals/` 資料夾,寫下你的 Headline word 與 Posture,明確告訴 AI 什麼「絕對不能碰」。
---
# 從 Prompt 到規格化工程 (Architectural Deep Dive)
## 前言
這篇文章是目前關於 Agentic Coding (智能體寫程式) 領域中,最具工程深度的實戰指南。它標誌著人類使用 AI 的方式,從「對話式的祈使句 (Conversational Imperative)」正式邁入「宣告式的狀態機合約 (Declarative State-Machine Contracts)」。
## 核心架構洞察
### 1. 消除 Agent 的發明權 (Constraining Agent Invention)
Agent 的天性是為了完成目標而不擇手段 (Reward Hacking)。如果你叫它修復一個 UI 狀態,它可能會順手幫你把資料庫 Schema 給改了。
* **防禦性編程 (Defensive Programming)** 在這裡被提升到了 **防禦性 Prompting**。
* `Posture` 區段的本質,就是在設定 Agent 搜索空間 (Search Space) 的剪枝規則 (Pruning Rules)。明確宣告 `No DB schema changes`,等於在路徑規劃的演算法中封鎖了那條分支。
### 2. 測試驅動的 AI 迴圈 (Test-Driven AI Loop)
作者在 Rider 中強制的 11 個 Phases,是將軟體工程的最佳實踐 (TDD) 強加於 AI。
* **Write Test -> Watch Fail -> Implement -> Green -> Commit**
* 這解決了 LLM 常見的「自圓其說」問題。如果讓 LLM 先寫 Code 再寫 Test,它會寫出剛好能通過該 Code 的廢物測試。強制先寫出 Failing Test,是利用編譯器 (Compiler) 這種決定性 (Deterministic) 系統,來牽制 LLM 的非決定性 (Non-deterministic) 產出。
### 3. 可延續的認知基底 (Compound Cognitive Substrate)
* **Prompt Engineering** 的單位是 Turn (單次對話),結束即消失。
* **Goal Engineering** 的單位是 Round (回合),產出的 `goal.md` 和更新的 `AS-BUILT-ARCHITECTURE.md` 會成為 Git 歷史的一部分。
* 當下一個回合開始時,Agent 讀取的是上一回合留下來的精煉知識。這就是為什麼作者說這套系統是「累積承諾 (Compounds promises)」。這完美解決了長專案中 Context Window 被雜亂對話塞滿導致的「失憶症」。
## 總結
真正的 Senior Developer 不在於寫 Code 的速度,而在於控制系統複雜度的能力。Goal Engineering 是一套讓 AI 乖乖遵守軟體工程紀律的韁繩。未來,開發者的核心價值不再是打字,而是撰寫精準無誤的 `Goal` 與 `Rider`。
Obsidian 整理
原始文章
工作流
如何打造 Obsidian 自動化儀表板:從「儲存器」到「整合層」
"別再讓自己成為大腦中各個專案和待辦事項的「手動整合器」。透過 Obsidian 的 Dataview 插件與標準化屬性,你可以打造一個永遠自動保持最新狀態的儀表板,讓你在每天早晨打開電腦的第一秒,就知道今天最重要的事情是什麼。"
閱讀全文
---
tags: [效率工具, 工作流, 知識管理, Obsidian]
date: 2026-05-21
read: false
source: "2026-05-21T093227+0800-How to Build an Obsidian Dashboard That Shows You Everything That Matters Today.md"
---
# 如何打造 Obsidian 自動化儀表板:從「儲存器」到「整合層」

原始來源與檔名:2026-05-21T093227+0800-How to Build an Obsidian Dashboard That Shows You Everything That Matters Today.md
---
## NAPKIN | 餐巾紙
### 餐巾紙公式
> Obsidian Dashboard = Centralized Queries (Dataview) + Decentralized Data (YAML Properties) + Daily Briefing (MCP/Claude)
*公式說明:一個真正有效率的儀表板,本身「不儲存」任何資訊,而是作為一個「讀取層 (Read Layer)」。透過嚴謹的 YAML 屬性管理分散在各處的專案與任務,並透過 Dataview 動態聚合,最終交由 Claude 進行語意分析與晨間匯報。*
### 一句話
> 別再讓自己成為大腦中各個專案和待辦事項的「手動整合器」。透過 Obsidian 的 Dataview 插件與標準化屬性,你可以打造一個永遠自動保持最新狀態的儀表板,讓你在每天早晨打開電腦的第一秒,就知道今天最重要的事情是什麼。
### 餐巾紙草圖
```text
[ Data Sources (YAML) ]
Project A (status: active, next_action: "Call Bob")
Client B (mrr: 3000, health: atrisk)
Daily Note (OPEN: "Review contract")
|
v (Dataview Queries)
[ Dashboard.md (The Read Layer) ]
- Today's Priorities (Top 10)
- Active Projects Status
- Client Health Monitor
- Open Loops
|
v (MCP / N8N / Claude)
[ Morning Briefing ]
"Focus on Client B today, they are at risk. Then review the contract."
```
## ROUND 1: SKELETON | 骨架掃描
**「這篇文章在說什麼」**
* **核心問題**: 現代工作者每天早晨需要花費大量時間在不同工具 (Email, Slack, Calendar, Task list) 之間切換,試圖拼湊出「今天到底該做什麼」的完整圖像,這種手動的資訊整合極度耗費心力。
* **核心答案**: 在 Obsidian 建立一個「唯讀 (Read-only)」的儀表板。這個儀表板利用 Dataview 插件,將散落在整個 Vault 中的專案、任務、客戶狀態與未結循環 (Open Loops) 聚合在單一頁面上。加上 Claude Code MCP 的輔助,甚至能自動生成晨間摘要。
* **論證結構**: 提出痛點 -> 確立核心原則 (唯讀不存) -> 定義儀表板的 6 大區塊 -> 實作教學 (安裝 Dataview, 標準化 YAML) -> 分解 6 個 Query 語法 -> 進階玩法 (接上 Claude 產生 Briefing) -> 養成 3 個習慣以維持系統準確。
### 章節骨架
1. **引言**: 你不該成為資訊系統的整合層。
2. **核心原則**: 儀表板是「讀取 (Read)」資訊,而不是「儲存 (Store)」資訊。
3. **六大區塊**: 今日優先、活躍專案、未來七天死線、客戶健康度、未結循環 (Open Loops)、營收脈搏 (MRR)。
4. **技術基礎**: 依賴 Dataview 插件與嚴格一致的 YAML Properties。
5. **Query 實作**: 給出了 6 段具體的 Dataview SQL-like 語法,並解釋其排序邏輯 (例如 `LIMIT 10` 的強制聚焦)。
6. **Claude MCP 整合**: 透過 N8N 自動讓 Claude 讀取儀表板並總結出 300 字內的 Actionable Briefing,甚至自動寫回狀態更新。
7. **維護習慣**: 即時更新屬性、使用 `OPEN:` 標籤、每日傍晚的 3 分鐘回顧。
## ROUND 2: DISSECTION | 血肉解剖
**「憑什麼這麼說」**
### 論證鏈
```text
人類大腦不擅長在不同系統間同步狀態 --> 如果依賴手動維護總表,總表注定會過期失效 --> 解決方案是將資料(Markdown筆記)與視圖(Dashboard)分離 --> 透過強型別的 YAML 屬性 (Metadata) 確保資料結構化 --> 透過 Dataview 實現視圖的即時渲染 (Live Rendering) --> 當底層資料足夠豐富與準確時,甚至能交由 LLM 進行高階的語意總結 (Morning Briefing)。
```
### 關鍵證據
1. **限制 10 項 (LIMIT 10)**: 這是系統設計中的人性考量。如果儀表板顯示 40 個過期任務,只會帶來焦慮;限制 10 個,則強迫使用者在底層資料 (YAML) 進行誠實的優先級重估。
2. **開放循環 (OPEN:)**: 許多重要但瑣碎的雜事不適合變成正式的 Task。作者發明的 `OPEN:` 前綴字串,搭配 Dataview 的字串搜尋 (`contains`),完美解決了「昨日未完結思緒」的捕捉問題。
3. **唯讀架構 (Read Not Store)**: 這是全篇最重要的工程思維。Dashboard 本身是 Stateless (無狀態) 的,所有的 State (狀態) 都分散在各個具體的 Project 或 Client 檔案中。這遵循了資料庫設計中的「單一真實來源 (Single Source of Truth)」原則。
### 隱形假設與邊界
* **隱形假設**:
* 使用者高度依賴 Obsidian 作為主要的工作與知識管理系統。如果專案進度主要在 Jira、客戶資料在 Salesforce,這個儀表板的價值就會大打折扣。
* 使用者擁有極強的紀律 (Discipline),能夠「即時」更新各個筆記的 YAML 屬性。
* **邊界條件**:
* Dataview 的查詢效能。當 Vault 的檔案數量超過數萬個時,如果不針對特定資料夾 (如 `FROM "01 - PROJECTS"`) 進行限制,全域搜尋可能會導致儀表板載入緩慢。
## ROUND 3: SOUL | 靈魂提取
**「還能怎麼用」**
* **知識連接**: 本文提到的 YAML Properties 標準化,與上一篇《Goal Engineering》中提到的「Files, not fields」概念有異曲同工之妙。兩者都在追求狀態 (State) 的持久化與機器可讀性 (Machine-readability)。
* **行動觸發**: 今天就去檢查你的 Obsidian。如果你還在手動維護一份名為 "To-Do" 或 "Dashboard" 的純文字清單,立刻安裝 Dataview,並把你的專案狀態轉移到 YAML 中,用 Query 取代手動輸入。
---
# 狀態解耦與宣告式視圖 (Architectural Deep Dive)
## 前言
從軟體工程的角度來看,多數人的筆記軟體用法是「命令式 (Imperative)」的:手動把任務 A 複製到今日清單。而這篇文章提出的是一種**「宣告式 (Declarative)」與「MVC 架構」**的個人知識庫設計。
## 核心架構洞察
### 1. MVC 架構在筆記軟體中的實踐
這套 Dashboard 系統完美對應了 Model-View-Controller 架構:
* **Model (資料層)**:分散在 `01 - PROJECTS`、`02 - TASKS` 等資料夾中的 `.md` 檔案及其 YAML Properties。它們是 Single Source of Truth。
* **View (視圖層)**:`Dashboard.md` 本身。它不包含實體資料,只有 Dataview Query (類似 SQL View),負責資料的聚合與呈現。
* **Controller (控制層)**:使用者 (或是後文提到的 Claude Code),負責修改 Model 中的 YAML 狀態。
### 2. Schema Enforcement (綱要強制性)
> "The property names must match exactly between your notes and your queries."
作者強調了屬性名稱必須完全一致。這點出了無結構化文本 (Unstructured Text) 轉向半結構化 (Semi-structured) 時的最大痛點。沒有強型別 (Strong Typing) 或 Schema 驗證的 Markdown,極容易因為拼寫錯誤 (`dueDate` vs `due`) 導致資料遺失。在未來的 Agent 時代,為個人知識庫建立嚴格的 JSON Schema/YAML Schema 將成為標配。
### 3. Agent 介入的切入點 (Where AI fits in)
文章後半段引入 Claude MCP 來撰寫 Morning Briefing,這是極高明的設計:
* **LLM 不擅長在無垠的資料海中搜尋精確事實** (容易幻覺或消耗過多 Context)。
* **Dataview 非常擅長精確過濾與聚合資料**。
* 將 Dataview 跑出來的「乾淨、聚合後的 6 大區塊資料」作為 Prompt 餵給 Claude,這正是典型的 **RAG (Retrieval-Augmented Generation)** 架構的縮影。傳統檢索 (Dataview) 負責 Recall,LLM 負責 Reasoning (推論與總結)。
## 總結
一個高效的儀表板,不是把所有東西都塞在一起,而是建立一套嚴格的「資料讀寫分離」協議。當你的知識庫結構化到 Dataview 可以完美查詢時,它就已經準備好成為 AI Agent 最理想的外部記憶體了。
Obsidian 整理
原始文章
思維模型
我從零到千萬的飛輪系統:現金流 · 核心資產 · Alpha
"真正能跨越週期的投資系統,是建立在「不需要被迫賣出」的現金流防禦之上,用高風險 Alpha 獲取本金,再用核心資產鎖定複利的動態飛輪。"
閱讀全文
---
tags: [思維模型, 商業模式, 投資系統]
date: 2026-05-21
read: false
source: "2026-05-21T092951+0800-我从零到千万的飞轮系统现金流 · 核心资产 · Alpha.md"
---
# 我從零到千萬的飛輪系統:現金流 · 核心資產 · Alpha

原始來源與檔名:2026-05-21T092951+0800-我从零到千万的飞轮系统现金流 · 核心资产 · Alpha.md
---
## NAPKIN | 餐巾紙
### 餐巾紙公式
> Wealth Flywheel = (Cashflow to survive) + (Alpha to multiply) -> (Core Assets to compound)
*公式說明:財富的增長不靠單一要素,而是透過「現金流」確保極端市況下不被迫賣出,「Alpha 機會」提供高槓桿本金放大,最終將所有利潤沉澱至「核心資產」以時間換取複利。*
### 一句話
> 真正能跨越週期的投資系統,是建立在「不需要被迫賣出」的現金流防禦之上,用高風險 Alpha 獲取本金,再用核心資產鎖定複利的動態飛輪。
### 餐巾紙草圖
```text
[ 現金流 (Cashflow) ]
| (防禦:提供生存底氣)
v
[ 核心資產 (Core Assets) ] <--- (利潤沉澱:降維打擊、時間複利)
^
| (攻擊:放大本金)
[ Alpha 機會 (Alpha) ]
```
## ROUND 1: SKELETON | 骨架掃描
**「這篇文章在說什麼」**
* **核心問題**: 為什麼許多人在幣圈或高風險市場中賺過大錢,最終卻還是無法實現階級跨越?
* **核心答案**: 因為他們沒有建立「現金流、核心資產、Alpha」三位一體的飛輪系統。拿不住資產往往不是因為認知不足,而是因為缺乏現金流導致「被迫賣出」。
* **論證結構**: 破除認知迷思 -> 拆解飛輪三大元件 (防禦、沉澱、攻擊) -> 闡述飛輪結合後的指數級威力。
### 章節骨架
1. **引言**: 放棄賽道理論,回歸最底層的賺錢系統。
2. **輪子一 (現金流)**: 意義不在發財,而在於讓你不被迫下車。
3. **輪子二 (核心資產)**: 意義在於放大本金、做時間的朋友。
4. **輪子三 (Alpha 機會)**: 意義不在暴富,而在為核心資產輸送本金。
5. **結論**: 三個輪子組合的威力與系統不中斷的重要性。
## ROUND 2: DISSECTION | 血肉解剖
**「憑什麼這麼說」**
### 論證鏈
```text
資產暴跌時若無現金流生活 --> 必須賣出核心資產 --> 中斷複利效應。
若只有現金流無 Alpha --> 累積本金過慢。
若只有 Alpha 無核心資產 --> 利潤無法保存,最終在下一次高風險博弈中歸零。
因此,三者必須互為因果,形成閉環。
```
### 關鍵證據
1. **作者親身經歷**: 2017 年月薪 3400,靠著每月定投 1000 元撐過 2020 年 312 大跌 (資產縮水 75%),因為有工資 (現金流),所以沒賣掉 BTC/ETH/BNB (核心資產),最終在 2021 迎來大爆發。
2. **數學邏輯**: 從 1 萬到 1000 萬需要 1000 倍;但若用 Alpha 賺到 100 萬 (100倍) 放入核心資產,後續只需 10 倍即可達標。核心資產的作用是「把你後面要求的倍數,一路變小」。
### 隱形假設與邊界
* **隱形假設**:
* 所選擇的「核心資產」長期來看確實具備向上增值的潛力(如 BTC、優質房產等)。若選錯核心資產(如歸零幣),飛輪會反向崩塌。
* 投資者具備將 Alpha 利潤果斷抽離並投入核心資產的自律能力,不被 FOMO 情緒吞噬。
## ROUND 3: SOUL | 靈魂提取
**「還能怎麼用」**
* **知識連接**: 與軟體架構中的「高可用系統設計 (High Availability)」高度相似。現金流就是「Redundancy (冗餘)」,確保主系統崩潰時不下線;Alpha 是「Burst Capacity (突發算力)」;核心資產則是「Persistent Database (持久化存儲)」。
* **行動觸發**: 檢視個人目前的投資組合。若缺乏現金流,應立即停止高風險投資,先建立穩定的場外現金流機制;若在 Alpha 中獲利,強制設定 70% 的利潤轉入核心資產,絕不復投於同等高風險項目。
---
# 飛輪系統架構解析 (Architectural Deep Dive)
## 前言
這篇文章從個人的財務實踐出發,提出了一套極具工程思維的「財富飛輪架構」。作者將財富增長視為一個由三個獨立微服務(Microservices)組成的閉環系統:現金流、核心資產、Alpha 機會。這套架構的核心價值在於其**極高的容錯率 (Fault Tolerance)** 與**解耦設計 (Decoupling)**。
## 系統元件解析
### 1. 容錯層:現金流 (Cashflow)
* **架構定位**:系統的 UPS(不斷電系統)與冗餘機制。
* **深層意義**:作者指出一個極為銳利的洞察:「拿不住核心資產,很可能不是你認知不夠,而是你沒有一筆完全不需要花的錢。」在系統架構中,如果一個長期進程(Long-running process)隨時可能因為資源耗盡(生活開銷、意外)被作業系統強制中止(OOM Killed),那它永遠無法完成運算(複利)。現金流的存在,就是為了確保核心資產的進程不被中斷。
### 2. 狀態持久層:核心資產 (Core Assets)
* **架構定位**:系統的持久化資料庫 (Persistent Storage) 與複利引擎。
* **深層意義**:核心資產的作用是「降低後續增長所需要的倍數」。在架構上,這等同於「狀態累積 (State Accumulation)」。沒有核心資產的 Alpha 玩家,就像是每次請求都在無狀態 (Stateless) 的環境下運行,雖然單次效能可能很高,但無法享有全局快取 (Global Cache) 帶來的規模遞增效應。
### 3. 突發運算層:Alpha 機會
* **架構定位**:系統的彈性擴容 (Auto-scaling) 節點,用於捕獲非對稱收益。
* **深層意義**:Alpha 的意義在於「為持久層輸送足夠多的初始資料 (本金)」。作者強調,Alpha 賺來的錢不應該繼續留在高風險的記憶體中,而必須立刻寫入硬碟(核心資產)進行快照 (Snapshot)。
## 架構師洞察:反脆弱 (Antifragility) 系統設計
這套系統最精彩的地方在於它對「槓桿」的定義。作者強調:「場內槓桿別碰,因為它會把你變成那個『被迫賣出』的人。」
在分散式系統中,場內槓桿等同於「同步阻塞呼叫 (Synchronous Blocking Call)」,一旦下游服務(市場價格)發生劇烈波動,整個系統就會級聯失效 (Cascading Failure)。相反地,現金流提供的是「非同步的資源注入」,確保了系統的**反脆弱性**。只要飛輪不斷,時間就是系統的朋友,而非敵人。
Obsidian 整理
原始文章
效率工具
2026 年的 Obsidian 終極指南:將筆記化為第二大腦
"不要再把 Obsidian 當作另一個 Evernote 了。它是你的個人知識庫的「後端資料庫 (Backend)」。這份 2026 年的終極指南拆解了從 PARA、Zettelkasten 筆記法,到 Bases (資料庫) 新功能,再到與 Claude Code MCP 及本地 LLM 整合的進階玩法。這不僅是軟體教學,這是一場關於資料主權的宣言。"
閱讀全文
---
tags: [效率工具, 知識管理, 工作流, 工具技巧]
date: 2026-05-21
read: false
source: "2026-05-21T093506+0800-Master Obsidian The Complete and Definitive Guide to Turning Your Notes into a Second Brain.md"
---
# 2026 年的 Obsidian 終極指南:將筆記化為第二大腦

原始來源與檔名:2026-05-21T093506+0800-Master Obsidian The Complete and Definitive Guide to Turning Your Notes into a Second Brain.md
---
## NAPKIN | 餐巾紙
### 餐巾紙公式
> Obsidian = Local First (Data Sovereignty) + Plain Text (Durability) + Bidirectional Links (Zettelkasten) + Plugins/AI (Extensibility)
*公式說明:Obsidian 之所以在 Notion 和 Google Docs 等雲端巨頭的夾擊下,於 2026 年依然保持 22% 的年增長率,是因為它堅持了「本地優先、開放格式」的底線。當你的筆記變成純文字且互相關聯的網路時,它就不再是軟體的附屬品,而是你能夠持有數十年的「知識基礎設施 (Data Layer)」。*
### 一句話
> 不要再把 Obsidian 當作另一個 Evernote 了。它是你的個人知識庫的「後端資料庫 (Backend)」。這份 2026 年的終極指南拆解了從 PARA、Zettelkasten 筆記法,到 Bases (資料庫) 新功能,再到與 Claude Code MCP 及本地 LLM 整合的進階玩法。這不僅是軟體教學,這是一場關於資料主權的宣言。
### 餐巾紙草圖
```text
[ The 5-Step Obsidian Workflow ]
1. Capture (Inbox, Quick notes, No judgment)
2. Organize (PARA or Zettelkasten)
3. Connect (Bidirectional [[Links]])
4. Visualize (Graph View to spot orphans & hubs)
5. Reflect (Daily Notes, Periodic reviews)
↓
(In 2026) + AI Agent Layer (Claude via MCP / Local LLMs via Ollama)
```
## ROUND 1: SKELETON | 骨架掃描
**「這篇文章在說什麼」**
* **核心問題**: 在「雲端訂閱制」當道的軟體市場中,為何一個僅有 18 名員工、堅持「本地端 + 純文字」的 Obsidian 能夠在 2026 年成為個人知識管理 (PKM) 的霸主?新手又該如何克服其陡峭的學習曲線?
* **核心答案**: Obsidian 提供的是「資料主權 (Data Sovereignty)」與「未來兼容性 (Future-Proof)」。文章提供了一份全方位的操作指南,涵蓋核心哲學、基礎操作、組織方法 (PARA vs Zettelkasten)、必備外掛 (Dataview, Templater)、新功能 (Bases) 以及 2026 年最重要的趨勢:作為 AI Agent 的底層資料庫。
* **論證結構**: 哲學基底 (Why) -> 核心功能介紹 (What) -> 工作流程 (How to 5 steps) -> 新手起步指南 -> 進階功能與快捷鍵 -> 外掛與模板生態 -> 2026 最新趨勢 (Bases + AI MCP 整合) -> 誰適合/誰不適合的決策樹。
### 章節骨架
1. **為什麼是 Obsidian**: 本地端、極速、高度客製、雙向連結、離線可用、保證未來 10 年讀得懂 (Plain text)。
2. **Obsidian 能做什麼**: 從捕獲想法到視覺化連接 (Graph View),它是數位時代的 Zettelkasten。
3. **工作流五步曲**: Capture (捕獲) -> Organize (組織) -> Connect (連接) -> Visualize (視覺化) -> Reflect (反思/Daily Notes)。
4. **組織哲學**: PARA (適合行動導向的專案管理) vs Zettelkasten (適合知識沉澱與寫作)。
5. **核心功能與 2026 新特性**: 詳述 Wikilinks, Backlinks, Properties, Canvas,以及重大更新 **Bases (原生資料庫)**。
6. **外掛與模板**: 推薦 Dataview (筆記查詢) 與 Templater (自動化腳本),並提供實用的模板範例。
7. **AI 整合 (The Future)**: 透過 MCP 讓 Claude Code 接管 Vault,或是使用 Ollama 跑本地 LLM,確保隱私。
8. **結論**: Obsidian 不適合需要即時協作或零學習曲線的人,它是為注重「長期知識積累」的思考者打造的。
## ROUND 2: DISSECTION | 血肉解剖
**「憑什麼這麼說」**
### 論證鏈
```text
現代知識工作者的痛點在於「平台依賴 (Platform Dependency)」與「大腦記憶不可靠」--> 將筆記儲存為本地 Markdown 檔案能解決平台依賴,確保數十年後的讀取權 --> 雙向連結 (`[[ ]]`) 與 Graph View 解決了人類大腦不擅長儲存但擅長聯想的特性,實現了知識的「複利效應」--> 隨著 Plugins、Bases 的加入,Vault 具備了結構化查詢能力 --> 最終,這個結構化且充滿上下文的 Vault,成為了 AI Agent (如 Claude) 完美的「外掛大腦 (Context Provider)」,完成了從「筆記軟體」到「個人智慧基礎設施」的進化。
```
### 關鍵證據
1. **資料主權的對比**: 文章點出 Evernote 的瀕臨破產、Roam Research 的漲價,以及 Google Keep 隨時可能被砍的風險。相比之下,即使 Obsidian 公司明天倒閉,你的 `.md` 檔依然可以用任何文字編輯器打開。這對於需要累積 5-10 年領域知識的專家來說,是唯一解。
2. **「Bases」功能的補齊**: 過去 Obsidian 被批評缺乏 Notion 那樣的結構化資料庫能力。2025-2026 推出的 Bases 功能補足了這塊拼圖,讓 Obsidian 在維持本地檔案的前提下,具備了 Database 的威力。
3. **MCP 與 AI 的結合**: 文中舉了一個極具說服力的例子:透過 MCP 讓 Claude Code 掃描 Vault,自動揪出 76 本沒有封面的讀書筆記,並透過 Google Books API 自動補齊屬性 (Properties)。這證明了 Obsidian 已經不再是「你寫筆記」的地方,而是「AI 幫你整理知識」的後台。
### 隱形假設與邊界
* **隱形假設**:
* 使用者願意度過前期的陣痛期,並有紀律地維持「每日筆記 (Daily Notes)」與「雙向連結」的習慣。
* **邊界條件**:
* 如果使用者的工作場景高度依賴「多人即時協同編輯 (Real-time Collaboration)」,Obsidian 的本地檔案同步機制 (即使是官方 Sync 或 Git) 都會顯得笨拙,這時 Notion 或 Google Docs 仍是首選。
## ROUND 3: SOUL | 靈魂提取
**「還能怎麼用」**
* **知識連接**:
* 這篇文章中提到的「Obsidian 作為 AI 的 Data Layer」與《11 Open-Source Repos Every AI Infra Engineer Should Bookmark》中提到的 `AgentGateway` 和 `MCP` 協議遙相呼應。Obsidian 的 Vault 就是 MCP 最完美的數據來源 (Data Source)。
* 這也回應了《The State of Statefulness in AI Agents》中對「持久化營運狀態」的渴求。Obsidian 的 Graph 加上 Event Logs,就是 Agent 夢寐以求的有狀態記憶體!
* **行動觸發**: 如果你還在用預設的 Obsidian,請馬上做三件事:1. 建立 `CLAUDE.md` 規範你的筆記格式;2. 安裝 `Dataview` 外掛;3. 如果你是開發者,試著寫一個 MCP Server 橋接你的 Obsidian Vault 和 Claude Code,體驗「擁有一個完全了解你大腦的 AI 助理」的震撼。
---
# Obsidian 2026:個人雲 (Personal Cloud) 的最終型態 (Architectural Deep Dive)
## 前言
這是一篇披著「筆記軟體教學」外皮的「個人資料架構白皮書」。在 2026 年,軟體即服務 (SaaS) 的弊端已經顯露無遺(訂閱費高昂、隱私外洩、AI 訓練資料掠奪),Obsidian 的爆紅代表了一種逆勢而行的「數位在地主義 (Digital Localism)」。
## 核心架構洞察
### 1. Markdown as a Database (MaaD)
這篇文章展示了 Obsidian 檔案格式的極限演化:
* **早期**:Markdown 只是輕量級的 HTML 替代品。
* **中期**:YAML Frontmatter (Properties) 的引入,讓 `.md` 檔案變成了一筆筆帶有 Metadata 的記錄 (Records)。
* **現在**:透過 `Dataview` 和原生的 `Bases`,Obsidian 把資料夾變成了 Table,把檔案變成了 Row,把 YAML 變成了 Column。
這是一種極度優雅的架構設計:在保有純文字的「可讀性」與「攜帶性」的同時,外掛了一層「關聯式查詢引擎」。
### 2. 網路拓樸 (Network Topology) 的湧現
傳統筆記 (如 Evernote) 是「樹狀結構 (Tree)」,必須在儲存的當下決定分類。
* Obsidian 是「圖結構 (Graph)」。`[[Wikilinks]]` 創造了點對點的 Edge。
* 文章中提到,Graph View 的目的不是為了好看,而是為了**「除錯你的認知 (Debugging your cognition)」**。孤兒節點 (Orphans) 代表未消化的資訊,密集叢集 (Clusters) 代表你的專業領域。
* 這種無綱要 (Schemaless)、延遲綁定 (Late-binding) 的組織方式,完美契合了人類大腦神經元突觸的生長模式。
### 3. Agent 時代的最佳 Context Provider
文章最後提到的 AI 整合,是 2026 年最大的破局點。
* **為什麼 LLM 需要 Obsidian?** 因為 LLM (即使 Context Window 再大) 缺乏「個人的、長期累積的、結構化的上下文」。
* 如果把 Claude Code 視為一顆強大的 CPU,那麼 Obsidian 的 Vault 就是一塊預先載入了你一生經驗的 L3 Cache。
* 透過 Model Context Protocol (MCP),Agent 可以執行 SQL-like 的查詢 (藉由 Dataview) 或 Semantic Search (語義搜索),直接讀取你的 Zettelkasten,這比單純的 RAG (檢索增強生成) 強大太多,因為你的筆記本身已經包含了高度提煉的邏輯關係 (Edges)。
## 總結
在 2026 年,Obsidian 已經不再是「筆記軟體」,它是「**個人知識基礎設施 (Personal Knowledge Infrastructure)**」。當你開始用架構師的眼光來看待你的 Vault(設定 Scheme、設計 Query、串接 API),你就不再只是在記筆記,而是在為自己編寫一個能伴隨一生的外掛大腦。
Obsidian 整理
原始文章
產業趨勢
未來十年的七大真實投資主題:當世界還在關注本週財報時
"別再緊盯每天的股市波動,去看看世界在未來 5-10 年的真實走向。作者提出了七個將深刻改變人類社會的結構性趨勢:機器人、應用型 AI、個人化基因健康、加密貨幣(限定三項)、無人機、太空製造以及預測市場。最關鍵的投資心法是:買「賣鏟子的人」(底層零組件與基礎設施),而不是去淘金。"
閱讀全文
---
tags: [產業趨勢, AI商業, 投資策略]
date: 2026-05-21
read: false
source: "2026-05-21T093512+0800-7 Things I’m Actually Investing in for the Next Decade.md"
---
# 未來十年的七大真實投資主題:當世界還在關注本週財報時

原始來源與檔名:2026-05-21T093512+0800-7 Things I’m Actually Investing in for the Next Decade.md
---
## NAPKIN | 餐巾紙
### 餐巾紙公式
> Next Decade ROI = (Theme Maturation) × (Infrastructure / Component Layer) - (Hype Pricing)
*公式說明:在評估未來十年的長期投資時,真正的阿爾法 (Alpha) 不在於購買被大眾狂熱追捧的終端產品公司 (Hype Pricing),而在於投資支撐這些革命性趨勢底層的基礎設施與零組件層 (Infrastructure Layer)。*
### 一句話
> 別再緊盯每天的股市波動,去看看世界在未來 5-10 年的真實走向。作者提出了七個將深刻改變人類社會的結構性趨勢:機器人、應用型 AI、個人化基因健康、加密貨幣(限定三項)、無人機、太空製造以及預測市場。最關鍵的投資心法是:買「賣鏟子的人」(底層零組件與基礎設施),而不是去淘金。
### 餐巾紙草圖
```text
The "Pick and Shovel" Investment Strategy
[ Theme ] [ The Hype (Avoid/Hold) ] [ The Real Play (Invest) ]
Robotics ---> Tesla / Uber Robotics ---> Sensors, Chips, Actuators
Applied AI ---> OpenAI / Foundational ---> Non-tech SMBs with 90% AI margins
Crypto ---> Altcoins / L1s ---> Bitcoin, Stablecoins, Tokenization Infra
Drones ---> Consumer camera drones ---> Dual-use (Military offense + defense)
Space ---> SpaceX (Too obvious) ---> Zero-gravity manufacturing (e.g. Varda)
```
## ROUND 1: SKELETON | 骨架掃描
**「這篇文章在說什麼」**
* **核心問題**: 大多數投資者被短期的市場噪音 (財報、升息) 蒙蔽,錯失了能夠在未來 5 到 10 年創造巨大財富的「結構性趨勢 (Structural Trends)」。
* **核心答案**: 作者列出了七個具備高確定性且即將爆發的領域:機器人自動化、應用型 AI (非底層大模型)、個人化基因健康、去蕪存菁的加密貨幣、軍商兩用無人機、太空製造與真實的預測市場。並強調真正的利潤藏在這些產業的「基礎設施層」。
* **論證結構**: 前言 (呼籲拉長投資視野) -> 逐一剖析七大主題 (指出大眾認知的盲區,並給出精確的投資切入點) -> 總結操作框架 (尋找即將上市的基礎設施公司,保持耐心)。
### 章節骨架
1. **機器人與自動化**: 不只是自駕車,重點是感測器晶片供應鏈、遠端採礦與正在醞釀爆發的「人形機器人」。
2. **應用型 AI**: 不買 OpenAI,去買那些因為極度依賴 AI 導致成本結構崩潰 (利潤暴增) 的非科技領域傳統公司。
3. **個人化健康與基因**: DNA 定序與賀爾蒙優化,結合 AI 數據分析 (如智慧床墊數據),將醫療從被動轉為主動。
4. **加密貨幣 (只買三樣)**: 砍掉所有投機幣。只留:Bitcoin (終極保值)、穩定幣 (現成的支付基建)、代幣化 (Tokenization,金融管線升級)。
5. **無人機**: 焦點在於「軍商兩用」的自動化系統,以及能同時開發攻擊與防禦系統的軍工企業。
6. **太空**: 重點不是誰能上太空 (SpaceX 已經贏了),而是上去之後能帶回什麼 (例如:無重力環境下的製藥公司 Varda)。
7. **真實的預測市場**: 不是用來賭博,而是作為對沖真實世界特定經濟指標風險的金融工具。
8. **實踐框架**: 找尋兩三年後即將上市的公司,以及挖掘支撐明星公司的底層供應鏈。
## ROUND 2: DISSECTION | 血肉解剖
**「憑什麼這麼說」**
### 論證鏈
```text
科技突破 (如 AI、火箭發射成本降低、自動化) 已經跨越了概念驗證階段,正在改變實體世界的成本結構 (Cost Structure) --> 然而,市場的焦點依然過度集中在「面向消費者的頂層公司」(如 OpenAI、SpaceX) 或「短線的投機敘事」(如 Altcoins、賭博型預測市場) --> 這些頂層公司的估值已經透支了未來的預期,且面臨激烈的競爭 --> 因此,長期投資的最佳風險報酬比 (Risk-Adjusted Return),存在於為這些巨頭提供運算、感測、支付結算或硬體組件的「基礎設施層」。
```
### 關鍵證據
1. **應用 AI 的成本破壞**: 作者舉了一個兩人的公司,利用 AI 堆疊處理所有行銷與營運,預期營收達 18 億美元。這證明了 AI 最可怕的不是模型能力,而是將企業的營運成本降至接近零,從而創造出前所未有的毛利率。
2. **太空經濟的典範轉移**: 以 Varda 為例,證明太空投資的邏輯已經從「運輸 (Launch)」轉向了「應用 (Manufacturing)」。能在無重力下生產地球無法製造的藥物,這是一個已經在運作的真實商業模式。
3. **加密貨幣的「減法」**: 作者嚴格過濾掉 L1 公鏈與 Altcoin,指出只有 Bitcoin 具有宏觀對沖價值,而穩定幣是唯一已經在真實世界運作的支付基建。這反映了從「敘事炒作」到「實際應用」的成熟視角。
### 隱形假設與邊界
* **隱形假設**:
* 全球的監管環境 (如自駕車法規、無人機軍事應用限制、加密貨幣合規性) 最終會向新技術妥協並開放。
* **邊界條件**:
* 作者推薦尋找「2-3 年內即將上市 (IPO) 的公司」,這意味著投資者需要具備參與一級市場 (Private Market/VC) 的管道或對即將 IPO 的公司有極敏銳的追蹤能力,這對一般散戶來說門檻較高。
## ROUND 3: SOUL | 靈魂提取
**「還能怎麼用」**
* **知識連接**:
* 本文對「應用型 AI 改變成本結構」的洞察,完美呼應了《Agentic AI How to Save on Tokens》中對於 AI 經濟學的探討:企業將為了極致的利潤而瘋狂優化 AI 的運行成本 (Token 成本)。
* 而「機器人感測器與晶片」的投資邏輯,也與現代 AI Infrastructure 強烈依賴底層硬體 (GPU/NPU) 的趨勢如出一轍。
* **行動觸發**: 當你在評估下一個科技趨勢時,停止購買最常上新聞的那家公司。畫出它的供應鏈架構圖 (Architecture Diagram),找到那些「如果沒有它,這個產品就做不出來」的 B2B 元件供應商,將其納入你的長期觀察名單。
Obsidian 整理
原始文章
產業趨勢
決定你未來十年的 10 項 AI 技能:從「使用者」到「系統建構者」的進化之路
"到了 2030 年,90% 的人會抱怨 AI 搶走他們的工作,只有 10% 的人會因為掌握 AI 而讓生產力提升 10 倍。這篇文章盤點了決定未來成敗的 10 大 AI 核心技能,其核心精神只有一個:停止將 AI 當作「聊天機器人」,開始將其視為「能自主思考、規劃與執行的系統模組」。"
閱讀全文
---
tags: [產業趨勢, 認知框架, AI技能, 職涯發展]
date: 2026-05-21
read: false
source: "2026-05-21T093528+0800-10 AI Skills That Will Decide Your Future.md"
---
# 決定你未來十年的 10 項 AI 技能:從「使用者」到「系統建構者」的進化之路

原始來源與檔名:2026-05-21T093528+0800-10 AI Skills That Will Decide Your Future.md
---
## NAPKIN | 餐巾紙
### 餐巾紙公式
> Future AI Professional = Prompting (The Base) + Agentic Workflows (Execution) + AEO/RAG (Context) + LLM Management (Scaling)
*公式說明:在 2026 年,單純會「寫 Prompt」已經不夠了。未來的頂尖人才必須具備將 AI 從「單次問答工具」升級為「自動化代理人 (Agents)」的能力,懂得運用 RAG 注入私有知識,優化 AEO 以迎合 AI 搜尋,最終透過 LLM 管理與工具堆疊 (Tool Stacking) 打造出可規模化的商業系統。*
### 一句話
> 到了 2030 年,90% 的人會抱怨 AI 搶走他們的工作,只有 10% 的人會因為掌握 AI 而讓生產力提升 10 倍。這篇文章盤點了決定未來成敗的 10 大 AI 核心技能,其核心精神只有一個:停止將 AI 當作「聊天機器人」,開始將其視為「能自主思考、規劃與執行的系統模組」。
### 餐巾紙草圖
```text
[ The AI Skill Evolution Curve ]
Level 1: The User (Basic)
- Prompt Engineering (Asking better questions)
- AI Content Generation (Scaling output)
Level 2: The Orchestrator (Intermediate)
- AI Agents (Delegating tasks, not just queries)
- Workflow Automation (Connecting tools via Zapier/Make)
- Multimodal AI (Text + Image + Video in one flow)
Level 3: The Architect (Advanced)
- Agentic AI (Systems that plan, self-correct, and loop)
- RAG (Injecting private truth into LLMs)
- AI Tool Stacking (Creating cohesive systems)
- LLM Management (Balancing cost, speed, and quality)
- AEO/GEO (Optimizing for AI search engines)
```
## ROUND 1: SKELETON | 骨架掃描
**「這篇文章在說什麼」**
* **核心問題**: AI 革命正在迅速改變工作型態。如果只把 AI 當作高階 Google 來用,遲早會被淘汰。一般工作者需要掌握哪些具體技能,才能在這個浪潮中存活並脫穎而出?
* **核心答案**: 掌握 10 項漸進式的 AI 技能:從基礎的 Prompt Engineering,到自動化的 Agents 與 Workflows,再到進階的架構能力如 RAG、Agentic 思考、多模態整合、工具堆疊,以及最終的 LLM 成本與效能管理。
* **論證結構**: 破題 (2030年的兩種結局) -> 基礎技能 (Prompting, Content) -> 執行技能 (Agents, Automation, Multimodal) -> 架構技能 (Agentic AI, RAG, Tool Stacking, LLM Management) -> 商業技能 (AEO) -> 結論行動呼籲。
### 章節骨架
1. **Prompt Engineering**: 核心在於給予「方向 (Direction)」(角色、目標受眾、格式、禁忌)。
2. **AI Agents**: 從「回答問題」進化到「完成端到端任務 (End-to-End Tasks)」。
3. **Workflow Automation**: 透過 Make/Zapier,讓 AI 工具之間的資料流動自動化。
4. **Agentic AI**: 讓 AI 具備「思考、規劃、自我修正」的迴圈能力,成為真正的 Problem Solver。
5. **Multimodal AI**: 整合文本、圖像、影音,打破媒介壁壘,實現單人全端創作。
6. **RAG (檢索增強生成)**: 教導 AI 使用你的私有數據回答問題,解決幻覺,使其具備商業價值。
7. **AEO / GEO (AI 引擎最佳化)**: 隨著使用者從 Google 轉向 ChatGPT/Perplexity,內容必須為「AI 的擷取」而優化。
8. **AI Tool Stacking**: 將多個 AI 工具串接成一個系統,實現零人工干預的流水線。
9. **AI Content Generation**: 聰明地將單一長內容拆解、重組並發布到多個平台。
10. **LLM Management**: 進階技能。在產品中動態分配任務給不同的大模型 (便宜 vs. 昂貴),以平衡成本與效能。
## ROUND 2: DISSECTION | 血肉解剖
**「憑什麼這麼說」**
### 論證鏈
```text
人類與 AI 互動的方式正在經歷從「指令式 (Declarative)」到「代理式 (Agentic)」的典範轉移 --> 傳統的工作者只會給定單一指令並期待完美結果,一旦失敗就歸咎於 AI 能力不足 --> 未來的工作者必須具備「系統性思維 (Systems Thinking)」,透過 RAG 提供精確上下文,透過 Workflow 與 Tool Stacking 串接流程,並利用 Agentic AI 處理邊界條件與錯誤恢復 --> 這種能力的躍升,本質上是將個人從「勞動者 (Worker)」轉變為「系統架構師 (System Architect)」,這才是 10x 生產力的真實來源。
```
### 關鍵證據
1. **從 Chatbot 到 Agentic 的思維跨度**: 作者精確區分了「AI 代理 (做你交代的事)」與「Agentic AI (自己規劃並改進做事方法)」。前者如使用 CrewAI 進行資料收集,後者如使用 Reflexion 或 DSPy 讓模型在輸出前進行自我批判與修正。
2. **AEO (Answer Engine Optimization) 的崛起**: 點出傳統 SEO 正在衰退,未來的流量入口是 ChatGPT 與 Gemini 等 AI 工具。這證明了內容產出的目標受眾已經從「搜尋引擎爬蟲」變成了「大語言模型」。
3. **LLM 經濟學的覺醒 (LLM Management)**: 作者將 LLM Management 列為最高階技能。這與《Agentic AI How to Save on Tokens》一文的觀點完全吻合:當你從「個人玩票」走向「商業部署」時,Model Routing (簡單任務用便宜模型,複雜任務用聰明模型) 決定了你的產品能否存活。
### 隱形假設與邊界
* **隱形假設**:
* 假設未來的勞動市場會高度獎勵這些具備 AI 系統建構能力的人,並且企業願意放權讓員工部署自動化 Agent。
* **邊界條件**:
* 這 10 項技能涵蓋的範圍極廣,從行銷 (AEO) 到軟體工程 (RAG, LLM Management)。要求單一個人完全精通這 10 項是不切實際的。讀者應該將其視為一幅「技能地圖 (Skill Map)」,根據自身的職涯選擇對應的象限深入。
## ROUND 3: SOUL | 靈魂提取
**「還能怎麼用」**
* **知識連接**:
* 這 10 項技能清單,實際上就是我們這個 Agent 系統的「能力反射」。我們已經實作了 **RAG** (透過 Obsidian PageIndex)、**Agentic AI** (透過 Antigravity 框架的非同步思考與重試機制),以及 **LLM Management** (透過精細的 Token 控制與快取策略)。
* 這篇文章可以作為我們檢視自身開發進度的 Checklist,確認我們是否遺漏了任何關鍵的現代 AI 基礎設施。
* **行動觸發**: 不要被這 10 項技能嚇到。挑選其中最痛的一項開始。如果你每天都在複製貼上報表,明天就去註冊一個 Make (Integromat) 帳號,試著把你的 Email 觸發連動到 Google Sheets 和 LLM。從這一個小小的 Workflow 開始,你的「系統建構者」之路就啟動了。
Obsidian 整理
原始文章
知識管理
GraphRAG 淺顯易懂的架構解析:連接結構化事實與非結構化規則
"為什麼我們需要 GraphRAG?因為真實世界的商業運作不是孤立的。單純的資料庫查不出「中東戰爭對我們哪個供應鏈的影響」,單純的 RAG 也無法準確追溯「政策改變對哪一張訂單的運費產生波動」。GraphRAG 將「非結構化的外部資訊」掛載到「結構化的內部知識圖譜節點」上,讓 AI Agent 具備了洞察蝴蝶效應的能力。"
閱讀全文
---
tags: [知識管理, 系統架構, GraphRAG, 知識圖譜]
date: 2026-05-21
read: false
source: "2026-05-21T093518+0800-GraphRAG — Easy Explanation.md"
---
# GraphRAG 淺顯易懂的架構解析:連接結構化事實與非結構化規則

原始來源與檔名:2026-05-21T093518+0800-GraphRAG — Easy Explanation.md
---
## NAPKIN | 餐巾紙
### 餐巾紙公式
> GraphRAG = Relational Data (What happened) + Graph Ontology (Rules/Dependencies) + Unstructured RAG (External Events/Risks)
*公式說明:傳統的關聯式資料庫只能告訴你「發生了什麼事實 (Fact)」。透過 Ontology (本體論/知識圖譜),我們建立了事實之間的關聯與規則。最後加入 RAG (處理非結構化的 PDF、新聞、政策),讓 LLM 能夠將「外部突發事件 (如天災、戰爭)」對應到你的「商業圖譜」上,從而進行風險評估與決策。*
### 一句話
> 為什麼我們需要 GraphRAG?因為真實世界的商業運作不是孤立的。單純的資料庫查不出「中東戰爭對我們哪個供應鏈的影響」,單純的 RAG 也無法準確追溯「政策改變對哪一張訂單的運費產生波動」。GraphRAG 將「非結構化的外部資訊」掛載到「結構化的內部知識圖譜節點」上,讓 AI Agent 具備了洞察蝴蝶效應的能力。
### 餐巾紙草圖
```text
[ The GraphRAG Paradigm ]
1. The Facts (Relational)
Customer --bought--> Product --shipped by--> Carrier
2. The Graph/Ontology (Rules)
Order --shipping_rule_applied--> (Ship_Rules Node)
3. The GraphRAG (The External Context)
[PDF: New Export Law] --> RAG Agent --> Identifies Entities (Carrier, Region)
--> Connects to Graph --> Predicts Impact on Specific Orders.
```
## ROUND 1: SKELETON | 骨架掃描
**「這篇文章在說什麼」**
* **核心問題**: 關聯式資料庫 (RDB) 擅長記錄交易事實,但無法處理複雜的規則與外部突發事件。單純的 RAG 擅長讀取非結構化文件,但缺乏精確的實體關聯。如何讓 AI 能夠回答「某個城市淹水,對我們公司訂單的影響」這種牽涉內外資料的複雜問題?
* **核心答案**: 使用 GraphRAG。將關聯式資料轉換為 GraphDB (Ontology) 以消除複雜的 Join,然後從非結構化文件 (如 PDF、新聞) 中抽取實體 (Entities)、關係與業務規則,並將這些規則「掛載」到 Graph 的節點上。當問題發生時,Agent 先透過 RAG 定位相關規則節點,再順著 Graph 的邊 (Edges) 找出受影響的業務交易。
* **論證結構**: 關聯式資料庫的侷限 (只看見事實) -> GraphDB/Ontology 的優勢 (解決複雜 Join 與規則綁定) -> 真實世界的挑戰 (天災、法規變動存在於非結構化文件中) -> GraphRAG 的解法 (擷取實體與關係,將規則掛載到節點) -> 結論 (AI 必須了解業務所處的環境脈絡)。
### 章節骨架
1. **資料庫的極限 (Relational DBs)**: 表格資料只能說明「發生了什麼事 (What happened)」,但無法說明「背後的業務規則」或「供應鏈依賴關係」。
2. **知識圖譜的解法 (GraphDB/Ontology)**: 將規則與屬性 (如運費、物流商) 轉換為 Nodes (節點) 與 Relationships (關係)。這讓 AI 代理能夠透過圖遍歷 (Traverse) 來避免幻覺 (Hallucinations) 與複雜的 SQL Join。
3. **非結構化挑戰**: 當面對「戰爭導致海運封鎖」或「法規改變」時,這些資訊存在於非結構化的新聞、Email、PDF 中。
4. **GraphRAG 登場**:
* 從非結構化資料萃取:1. 實體 (如城市、供應商) 2. 關係 (如 APPLIES_TO, DEPENDS_ON) 3. 規則與時效性。
* 將非結構化文本 (Rules Text) 綁定到對應的圖譜節點上。
5. **運作邏輯**: Agent 透過 RAG (向量檢索) 進入對應的節點,然後再沿著 Graph (結構化路徑) 找出關聯的商業數據 (訂單、庫存)。
## ROUND 2: DISSECTION | 血肉解剖
**「憑什麼這麼說」**
### 論證鏈
```text
企業要讓 AI Agent 產生商業價值,就必須讓 AI 理解「外部事件如何影響內部營運」--> 傳統資料庫只儲存了內部營運結果,缺乏外部脈絡;而單純的文件 RAG 缺乏與內部數據精確對應的結構 --> 因此,必須引入 Ontology (本體論),將業務定義為圖譜 (Nodes & Edges) --> 接著,透過 LLM 從非結構化文件擷取實體與關係,將「知識」注入到圖譜中 (GraphRAG) --> 最終,AI 能夠利用 RAG 找到切入點 (Entry Node),並利用 Graph 的邊緣進行推理 (Reasoning),回答出「政策變動影響了哪些特定訂單」的高價值問題。
```
### 關鍵證據
1. **解決 NLQ (自然語言查詢) 的幻覺**: 在傳統關聯資料庫上執行 Text-to-SQL 時,只要涉及多表 Join,LLM 很容易產生幻覺或寫錯 SQL。GraphDB 透過實體關係 `(:Order)-[:SHIPPING_RULE_APPLIED]->(:SHIP_RULES)` 預先定義了路徑,為 AI Agent 提供了「堅實的推理基礎 (Solid Ground)」。
2. **非結構化資料的降維**: 世界上大部分的商業規則 (如政府法規、合約條款) 都不是存在 Table 裡的。GraphRAG 將這些 PDF 轉化為「實體 (Entities)」和「關係 (Relationships)」,將混亂的真實世界降維成計算機能處理的圖結構。
3. **雙重檢索機制**: 作者精準描述了 GraphRAG 的威力在於「起點與路徑」。RAG 負責找到起點 (例如:根據提問檢索到「中東戰爭」相關的規則節點),Graph 負責路徑遍歷 (從中東節點追溯到物流商,再追溯到特定的客戶訂單)。
### 隱形假設與邊界
* **隱形假設**:
* 假設企業擁有足夠強大的 LLM 管道 (Pipeline) 與提示工程 (Prompt Engineering) 能力,能夠穩定地從非結構化文本中精準抽取 Entities 和 Relationships。這在實務上(Entity Extraction & Disambiguation)是非常困難且成本高昂的一步。
* **邊界條件**:
* 文章將 GraphRAG 描繪得很美好,但忽略了維護 Graph Schema (本體定義) 的巨大人工成本。隨著商業環境改變,Ontology 本身會過時,這需要專業的知識工程師持續介入。
## ROUND 3: SOUL | 靈魂提取
**「還能怎麼用」**
* **知識連接**:
* 本文對 GraphRAG 的定義,恰好印證了《Obsidian 作為第二大腦》中 `[[Wikilinks]]` 所形成的網路拓樸,本質上就是一種輕量級的 GraphDB。你在 Obsidian 中透過 Dataview 進行查詢,就是在執行個人級別的 GraphRAG。
* 這也呼應了《Agentic AI》中避免「Token 浪費」的概念:透過 Graph 提供精確的路徑,Agent 就不需要把整本 PDF 的 Context 都塞進 Prompt,只需載入相關節點的 Metadata 即可。
* **行動觸發**: 如果你的專案還在痛苦地微調 (Fine-tune) 模型來試圖讓 AI「記住」公司的商業邏輯,請停止。改為建置一個 Neo4j (GraphDB),將你們的產品、客戶、法規建立 Ontology,然後讓 Agent 利用 RAG 定位節點、利用 Cypher 查詢圖譜。這才是解決企業 AI 幻覺的正確架構。
Obsidian 整理
原始文章
知識管理
將 Obsidian 轉變為永不崩潰的個人作業系統
"不要再把 Obsidian 當作筆記本,而是透過嚴格的 8 個目錄規範、單一信任來源 (CLAUDE.md) 與自動化 Agent,將它升級為一個「即使你怠惰好幾天,系統依然能自我維護並產出洞察」的個人作業系統。"
Top 5 Insights
**從 Tool 到 Operating System**:工具需要你主動去點擊,而作業系統會在你睡覺時執行 Garbage Collection 與日誌分析。結合 MCP 與排程器,筆記軟體正式跨入 Agentic 時代。 **容錯性優先 (Fault Tolerance First)**:最好的系統不是能把事情做得多完美的系統,而是當主節點(人類)離線或效能低落時,系統仍能降級運行且不遺失資料的系統。 **批次處理的威力**:透過 `05 - QUEUE` 目錄,作者實現了非同步的命令模式 (Command Pattern)。人類下達指令 (DRAFT-email.md),AI 在背景批次處理,這極大地節省了人類的注意力頻寬。
閱讀全文
---
tags: [知識管理, Agent架構, 生產力系統, 自動化]
date: 2026-05-21
read: false
source: "2026-05-21T093003+0800-How to Turn Obsidian Into a Personal Operating System That Never Breaks Down.md"
---
# 將 Obsidian 轉變為永不崩潰的個人作業系統

原始來源與檔名:2026-05-21T093003+0800-How to Turn Obsidian Into a Personal Operating System That Never Breaks Down.md
---
## NAPKIN | 餐巾紙
### 餐巾紙公式
> Personal OS = Obsidian (Storage) + Claude MCP (Intelligence) + N8N (Automation)
*公式說明:傳統筆記軟體之所以會崩潰,是因為它們只提供了儲存層。一個真正的「作業系統」需要三層架構:Obsidian 作為靜態資料儲存庫,Claude 提供智能分析與生成,最後由 N8N 定時自動驅動整個循環,無需人類手動介入。*
### 一句話
> 不要再把 Obsidian 當作筆記本,而是透過嚴格的 8 個目錄規範、單一信任來源 (CLAUDE.md) 與自動化 Agent,將它升級為一個「即使你怠惰好幾天,系統依然能自我維護並產出洞察」的個人作業系統。
### 餐巾紙草圖
```text
[ Automation Layer (N8N) ] --- (Triggers on schedule)
|
v
[ Intelligence Layer (Claude) ] --- (Reads CLAUDE.md context)
|
v
[ Storage Layer (Obsidian) ]
- 00 CAPTURE (Inbox) ---> Claude auto-sorts to ---> ACTIVE/RESOURCES
- 05 QUEUE (Tasks) ---> Claude auto-executes ---> GENERATED
```
## ROUND 1: SKELETON | 骨架掃描
**「這篇文章在說什麼」**
* **核心問題**: 為什麼大多數的生產力系統(如 Zettelkasten, PARA)最終都會崩潰並被使用者放棄?
* **核心答案**: 因為它們是為「好日子(精力充沛時)」設計的,依賴大量的人工維護。解法是建立一個以 Obsidian 為底層的三層架構(儲存、智能、自動化),讓系統能在你狀況不佳時「自我運作」。
* **論證結構**: 系統崩潰原因 -> 三層架構理論 -> 固定的 Vault 目錄結構 -> `CLAUDE.md` 的關鍵作用 -> 五大自動化工作流 -> 防崩潰機制的底層邏輯。
### 章節骨架
1. **痛點分析**: 人工維護負擔、複雜度失控、缺乏智能層。
2. **三層架構**: Storage (Obsidian), Intelligence (Claude), Automation (N8N)。
3. **絕對目錄結構**: 8 個不重疊的資料夾(Capture, Active, Resources 等)。
4. **智能核心**: `CLAUDE.md` 作為單一上下文真相來源。
5. **五大自動化**: 晨間簡報、收集箱處理、週檢視、佇列處理、專案健康監控。
6. **反崩潰機制**: Capture 緩衝區、永不刪除原則、單一更新源。
## ROUND 2: DISSECTION | 血肉解剖
**「憑什麼這麼說」**
### 論證鏈
```text
傳統系統依賴人工分類與更新 --> 人在疲憊時會停止維護,導致系統腐敗 --> 引入 Agent (Claude) 取代人工進行分類與分析 --> 透過 N8N 建立 Cron Job 確保 Agent 定時執行 --> 因此,就算使用者三天沒打開軟體,系統依然會把收集箱整理好,並在週一早晨生成專案健康報告。
```
### 關鍵證據
1. **Workflow 2 (The Capture Processor)**: 透過 Prompt 指導 Claude,每天晚上 8 點自動讀取 `00 - CAPTURE` 資料夾,判斷筆記是任務、靈感還是參考資料,並將原始檔移至 `ARCHIVE`,將整理好的內容分發到正確目錄,徹底消除「整理收件匣」的心理壓力。
2. **Workflow 5 (The Project Health Monitor)**: 每週一早上自動讀取所有 `ACTIVE` 專案的 `overview.md`,若超過 7 天無活動,自動寫入 `QUEUE` 提醒人類介入。這展示了系統的「主動性 (Proactivity)」。
3. **CLAUDE.md**: 透過強制要求在 Vault 根目錄放置一個定義個人狀態與當前優先級的 MD 檔,解決了每次與 AI 互動都需要重新提供 Context 的痛點。
### 隱形假設與邊界
* **隱形假設**:
* Claude 的自然語言理解能力足夠穩定,不會將關鍵的「任務」誤判為「垃圾筆記」並錯誤歸檔。
* 使用者願意且能夠設定 N8N 伺服器並串接 Claude MCP (Model Context Protocol)。
* **邊界條件**:
* 此系統極度依賴 API 的穩定性與 Token 成本。若 Vault 體積過於龐大(數十萬字),每次的全局 Context 讀取將會面臨嚴重的 Context Window 限制與極高的 API 費用。
## ROUND 3: SOUL | 靈魂提取
**「還能怎麼用」**
* **知識連接**: 這個架構完美體現了軟體工程中的 **MVC 模式** (Model = Obsidian, View = 生成的 Markdown, Controller = N8N + Claude),以及 **Cron Job** 定時任務維護系統健康的理念。
* **行動觸發**: 在個人的 Obsidian 根目錄立即建立一個 `CLAUDE.md`,並使用它作為所有本地 AI 工具 (如 Cursor, Claude Desktop) 的 System Prompt 注入源,大幅提升個人化精準度。
---
# 個人作業系統 (POS) 架構解析 (Architectural Deep Dive)
## 前言
本文提出了一個具備高度工程化思維的 Obsidian 生產力架構設計。作者精準地指出了現有 PKM (Personal Knowledge Management) 系統的致命傷:**極度依賴人工維護 (High Maintenance Burden)**。為此,作者借鏡了軟體系統的非同步處理 (Asynchronous Processing) 與自動化微服務架構,建構了一個能「容忍人類怠惰」的防脆系統 (Anti-fragile System)。
## 系統架構解析
### 1. 三層式架構 (Three-Tier Architecture)
這不再是一個資料庫,而是一個完整的應用系統:
* **儲存層 (Storage)**:Obsidian 提供靜態的 Markdown 資料庫。它具備資料持久性 (Durability) 與無廠商綁定 (Vendor-lock-in free) 特性。
* **運算/智能層 (Intelligence)**:Claude Desktop 透過 Filesystem MCP (Model Context Protocol) 獲得了對本機檔案系統的讀寫權限,充當系統的中央處理器。
* **排程與觸發層 (Automation)**:N8N 作為 Orchestrator,定時透過 API 觸發 Claude 執行特定任務。
### 2. 狀態管理與目錄規範 (State Management)
作者定義了 8 個嚴格互斥的目錄,這在架構上等同於定義了明確的資料結構與狀態生命週期:
* `00 - CAPTURE`:扮演了系統的**訊息佇列 (Message Queue/Buffer)**。人類只負責把原始資料拋入 Queue,由 Worker (Claude) 異步消費並分類。這解耦了「擷取」與「組織」兩個行為。
* `03 - SYSTEM`:存放 `CLAUDE.md` (環境變數/System Prompt) 與工作流定義,這就是基礎設施即程式碼 (IaC) 的體現。
* `07 - ARCHIVE`:強制採取 **Append-only (只增不減)** 與 **Soft-delete (軟刪除)** 策略,這保證了資料永遠不會遺失。
### 3. 基於單一真相來源的 Context Injection
系統中最精妙的設計是 `CLAUDE.md`。
在 AI Agent 架構中,最困難的是如何維持 Agent 對世界的最新認知。作者強制要求人類每週一更新 `CLAUDE.md`,將「近期目標」、「不可更改的原則」寫入其中。所有 N8N 觸發的 Workflow 都被強制要求在 Prompt 開頭讀取此檔案。
> 架構決策:這實作了一個極為輕量且高效的 **Global Context State**,避免了昂貴的 Vector RAG 檢索,直接用最準確的 Metadata 覆蓋模型的背景認知。
## 總結與結論
* **從 Tool 到 Operating System**:工具需要你主動去點擊,而作業系統會在你睡覺時執行 Garbage Collection 與日誌分析。結合 MCP 與排程器,筆記軟體正式跨入 Agentic 時代。
* **容錯性優先 (Fault Tolerance First)**:最好的系統不是能把事情做得多完美的系統,而是當主節點(人類)離線或效能低落時,系統仍能降級運行且不遺失資料的系統。
* **批次處理的威力**:透過 `05 - QUEUE` 目錄,作者實現了非同步的命令模式 (Command Pattern)。人類下達指令 (DRAFT-email.md),AI 在背景批次處理,這極大地節省了人類的注意力頻寬。
Obsidian 整理
原始文章
硬體基礎設施
Inference Engines for LLMs & Local AI Hardware (2026 Edition)
"選擇 LLM 推理引擎不應盲從流行,而必須基於你的硬體策略、工作負載特徵(Context 長度、並發數)與部署規模(單機/叢集)來反向推導。"
Top 5 Insights
**VRAM 決定是否能跑,頻寬決定跑多快**。不要被 unified memory 的大容量迷惑而忽視了 HBM (高頻寬記憶體) 在高並發吞吐量上的絕對統治力。 **互連頻寬 (Interconnect) 決定平行策略**。在沒有 NVLink 的多卡環境下,盲目使用張量平行 (Tensor Parallelism) 會因通訊開銷導致效能崩潰,應改用管線平行 (Pipeline Parallelism)。 **拒絕外行評測**。單一使用者的 Token/s 是無效指標。基準測試必須涵蓋 TTFT (首字延遲)、TPOT (每個 Token 延遲)、P99 延遲分佈、以及在目標並發數下的真實吞吐量。
閱讀全文
---
tags: [硬體基礎設施, AI工程, 系統架構, 推理引擎]
date: 2026-05-21
read: false
source: "2026-05-21T092959+0800-Inference Engines for LLMs & Local AI Hardware (2026 Edition).md"
---
# Inference Engines for LLMs & Local AI Hardware (2026 Edition)

原始來源與檔名:2026-05-21T092959+0800-Inference Engines for LLMs & Local AI Hardware (2026 Edition).md
---
## NAPKIN | 餐巾紙
### 餐巾紙公式
> LLM Inference Performance = Memory Bandwidth (Decode) + Scheduler Quality (Concurrency)
*公式說明:LLM 的推理效能並不主要取決於算力 (FLOPs),而是取決於記憶體頻寬(決定生成速度)與排程器品質(決定多用戶並發時的資源利用率與延遲)。*
### 一句話
> 選擇 LLM 推理引擎不應盲從流行,而必須基於你的硬體策略、工作負載特徵(Context 長度、並發數)與部署規模(單機/叢集)來反向推導。
### 餐巾紙草圖
```text
[ Hardware & Workload Strategy ]
|
v
[ The Decision Matrix ]
- Mac / Apple Silicon --> MLX
- Offline / Edge / Weird HW --> llama.cpp
- Single/Dual RTX GPU --> ExLlamaV2/V3
- Prod Serving (Open) --> vLLM
- Complex Routing / Disaggregation --> SGLang
- NVIDIA Max Perf (Data Center) --> TensorRT-LLM
```
## ROUND 1: SKELETON | 骨架掃描
**「這篇文章在說什麼」**
* **核心問題**: 在琳瑯滿目的開源 LLM 推理引擎(vLLM, llama.cpp, TensorRT 等)中,開發者該如何為自己的專案做出正確的技術選型?
* **核心答案**: 推理引擎的選擇是硬體策略的延伸。必須先釐清硬體架構(記憶體頻寬 vs. 容量)、工作負載(Prefill vs. Decode)、並發需求,引擎的答案自然會浮現。
* **論證結構**: 定義引擎功能 -> 分析效能瓶頸 -> 對比四大引擎家族 -> 提供硬體對應配方 (Recipes) -> 點出評測基準與常見錯誤。
### 章節骨架
1. **引言**: 引擎不是模型,而是交通警察、記憶體管理員。
2. **效能瓶頸本質**: Prefill (算力瓶頸) vs. Decode (頻寬瓶頸);VRAM 決定能裝多大,Bandwidth 決定跑多快。
3. **引擎家族解析**:
* 便攜之王: llama.cpp
* Apple 專武: MLX
* 消費級 CUDA 極限: ExLlamaV2/V3
* 生產級標配: vLLM / SGLang / TensorRT-LLM
4. **基準測試原則**: 拒絕單一 Token/s 數據,重視 P99 延遲與實際場景。
## ROUND 2: DISSECTION | 血肉解剖
**「憑什麼這麼說」**
### 論證鏈
```text
模型生成分為 Prefill 和 Decode 兩個階段 --> Decode 階段每一個 Token 都需要讀取所有權重與 KV Cache,因此嚴重依賴記憶體頻寬 --> Unified Memory (如 Mac) 容量大能裝下大模型,但頻寬不如 HBM,因此生成慢 --> 因此,針對不同的硬體瓶頸與應用場景(單機研發 vs. 雲端高並發),必須使用針對該場景優化過記憶體管理的專屬引擎。
```
### 關鍵證據
1. **頻寬差異**: 蘋果 M3 Ultra 擁有 819 GB/s 統一記憶體頻寬,而 NVIDIA H100 SXM 擁有 3.35 TB/s。這就是為什麼 Mac 能「裝下」大模型但推論速度無法比擬 H100 的物理原因。
2. **KV Cache 危機**: 當 Context 變長或並發數增加時,KV Cache 的碎片化會吃光記憶體。這正是 vLLM (PagedAttention) 和 SGLang (RadixAttention) 能在生產環境稱霸的原因。
3. **互連瓶頸 (Interconnect)**: 跨 GPU 溝通成本極高,vLLM 文件明確指出,在缺乏 NVLink 的環境下,Pipeline Parallelism 可能比 Tensor Parallelism 表現更好。
### 隱形假設與邊界
* **隱形假設**:
* 開發者有能力根據自身業務量(RPS, Input/Output 長度)建立準確的基準測試 (Benchmark)。
* 量化格式 (GGUF, EXL2, AWQ) 必須與選定的推理引擎內建核心 (Kernels) 高度匹配,否則效能會大打折扣。
* **邊界條件**:
* 本文主要針對 NVIDIA 體系與 Apple Silicon 進行了深度優化對比,對於 AMD ROCm 生態的著墨較少,僅建議直接使用 vLLM 或 SGLang 進行測試。
## ROUND 3: SOUL | 靈魂提取
**「還能怎麼用」**
* **知識連接**: 推理引擎的 PagedAttention 技術,本質上就是作業系統中「虛擬記憶體分頁 (Virtual Memory Paging)」概念在 LLM 領域的重現;而 SGLang 的 Prefill-Decode 分離,則等同於微服務架構中的「讀寫分離 (CQRS)」。
* **行動觸發**: 絕對不要在生產環境的架構圖上畫一個 Ollama。如果是高並發線上服務,立即遷移至 vLLM,並根據實際業務配置 Prefix Caching。
---
# 推理引擎與硬體選型指南 (Architectural Deep Dive)
## 前言
本文為架構師與 AI Infra 工程師提供了一份決定性的技術選型指南。在建構自託管 (Self-hosted) LLM 服務時,多數人常犯的錯誤是「先選工具,再想架構」。作者嚴正指出,推理引擎 (Inference Engine) 只是作業系統的核心排程器,架構師必須先定義硬體拓撲、記憶體階層與負載形狀,才能選出最適合的引擎。
## 核心架構洞察
### 1. 運算本質:Prefill vs. Decode
理解 LLM 推理效能的基石,在於將工作負載拆分為兩個異質階段:
* **Prefill 階段 (提示詞處理)**:將整段 Prompt 消化並建立 KV Cache。這是**算力密集型 (Compute-bound)** 操作。
* **Decode 階段 (文字生成)**:逐字生成 Token,每生成一個字都需把幾十 GB 的權重與 KV Cache 搬運一次。這是極端的**記憶體頻寬密集型 (Memory-bandwidth-bound)** 操作。
> 架構決策:如果業務場景是「短 Prompt,長輸出」(如寫程式),你需要優化記憶體頻寬與 Batching;如果是「長 Prompt,短輸出」(如 RAG 摘要),你必須選擇擁有優異 Attention Kernels 與 Chunked Prefill 技術的引擎。
### 2. 生產級系統的護城河:記憶體與排程
在生產環境 (Production Serving) 中,阻礙系統擴展的通常不是算力,而是 **KV Cache 爆炸** 與 **排程效率**。
* **vLLM** 透過引入 `PagedAttention`,解決了 KV Cache 的記憶體碎片問題,是開源生產環境的默認首選。
* **SGLang** 則進一步解決了「長 Context 塞車」問題。它採用了 **Prefill-Decode Disaggregation (讀寫分離架構)**,將算力密集的 Prefill 分配給專屬節點,記憶體密集的 Decode 分配給另一群節點,徹底避免了長提示詞卡死短生成的延遲毛刺 (Latency Spikes)。
### 3. 推理引擎象限與選型配方
架構師應根據部署環境進行精準打擊:
* **異質/邊緣計算 (Edge/Weird HW)**:`llama.cpp`。以 C++ 寫成,無所不包的硬體支援 (CPU, Apple, AMD, Intel),是便攜性之王。
* **Mac/統一記憶體 (Apple Silicon)**:`MLX / MLX-LM`。利用統一記憶體的優勢,以極低成本裝載超大模型 (容量換速度)。
* **消費級顯卡極限 (RTX 4090/5090)**:`ExLlamaV2/V3`。專為單機/少數 GPU 榨乾效能而生的量化引擎。
* **NVIDIA 企業級資料中心**:`TensorRT-LLM`。犧牲可攜性,換取極致的自研硬體效能 (支援 FP8/FP4),並整合 Triton Inference Server。
## 總結與結論
* **VRAM 決定是否能跑,頻寬決定跑多快**。不要被 unified memory 的大容量迷惑而忽視了 HBM (高頻寬記憶體) 在高並發吞吐量上的絕對統治力。
* **互連頻寬 (Interconnect) 決定平行策略**。在沒有 NVLink 的多卡環境下,盲目使用張量平行 (Tensor Parallelism) 會因通訊開銷導致效能崩潰,應改用管線平行 (Pipeline Parallelism)。
* **拒絕外行評測**。單一使用者的 Token/s 是無效指標。基準測試必須涵蓋 TTFT (首字延遲)、TPOT (每個 Token 延遲)、P99 延遲分佈、以及在目標並發數下的真實吞吐量。
Obsidian 整理
原始文章
系統工程
K8s Pod OOMKilled 救援指南:SRE 是如何真正在除錯的?
"當 Kubernetes 一直 OOMKill 你的 Pod 時, 只能告訴你是誰死的,不能告訴你為什麼。這篇文章提供了一套實戰劇本:利用 Ephemeral Containers (臨時容器) 突破 Distroless 映像檔的限制,使用底層 Linux 工具 (, ) 辨識 Anonymous Memory (Heap leak),並使用 eBPF 直接精確定位程式碼層級的記憶體洩漏。"
閱讀全文
---
tags: [系統工程, 硬體基礎設施, K8s, 除錯技巧]
date: 2026-05-21
read: false
source: "2026-05-21T093515+0800-Your Kubernetes Pod Keeps Getting OOMKilled. Here’s How SREs Actually Debug It..md"
---
# K8s Pod OOMKilled 救援指南:SRE 是如何真正在除錯的?

原始來源與檔名:2026-05-21T093515+0800-Your Kubernetes Pod Keeps Getting OOMKilled. Here’s How SREs Actually Debug It..md
---
## NAPKIN | 餐巾紙
### 餐巾紙公式
> Modern Debugging = Ephemeral Containers + PID 1 Inspection + pmap (Anon blocks) + eBPF (memleak.py)
*公式說明:在現代 Kubernetes 的 Distroless (無殼) 容器環境中,你無法直接 SSH 或 exec 進入容器。SRE 的解法是:掛載 Ephemeral Container 以共享 Process 命名空間,鎖定 PID 1,利用 `pmap` 追蹤記憶體增長,最後用 eBPF 在核心層級定位 malloc 的程式碼行數。*
### 一句話
> 當 Kubernetes 一直 OOMKill 你的 Pod 時,`kubectl top` 只能告訴你是誰死的,不能告訴你為什麼。這篇文章提供了一套實戰劇本:利用 Ephemeral Containers (臨時容器) 突破 Distroless 映像檔的限制,使用底層 Linux 工具 (`pmap`, `smem`) 辨識 Anonymous Memory (Heap leak),並使用 eBPF 直接精確定位程式碼層級的記憶體洩漏。
### 餐巾紙草圖
```text
[ The SRE OOM Debugging Pipeline ]
1. Access: Distroless Image
--> Inject Ephemeral Container (netshoot) with SYS_PTRACE
2. Target: Identify Entrypoint
--> Usually PID 1 (top)
3. Inspect: pmap -x 1
--> Watch for growing [ anon ] blocks (Heap Leaks)
4. Pinpoint:eBPF (bcc tools)
--> Trace malloc() & free() in kernel to find the exact line of code
```
## ROUND 1: SKELETON | 骨架掃描
**「這篇文章在說什麼」**
* **核心問題**: 現代雲原生環境使用 Distroless 容器 (沒有 bash、沒有 debug 工具),當發生緩慢的記憶體洩漏 (Memory Leak) 導致 Pod 被 OOMKilled 時,工程師無法像過去一樣直接登入主機排查。
* **核心答案**: 解決方案是透過 `kubectl debug` 掛載帶有特權 (SYS_PTRACE) 的 Ephemeral Container,共享目標 Pod 的 Process 命名空間。接著使用傳統的 `top`、`pmap` 抓出不斷膨脹的 `[ anon ]` 記憶體區塊,並利用 `smem` (解決共用庫誤判) 和 `eBPF` (追蹤系統呼叫) 來完成最終的根因分析。
* **論證結構**: 描述 OOM 的絕望情境 -> 破解現代容器封裝 (Ephemeral Containers) -> 鎖定目標 (PID 1) -> 核心排查工具 (`pmap` 看匿名記憶體) -> 自動化收集證據 (diff snapshot) -> 進階工具 (`smem` 算 PSS, `eBPF` 找 Code) -> 終極真相來源 (cgroups)。
### 章節骨架
1. **痛點**: Pod OOM,但你 `kubectl exec` 進不去,因為是 distroless image。
2. **Step 1: 進入現場**: 使用 Ephemeral Container (`kubectl debug --image=nicolaka/netshoot --profile=sysadmin`)。
3. **Step 2: 鎖定目標**: 容器環境下的 Entrypoint 通常是 PID 1。
4. **Step 3: pmap 深度檢查**: 使用 `pmap -x 1`。略過噪音,只看 `[ anon ]` (匿名記憶體/Heap)。如果 `[ anon ]` 的 RSS 持續成長,就是 Leak。
5. **Step 4: 自動化 Diff**: 寫個 bash while-loop 定期 dump pmap,比對增長點。
6. **進階工具**:
* **smem**: 解決 `top` 算不準 Shared Memory 的問題,使用 PSS 評估。
* **eBPF (memleak.py)**: 不依賴 Application 負擔,直接從 Kernel 攔截 `malloc()` 和 `free()`,定位原始碼。
7. **真相來源 (cgroups)**: kubelet 殺 Pod 的依據是 `/sys/fs/cgroup/memory/memory.stat` 中的 RSS 數字。
## ROUND 2: DISSECTION | 血肉解剖
**「憑什麼這麼說」**
### 論證鏈
```text
現代容器安全實踐 (Distroless) 雖然減少了攻擊面,但也剝奪了工程師的能見度 (Observability) --> 當基礎設施層 (K8s) 發生 OOM 時,單純重啟無法解決問題,必須回到作業系統 (OS) 層級進行分析 --> 透過 K8s 提供的 Ephemeral Container 機制,我們可以「合法地後門」進入受限環境 --> 進入後,利用 Linux 核心的記憶體映射特性 (Virtual to Physical),透過 `pmap` 觀察 `[ anon ]` 區塊,就能將問題從「某個 Pod 壞了」收斂到「某個 Process 的 Heap 洩漏」--> 最終交由 eBPF 或語言特定的 Profiler 進行程式碼修復。
```
### 關鍵證據
1. **Ephemeral Container 的 Namespace 共享**: 指令中的 `--target=my-app-container` 是關鍵,它允許除錯容器看到目標容器的 Process 樹。而 `--profile=sysadmin` 提供了 `SYS_PTRACE` 權限,這是在另一支 Process 上執行記憶體檢測 (如 pmap) 所絕對必需的 Linux Capability。
2. **`[ anon ]` 區塊的意義**: 作者精準指出 `pmap` 中成千上萬行輸出的雜訊,並聚焦於 `[ anon ]` (Anonymous memory)。因為這類記憶體沒有對應到硬碟上的檔案,代表它們是透過 `malloc()` 動態分配出來的 Heap。Heap 的異常膨脹是 Memory Leak 的鐵證。
3. **eBPF 的降維打擊**: 傳統語言的 Profiler (如 Java hprof) 往往會對正在 OOM 邊緣掙扎的應用程式造成巨大效能負擔。利用 eBPF (BCC `memleak.py`),可以在 Kernel Space 攔截 syscall,這是一種極低負擔 (Low Overhead) 且精確度極高的追蹤手段。
### 隱形假設與邊界
* **隱形假設**:
* 叢集管理員已開啟並允許使用者在 Production 環境使用 `kubectl debug` (Ephemeral Containers) 及給予 sysadmin (特權) profile。在某些嚴格的金融或醫療合規環境中,這可能是被 RBAC 或 OPA 策略封鎖的。
* **邊界條件**:
* 這套除錯流程僅適用於 Application Level 的 Heap Leak。如果是 Kernel Level 的 Leak 或極端的 Page Cache 問題,即使看了 `pmap` 也無法直接解決。
## ROUND 3: SOUL | 靈魂提取
**「還能怎麼用」**
* **知識連接**:
* 這篇文章完美展示了在「零信任與隔離」架構下 (如《11 Open-Source Repos Every AI Infra Engineer Should Bookmark》所提) 如何維持維運能力。Distroless 是一種隔離,Ephemeral Container 就是隔離狀態下的「玻璃擊破器」。
* 使用 eBPF 作為無侵入式探測,與《State Engineering》中試圖不影響主線程記錄 Agent 狀態的思維有異曲同工之妙。
* **行動觸發**: 當下次你的服務發生 OOM 時,不要急著改大 YAML 裡面的 `resources.limits.memory`。請開一個 Terminal,貼上 `kubectl debug -it <POD_NAME> --image=nicolaka/netshoot --target=<CONTAINER_NAME> --profile=sysadmin`,然後執行 `pmap -x 1` 尋找 `[ anon ]` 區塊。找出根本原因,而不是花錢買更多記憶體。
Obsidian 整理
原始文章
系統架構
7 天削減 87% AI 代理 API 成本的終極工程指南
"別再因為 API 帳單太貴而偷偷關掉你的 AI Agent,或是為了省錢換用笨模型導致使用者流失。遵循這份 7 天實戰指南:裝上監控、開啟快取、壓縮上下文、動態路由模型、加上重試上限,你就能在不犧牲品質的情況下,把每月 4,800 美元的帳單砍到 620 美元。"
閱讀全文
---
tags: [系統架構, 最佳實踐, AI工程, 成本優化]
date: 2026-05-21
read: false
source: "2026-05-21T093242+0800-I cut my AI agent's token bill 87% in 7 days. Here is how.md"
---
# 7 天削減 87% AI 代理 API 成本的終極工程指南

原始來源與檔名:2026-05-21T093242+0800-I cut my AI agent's token bill 87% in 7 days. Here is how.md
---
## NAPKIN | 餐巾紙
### 餐巾紙公式
> Agent Cost Optimization = Observability (Find leaks) + Prompt Caching (90% off static) + Context Compression (-94% bloat) + Model Routing (Task-model fit) + Bounded Retries (Stop infinite loops)
*公式說明:API 帳單失控從來不是模型供應商的問題,而是工程架構的問題。透過這 5 個維度的系統化干預,開發者可以將 Agent 的運行成本從無底洞轉化為可預測、可控制的健康指標。*
### 一句話
> 別再因為 API 帳單太貴而偷偷關掉你的 AI Agent,或是為了省錢換用笨模型導致使用者流失。遵循這份 7 天實戰指南:裝上監控、開啟快取、壓縮上下文、動態路由模型、加上重試上限,你就能在不犧牲品質的情況下,把每月 4,800 美元的帳單砍到 620 美元。
### 餐巾紙草圖
```text
[ Token Burn vs. Value Creation ]
Before:
|=========================| (27K Tokens Overhead per turn)
| Sys Prompt | History | (Sent over and over)
After (The 7-Day Fix):
[Cache: Sys Prompt (pay 10%)] + [Tail: Micro-summary + Current Task]
=> (850 Tokens Context Overhead per turn)
+ Routed to Haiku/Sonnet (instead of all Opus)
+ Bounded loop (Max 10 steps)
= 87% Cost Reduction.
```
## ROUND 1: SKELETON | 骨架掃描
**「這篇文章在說什麼」**
* **核心問題**: AI Agent 在生產環境中的 API 帳單極易失控 (Token 消耗快於價值創造),導致許多團隊被迫放棄使用 Agent 或換成劣質模型。
* **核心答案**: 提出一個具體的 7 天行動劇本 (Playbook)。透過遙測監控、利用快取機制、壓縮無效上下文、依據任務難度路由模型、阻斷無限重試迴圈,以及設定警報,能有效削減近 90% 的成本。
* **論證結構**: 點出真實成本痛點 -> Day 1: 建立觀測性 (Helicone/Langfuse) -> Day 2: 全面開啟 Prompt Caching -> Day 3: 壓縮上下文 (設定每回合預算) -> Day 4: 任務路由 (Haiku/Sonnet/Opus 依比例分配) -> Day 5: 阻斷重試迴圈 (設定 MAX_STEPS) -> Day 6: 驗證快取命中率 -> Day 7: 設定警報 -> 常見錯誤與心態建議。
### 章節骨架
1. **引言**: Token 成本是工程問題,不是模型問題。
2. **Day 1 (觀測性)**: 安裝 Helicone 或 Langfuse,找出前五大吃錢的函數與使用者。尋找「單次對話成本 (Cost per session)」。
3. **Day 2 (快取)**: Anthropic 提供 90% 折扣的快取機制。將靜態不變的 Prompt (系統設定、工具定義) 放最前面,動態變數放最後面。
4. **Day 3 (壓縮)**: 不要在對話紀錄傳送幾萬字元的 Markdown。將結果存成實體檔案 (HTML/Log),對話中只傳回檔案路徑。
5. **Day 4 (路由)**: 不要凡事都用 Opus (最貴)。建立 60(Haiku) / 30(Sonnet) / 10(Opus) 的分層架構,引入「顧問模式 (Advisor Pattern)」。
6. **Day 5 (阻斷重試)**: 解決 Agent 遇到工具失敗時的無限迴圈。設定 `MAX_STEPS` 並提供結構化的錯誤訊息。
7. **Day 6-7 (驗證與警報)**: 確認快取命中率沒掉,設定 Slack/PagerDuty 警報防止未來的變更搞砸成本。
8. **社群工具**: 推薦三個 Claude Skill (`skill-security-audit`, `skeptical-debugger`, `html-artifacts`) 來落實紀律。
## ROUND 2: DISSECTION | 血肉解剖
**「憑什麼這麼說」**
### 論證鏈
```text
多數團隊的 LLM 呼叫是「無腦串接」的 (每次都把完整的系統指令與幾萬字對話歷史送給最貴的模型) --> 這導致 90% 的 Token 花費在無意義的「背景交代」而非「推進任務」--> 引入快取 (Caching) 解決靜態背景的費用 --> 引入微型壓縮 (Microcompact) 與實體檔案落地方案解決歷史紀錄的膨脹 --> 引入模型路由 (Routing) 解決算力與任務不匹配的問題 --> 最終透過監控 (Observability) 鎖定優化成果。
```
### 關鍵證據
1. **HTML 檔案落地 (HTML Artifacts)**: 這是極高超的工程技巧。過去 Agent 會在對話框輸出幾萬字元的 Markdown,導致下一回合又得為這幾萬字元付費。解法是:讓 Agent 把長篇報告存成硬碟裡的 `.html` 檔,然後只回傳一行字串 `"報告已存於 /path/to/file.html"`。瞬間省下數萬 Token。
2. **顧問模式 (Advisor Pattern)**: 一個實證能省 50% 成本且不掉品質的路由策略。90% 的苦工讓便宜的 Haiku 或 Sonnet 做,遇到毀滅性操作或需要深度推理的節點,才「升級 (Escalate)」呼叫一次 Opus 來審查。
3. **無限重試的黑洞**: 作者舉了一個真實案例:Agent 因為抓不到網頁,陷入「我應該再試一次」的迴圈,一次單一 Session 呼叫了 187 次工具,燒掉 $14 美金。這證明了「缺乏護欄 (Guardrails)」的 Agent 是吃錢怪獸。必須設定 `MAX_STEPS` (上限) 與冪等性金鑰 (Idempotency keys)。
### 隱形假設與邊界
* **隱形假設**:
* 團隊使用的模型供應商 (如 Anthropic, OpenAI) 支援原生的 Prompt Caching 技術。
* 團隊有能力 (且有權限) 在應用程式與 LLM API 之間架設一層 Proxy (如 Helicone) 進行遙測。
* **邊界條件**:
* 如果應用的核心價值在於「完全無結構的長文本自由對話」(例如純粹的陪伴型聊天機器人),那麼「壓縮歷史紀錄」可能會破壞使用者體驗,此時 Caching 的效益才是唯一依賴。
## ROUND 3: SOUL | 靈魂提取
**「還能怎麼用」**
* **知識連接**: Day 3 的「微型壓縮 (Microcompact)」與「將 Artifact 存成檔案」完美呼應了前一篇《Prompt caching, clearly explained》中對 Dynamic Tail (動態尾巴) 的修剪原則。同時,Day 5 處理「無限重試」的方法,正是《Goal Engineering》中強調 Agent 必須擁有嚴格邊界 (Boundaries) 的具體實踐。
* **行動觸發**: 今天就去你的專案原始碼中,全域搜尋呼叫 LLM API 的地方。把死板的 `model="claude-3-opus-20240229"` 砍掉,寫一個簡單的 `select_model(task_type, complexity)` 函式,把 60% 的簡單分類與擷取任務換成 `haiku`。明天看你的帳單,你會被省下的錢嚇到。
---
# 從 I/O 串接到系統級資源調度 (Architectural Deep Dive)
## 前言
這篇文章表面上在講「如何省錢」,骨子裡卻是一堂頂級的**系統架構與 SRE (網站可靠性工程)** 課程。它將傳統軟體工程中對 CPU、Memory 和 Network 的資源管理思維,完美地平移到了 LLM Token 經濟學上。
## 核心架構洞察
### 1. 遙測優先 (Telemetry-First) 的架構紀律
> "You need observability before you need optimization."
在沒有監控指標 (Metrics) 的情況下進行優化,叫做瞎猜。
* 文章推薦的 Helicone/Langfuse 等工具,扮演了傳統微服務架構中 **API Gateway** 與 **Distributed Tracing (分散式追蹤)** 的角色。
* 將 `Cost per session` 定義為北極星指標,這與傳統 SaaS 追蹤 `Cost per compute hour` 的邏輯一致。這確保了系統的架構演進是建立在真實的商業 ROI 之上。
### 2. 狀態卸載與 Context 預算 (State Offloading & Context Budgets)
LLM 應用架構最大的反模式 (Anti-pattern),就是把「狀態 (State)」全部塞進「上下文窗口 (Context Window)」。
* **Context Window 應該被視為極度昂貴的 L1 Cache**,而不是長期資料庫。
* 作者提出設定「每回合 4,000 Token 上限」的預算制,迫使開發者實作**狀態卸載 (State Offloading)**:將冗長的 Log 或產出寫入實體檔案系統 (Disk),只在 Context 中保留指標 (Pointers/File Paths)。
* 這是一種經典的空間換空間(便宜的硬碟空間換取昂貴的 VRAM 空間)的架構決策。
### 3. 動態路由與故障恢復 (Dynamic Routing & Circuit Breaking)
* **Model Routing (模型路由)**:這本質上是 **Auto-scaling (自動擴縮容)** 與 **Tiered Compute (分層運算)** 的變體。系統根據請求的複雜度 (Payload Complexity),動態將工作負載 (Workload) 派發給不同算力成本的節點 (Haiku vs Opus)。
* **MAX_STEPS 與 Idempotency Keys**:這是微服務架構中防範雪崩效應的 **Circuit Breaker (斷路器)** 模式。當 Agent 陷入邏輯死鎖時,強制熔斷,防止資源耗盡 (OOM/Token Burn)。
## 總結
真正成熟的 AI 開發團隊,不會把時間花在無止盡的 Prompt 雕花上。他們會建立一套具備可觀測性、支援快取、擁有嚴格 Context 預算,並能根據任務動態降級與熔斷的**強健基礎設施 (Robust Infrastructure)**。這篇文章,就是這套基礎設施的實作藍圖。
Obsidian 整理
原始文章
系統架構
殺死 Markdown?Anthropic 工程師的 HTML 宣言背後的真相
"別再為了「AI 該輸出 Markdown 還是 HTML」吵架了。如果輸出結果是要給利害關係人看的儀表板或架構圖,花點 Token 產生 HTML 能省下大量的人類閱讀時間;但如果是給另一個 Agent 吃的資料,或是要進 Git 版控的程式碼,Markdown 依然是唯一的王者。格式必須服從讀者。"
閱讀全文
---
tags: [系統架構, 開發工具, UX與設計, AI工程]
date: 2026-05-21
read: false
source: "2026-05-21T093509+0800-Anthropic’s Engineer Said Kill Markdown. Here’s What He Actually Meant..md"
---
# 殺死 Markdown?Anthropic 工程師的 HTML 宣言背後的真相

原始來源與檔名:2026-05-21T093509+0800-Anthropic’s Engineer Said Kill Markdown. Here’s What He Actually Meant..md
---
## NAPKIN | 餐巾紙
### 餐巾紙公式
> Format Choice = f(Reader, Scale)
>
> - Human Reader -> HTML (Navigable Interface)
> - Agent Reader -> Markdown (Machine Parseable)
> - Both -> Markdown Source + HTML Artifact
*公式說明:Anthropic 工程師提議放棄 Markdown 改用 HTML 作為 AI 輸出,引發了網路大戰。但雙方都搞錯了重點:這不是一場格式戰爭,而是一個根據「讀者身分」決定的架構問題。對於人類讀者,HTML 是介面;對於 Agent,Markdown 是資料。*
### 一句話
> 別再為了「AI 該輸出 Markdown 還是 HTML」吵架了。如果輸出結果是要給利害關係人看的儀表板或架構圖,花點 Token 產生 HTML 能省下大量的人類閱讀時間;但如果是給另一個 Agent 吃的資料,或是要進 Git 版控的程式碼,Markdown 依然是唯一的王者。**格式必須服從讀者**。
### 餐巾紙草圖
```text
[ The Format Routing Table ]
Is the output for a Human?
├── YES -> Do they need to interact/navigate? (e.g. Dashboard, Report)
│ └── Use HTML (Cost: +5x Tokens, Save: Human Time)
│
├── NO -> Is it an Agent-to-Agent pipeline? (e.g. CI/CD, Logs)
└── Use Markdown (Cost: Minimal, Git-diffable)
What if BOTH? -> Source: Markdown, Presentation: HTML Artifact
```
## ROUND 1: SKELETON | 骨架掃描
**「這篇文章在說什麼」**
* **核心問題**: Anthropic (Claude) 的工程負責人呼籲開發者停止讓 AI 輸出 Markdown,改用 HTML,引發了社群的「HTML 派」與「Markdown 派」激烈爭論。
* **核心答案**: 雙方都沒抓到重點。Markdown 之所以成為預設,是因為訓練資料充滿了它,但它已不適合百萬 Token 時代下動輒數千字的 AI 報告。HTML 確實需要額外 Token 成本與安全防護,但在「人類讀者需要互動」的場景下,它是更好的選擇。最終結論是:根據讀者是人還是機器,來決定輸出格式。
* **論證結構**: 引言 (兩派爭論) -> 回顧歷史 (Markdown 是如何成為預設的) -> 三個前提的崩壞 (現在沒人手動改報告、報告太長、需要互動) -> 算清楚 Token 帳 (單次成本是零錢,企業規模才算錢,但工程師時間更貴) -> 提出決策樹 (Human=HTML, Agent=Markdown) -> 警示 (安全風險與 Anthropic 的商業動機) -> 結論行動表。
### 章節骨架
1. **大辯論**: Team HTML (要視覺與互動) vs Team Markdown (怕資安、怕改版衝突、怕 Token 貴)。
2. **歷史的三波浪潮**: Markdown 成為預設不是因為它最好,而是因為從部落客、知識工作者到 AI 訓練資料,它「剛好都在」。
3. **三個破裂的假設**: 在 2026 年,人類不再「手寫修改」AI 報告,報告長度超過 100 行 (Markdown 會變成字磚),且使用者渴望「互動式介面」。
4. **Token 數學題 (The Token Trap)**: HTML 會多花 3-5 倍 Token。個人用戶多花不到幾塊錢;企業用戶雖會增加月費,但遠低於「工程師花 15 分鐘讀 Markdown 字磚」的薪水成本。
5. **讀者決策樹**:
* 人類讀者:用 HTML (當作 UI)。
* Agent 讀者:用 Markdown (當作資料)。
* 兩者皆是:Markdown 儲存,渲染 HTML 產出。
6. **盲點與動機**: AI 生成 HTML 有潛在 XSS 資安風險。而且 Anthropic 推 HTML 也是為了賺更多 Token 的錢 (商業動機)。
## ROUND 2: DISSECTION | 血肉解剖
**「憑什麼這麼說」**
### 論證鏈
```text
業界盲目將 Markdown 視為 AI 唯一輸出格式,是因為大語言模型的訓練資料被 GitHub/Wiki 汙染所導致的「路徑依賴」--> 但隨著 Context Window 達到 1M,AI 產出的內容已經從「片段文字」變成「完整的微型應用程式 (Micro-apps) 或深度報告」--> Markdown 缺乏折疊、導航與互動性,在長文本下 UX 極差 --> 雖然轉用 HTML 會增加 3-5 倍的 Token 成本,但這筆運算成本遠低於人類工程師的閱讀時間成本 --> 因此,架構設計應放棄單一格式崇拜,改以「讀者 (Human vs Agent)」作為路由依據。
```
### 關鍵證據
1. **三個被打破的假設 (Premises)**: 過去 Markdown 是為了讓人類「手動編輯」而發明的。但現在我們不編輯 AI 的報告,我們只閱讀或套用。而且 Markdown 缺乏互動性 (如過濾表格、點擊色塊),這與現代 Agent 的 Workflow 嚴重脫節。
2. **The Token Trap (Token 陷阱)**: 作者實際測試,精簡 HTML 是 Markdown 的 2.4 倍 Token,包含 CSS 的完整 HTML 是 4.8 倍。但在 Claude Sonnet 上,要產出 171 份報告才會多花 1 美元。工程師為了這 0.17 美元在網路上吵架,卻忽略了閱讀排版糟糕的 Markdown 所浪費的 19 美元薪水 (時間成本)。
3. **安全與商業考量**: 作者清醒地指出,AI 產生的 HTML 可能包含惡意 JavaScript (XSS 風險),必須透過嚴格的 Prompt 限制 (如禁用外部 CDN)。同時也戳破了 Anthropic 推銷 HTML 的隱藏利益:多消耗 5 倍 Token 等於多賺 5 倍營收。
### 隱形假設與邊界
* **隱形假設**:
* 團隊使用的 AI 模型 (如 Claude 3.5 Sonnet) 具備足夠強大的 HTML/CSS 生成能力,且不會產生破版或語法錯誤。
* **邊界條件**:
* 在有嚴格版控需求 (Git Review) 的場景中,直接把 AI 產生的 HTML commit 進 Repo 是一場災難 (Diff 雜訊太多)。此時必須退回 Markdown,或者採用作者建議的「Template + JSON data」模式。
## ROUND 3: SOUL | 靈魂提取
**「還能怎麼用」**
* **知識連接**:
* 本文與《I cut my AI agent's token bill 87% in 7 days》產生了有趣的辯證。前一篇教你省 Token,這一篇則告訴你「不要為了省 Token 犧牲人類的 UX (The Token Trap)」。這再次證明架構決策永遠是 Trade-off (權衡)。
* 同時,這也完美契合了《Claude Code 工程化指南》中的思維:我們可以把產生的 HTML 當作 Artifacts (產出物) 落地成實體檔案在瀏覽器觀看,而不是硬塞在 Terminal 裡用 Markdown 印出來。
* **行動觸發**: 重新檢視你的 Prompt。如果這個任務是「產生一份給主管看的每週專案進度報告」,請在 Prompt 中加入:`請以美觀的單頁 HTML 格式輸出,包含可折疊的區塊與 CSS 樣式,禁用任何 JavaScript 與外部字體`。你會發現你的主管再也不會抱怨看不懂 AI 寫的東西了。
---
# 從表示層到協議層:Markdown 的歷史升格 (Architectural Deep Dive)
## 前言
這是一篇極其精彩的技術評論。它沒有陷入「哪個語法比較好」的無聊爭論,而是用架構師的眼光,剝開了歷史的路徑依賴,算清楚了微觀經濟學 (Token vs Time),並給出了一個乾淨俐落的路由決策樹。
## 核心架構洞察
### 1. 軟體架構的「路徑依賴 (Path Dependence)」
我們為什麼用 Markdown?不是因為它最好,而是因為 AI 是讀 GitHub 長大的。
* 這是一個經典的架構反思:我們經常把「約定俗成的預設值 (Default)」當作「最佳實踐 (Best Practice)」。
* 當 Context Window 從 8K 成長到 1M 時,底層的物理限制被解除了,但上層的應用架構 (依然輸出純文字) 卻還沒跟上。這篇文章正是這個典範轉移 (Paradigm Shift) 過程中的敲門磚。
### 2. 顯示層與資料層的分離 (Separation of Presentation and Data)
文章中最精闢的一句話是:**「Markdown 沒有死,它被升級了。從顯示層 (Display Layer) 升級到了協議層 (Protocol Layer)。」**
* 在傳統 Web 架構中,我們有 Database (儲存資料) 和 HTML/CSS (呈現資料)。
* 在 Agent 架構中,**Markdown 就是 Database**。它是 Agent 之間互相溝通的 JSON/XML 替代品,它能被 Git 追蹤,能被 Diff。
* 但如果要給人類看,我們應該像傳統 Web 一樣,即時 Render 出一個 **HTML 視圖 (View)**。
* 將 Markdown 視為原始資料 (Source of truth),將 HTML 視為衍生視圖 (Artifact),完美解決了 Git Review 衝突與人類閱讀體驗的矛盾。
### 3. 微觀經濟學:Token Trap (代幣陷阱)
這是技術決策中最常犯的錯誤:過度優化低價值的資源。
* 許多架構師會沾沾自喜地將 Token 消耗減少了 70%,卻導致終端使用者的操作時間增加了 20%。
* 這篇文章提供了一個量化的換算公式:1 美元的 Token vs 15 分鐘的工程師薪水 (約 19 美元)。在人類時間面前,Token 幾乎是免費的。架構設計應該永遠往「節省人類時間」的方向傾斜。
## 總結
下次當你在編寫 Agent 的 System Prompt 時,不要再無腦貼上 `Output in Markdown format`。停下來問自己:**讀這份產出物的是誰?** 如果是一個人類,給他一個漂漂亮亮的 HTML 介面;如果是一台機器,給它乾淨俐落的 Markdown。這才是 2026 年進階 AI 開發者的基本素養。
Obsidian 整理
原始文章
組織管理
怎麼讓AI真正為你的組織提效?
"如果把視角從個人任務拉到企業整體,會發現讓個人寫程式變快,並不等於整個組織的效能得到根本性的提升。"
閱讀全文
---
tags: [組織管理, 殘缺文件]
date: 2026-05-21
read: false
source: "2026-05-21T093035+0800-怎么让AI真正为你的组织提效?.md"
---
# 怎麼讓AI真正為你的組織提效?
原始來源與檔名:2026-05-21T093035+0800-怎么让AI真正为你的组织提效?.md
---
> [!WARNING]
> 檔案殘缺提醒
> 此原始 Markdown 檔案在獲取時中斷,內文僅包含前言部分即被截斷,無法進行完整的認知壓縮與架構拆解。
## NAPKIN | 餐巾紙
### 餐巾紙公式
> 組織 AI 提效 ≠ 買帳號給員工 (個人提效)
*公式說明:僅停留於個人層面的 AI 工具使用,無法為企業整體帶來規模化的效益提升。*
### 一句話
> 如果把視角從個人任務拉到企業整體,會發現讓個人寫程式變快,並不等於整個組織的效能得到根本性的提升。
## ROUND 1: SKELETON | 骨架掃描
**「這篇文章在說什麼」**
* **核心問題**: 過去一年企業導入 AI 多停留在「個人工具」層面,這對組織整體的提效有什麼盲點?
* **核心答案**: (檔案殘缺,推測後文將探討如何從系統與流程層面將 AI 整合進企業架構中)。
*(因檔案截斷,無法進行更深入的 Dissection 與架構師總結)*
Obsidian 整理
原始文章
認知思維
別把「學習」也外包給 AI:對抗認知負債 (Cognitive Debt)
"如果你只是把錯誤訊息貼給 AI,然後無腦 Accept 它的修補,你修好的只有 Bug,你的腦袋卻在退化。真正的工程師知道何時該追求速度 (Shipping),何時該開啟「學習模式 (Learning Mode)」去重建自己的心智模型。"
閱讀全文
---
tags: [認知思維, 工作方法, 學習方法]
date: 2026-05-21
read: false
source: "2026-05-21T093215+0800-Don't Outsource the Learning.md"
---
# 別把「學習」也外包給 AI:對抗認知負債 (Cognitive Debt)

原始來源與檔名:2026-05-21T093215+0800-Don't Outsource the Learning.md
---
## NAPKIN | 餐巾紙
### 餐巾紙公式
> Delegation (Tasks) = High ROI
> Delegation (Learning) = Cognitive Debt (Skill Degradation)
*公式說明:把 AI 當作完成任務 (Shipping) 的工具是正確的,但如果把「理解問題」的過程也全權交給 AI,工程師的核心價值 (Mental Model) 將會停止迭代,最終累積成龐大的認知負債。*
### 一句話
> 如果你只是把錯誤訊息貼給 AI,然後無腦 Accept 它的修補,你修好的只有 Bug,你的腦袋卻在退化。真正的工程師知道何時該追求速度 (Shipping),何時該開啟「學習模式 (Learning Mode)」去重建自己的心智模型。
### 餐巾紙草圖
```text
[ The Degradation Loop ]
Bug -> Paste Error to AI -> Copy Fix -> Bug gone.
(Mental Model unchanged. Ability to debug next week: -1)
[ The Sharpness Loop ]
Bug -> Form Hypothesis -> Ask AI to explain the concept -> Validate Hypothesis -> Write Code.
(Mental Model upgraded. Ability to debug next week: +1)
```
## ROUND 1: SKELETON | 骨架掃描
**「這篇文章在說什麼」**
* **核心問題**: AI 開發工具 (如 Copilot, Claude) 為了追求極致的使用者體驗 (低阻力、快出貨),不小心把開發過程中的「必要摩擦力 (Friction)」也消除了。這導致工程師產生「認知投降 (Cognitive Surrender)」,逐漸喪失獨立解題的能力。
* **核心答案**: 開發者必須主動區分「可以外包的任務 (Boilerplate)」與「不可外包的學習 (Core Logic)」。透過改變提示詞習慣 (如先要解釋再要程式碼、先假設再求證),在日常開發中維持思考的敏銳度。
* **論證結構**: 提出現象 (認知投降) -> 引述三份權威研究證明「不思考地使用 AI 會導致技能退化」 -> 點出工具設計的盲點 (只為完成任務最佳化) -> 列出 5 種「你必須親自理解」的場景 -> 提供 6 個改變 Prompting 習慣的具體解法。
### 章節骨架
1. **引言**: AI 修好了 Bug,但沒有推進你的心智模型。你正在用未來的能力換取今天的速度。
2. **研究佐證 (The Science)**:
* Anthropic 研究:無腦貼上 AI 程式碼的組別,在後續理解測驗中慘敗 (低於 40%)。
* MIT 研究:依賴 LLM 會降低大腦的連結活躍度,產生「認知負債」。
* CHI 研究:AI 的初始框架會嚴重錨定 (Anchor) 人類的決策。
3. **產品設計的預設值**: AI 工具的預設目標是 "Shipping" (出貨),而不是 "Teaching" (教學)。
4. **何時不可外包?**: 當系統崩潰時、當 AI 產生幻覺時、當底層架構改變時、當你脫離常規問題時、當市場重新定價「工程師價值」時。
5. **修復方法 (How to Prompt)**: 先有假設再問 AI、先要求解釋再要程式碼、開啟「學習模式」、像 Review 菜鳥 PR 一樣審查 AI 的產出、偶爾手寫重構。
## ROUND 2: DISSECTION | 血肉解剖
**「憑什麼這麼說」**
### 論證鏈
```text
人類大腦具有惰性,傾向依賴省力的工具 (Cognitive Surrender) --> 目前的 AI Agent 設計將「省力」推向極致,消除了除錯過程的掙扎 (Friction) --> 多項雙盲研究證實,缺乏掙扎的學習會導致心智模型無法建立 (記憶力與理解力下降) --> 隨著時間推移,開發者處理複雜、罕見問題的能力衰退 --> 解決方案:開發者必須主動在工作流中注入「人為摩擦力 (Intentional Friction)」,如先寫假設、再看答案。
```
### 關鍵證據
1. **Anthropic 的對照實驗**: 這是最致命的證據。同樣使用 AI 輔助,**「用 AI 詢問概念」**的工程師得分 >65%,而**「無腦複製貼上」**的得分 <40%。這證明了毀掉工程師的不是工具本身,而是「姿態 (Posture)」。
2. **MIT 的 EEG 腦波測試**: 證實了使用 LLM 時大腦網路的活躍度最低。用腦袋寫作 vs 用 LLM 寫作,就像重訓 vs 坐電動輪椅,久了肌肉必然萎縮。
3. **市場定價機制**: 作者極其敏銳地點出:如果你的產出完全依賴 AI,那麼你正在進入一個「已經被 AI 重新定價」的勞動市場。唯有能解決 AI 無法解決的 Corner Cases (需要深度心智模型),才能維持 Senior Engineer 的價值。
### 隱形假設與邊界
* **隱形假設**:
* 開發者擁有足夠的時間 (Buffer) 來進行「學習」。在極端高壓、死線將至的環境下,開發者往往被迫選擇 Shipping 而非 Learning。
* **邊界條件**:
* 作者同意「模板代碼 (Boilerplate)」、「膠水代碼 (Glue Code)」、「一次性腳本 (Throwaway CI script)」是可以完全外包的。重點在於區分「什麼是核心業務邏輯」。
## ROUND 3: SOUL | 靈魂提取
**「還能怎麼用」**
* **知識連接**: 呼應了《How to Rot your Brain with AI》的核心觀點:Cognitive Offloading (認知卸載) 是一把雙面刃。也呼應了前一篇《Goal Engineering》的實踐——強迫先寫出 Failing Tests,就是在建立人類的 Hypothesis (假設),防止被 AI 的幻覺牽著走。
* **行動觸發**: 下次向 Claude 或 Cursor 詢問 Bug 解法時,強制自己在 Prompt 的第一行寫上:`"My hypothesis is that the database connection is timing out because..."` (我的假設是...)。用 AI 來驗證你的假設,而不是讓 AI 給你盲盒。
---
# AI 時代的認知架構與人機介面 (Architectural Deep Dive)
## 前言
這篇文章探討的不是軟體架構,而是**「人類的認知架構 (Human Cognitive Architecture)」**。在人機協作 (Human-Computer Interaction) 進入 Agentic 時代後,我們面臨的最大系統性風險,是人類這個 Node (節點) 的「計算能力」退化。
## 核心架構洞察
### 1. 摩擦力即快取 (Friction as Cache Building)
在軟體系統中,我們希望減少 I/O 摩擦。但在人類的學習系統中,神經科學告訴我們:**掙扎 (Struggle) 與摩擦 (Friction),是大腦將短期記憶寫入長期神經網路 (Long-term Cache) 的必要條件。**
* 無腦複製貼上,等同於每一次都在讀取 RAM (LLM),一關機就消失。
* 先思考、提出假設、被糾正,這個痛苦的過程才是大腦在建構「心智模型 (Mental Model)」的編譯過程。
### 2. 人類作為回退機制 (Human as the Fallback System)
從系統可靠性工程 (SRE) 的角度來看:
* AI 是高效的 Primary 服務,處理 80% 位於常態分佈 (Median) 的請求。
* **人類工程師是最後的 Fallback (回退) 節點。** 當系統遇到架構重構、未知的邊界情況 (Corner Cases) 時,必須切換回人工處理。
* 如果人類長期不處理中等難度的問題 (被 AI 搶走),人類的「冷啟動時間 (Cold Start Time)」會變得極長,甚至在系統真正崩潰時,Fallback 節點會因為失去領域知識 (Domain Knowledge) 而無法接管系統。
### 3. 主動式提示工程 (Active Prompting vs Passive Prompting)
作者提出的解法,本質上是在改變人機介面的控制權:
* **Passive (被動)**:`Fix this error: <Traceback>` (人類是請求者,AI 是決策者)。
* **Active (主動)**:`Explain how this architecture works, I will write the code.` (AI 降級為知識檢索系統,人類保持決策權)。
## 總結
不要讓你的大腦成為 LLM 的 API 轉發器。在追求 `Time-to-Market` 的同時,必須建立個人的 `Time-to-Learn` 預算。一個健康的 AI 驅動開發團隊,不僅要衡量發布了多少功能,更要衡量團隊對底層系統架構的掌握度是否依然敏銳。
Obsidian 整理
原始文章
資料工程
Agentic Data Engineering: 為什麼 AI 編程工具不需要聊天機器人?
"決定資料平台在 AI 時代勝出的關鍵,不是 UI 或對話框,而是它能否產生最高品質的「上下文圖譜 (Context Graph)」,讓 Agent 能夠讀懂並自主建立從萃取到部署的資料管線。"
閱讀全文
---
tags: [資料工程, Agent架構, 數據流]
date: 2026-05-21
read: false
source: "2026-05-21T093115+0800-ClaudeCodexCursor don't need a chatbot. They need a context layer..md"
---
# Agentic Data Engineering: 為什麼 AI 編程工具不需要聊天機器人?

原始來源與檔名:2026-05-21T093115+0800-ClaudeCodexCursor don't need a chatbot. They need a context layer..md
---
## NAPKIN | 餐巾紙
### 餐巾紙公式
> Agentic Data Engineering = Python Primitives (dlt) + Context Graph (Schemas/Traces) - Chat UI
*公式說明:對於資料工程領域,AI 代理不需要另一個嵌在工具上的對話框。它們需要的是能直接讀寫底層的 Schema、MetaData、執行軌跡與日誌的「上下文層」。有了這個,AI 就能自主建構資料管線。*
### 一句話
> 決定資料平台在 AI 時代勝出的關鍵,不是 UI 或對話框,而是它能否產生最高品質的「上下文圖譜 (Context Graph)」,讓 Agent 能夠讀懂並自主建立從萃取到部署的資料管線。
### 餐巾紙草圖
```text
[ Legacy Tools ]
UI Chatbox -> LLM -> (Blackbox execution)
[ Agent-Native Platform (dltHub Pro) ]
Agent (Claude/Cursor) <== (Read/Write) ==> [ Context Graph ]
- Schemas
- Traces
- Runtime logs
- Semantics
```
## ROUND 1: SKELETON | 骨架掃描
**「這篇文章在說什麼」**
* **核心問題**: 過去一年許多資料工具都在加「聊天視窗」,但這真的讓 AI (Claude/Cursor) 在建立資料管線時變強了嗎?
* **核心答案**: 沒有。AI 需要的不是介面,而是「上下文層 (Context Layer)」。一個充滿 Schema、執行日誌與軌跡的底層,讓 AI 能夠理解現狀並自主編碼。
* **論證結構**: 破除 Chat UI 迷思 -> 提出 Context Graph 概念 -> 說明為何 Python-first (如 dlt) 是天生適合 Agent 的架構 -> 介紹 dltHub Pro 的定位。
### 章節骨架
1. **現狀批評**: 聊天框無用論。真正在爆發的是 Agent 直接寫出的管線 (dlt 管線 91% 由 Agent 寫出)。
2. **核心理念**: 資料就是上下文 (The data is the context now)。Agent-native 平台的定義在於能否提供機器可讀的 Context Graph。
3. **架構洞察 (Context Graph)**: 為什麼只能在「執行路徑 (Execution path)」上捕捉決策上下文,而資料倉儲只能在「讀取路徑」上看到結果。
4. **歷史驗證**: dlt 五年前設計的「Python-first, Declarative, Composable」特性,最初是為了人類,現在卻完美契合了 AI Agent 的需求 (PyStack)。
## ROUND 2: DISSECTION | 血肉解剖
**「憑什麼這麼說」**
### 論證鏈
```text
要讓 AI 寫出正確的資料管線,AI 必須知道現有的資料結構與歷史決策 --> 但傳統的資料倉儲只看得到「結果資料」,看不到「為何這樣轉化的決策過程 (Traces)」 --> 因此,必須在「執行管線的當下」建立一個 Context Graph (包含 Schema, Logs, Semantics) --> dlt 作為底層 Runtime,天然具備攔截這些執行狀態的能力,從而成為最適合 Agent 讀寫的上下文層。
```
### 關鍵證據
1. **數據支撐**: dlt 的管線中有 91% 是由 Agent 寫出的 (每月 8.1 萬條管線,比人類寫的多 10 倍)。這證明了讓 Agent 直接寫 Python 程式碼,遠比用自然語言在 Chatbot 裡下指令有效。
2. **PyStack 理論**: a16z 與 PyData SF 講者指出,當軟體變成 "Headless" (無介面),防禦力就會轉移到資料與動作層。LLM 需要的是「原子的、可組合的 Python 原語 (Atomic, composable Python primitives)」,而非封閉系統。
### 隱形假設與邊界
* **隱形假設**:
* 使用者 (即使是分析師) 具備基礎的 Python 閱讀能力,能夠擔任 "Human-in-the-loop" 的審查者。
* LLM (如 Claude/Cursor) 的 Context Window 與理解能力足以消化大量的 Pipeline Logs 與 Schema 定義。
* **邊界條件**:
* 這種「代碼即一切 (Everything is code)」的 Agent 模式,可能不適用於極度依賴 GUI 拖拽操作的傳統 ETL 開發者團隊。
## ROUND 3: SOUL | 靈魂提取
**「還能怎麼用」**
* **知識連接**: 文章提到的 Context Graph 理念,與 `ActiveGraph (長期運行 Agent 的連續性層)` 的概念如出一轍。兩者都強調將系統狀態從「隱式執行」轉化為「顯式的圖結構記憶」。
* **行動觸發**: 在評估導入新的開發工具或 SaaS 平台時,第一標準不再是「它有沒有 AI Chatbot」,而是「它的 API 和日誌結構是否對 Cursor / Claude 友善」。
---
# 架構師洞察:Agent-Native 基礎設施
這篇文章點出了一個深刻的架構變革:**Agent-Native (原生代理) 軟體的設計典範,與 Cloud-Native (雲原生) 有著根本的不同。**
在 Cloud-Native 時代,我們追求的是 API First 與 Microservices。但在 Agent-Native 時代,我們追求的是 **Context First** 與 **Declarative Primitives**。
1. **The Death of the Chatbox (聊天框的消亡)**
作者無情地指出現今多數 AI 轉型工具的膚淺:只是在舊架構上套一個 OpenAI API。真正的 Agent 不需要 UI,Agent 本身就是執行者。它需要的是一個能直接掛載 (Mount) 且具備強型別 (Strongly-typed) 狀態的 Runtime。
2. **Execution Path vs. Read Path (執行路徑與讀取路徑的資訊差)**
這是一個極度敏銳的洞察。資料倉儲 (Data Warehouse) 是「讀取路徑」,它只儲存了 ETL 轉換後的屍體;而 dlt 管線是「執行路徑」,它保留了轉換時的血脈 (Lineage, Logs, Traces)。要把 AI 訓練成資料工程師,AI 必須吃下「執行路徑」上的決策紀錄,這就是 **Context Graph** 的價值。
3. **無意間的契合 (Serendipitous Design)**
dlt 當初為了人類可讀性所設計的「Python-first, 宣告式、模組化」架構,意外地成為了 LLM 最容易解析的結構。這給我們一個啟示:**好的人類工程架構 (高內聚、低耦合、純函數),天然就是最好的 Agent 工程架構。** 讓代碼回歸代碼,讓 LLM 去閱讀代碼,這才是未來軟體工程的終局。
Obsidian 整理
原始文章
資料工程
Netflix 架構演進:從 Casspactor 到現代化 Cassandra 數據搬移引擎
"Netflix 每天需要將 3 PB 的資料從 Cassandra 搬運到 Iceberg。這篇文章揭露了他們如何汰除舊有龐雜的 系統,改為直接從 S3 備份讀取資料並利用 Spark 進行分散式壓縮。更精彩的是他們的「無感遷移策略 (Zero-impact Migration)」:利用 Maestro 工作流引擎建立抽象層,讓新舊系統平行運作,實現了對下游業務團隊完全透明的底層大換血。"
閱讀全文
---
tags: [資料工程, 系統架構, Cassandra, 遷移策略]
date: 2026-05-21
read: false
source: "2026-05-21T093502+0800-The Evolution of Cassandra Data Movement at Netflix.md"
---
# Netflix 架構演進:從 Casspactor 到現代化 Cassandra 數據搬移引擎

原始來源與檔名:2026-05-21T093502+0800-The Evolution of Cassandra Data Movement at Netflix.md
---
## NAPKIN | 餐巾紙
### 餐巾紙公式
> Legacy System (Fragile Metadata + Intermediate Tables) → Modern Stack (Direct S3 Reads + Spark DataFrames + Connector Factory) = Massive Cost Savings & Reliability
*公式說明:Netflix 的 Cassandra 到 Iceberg 數據搬移系統原本依賴脆弱的多服務複合視圖與耗費資源的中介表。新架構直接從 S3 備份讀取數據,轉換為標準的 Spark DataFrames,並引入了「連接器工廠 (Connector Factory)」模式,從而在降低數百萬美元成本的同時,解決了資料傾斜與 OOM 問題。*
### 一句話
> Netflix 每天需要將 3 PB 的資料從 Cassandra 搬運到 Iceberg。這篇文章揭露了他們如何汰除舊有龐雜的 `Casspactor` 系統,改為直接從 S3 備份讀取資料並利用 Spark 進行分散式壓縮。更精彩的是他們的「無感遷移策略 (Zero-impact Migration)」:利用 Maestro 工作流引擎建立抽象層,讓新舊系統平行運作,實現了對下游業務團隊完全透明的底層大換血。
### 餐巾紙草圖
```text
[ Legacy: Casspactor ]
Cassandra Backup -> Metadata Service A + B + C -> Casspactor -> Intermediate Iceberg Table -> Final Iceberg
(Fragile, OOM on wide partitions, expensive storage)
[ Modern: Move Data Framework ]
S3 Backup Files (Single Source of Truth) -> Spark DataFrame (Executors handle compaction) -> Final Iceberg
+ Connector Factory (Allows Key-Value, Time Series to build custom logic)
(Resilient, Handles Skew, Zero intermediary tables)
```
## ROUND 1: SKELETON | 骨架掃描
**「這篇文章在說什麼」**
* **核心問題**: Netflix 依賴 Cassandra 處理核心業務,並需要將資料 (每日約 3 PB) 搬移到 Iceberg 進行分析。舊的搬移引擎 `Casspactor` 面臨嚴重的架構瓶頸:脆弱的元數據依賴、無法處理大型分區傾斜 (OOM)、缺乏資料模型感知、以及產生昂貴的中介表。
* **核心答案**: Netflix 開發了全新的分層架構。底層直接從 S3 讀取備份資料生成 Spark DataFrames,消除了中介表與多重微服務依賴;上層提供「連接器工廠」,讓不同資料抽象 (如 KV, Time Series) 能自訂處理邏輯。並透過嚴謹的「驗證、可視化、安全」三支柱策略完成無痛遷移。
* **論證結構**: 介紹背景 -> 點出舊系統 `Casspactor` 的致命傷 (元數據拼裝、單體設計) -> 提出新架構 (直接讀 S3, Spark DataFrame, 自動擴縮, 時間旅行) -> 詳細闡述大型重構的遷移策略 (Validation, Visibility, Safety) -> 總結與未來展望。
### 章節骨架
1. **背景**: Cassandra 是 Netflix 核心。資料搬移本質上是利用 Cassandra 的 S3 備份基礎設施。
2. **舊引擎的極限 (Casspactor)**:
* 元數據依賴脆弱 (多個系統拼湊,容易失去同步)。
* 繼承限制:分區傾斜導致 OOM、無資料模型感知、中介表導致儲存膨脹。
3. **新堆疊 (分層架構)**:
* 基礎層直接讀 S3 產出 Spark DataFrames。
* 處理層利用 Spark Executor 解決 OOM,不寫中介表。
* 提供連接器工廠模式,支援資料抽象自訂。
4. **遷移策略三支柱**:
* **Pillar 1 驗證 (Validation)**: 平行執行 (Shadow testing),數學級保證新舊輸出列完全一致 (C=M)。
* **Pillar 2 可視化 (Visibility)**: 儀表板、依賴追蹤與主動警報。
* **Pillar 3 安全 (Safety)**: 利用 Maestro 工作流實現 **Decider Pattern (決策者模式)**,抽象化遷移過程,失敗時自動退回舊系統。
## ROUND 2: DISSECTION | 血肉解剖
**「憑什麼這麼說」**
### 論證鏈
```text
龐大的歷史系統會隨著業務成長 (如 KV、Time Series 抽象的出現) 而不堪負荷,成為單點瓶頸 (Monolithic bottleneck) --> 解決方案不是在舊系統上打補丁,而是重新思考資料流。將「真實來源 (Source of Truth)」下放至 S3 物理備份層,將「運算 (Compaction)」交給分散式的 Spark 框架,將「業務邏輯」透過 Connector Factory 釋放給各業務端 --> 在執行高風險替換時,必須保證下游的合約不變 (Like-for-Like)。透過在控制平面 (Control Plane) 引入 Decider Pattern,可以在不修改使用者工作流的情況下,動態路由流量並提供 Fallback,實現零感知的架構升級。
```
### 關鍵證據
1. **S3 作為 Single Source of Truth**: 舊系統依賴外部服務來確認「備份是否存在與完整」,這違反了分散式系統的簡單性原則。新系統直接從 S3 檔案讀取元數據,這消除了一整條容易失效的依賴鏈,並賦予了系統「時間旅行 (Time Travel)」的能力 (Schema 與資料可作為整體被回溯)。
2. **Spark Executor 的降維打擊**: Cassandra 常見的痛點是 Wide Partitions (寬分區)。舊系統容易 OOM。新系統將壓實 (Compaction) 作業移至 Spark Executor 層級,利用 Spark 強大的記憶體與溢寫磁碟管理能力,優雅解決了資料傾斜問題。
3. **Decider Pattern 的保護網**: Netflix 使用 `Maestro` 工作流平台。使用者看到的 Job 沒變,但底層被注入了一個 Decider 節點。如果新系統 (Move Data) 發生錯誤,它會立刻自動執行舊系統 (Casspactor)。這保證了使用者永遠能拿到資料,只是偶爾會慢一點。
### 隱形假設與邊界
* **隱形假設**:
* 團隊擁有強大的資料平台基礎設施 (如 Maestro 工作流引擎與高度客製化的 Spark 環境) 來支撐這種級別的抽象與切換。
* **邊界條件**:
* 這種「無感遷移」的代價是極高的「雙重運算成本 (Shadow Testing)」。在遷移驗證期間,Netflix 必須為了同一份資料同時跑兩套系統,這需要雄厚的算力資本支持。
## ROUND 3: SOUL | 靈魂提取
**「還能怎麼用」**
* **知識連接**: 本文提到的「Decider Pattern (決策者模式)」與《I cut my AI agent's token bill 87% in 7 days》中提到的「Model Routing (模型路由)」本質上是同一種架構思維:**在抽象層動態決定執行引擎,並提供降級 (Fallback) 機制。** 此外,將元數據從獨立系統收斂至 S3 實體檔案的做法,也呼應了軟體工程中「消除狀態碎片」的核心原則。
* **行動觸發**: 當你面對一個祖傳的、龐大的、充滿 if-else 的單體資料處理系統時,不要試圖原地重構。學習 Netflix:1. 建立一個新的分層引擎;2. 寫一個 Router (Decider) 夾在中間;3. 開啟 Shadow Mode 讓兩邊產生的資料進行差異比對 (Diff);4. 只有當差異為 0 時,才偷偷把舊系統拔掉。
---
# 平台工程的最高境界:無感遷移 (Architectural Deep Dive)
## 前言
Netflix Tech Blog 的這篇文章是一份大師級的「大型分散式系統重構與遷移指南」。它不僅展示了如何用現代化的大數據堆疊 (Spark + Iceberg + S3) 解決 Cassandra 的痛點,更示範了平台工程 (Platform Engineering) 的核心價值:**替業務團隊吸收掉所有的底層複雜度。**
## 核心架構洞察
### 1. 解構單體 (Deconstructing the Monolith) 的正確姿勢
舊的 `Casspactor` 是一個大雜燴,它同時負責了「尋找備份」、「解析 Cassandra 格式」、「處理不同資料抽象邏輯」與「寫入 Iceberg」。
Netflix 的新架構是一次完美的 **SoC (Separation of Concerns,關注點分離)**:
* **底層 (Storage/Retrieve)**:只依賴 S3,把 S3 當作唯一的 Source of Truth。
* **引擎層 (Compute)**:只負責把原始位元組轉成通用的 Spark DataFrame,解決記憶體與擴縮容問題。
* **邏輯層 (Connector Factory)**:開放 API,讓 KV 團隊、Time Series 團隊自己寫 UDF 去轉換他們特有的資料模型。
這種分層讓引擎團隊專注於效能,業務團隊專注於邏輯,消除了單點瓶頸。
### 2. 數學級別的驗證 (C = M)
在重構資料管線時,最怕的就是「默默搞壞了資料,一個月後才被財報團隊發現」。
* Netflix 的做法非常暴力且有效:並排跑 (Shadow Run)。
* 定義集合 C (Casspactor 的輸出) 和集合 M (Move Data 的輸出)。
* 只要 `C - M` (漏資料) 或 `M - C` (多資料) 大於 0,就報警處理。
這種做法將「系統是否正確」從一種模糊的感覺,變成了一個絕對的數學證明題。
### 3. Decider Pattern (決策者模式) 與動態路由
這是我認為全篇最精彩的架構設計。如何在飛行中更換飛機引擎?
* 在使用者呼叫與底層執行器之間,插入一個 Control Plane (控制平面)。
* 這個 Decider 會根據規則(例如:這個 Table 是否已經被驗證過?現在是灰度發布的第幾批?)來決定把流量派給新引擎還是舊引擎。
* **更關鍵的是容錯路由 (Fault-tolerant Routing)**:如果新引擎拋出 Exception,Decider 攔截它,並把同樣的參數丟給舊引擎重跑一次。使用者端只會感覺到「這次轉檔比較久」,但絕對不會拿到失敗的結果。
## 總結
這是一篇所有後端工程師、SRE 與資料工程師都該熟讀的案例。它告訴我們:好的架構不僅僅是跑得快、省成本,**好的架構必須具備「可遷移性 (Migratability)」。** 能夠在不驚動任何使用者的情況下,完成 3 PB 級別核心系統的替換,這才是頂級工程實力的展現。
Obsidian 整理
原始文章
資料工程
從檔案系統到 SQL 快取:為何 TiDB X 不只是 S3 上的 SQL?
"如果你只是把 SQL 架在 S3 上,當某個節點因為熱點資料而過載時,你只能束手無策。TiDB X 的價值在於其底層的 TiKV 是一個能自動切割、排程與搬移熱點資料的分散式資料庫,這才是能在生產環境中存活的架構。"
閱讀全文
---
tags: [系統架構, 資料工程, 分散式系統]
date: 2026-05-21
read: false
source: "2026-05-21T093143+0800-From Filesystem to SQL Cache Why TiDB X Is More Than SQL over S3.md"
---
# 從檔案系統到 SQL 快取:為何 TiDB X 不只是 S3 上的 SQL?

原始來源與檔名:2026-05-21T093143+0800-From Filesystem to SQL Cache Why TiDB X Is More Than SQL over S3.md
---
## NAPKIN | 餐巾紙
### 餐巾紙公式
> "SQL over S3" = DIY Cache (EC2 + EBS) = Operational Liability (Hotspot nightmare)
> TiDB X = S3 (Storage) + TiKV (Distributed Hot Data Cache) + TiDB (SQL/Txn) + Scheduler (Auto-balancing)
*公式說明:把資料放在 S3 並用 EC2 建置快取層,看似便宜彈性,但在遇到「熱點資料 (Hot data)」時會瞬間崩潰。TiDB X 透過內建的 TiKV 儲存引擎與分散式調度器,自動解決熱點轉移問題,實現了真正的雲原生資料庫快取。*
### 一句話
> 如果你只是把 SQL 架在 S3 上,當某個節點因為熱點資料而過載時,你只能束手無策。TiDB X 的價值在於其底層的 TiKV 是一個能自動切割、排程與搬移熱點資料的分散式資料庫,這才是能在生產環境中存活的架構。
### 餐巾紙草圖
```text
[ DIY Cache (SQL over S3) ]
[ EC2 (Hot!) ] [ EC2 (Idle) ]
\ /
\ /
[ S3 Bucket ]
* Result: System crashes because the hot data is stuck on one node. Adding nodes doesn't help.
[ TiDB X Architecture ]
[ TiDB (SQL Layer) ]
|
[ TiKV (Hot Data Cache) ] <-- Scheduler automatically splits & moves Hot Regions
|
[ S3 (Cold Storage) ]
```
## ROUND 1: SKELETON | 骨架掃描
**「這篇文章在說什麼」**
* **核心問題**: 許多團隊嘗試在 S3 之上自建 EC2 快取層並提供 SQL 介面,但這種 "DIY SQL over S3" 架構在擴展時會遇到什麼致命問題?
* **核心答案**: 致命問題在於無法處理「熱點資料 (Hot data)」。單純增加 EC2 節點無法解決熱點集中在單一機器的窘境。TiDB X 透過 TiKV 的底層調度機制,自動解決了這個資料庫級別的難題。
* **論證結構**: 描述業界常見的 DIY 架構 -> 指出其在遇到熱點時的脆弱性 -> 對比 TiDB X / TiKV 的解決方案 -> 總結出「從分散式資料庫出發,走向物件儲存」的降維打擊優勢。
### 章節骨架
1. **引言**: 客戶將 TiDB X 描述為 "SQL cache layer over S3"。這說法很實用,但忽略了底層的複雜度。
2. **DIY 架構的陷阱**: S3 + EC2 + EBS 搭建的快取層在小規模下運作良好。但當單一 EC2 節點過熱時,加機器無濟於事,因為熱資料仍綁在舊節點上。
3. **重新發明輪子**: 要解決上述問題,你必須實作熱點偵測、切割、搬移與中介資料一致性——恭喜,你正在重寫一個分散式資料庫。
4. **TiDB X 的解法**: 核心不在 TiDB,而在 TiKV。它將資料切分為 Region,並由 Scheduler 自動化地在叢集中平衡熱點。
5. **結論**: TiDB X 不是在 S3 上蓋 SQL,而是一個原生的分散式關聯式資料庫向下整合了物件儲存。
## ROUND 2: DISSECTION | 血肉解剖
**「憑什麼這麼說」**
### 論證鏈
```text
現代雲端架構鼓勵將狀態 (State) 放在 S3,並用無狀態的運算節點 (EC2) 去讀取 --> 但資料庫查詢存在局部性 (Locality),頻繁讀寫的熱點會壓垮單一 EC2 節點 --> 解決熱點必須動態轉移資料 (Data-centric),而非盲目增加運算資源 (Machine-centric) --> DIY 快取層無法處理這類複雜的狀態轉移 --> TiDB 因其底層的 TiKV 原生具備 Range-based 的分片與調度能力,完美補足了這塊拼圖。
```
### 關鍵證據
1. **Machine-centric vs. Data-centric**: DIY 快取系統在遇到負載時的直覺是「加節點 (Add more nodes)」,但這是無效的。真正的解法是「移動熱資料 (Move the hot data)」。這精準地點出了應用層開發者與資料庫開發者在思維上的根本差異。
2. **TiKV 的 Range-based Scheduling**: TiKV 原本就是為了分散式交易與動態擴縮容而生,它內建的 Leader 遷移、Region 切割等機制,直接將一個「快取系統」升級為了「可調度、具備交易 ACID 特性的熱層 (Hot layer)」。
### 隱形假設與邊界
* **隱形假設**:
* 系統面臨的工作負載 (Workload) 是動態變化的,且具有明顯的傾斜分佈 (Skewed distribution/Hotspots)。如果負載極度均勻,DIY 架構或許還能撐得住。
* **邊界條件**:
* TiDB X 的架構優勢建立在極度複雜的分散式共識演算法 (Raft) 與排程器之上。對於只需簡單查詢冷資料的小型分析系統,直接使用 Athena 或 DuckDB (如上一篇 dltHub 所提) 可能是更輕量且具成本效益的選擇。
## ROUND 3: SOUL | 靈魂提取
**「還能怎麼用」**
* **知識連接**: 此文的「熱點轉移」概念,在系統架構上等同於上一篇提到的「Agent Context 的生命週期管理」。無腦堆疊資源 (EC2 或 Token Window) 都會碰壁,唯有建立能自動調度、懂得分層 (Hot/Cold or Conscious/Subconscious) 的管理系統,才是真正的 Scalability (擴展性)。
* **行動觸發**: 在評估任何標榜 "SQL on Data Lake" 或 "SQL on S3" 的產品時,不要只看查詢語法支援度,直接問原廠:「你們的系統如何處理資料傾斜 (Data Skew) 與熱點節點過載問題?」
---
# 分散式快取與儲存架構 (Architectural Deep Dive)
## 前言
作者 Siddon Tang (PingCAP 共同創辦人) 在這篇文章中,直擊了當下 Data Lakehouse 領域最常被低估的工程難題:**熱點管理 (Hotspot Management)**。當儲存與運算分離 (Compute-Storage Separation) 成為業界顯學時,大家以為只要把資料丟進 S3,上面架個 Query Engine 就天下太平了。作者冷酷地指出這在生產環境下是不切實際的幻想。
## 核心架構洞察
### 1. 運算層無法解決儲存傾斜
這是一個極為經典的分散式系統謬誤:**以為透過水平擴展 (Scale-out) 運算節點,就能解決負載問題**。
當一個龐大的資料表中的某幾行 (如爆款商品的庫存) 成為熱點時,所有針對這幾行的 Query 都會路由到 cache 住這些資料的那個特定 EC2 節點上。此時,無論你啟動多少個新的 EC2 節點,它們都是閒置的。這就是 **"Machine-centric" (以機器為中心)** 思維的破產。
### 2. 真正的解法:Data-centric (以資料為中心) 的動態分片
TiDB X 之所以能生存,是因為其底層 TiKV 採用了 **Range-based Sharding (基於範圍的分片)**。
當 PD (Placement Driver, TiDB 的排程器) 偵測到某個 Region (資料塊) 的存取頻率過高時,它會做兩件事:
1. **Split (分裂)**:將這個過熱的 Region 切割成更小的塊。
2. **Schedule & Rebalance (排程與重平衡)**:將切割出來的塊遷移 (Migrate) 到其他閒置的節點上,並重新選舉 Leader。
這是一套極其複雜的反饋控制系統 (Feedback Control System),DIY 開發者根本無力實作。
### 3. 架構演進的降維打擊
市面上有兩種構建 "SQL over S3" 的流派:
* **Bottom-Up (由下而上)**:從 S3 出發,努力在上面蓋一個帶有 Cache 的 SQL 引擎 (如 AWS Athena, Presto 等的變體)。這條路會在地基 (Cache consistency, Hotspots) 上摔得頭破血流。
* **Top-Down (由上而下)**:TiDB 的做法。它**本身就是一個身經百戰的分散式關聯式資料庫**,它向下把冷資料 Offload (卸載) 到 S3,把熱資料留在 TiKV。這等於是拿著核武器在打冷兵器戰爭。
## 總結
"SQL over S3" 是一個性感的行銷詞彙,但它隱瞞了維運上的巨大技術債。一個不能自動遷移熱點資料的快取系統,只不過是一顆等待在凌晨兩點引爆的定時炸彈。TiDB X 展示了資料庫系統如何優雅地吸收物件儲存的優勢,同時保留其核心的調度與交易能力。
Obsidian 整理
原始文章
開發工具
CLAUDE.md 如何在團隊中應用
"不是用來寫專案簡介的 README,它是團隊對 AI 代理下達的「法律條文」。將它納入版本控制與 PR 審查,是解決團隊中 AI 行為不一致的唯一正途。"
閱讀全文
---
tags: [開發工具, 團隊協作, 工程化, IaC]
date: 2026-05-21
read: false
source: "2026-05-21T093011+0800-CLAUDE.md 如何在团队中应用.md"
---
# CLAUDE.md 如何在團隊中應用

原始來源與檔名:2026-05-21T093011+0800-CLAUDE.md 如何在团队中应用.md
---
## NAPKIN | 餐巾紙
### 餐巾紙公式
> Agent Consistency = (Team CLAUDE.md) > (User CLAUDE.md) + Code Review (PR)
*公式說明:在團隊中使用 Claude Code,必須將隱性知識顯性化為 `CLAUDE.md`,並嚴格遵循覆蓋優先級(本地覆蓋團隊,團隊覆蓋個人)。所有對 `CLAUDE.md` 的修改必須經過 PR Review,將其視為真正的「基礎設施程式碼 (IaC)」。*
### 一句話
> `CLAUDE.md` 不是用來寫專案簡介的 README,它是團隊對 AI 代理下達的「法律條文」。將它納入版本控制與 PR 審查,是解決團隊中 AI 行為不一致的唯一正途。
### 餐巾紙草圖
```text
[ Context Merging Hierarchy ]
1. ./CLAUDE.local.md (Local, untracked) -> Highest Priority
2. ./CLAUDE.md (Project, tracked) -> Team Law
3. ~/.claude/CLAUDE.md (User, global) -> Lowest Priority
[ Git PR Review for Prompts ]
Change "Must use ints for money" -> Pull Request -> Code Review -> Applied to all team Agents
```
## ROUND 1: SKELETON | 骨架掃描
**「這篇文章在說什麼」**
* **核心問題**: 在團隊開發中,為什麼 Claude 在每位工程師電腦上的行為都不一樣?
* **核心答案**: 因為團隊的開發規範只存在於「人的腦子裡」,而 AI 缺乏統一的上下文。透過在專案中引入 `CLAUDE.md`,並將其視為「程式碼」進行嚴格的版本管理,能徹底解決此問題。
* **論證結構**: 點出行為差異的痛點 -> 解釋三層文件的覆蓋邏輯 -> 糾正「描述性」寫法,提倡「命令式」寫法 -> 提供實用模板與陷阱 -> 確立 /memory 除錯與 PR 審查的工程規範。
### 章節骨架
1. **痛點**: 同一個 AI,在不同人電腦上表現像不同的人。
2. **分層邏輯**: 個人級 (`~/.claude`) vs 專案級 (`./CLAUDE.md`) vs 本地覆蓋 (`./CLAUDE.local.md`)。越具體的優先級越高。
3. **寫法糾正**: `CLAUDE.md` 不是 README。它必須是硬邦邦的命令式(禁止、必須),而非軟性的形容詞。
4. **把規則當代碼管**: 修改 `CLAUDE.md` 必須走 PR,以解決規則衝突。
5. **拆分與除錯**: 規則過多時拆分至 `.claude/rules/`,並用 `/memory` 指令除錯。
## ROUND 2: DISSECTION | 血肉解剖
**「憑什麼這麼說」**
### 論證鏈
```text
AI 的表現取決於 System Prompt --> 團隊成員若沒有統一的 System Prompt,AI 行為必然分歧 --> 透過 Git 提交 ./CLAUDE.md,確保所有人共享同一份核心規則 --> 但個人有偏好,故引入 ~/.claude 與 .local.md 進行分層覆蓋 --> 為了防止規則互相矛盾,必須將 ./CLAUDE.md 的修改納入 PR Review 流程。
```
### 關鍵證據
1. **踩坑經驗**: 「金額必須用整數分」這種獨家踩坑經驗,比「代碼要寫得優雅」這種廢話有價值一百倍。AI 不可能自己猜到業務上的隱性約定。
2. **同層級衝突**: 如果同一個文件裡寫了「所有函數寫測試」跟「原型代碼不寫測試」,AI 會錯亂。這證明了人工 Code Review 對於解決規則矛盾 (Rule Conflicts) 的必要性。
3. ** /memory 指令**: 透過列出當前對話載入的所有 `CLAUDE.md` 文件,能快速抓出新人環境配置錯誤或個人配置蓋掉團隊規範的 Bug。
### 隱形假設與邊界
* **隱形假設**:
* 團隊使用的 AI 輔助開發工具(如 Claude Code、Cursor)具備向上遞迴尋找及合併 `CLAUDE.md` 的功能。
* 團隊已經具備良好的 Git 工作流與 PR 審查文化。
* **邊界條件**:
* 這份指南針對的是程式碼倉庫 (Codebase) 的協作。若應用於非代碼專案(如 Notion, Figma),則需要依賴其他 Context 注入機制。
## ROUND 3: SOUL | 靈魂提取
**「還能怎麼用」**
* **知識連接**: 將自然語言 (English/中文) 視為「元程式語言 (Meta-programming language)」來控制 AI 的行為。這就是 **Infrastructure as Code (IaC)** 與 **Policy as Code** 概念在 LLM 時代的完美延伸。
* **行動觸發**: 在團隊倉庫中,拒絕使用 `Let's make it elegant` 這種字眼,全面重寫所有提示詞,改用 `STRICTLY USE 2 spaces. NEVER use any.` 這種強型別 (Strongly-typed) 的自然語言。
---
# AI 協作工程化架構 (Architectural Deep Dive)
## 前言
本文從出海電商團隊的真實痛點出發,深刻探討了在多開發者環境中,如何透過 `CLAUDE.md` 實現 AI Agent 行為的標準化與工程化。作者指出,`CLAUDE.md` 不只是一個配置文件,它是團隊將「隱性知識 (Implicit Knowledge)」轉化為「顯性資產 (Explicit Asset)」的唯一載體。
## 架構核心思想
### 1. 級聯覆蓋解析 (Cascading Context Resolution)
Claude Code 的設計採用了類似 CSS (Cascading Style Sheets) 的層疊覆蓋機制:
* **Global (`~/.claude/CLAUDE.md`)**:最低優先級,用於存放跨專案的個人偏好(如:請用中文回答)。
* **Project (`./CLAUDE.md`)**:中等優先級,團隊的憲法,存放在 Git 中。
* **Local (`./CLAUDE.local.md`)**:最高優先級,自動 gitignore。用於覆蓋專案規則(如:我只負責 A 模組)。
> 架構決策:這種分層機制完美解決了「團隊一致性」與「個人開發體驗」之間的矛盾。確保了在無個人設定時,Fall-back 到最安全的團隊配置。
### 2. Policy as Code (政策即代碼)
文章極力抨擊把 `CLAUDE.md` 當作 README (描述性) 寫的行為,呼籲使用**命令式 (Imperative)** 語法。
這在系統架構上等同於**強型別化 (Strong Typing)** 你的自然語言。
* 軟性語句:「注意精度問題」 -> 這是弱型別,AI 執行時會產生巨大的隨機性 (Entropy)。
* 硬性語句:「涉及金額必須使用整數(分),禁止使用浮點數」 -> 這是強型別,直接收束了 AI 的決策樹。
### 3. 分散式團隊的同步鎖 (Synchronization Lock)
在多開發者環境中,規則的變更是並發的。作者堅持修改 `CLAUDE.md` 必須走 Pull Request (PR)。
這本質上是為了引入**人工互斥鎖 (Human Mutex)**:
* 利用 Reviewer 的大腦來進行「同層級衝突檢查 (Collision Detection)」。
* 當規則文件超過 200 行,作者建議拆分至 `.claude/rules/` 目錄下(如 `database.md`, `api.md`)。這落實了微服務架構中的**關注點分離 (Separation of Concerns)**,讓資料庫負責人只去 Review `database.md` 的變更。
## 總結
引入 `CLAUDE.md` 並對其進行版控,標誌著軟體工程正式進入了「Meta-Programming 2.0」時代。工程師不再只是編寫程式碼給編譯器看,而是編寫「規範」給 AI 代理看。誰能最精確地將團隊的「血淚坑」轉化為強勢的自然語言指令,誰就能最大化 AI 在組織內的提效槓桿。
Obsidian 整理
原始文章
開發工具
Claude Code 工程化指南:高階組織 `.claude` 目錄的最佳實踐
"不要把 資料夾當成提示詞的垃圾桶。建立一個層次分明的目錄結構:頂層放架構, 放特定領域規範, 放自動化攔截腳本, 放完整的可複用工作流。這能讓 Agent 的行為變得可預測且易於團隊協作。"
閱讀全文
---
tags: [開發工具, 工具技巧, 工作流, Claude Code]
date: 2026-05-21
read: false
source: "2026-05-21T093233+0800-Claude Code 工程化指南:高效组织 .claude 目录.md"
---
# Claude Code 工程化指南:高階組織 `.claude` 目錄的最佳實踐

原始來源與檔名:2026-05-21T093233+0800-Claude Code 工程化指南:高效组织 .claude 目录.md
---
## NAPKIN | 餐巾紙
### 餐巾紙公式
> Agent Environment = CLAUDE.md (Global Context) + rules/ (Domain Logic) + hooks/ (Automation & Guardrails) + skills/ (Packaged Workflows)
*公式說明:隨著專案變大,不能把所有提示詞都塞進單一的 `CLAUDE.md`,這會導致 Context 過載與管理混亂。必須將 Agent 的環境設定進行模組化拆分,區分「引導 (Guiding)」與「控制 (Controlling)」,並將團隊共用配置與個人偏好隔離。*
### 一句話
> 不要把 `.claude` 資料夾當成提示詞的垃圾桶。建立一個層次分明的目錄結構:頂層放架構,`rules/` 放特定領域規範,`hooks/` 放自動化攔截腳本,`skills/` 放完整的可複用工作流。這能讓 Agent 的行為變得可預測且易於團隊協作。
### 餐巾紙草圖
```text
[ Project Root ]
├── CLAUDE.md <-- Top-level Architecture & Core Stack
├── CLAUDE.local.md <-- Personal overrides (Git-ignored)
└── .claude/
├── settings.json <-- Project-wide Agent permissions
├── rules/
│ └── frontend.md <-- Context loaded only when touching frontend code
├── hooks/
│ └── run-tests.sh <-- Pre-commit/Stop automated safety checks
└── skills/
└── release-prep/ <-- Complex, multi-step workflows
```
## ROUND 1: SKELETON | 骨架掃描
**「這篇文章在說什麼」**
* **核心問題**: 新手使用 Claude Code 時,通常只依賴一個 `CLAUDE.md` 檔案。當專案變大、團隊加入後,提示詞變得難以維護,Agent 行為開始失控,配置檔混亂。
* **核心答案**: 提出一套標準化的 `.claude/` 目錄組織藍圖。將設定拆分為「引導層」與「控制層」,並依據功能劃分出 `rules/` (專項指導)、`hooks/` (自動化防護)、`commands/` (單一指令) 與 `skills/` (複合工作流)。
* **論證結構**: 痛點分析 -> 藍圖展示 -> 5 個核心原則 (頂層輕量化、模組化拆分、指令與技能的差異、公私分離) -> 漸進式成長路徑 -> 常見錯誤與關鍵指標。
### 章節骨架
1. **為什麼結構重要**: 良好的結構帶來可預測性與信任度。
2. **核心原則 1 - 頂層要輕**: 區分負責引導的 `CLAUDE.md` 與負責控制權限的 `settings.json`。
3. **核心原則 2 - 全局 vs 專項**: 當 `CLAUDE.md` 太擁擠時,將特定領域 (如 frontend, backend) 的規範拆分到 `rules/` 目錄。
4. **核心原則 3 - Hooks vs Commands**: `hooks/` 是自動執行的防護網腳本 (如封鎖危險指令);`commands/` 是需要時才呼叫的提示詞模板 (如 Code Review)。
5. **核心原則 4 - Skills vs Agents**: `skills/` 處理複雜的多步驟工作流;`agents/` 定義高度聚焦的角色 (如資安稽核員)。
6. **核心原則 5 - 團隊與個人分離**: 將全域配置與本地覆蓋 (`*.local.*`) 分開,避免污染 Git。
7. **漸進式成長**: 不要提早優化,根據需求逐步增加目錄層級。
## ROUND 2: DISSECTION | 血肉解剖
**「憑什麼這麼說」**
### 論證鏈
```text
單一的巨大 Prompt (CLAUDE.md) 會超出 Context Window 並導致模型失焦 (Hallucination) --> 必須將 Context 模組化 (Modularization) --> 但模組化會帶來管理混亂 --> 因此需要引入軟體工程的目錄規範 (Directory Structure) --> 將「陳述性知識 (Rules)」、「程序性自動化 (Hooks)」與「可執行動作 (Commands/Skills)」分離 --> 最終建立一個可擴展、可團隊共用的 Agent 基礎設施。
```
### 關鍵證據
1. **Hooks 作為防護網 (Guardrails)**: 文章提到使用 `block-dangerous-commands.sh` 或 `run-tests-before-stop.sh`。這是將 DevOps 思維引入 Agent 開發。Agent 不能被完全信任,必須在執行層 (Hooks) 加上強制約束,而不是只在 Prompt 裡用文字懇求它。
2. **Skills vs Commands 的界線**: 將單次任務 (Command,如寫測試) 與複雜流程 (Skill,如發布準備,包含多個步驟與範本) 區分開來。這呼應了我們先前對「Prompt」與「Workflow」差異的討論。
3. ***.local.* 隔離**: 強調使用 `CLAUDE.local.md` 來覆蓋設定且不進 Git。這是傳統軟體開發中環境變數 (`.env`) 管理概念在 Agent 配置上的完美移植。
### 隱形假設與邊界
* **隱形假設**:
* 使用者使用的是支援讀取 `.claude/` 目錄結構的進階 Agent 工具 (如 Claude Code CLI)。
* 專案複雜度已經超越了單人業餘專案 (Toy Project),進入了需要團隊協作或維護長期狀態的階段。
* **邊界條件**:
* 目錄結構的「漸進式成長」是關鍵。如果在一開始只有 3 個檔案時就建立 5 個空目錄,反而會增加認知負擔。
## ROUND 3: SOUL | 靈魂提取
**「還能怎麼用」**
* **知識連接**: 本文提到的 `skills/` 目錄與 `SKILL.md`,正是我們 Antigravity Agent 所使用的技能加載機制 (`~/.agent/skills/`) 的核心原理。這篇文章為我們自身的架構提供了理論背書。而 `hooks/` 的概念,與《Goal Engineering》中提到的 `dr-gate` 驗證機制不謀而合。
* **行動觸發**: 立刻檢查你目前專案中的 `CLAUDE.md` 或其他 Agent 配置文件。如果它的行數超過 200 行,或是混雜了前後端不同的寫作規範,立刻建立一個 `rules/` 目錄,將專項規則抽離出來,保持頂層文件的清爽。
---
# Agent 上下文的模組化與存取控制 (Architectural Deep Dive)
## 前言
如果說 Prompt Engineering 是在寫腳本 (Scripting),那麼這篇文章所倡導的 `.claude` 目錄組織法,就是在進行**系統架構設計 (System Architecture Design)**。它將軟體工程中的「模組化」、「關注點分離 (SoC)」與「生命週期管理」完美應用到了 Agent 的配置上。
## 核心架構洞察
### 1. 關注點分離 (Separation of Concerns) 在 Prompt 中的應用
傳統的巨型 Prompt 違反了單一職責原則 (Single Responsibility Principle)。
* **CLAUDE.md (架構層)**:提供高層次的導航,類似於系統的 Router。
* **rules/* (領域層)**:提供特定領域的業務邏輯。
當 Agent 正在修改前端程式碼時,它不需要 (也不應該) 讀取後端資料庫的 `rules/backend-api.md`。透過目錄結構,我們可以實現**按需加載 (Lazy Loading)** Context,這不僅節省了 Token 成本 (參見前文《Prompt caching, clearly explained》),更大幅降低了模型因為讀取無關資訊而產生的幻覺 (Hallucination)。
### 2. 控制平面 (Control Plane) 與資料平面 (Data Plane) 的解耦
* `.claude/settings.json` 與 `hooks/` 構成了系統的**控制平面**。它們定義了 Agent 「可以做什麼」、「什麼絕對不能做 (安全邊界)」。
* `CLAUDE.md` 與 `commands/` 構成了**資料平面** (或業務邏輯平面)。它們指導 Agent 「如何完成特定任務」。
將這兩者分離是安全系統設計的基礎。開發者可以允許 Agent 動態修改自己的 `commands/`,但絕對不允許 Agent 篡改 `hooks/block-dangerous-commands.sh`。
### 3. 可組合性 (Composability)
透過建立 `commands/` (原子任務) 與 `skills/` (複合工作流),我們實際上是在為 Agent 建立一個**標準函式庫 (Standard Library)**。
* 未來,當你需要執行一個複雜任務時,不再是寫一段長達 500 字的 Prompt。
* 而是像呼叫 API 一樣,組裝已有的 Skill (例如:先執行 `docs-audit` Skill,再執行 `release-prep` Skill)。這大幅提高了 AI 操作的可預測性與可重現性 (Reproducibility)。
## 總結
優秀的 Agent 架構師不會試圖寫出一個「完美無瑕的提示詞」,而是建立一套健壯的目錄結構與約束機制,讓 Agent 能夠在明確的邊界內,安全、精準地存取它當下需要的領域知識。
Obsidian 整理
原始文章
開發工具
Google I/O 2026:Antigravity CLI 實戰筆記與 Gemini CLI 搬家指南
"如果你還在用 指令跑 Agent,你只剩下 30 天可以搬家了。Google 透過 提供了一鍵遷移方案,把你的 MCP Server、Skills 和 Hooks 無痛轉移。這是 Google 統一天下 Agent 生態系的關鍵一步。"
閱讀全文
---
tags: [開發工具, 工具技巧, GoogleIO2026, Agent架構]
date: 2026-05-21
read: false
source: "2026-05-21T093459+0800- Google IO 2026 Antigravity CLI 實際使用筆記與 Gemini CLI 搬家指南.md"
---
# Google I/O 2026:Antigravity CLI 實戰筆記與 Gemini CLI 搬家指南

原始來源與檔名:2026-05-21T093459+0800- Google IO 2026 Antigravity CLI 實際使用筆記與 Gemini CLI 搬家指南.md
---
## NAPKIN | 餐巾紙
### 餐巾紙公式
> Antigravity CLI (agy) = Gemini CLI + Go Rewrite + Antigravity 2.0 Harness (Dynamic Subagents + Async Orchestration)
*公式說明:Google 在 I/O 2026 宣布將 Node.js 寫的 Gemini CLI 棄用,全面改用 Go 語言重寫的 Antigravity CLI (`agy`)。這不僅是換殼,而是讓終端機開發者能與桌面版 GUI 共用同一套底層的 Agent Runtime (Harness),解鎖動態子代理與非同步排程能力。*
### 一句話
> 如果你還在用 `gemini` 指令跑 Agent,你只剩下 30 天可以搬家了。Google 透過 `agy plugin import gemini` 提供了一鍵遷移方案,把你的 MCP Server、Skills 和 Hooks 無痛轉移。這是 Google 統一天下 Agent 生態系的關鍵一步。
### 餐巾紙草圖
```text
[ Before Google I/O 2026 ]
Terminal: Gemini CLI (Node.js) -----> Disconnected Harness
Desktop : Antigravity (GUI) -----> Advanced Harness (Subagents, Cron)
[ After Google I/O 2026 ]
Terminal: Antigravity CLI (agy) --\
+--> Unified Antigravity Harness
Desktop : Antigravity 2.0 --/ (Agent-first, Unified Upgrades)
```
## ROUND 1: SKELETON | 骨架掃描
**「這篇文章在說什麼」**
* **核心問題**: Google 宣布將獨立的 Gemini CLI 合併至 Antigravity 開發平台下,並給予 30 天的遷移期。開發者需要知道如何無痛轉移設定檔與 CI/CD 腳本。
* **核心答案**: 透過官方的安裝腳本與 `agy plugin import gemini` 指令,可以將原本的 `.gemini/` 設定(包含 MCP Servers)平滑轉移。新版的 `agy` 帶來了非同步多 Agent 編排與動態子代理等強大功能。
* **論證結構**: 說明合併背景 -> 步驟一:安裝 `agy` -> 步驟二:首次啟動的三大設定 (色系、隱私條款、資料夾授權) -> 步驟三:匯入舊設定 -> 比較 `agy` 與 `gemini cli` 的兩大優勢 (共用 Harness、非同步編排) -> 結論。
### 章節骨架
1. **為什麼發生合併**: Google 確立「Agent-first 開發平台」敘事,將底層 Runtime (Harness) 統一。
2. **第一步 (安裝)**: 提供 macOS/Linux/Windows 的一鍵安裝腳本。
3. **第二步 (首次啟動)**:
* 匯入擴充 (Migration options)。
* 同意條款 (明列 AI Coding Agent 的風險如資料外洩、注入攻擊)。
* **逐資料夾授權 (Trust)**:Agent 需要讀寫權限。
4. **第三步 (搬移設定)**: 使用 `agy plugin import gemini`。MCP Server 會一對一搬移,Commands 轉為 Skills。
5. **核心優勢**:
* 共用 Antigravity 2.0 的 Harness (享有 Dynamic Subagents)。
* 非同步、多 agent 編排 (不再鎖死主終端,適合大型重構)。
6. **總結**: 終端機開發者不再是次等公民,與 GUI 使用者回到同一條升級線。
## ROUND 2: DISSECTION | 血肉解剖
**「憑什麼這麼說」**
### 論證鏈
```text
過去 Google 的 CLI 工具 (Gemini CLI) 與桌面端工具 (Antigravity) 是由不同團隊、不同語言開發的平行宇宙 --> 這導致終端機開發者無法享受到桌面端最新研發的 Agent 能力 (如排程、子代理) --> 為了打造真正的 Agent OS,Google 強制統一底層 Runtime (Harness) --> 因此推出了基於 Go 的 `agy` CLI,並透過自動化腳本降低轉移陣痛 --> 最終實現「一次升級,全平台受惠」的 Agent 開發體驗。
```
### 關鍵證據
1. **Harness 的統一**: 文章明確指出 `agy` 與 Antigravity 2.0 桌面版共用同一個 Agent Runtime。這解決了長期以來 CLI 工具在功能上落後 GUI 的痛點。
2. **MCP Server 零修改搬移**: 對於深度依賴 MCP (Model Context Protocol) 串接 Notion、GitHub 的開發者來說,最怕的就是遷移導致設定爛掉。官方工具實作了 `command`、`args`、`env` 的一對一保留,降低了遷移阻力。
3. **非同步排程能力的展現**: 過去要跑多個 Agent 任務必須開多個 `tmux` session,現在 `agy` 內建多代理背景排程。這是將「單一腳本思維」升級為「作業系統行程 (Process) 思維」的關鍵證據。
### 隱形假設與邊界
* **隱形假設**:
* 開發者的專案結構與 CI/CD 環境沒有極度特化的、與 Node.js 版 Gemini CLI 深度綁定的黑魔法 (Hack)。
* **邊界條件**:
* 文章提到「Antigravity Quota 給的不夠」,這暗示了新的整合架構在 API 額度或計費上,可能對重度使用者存在隱藏的成本天花板。
## ROUND 3: SOUL | 靈魂提取
**「還能怎麼用」**
* **知識連接**: 這次的 Antigravity 升級方向 (動態子代理、統一底層基底) 與前一篇《Hermes Agent v0.14.0 Foundation Release》展現了相同的趨勢:**Agent 正在從「單一對話工具」演化為「可常駐、可排程的作業系統 (Agent OS)」**。
* **行動觸發**:
1. 立刻打開終端機,執行 `curl -fsSL https://antigravity.google/cli/install.sh | bash` 安裝 `agy`。
2. 執行 `agy plugin import gemini`。
3. 去修改你所有專案中的 GitHub Actions 或 GitLab CI,把 `gemini "do something"` 替換成 `agy "do something"`,以免 30 天後 CI 壞掉。
---
# 統一戰線:Google Agent 生態系的收編之戰 (Architectural Deep Dive)
## 前言
這篇實戰筆記不只是一篇技術教學,它是一份見證 Google 在 AI 開發者工具領域「收編與統一」的歷史文件。Antigravity CLI (`agy`) 的誕生,標誌著 Google 正式將散落各地的 AI 開發工具,收攏到一個名為「Antigravity Harness」的核心架構下。
## 核心架構洞察
### 1. Harness 模式:引擎與外殼的分離
文章中不斷強調 **Harness (Agent Runtime)**。
* 在軟體架構中,Harness 是一個執行環境,負責處理 Agent 的記憶體、工具調用路由、生命週期管理與權限邊界。
* Google 將 Node.js 廢棄改用 Go,本質上是為了將 Harness 編譯為高效能的底層引擎 (Daemon)。
* 這樣一來,無論是 Terminal (`agy`) 還是 Desktop GUI,都只是連接到這個底層引擎的「視圖層 (View)」。這是一種經典的 C/S (Client/Server) 架構在本地端的重現。
### 2. 資料夾授權 (Folder Trust) 的資安實踐
首次啟動時要求「逐資料夾授權」的設計,展示了進階的 Agent 零信任架構 (Zero-Trust)。
* Agent 與傳統腳本不同,它具有「自主探索與執行」的能力。如果你在 `~` (Home 目錄) 授權了 Agent,它就有可能因為 Prompt Injection 而刪除你的 SSH 私鑰。
* 強制在特定專案目錄 (Workspace) 下進行授權,是將 Agent 關進沙盒 (Sandbox) 的最基礎實踐。這呼應了《AI Infra Engineer 必收專案》一文中對 Runtime 安全性的重視。
### 3. MCP (Model Context Protocol) 成為跨世代橋樑
在這次遷移中,MCP Server 的設定可以「一對一」直接搬移,這證明了 MCP 的強大生命力。
* MCP 將工具定義標準化。只要工具遵循 MCP 協議,無論上層的 Agent 框架是從 Gemini 換到 Antigravity,還是從 Claude 換到 OpenAI,底層的工具串接都不會斷。
* 這確立了 MCP 作為 AI 時代「USB 接口」的不可撼動地位。
## 總結
`agy` 的推出,不是增加了一個新工具,而是消滅了一個舊生態。對於架構師來說,這傳遞了一個明確的訊號:未來的 Agent 開發,底層的協作與排程能力 (Harness) 將由大廠壟斷提供,開發者的戰場將轉移到如何利用 MCP 開發更具領域專業的 Skills 與 Tools。
Obsidian 整理
原始文章
開發工具
Hermes Agent v0.14.0:邁向開源 Agent 作業系統的奠基之作
"Hermes v0.14.0 這次更新不是在堆砌功能,而是在打地基。它最殺手級的應用是 ,能直接把你的 Claude/ChatGPT/Grok 網頁版付費訂閱轉成標準的 OpenAI API 格式,讓你零成本在 Cursor 或 Aider 裡狂刷程式碼。"
閱讀全文
---
tags: [開發工具, 工具技巧, Agent架構, 產品更新]
date: 2026-05-21
read: false
source: "2026-05-21T093251+0800-Hermes Agent v0.14.0 Foundation Release杀到!Grok集成+本地代理白嫖全网工具.md"
---
# Hermes Agent v0.14.0:邁向開源 Agent 作業系統的奠基之作

原始來源與檔名:2026-05-21T093251+0800-Hermes Agent v0.14.0 Foundation Release杀到!Grok集成+本地代理白嫖全网工具.md
---
## NAPKIN | 餐巾紙
### 餐巾紙公式
> Hermes v0.14.0 = Grok 1M Context + Local API Proxy (Free API calls) + 22 Platforms + 1.5s Cold Start
*公式說明:Hermes Agent 已經不再只是一個工具,而是一個跨平台的 Agent 基礎設施。它整合了 Grok 的超大上下文、把使用者的 C 端訂閱 (Pro/Premium) 轉換為免費的本地 API 給其他開發工具使用,並極大地最佳化了效能。*
### 一句話
> Hermes v0.14.0 這次更新不是在堆砌功能,而是在打地基。它最殺手級的應用是 `hermes proxy`,能直接把你的 Claude/ChatGPT/Grok 網頁版付費訂閱轉成標準的 OpenAI API 格式,讓你零成本在 Cursor 或 Aider 裡狂刷程式碼。
### 餐巾紙草圖
```text
[ Developer / User ]
| (Subscribes to Claude Pro, ChatGPT Plus, X Premium)
v
[ Hermes Proxy (Local) ] <--- The Game Changer
| (Translates web sessions to standard OpenAI API)
v
[ Aider / Cursor / Cline / VS Code ]
=> Zero API cost for developer workflows.
```
## ROUND 1: SKELETON | 骨架掃描
**「這篇文章在說什麼」**
* **核心問題**: 介紹了 Hermes Agent v0.14.0 ("Foundation Release") 的重磅更新。它解決了開發者在各種工具間切換的摩擦力,以及高昂的 API 成本問題。
* **核心答案**: 總結了 6 大「王炸」功能。最引人注目的是 Grok 原生整合 (利用 X Premium 訂閱即可擁有 1M 上下文與即時推文搜尋) 與 `hermes proxy` (將網頁訂閱轉為本地 API 供其他工具白嫖)。同時大幅改善了跨平台支援 (Windows 原生) 與效能 (1.5s 冷啟動)。
* **論證結構**: 開門見山定調 (Agent OS) -> 列舉 6 大更新 (Grok 整合、本地代理、跨平台/安裝優化、效能起飛、新工具、底層重構) -> 實測 3 個最爽用法 -> 對不同角色的意義 (0代碼玩家、開發者、創業者) -> 總結 2026 年 AI 代理的決勝點。
### 章節骨架
1. **引言**: Hermes 正式從「工具」轉變為能自我生長的「Agent OS」。
2. **王炸 1:Grok 原生整合**: 用 X 訂閱解鎖 1M 上下文,可吞下整個 codebase,支援 `x_search` 即時推文搜尋。
3. **王炸 2:hermes proxy**: 神級功能。將個人 C 端訂閱 (Claude Pro 等) 轉為標準 OpenAI API,讓 Aider/Cursor 免費呼叫。
4. **王炸 3 & 4:安裝、平台與效能**: 支援 Windows,跨 22 大平台 (Teams, LINE)。冷啟動降至 1.5s,瀏覽器自動化 180 倍加速。
5. **王炸 5 & 6:新工具與底層重構**: 新增 Computer Use (像素級視覺)、熱切換 (`/handoff`),並採用懶加載依賴,確保系統穩健。
6. **結語**: 2026 年 Agent 的決勝點在於「安裝便利性、榨乾已有訂閱、穩定度」。開源 Agent 黃金時代來臨。
## ROUND 2: DISSECTION | 血肉解剖
**「憑什麼這麼說」**
### 論證鏈
```text
AI 開發者的痛點在於多個 AI 工具之間各自收費且孤立 --> Hermes 透過 OAuth 與逆向工程,將使用者的 C 端月費訂閱 (Web Subscription) 整合 --> 再透過 `hermes proxy` 將這些訂閱統一暴露為標準的 OpenAI 兼容 API --> 開發者可以使用最愛的 IDE/CLI 工具 (Aider, Cursor) 直接對接這個 Proxy --> 達成「一份訂閱,全網域免費調用 API」的極限降本效益。
```
### 關鍵證據
1. **`hermes proxy` 的白嫖經濟學**: 這是該版本最具破壞性的創新。通常開發者在 Cursor 寫 Code 必須花費實打實的 API 費用 (按 Token 計費)。Hermes proxy 透過某種封裝技術,將網頁版的無限制或高額度對話轉化為 API。這對於高強度開發者來說,每月可省下數百美金。
2. **Grok 的 1M 上下文與 `x_search`**: 這解決了兩個痛點。一是龐大代碼庫的理解問題;二是獲取「即時互聯網脈動」的問題。在 X (Twitter) 封閉 API 後,能擁有原生且即時的推文搜尋能力,對於金融交易或熱點分析 Agent 來說是巨大的優勢。
3. **瀏覽器自動化 180 倍加速 (共享 WebSocket)**: 這解決了過去 Agent 操作瀏覽器時「啟動慢、連線卡」的問題。透過架構底層的改進,讓 Computer Use 變得真正實用。
### 隱形假設與邊界
* **隱形假設**:
* AI 模型供應商 (OpenAI, Anthropic, X) 在短期內不會強制封殺這種將 Web 訂閱轉為 API 使用的「灰產/開源」代理做法。(這存在極高的合規與封號風險)。
* **邊界條件**:
* 這種「白嫖 API」的玩法只適合個人開發者或極小團隊使用。企業級應用絕對不能依賴這種 Proxy 架構,否則將面臨嚴重的穩定性與法律合規問題。
## ROUND 3: SOUL | 靈魂提取
**「還能怎麼用」**
* **知識連接**: 本文提到的降低 API 成本的做法 (白嫖訂閱),與前一篇《I cut my AI agent's token bill 87% in 7 days》形成了強烈的對比。前一篇是「正派的系統架構優化 (Caching, Routing)」,而 Hermes 這種是「野路子的駭客手段」。但對於個人開發者來說,兩者結合才是降本增效的極致。
* **行動觸發**: 如果你是重度 Aider 或 Cursor 使用者,立刻在終端機安裝 `pip install hermes-agent`,並執行 `hermes proxy`。將你 IDE 的 API Base URL 指向這個本地代理,開始享受零成本的開發體驗 (直到漏洞被官方補上為止)。
---
# 「API 灰市」與 Agent 作業系統的崛起 (Architectural Deep Dive)
## 前言
Hermes Agent v0.14.0 的發布,表面上是一次功能大更新,實際上揭示了 AI 開發生態圈中一個不可忽視的地下趨勢:**API 灰市 (API Grey Market)** 的成型,以及 Agent 從單一工具向「個人作業系統 (OS)」演進的野心。
## 核心架構洞察
### 1. 訂閱制套利 (Subscription Arbitrage) 與 API 灰市
`hermes proxy` 的核心價值在於「套利」。
* **機制**:AI 巨頭對 C 端使用者提供的是「月費吃到飽 (帶有軟性次數限制)」的訂閱模式;對 B 端開發者提供的是「按 Token 計費」的 API 模式。這兩者之間存在巨大的價格差。
* **架構實現**:Hermes 本質上建構了一個逆向工程層 (Reverse Engineering Layer) 或自動化瀏覽器層,將標準的 API 請求偽裝/轉換為網頁端的 HTTP 請求,從而「繞過」了計費牆。
* 這在架構上是極度脆弱的 (Fragile),因為底層網頁結構一變,Proxy 就會失效。但只要社群維護速度夠快,這將是個人開發者的最大福音。
### 2. 本地化 (Local-First) 的 Agent 基礎設施
文章提到冷啟動降至 1.5 秒,並且懶加載 (Lazy Loading) 依賴。
* 這是將 Agent 作為「作業系統常駐進程 (Daemon)」的必要條件。
* 未來的開發環境中,Agent 不會是你在雲端呼叫的某個服務,而是像你的 `dockerd` 或是網路驅動程式一樣,常駐在你的筆記型電腦後台,隨時監聽你的按鍵與剪貼簿 (Computer Use),並提供跨應用程式的輔助。
### 3. 多模型熱切換 (Handoff) 作為路由策略
文章提到的 `/handoff` 指令,是 Agent 架構中非常關鍵的一環。
* 在複雜任務中,沒有單一模型可以勝任所有事。可能需要 Grok 負責即時搜尋,Claude 負責深度寫作。
* `handoff` 機制的底層,要求系統必須有一個「模型無關的上下文狀態存儲 (Model-Agnostic Context Store)」。當任務轉交時,將 A 模型的推理過程與狀態,無縫注入 B 模型的 Prompt 中。這正是前一篇文章所呼籲的「持久化營運狀態」的初步實現。
## 總結
2026 年,開源 Agent 的競爭已經脫離了「誰的 Prompt 寫得好」的階段,進入了「誰的底層基礎設施更硬核」的階段。Hermes 透過整合多平台、劫持訂閱流量、加速瀏覽器自動化,正在確實在開發者筆電中,搭建起下一代作業系統的雛形。
Obsidian 整理
原始文章
開發工具
Karpathy 的 CLAUDE.md:將代碼準確率從 65% 提升至 94% 的神級配置
"不要讓你的 Claude Code 每次啟動都像失憶症患者。透過建立強制的 規則(不廢話、不動無關程式碼、遇到破壞性操作先確認、紀錄決策日誌),你能用兩小時的設定省下每年幾十萬美元的工時浪費。"
閱讀全文
---
tags: [開發工具, Prompt工程, 開發規範]
date: 2026-05-21
read: false
source: "2026-05-21T093126+0800-Karpathy's CLAUDE.md hit 1 on GitHub with 82,000 stars. Most devs still haven't read it..md"
---
# Karpathy 的 CLAUDE.md:將代碼準確率從 65% 提升至 94% 的神級配置

原始來源與檔名:2026-05-21T093126+0800-Karpathy's CLAUDE.md hit 1 on GitHub with 82,000 stars. Most devs still haven't read it..md
---
## NAPKIN | 餐巾紙
### 餐巾紙公式
> Claude Code Efficiency = (Karpathy's 4 Rules) + (Context Pre-loading) + (Action Constraints) - (Re-explaining Cost)
*公式說明:多數開發者每週浪費近千美元的工時在「重新解釋背景」與「收拾 AI 亂改的爛攤子」。透過配置一個 200 行以內的 `CLAUDE.md`,注入 Karpathy 的 4 條鐵律與專案堆疊限制,就能徹底消除這些隱性成本,讓 AI 行為變得高度可控。*
### 一句話
> 不要讓你的 Claude Code 每次啟動都像失憶症患者。透過建立強制的 `CLAUDE.md` 規則(不廢話、不動無關程式碼、遇到破壞性操作先確認、紀錄決策日誌),你能用兩小時的設定省下每年幾十萬美元的工時浪費。
### 餐巾紙草圖
```text
[ Without CLAUDE.md ]
Session Starts -> No Context -> AI Guesses -> Rewrites 3 unrelated files -> Human spends 1 hr reverting -> $150 wasted.
[ With CLAUDE.md (Karpathy Edition) ]
Session Starts -> Reads Rules -> AI asks: "Unsure about X, proceed?" -> Human confirms -> AI touches only 1 file -> Success.
```
## ROUND 1: SKELETON | 骨架掃描
**「這篇文章在說什麼」**
* **核心問題**: 開發者在使用 Claude Code (或其他 AI 編碼工具) 時,常因 AI 忘記上下文、亂改無關程式碼、推薦錯誤技術棧而浪費大量時間。
* **核心答案**: 建立並配置一份專案根目錄的 `CLAUDE.md` 文件。導入 Andrej Karpathy 總結的 4 條核心規則,並補充關於預設行為、操作約束與記憶堆疊的指令。
* **論證結構**: 算帳 (量化每週浪費的工時成本) -> 三階段配置教學 (Defaults, Behavior, Memory+Stack) -> 揭曉 Karpathy 的 4 條鐵律 -> 總結算帳與行動呼籲。
### 章節骨架
1. **引言**: Karpathy 的 CLAUDE.md 爆紅,準確率從 65% 跳升至 94%。
2. **Part 1 (Defaults/預設)**: 消除廢話、設定回覆長度、角色背景與專案目標。算帳:省下每週 $375 重新解釋的成本。
3. **Part 2 (Behavior/行為)**: 限定作用域 (Scope)、重大變更需確認、破壞性操作(如部署/刪庫)需顯式授權。算帳:省下每週 $225 擦屁股的成本。
4. **Part 3 (Memory+Stack/記憶與堆疊)**: 建立 `MEMORY.md` 與 `ERRORS.md` 來記錄決策與失敗,並鎖死技術棧避免 AI 亂推薦。
5. **Karpathy 的 4 條鐵律**: 1. 先問別猜。 2. 最簡解法。 3. 別動無關代碼。 4. 明確標示不確定性。
## ROUND 2: DISSECTION | 血肉解剖
**「憑什麼這麼說」**
### 論證鏈
```text
AI 模型為了通用性,預設會提供「過度熱心且包含大量廢話」的輸出,並在缺乏上下文時進行「猜測」 --> 這種猜測在寫程式時是致命的 (例如重構了未要求更改的模組) --> 開發者花費大量精力去 Revert (撤銷) 與 Debug --> 透過編寫嚴謹的 CLAUDE.md (相當於系統層級的 System Prompt 注入),強制 AI 遵循「先問再動、最小改動」的紀律 --> 消除隨機性,大幅提升準確率與開發效率。
```
### 關鍵證據
1. **成本量化**: 文章用硬核的算帳方式說服讀者。每個開發者每天花 30 分鐘解釋上下文、每週花 1 小時復原錯誤重構,換算時薪就是每人每週 $975 美元的驚人浪費。
2. **Karpathy 鐵律的精髓**: 「如果你不確定,請大聲說出來,不要假裝懂。」(Confidence without certainty causes more damage than admitting a gap.) 這是直指 LLM 幻覺 (Hallucination) 痛點的治本之道。
3. **雙日誌系統 (`MEMORY.md` & `ERRORS.md`)**: 解決了單次會話狀態流失的問題。當前路徑失敗兩次就寫入 `ERRORS.md`,下次 AI 讀取時就不會重蹈覆轍。
### 隱形假設與邊界
* **隱形假設**:
* 使用者團隊使用的 AI 工具 (如 Cursor 或 Claude Code) 預設支援啟動時自動讀取專案根目錄的 `CLAUDE.md` 檔。
* 開發者擁有足夠的紀律,在 AI 違反規則時不姑息,而是回去修正 `CLAUDE.md`。
* **邊界條件**:
* 對於極小型的腳本專案,設定這一大套雙日誌系統與技術棧鎖定可能顯得過於繁瑣。
## ROUND 3: SOUL | 靈魂提取
**「還能怎麼用」**
* **知識連接**: 此篇文章與前面處理的《CLAUDE.md 如何在團隊中應用》互為表裡。前文談的是「團隊協作與權限 (Git PR) 的流程機制」;本文談的是「Prompt 內部的具體約束條款 (Policy Rules)」。兩者結合即為完整的 IaC (Infrastructure as Code) 實踐。
* **行動觸發**: 直接複製文中的 Karpathy 4 條鐵律,立刻貼進你目前專案的 Prompt 系統或 `.cursorrules` 中。特別是「Do not touch unrelated code (別動無關代碼)」。
---
# 開發規範工程化 (Architectural Deep Dive)
## 前言
本文以極具煽動性的「算帳」方式,推廣了由 Andrej Karpathy 發起的 `CLAUDE.md` 運動。從軟體架構的角度看,這是一份完美的「防禦性編程 (Defensive Programming)」指南,只不過這次我們防禦的對象不是惡意使用者,而是「過於熱心且會產生幻覺的 AI」。
## 核心架構洞察
### 1. 隔離隨機性 (Isolating Entropy)
AI 本質上是一台機率機器,它會帶來巨大的隨機性 (Entropy)。Karpathy 的 4 條規則,本質上是在為這台機率機器套上**安全拘束衣 (Safety Harness)**。
* 規則 2 (最簡解法) 與規則 3 (別動無關代碼):強制限制了 AI 輸出的「作用域 (Scope)」。在分散式系統中,我們極力避免**副作用 (Side-effects)**;在 AI 開發中,重構未被要求的程式碼就是最致命的副作用。
### 2. 狀態外掛 (State Externalization)
文章提倡建立 `MEMORY.md` (決策日誌) 與 `ERRORS.md` (錯誤日誌),並讓 AI 在啟動時讀取、結束時寫入。
* 架構決策:LLM 本身是無狀態的 (Stateless)。作者巧妙地利用本機的 Markdown 檔案,將系統的**事務日誌 (Transaction Log)** 與**死信佇列 (Dead Letter Queue, 錯誤記錄)** 外部化,實踐了最輕量級的狀態持久層。這比呼叫遠端 Vector DB 要穩定且高效得多。
### 3. 許可權機制 (Explicit Authorization)
文章中的 `Behavior` 段落明確定義了:「刪除檔案、更改 Schema、API 呼叫,必須獲得人類在當前對話中的明確同意。」
這等同於在系統中實作了 **RBAC (Role-Based Access Control)** 中最高層級的**雙重驗證 (Two-Factor Authentication)** 思想。人類扮演了審批節點,防止 AI 代理暴走。
## 總結
一份優秀的 `CLAUDE.md`,就是一份寫給 AI 閱讀的**微服務合約 (API Contract)**。它明確規範了邊界 (不准動無關代碼)、通訊協定 (不准說廢話)、錯誤處理 (不懂就問) 以及狀態儲存 (寫入 MEMORY.md)。這正是 Agentic AI 落地生產環境的基石。
Obsidian 整理
原始文章