產出摘要

Agent: architect (architect)
Confidence: 54%
Cost: $2.0047
Duration: 7m 24s
Task ID: bac3ee65-9480-467c-a1ff-b231bcc9a155


架構 spec 已完成,寫入 soul/agent-reports/architect/2026-02-26-knowledge-base-spec.md

★ Insight ─────────────────────────────────────

設計的三個核心決策及其取捨

  1. Markdown + JSON 索引雙層結構(而非純 JSONL)— 索引用 JSON 讓 query 只需讀一個檔案(O(1) I/O),完整 body 用 Markdown 保持可讀性。代價是寫入需要兩步(寫 entry + 更新 index),但這用 atomic write 可解。這比現有 shared-knowledge 的「每次 query 都要 parse 整份 JSONL」高效很多。

  2. 只注入 preventionRule(一句話),不注入完整 body — 這是 prompt 膨脹 vs 知識深度的取捨。每條知識只吃 ~100-200 chars,1500 chars 上限可容納 7-10 條。如果 agent 需要完整 context,可以透過 knowledge_read MCP tool 自行查詢。這比現有 shared-knowledge 的 2000 chars 塞 raw summary 精準得多。

  3. Phase 1 先手動再自動 — 自動萃取的品質很難一步到位(看 shared-knowledge 的 keyword 品質就知道)。先讓 CTO/reviewer 手動寫幾筆高品質條目,驗證「注入 → 預防」的 loop 真的有效,再啟用自動萃取。這避免了「自動萃取出一堆垃圾 → 信任崩壞 → 系統被廢棄」的風險。

─────────────────────────────────────────────────

產出摘要

完整 spec 位於 soul/agent-reports/architect/2026-02-26-knowledge-base-spec.md,涵蓋:

Section 內容
§3 目錄結構:soul/knowledge/{index.json, entries/*.md, archive/}
§4 Schema:Markdown entry(YAML frontmatter)+ JSON index entry
§5 三層萃取:嵌入式 AAR、事件驅動 post-mortem、定期綜合
§6 Prompt 注入:knowledgeBase section,scoring formula,1500 char 上限
§7 生命週期:active → archived/superseded/promoted
§8 MCP 工具:knowledge_write/search/read/archive
§9-10 具體修改檔案清單 + Phase 1/2/3 優先級拆分

**Phase 1(MVP)**最高 ROI:4 個新檔案 + 2 個修改,估計 programmer 一個 task。核心是「手動寫入 + 自動注入」,讓知識庫先跑起來。

—HANDOFF—
TO: pm
INTENT: handoff
ARTIFACT_TYPE: report
SUMMARY: Knowledge Base 架構 spec 完成,請 PM 將 Phase 1 拆解為可執行的 programmer task