🔒 永久記憶保護聲明
此UML架構圖為知識庫系統的永久記憶文件,嚴禁刪除或修改。所有AI Agent必須熟讀並遵循此架構設計。若發現問題或需要更新,請建立新版本檔案並保留原版本。
1. 系統架構總覽
架構說明: 此圖展示知識庫系統的完整分層架構,包含使用者層、腳本工具層、知識儲存層和版本控制層的完整互動關係。
📊 知識庫系統分層架構圖
graph TB
subgraph "使用者層 User Layer"
AI1[🤖 Claude Code
程式碼開發] AI2[🎨 Cursor
UI/UX設計] AI3[📝 Roo Code/Cline
文件創作] H[👤 人類開發者
Human Developer] end subgraph "腳本工具層 Script Tools Layer" S1[📋 create-decision.sh
建立決策記錄] S2[🔍 search-knowledge.sh
搜尋知識庫] S3[📊 update-task-status.sh
更新任務狀態] S4[🔒 protect-permanent-memory.sh
保護永久記憶] S5[💾 backup-knowledge.sh
備份知識庫] S6[🔧 其他腳本工具
Other Scripts] end subgraph "知識儲存層 Knowledge Storage Layer" KB1[📋 decisions/
決策記錄] KB2[🔒 permanent-memory/
永久記憶] KB3[📊 task-management/
任務管理] KB4[🏛️ governance/
治理規範] KB5[🤖 ai-collaboration/
AI協作記錄] end subgraph "版本控制層 Version Control Layer" GIT[📦 Git Repository
版本控制倉庫] end AI1 --> S1 AI1 --> S2 AI1 --> S3 AI2 --> S1 AI2 --> S2 AI3 --> S1 AI3 --> S2 H --> S1 H --> S2 S1 --> KB1 S2 --> KB1 S2 --> KB2 S2 --> KB3 S3 --> KB3 S4 --> KB2 S5 --> KB1 S5 --> KB2 S5 --> KB3 S6 --> KB4 S6 --> KB5 KB1 --> GIT KB2 --> GIT KB3 --> GIT KB4 --> GIT KB5 --> GIT style AI1 fill:#e3f2fd style AI2 fill:#f3e5f5 style AI3 fill:#fff3e0 style H fill:#c8e6c9 style S1 fill:#bbdefb style S2 fill:#c5cae9 style S3 fill:#d1c4e9 style S4 fill:#ffcdd2 style S5 fill:#c5e1a5 style KB1 fill:#fff9c4 style KB2 fill:#ffccbc style KB3 fill:#b2dfdb style KB4 fill:#d7ccc8 style GIT fill:#cfd8dc
程式碼開發] AI2[🎨 Cursor
UI/UX設計] AI3[📝 Roo Code/Cline
文件創作] H[👤 人類開發者
Human Developer] end subgraph "腳本工具層 Script Tools Layer" S1[📋 create-decision.sh
建立決策記錄] S2[🔍 search-knowledge.sh
搜尋知識庫] S3[📊 update-task-status.sh
更新任務狀態] S4[🔒 protect-permanent-memory.sh
保護永久記憶] S5[💾 backup-knowledge.sh
備份知識庫] S6[🔧 其他腳本工具
Other Scripts] end subgraph "知識儲存層 Knowledge Storage Layer" KB1[📋 decisions/
決策記錄] KB2[🔒 permanent-memory/
永久記憶] KB3[📊 task-management/
任務管理] KB4[🏛️ governance/
治理規範] KB5[🤖 ai-collaboration/
AI協作記錄] end subgraph "版本控制層 Version Control Layer" GIT[📦 Git Repository
版本控制倉庫] end AI1 --> S1 AI1 --> S2 AI1 --> S3 AI2 --> S1 AI2 --> S2 AI3 --> S1 AI3 --> S2 H --> S1 H --> S2 S1 --> KB1 S2 --> KB1 S2 --> KB2 S2 --> KB3 S3 --> KB3 S4 --> KB2 S5 --> KB1 S5 --> KB2 S5 --> KB3 S6 --> KB4 S6 --> KB5 KB1 --> GIT KB2 --> GIT KB3 --> GIT KB4 --> GIT KB5 --> GIT style AI1 fill:#e3f2fd style AI2 fill:#f3e5f5 style AI3 fill:#fff3e0 style H fill:#c8e6c9 style S1 fill:#bbdefb style S2 fill:#c5cae9 style S3 fill:#d1c4e9 style S4 fill:#ffcdd2 style S5 fill:#c5e1a5 style KB1 fill:#fff9c4 style KB2 fill:#ffccbc style KB3 fill:#b2dfdb style KB4 fill:#d7ccc8 style GIT fill:#cfd8dc
圖例說明
- 使用者層: 包含各種AI工具和人類開發者
- 腳本工具層: 自動化腳本提供知識庫操作功能
- 知識儲存層: 以檔案形式儲存各類知識
- 版本控制層: Git提供版本管理和協作支援
2. 決策記錄流程圖
流程說明: 此圖展示從識別問題到完成決策記錄的完整流程,包括AI工具自動偵測、內容驗證和Git提交等關鍵步驟。
📋 決策記錄完整流程
flowchart TD
Start([🎯 開始]) --> A[識別需要決策的問題]
A --> B[執行 create-decision.sh]
B --> C[輸入決策類型和標題]
C --> D[🤖 腳本自動偵測AI工具]
D --> E[📝 產生決策記錄檔案]
E --> F[填寫決策內容]
F --> G{問題陳述
完整?} G -->|否| H[補充問題描述] H --> G G -->|是| I{考慮選項
完整?} I -->|否| J[補充替代方案] J --> I I -->|是| K{決定理由
清晰?} K -->|否| L[補充決策理由] L --> K K -->|是| M[✅ 執行 validate-decision.sh] M --> N{驗證
通過?} N -->|否| O[❌ 修正格式錯誤] O --> M N -->|是| P[📦 提交到Git] P --> Q[🔄 更新知識索引] Q --> R[📢 通知相關人員] R --> End([✅ 結束]) style Start fill:#c8e6c9 style D fill:#fff3e0 style E fill:#bbdefb style M fill:#e1f5fe style P fill:#f3e5f5 style End fill:#c8e6c9 style O fill:#ffcdd2
完整?} G -->|否| H[補充問題描述] H --> G G -->|是| I{考慮選項
完整?} I -->|否| J[補充替代方案] J --> I I -->|是| K{決定理由
清晰?} K -->|否| L[補充決策理由] L --> K K -->|是| M[✅ 執行 validate-decision.sh] M --> N{驗證
通過?} N -->|否| O[❌ 修正格式錯誤] O --> M N -->|是| P[📦 提交到Git] P --> Q[🔄 更新知識索引] Q --> R[📢 通知相關人員] R --> End([✅ 結束]) style Start fill:#c8e6c9 style D fill:#fff3e0 style E fill:#bbdefb style M fill:#e1f5fe style P fill:#f3e5f5 style End fill:#c8e6c9 style O fill:#ffcdd2
📝 決策記錄必要元素
graph LR
A[決策記錄] --> B[問題陳述]
A --> C[考慮選項]
A --> D[最終決定]
A --> E[決定理由]
A --> F[實作指引]
A --> G[影響評估]
A --> H[後續追蹤]
B --> B1[清晰描述問題]
C --> C1[列出所有方案]
C --> C2[分析優缺點]
D --> D1[明確選擇]
E --> E1[詳細說明理由]
F --> F1[具體實作步驟]
G --> G1[積極影響]
G --> G2[潛在風險]
H --> H1[監控指標]
H --> H2[後續行動]
style A fill:#667eea,color:#fff
style B fill:#e3f2fd
style C fill:#f3e5f5
style D fill:#fff3e0
style E fill:#c8e6c9
style F fill:#b2dfdb
style G fill:#fff9c4
style H fill:#ffccbc
3. 任務狀態生命週期
狀態說明: 此圖展示任務從建立到完成的完整生命週期,包括各種狀態轉換和對應的腳本操作。
📊 任務狀態轉換圖
stateDiagram-v2
[*] --> Pending: 建立任務
Pending --> InProgress: update-task-status.sh
pending→in_progress Pending --> Cancelled: update-task-status.sh
pending→cancelled InProgress --> Blocked: update-task-status.sh
in_progress→blocked InProgress --> Completed: update-task-status.sh
in_progress→completed InProgress --> Cancelled: update-task-status.sh
in_progress→cancelled Blocked --> InProgress: update-task-status.sh
blocked→in_progress Blocked --> Cancelled: update-task-status.sh
blocked→cancelled Completed --> [*]: 移至 completed-tasks/ Cancelled --> [*]: 記錄取消原因 note right of Pending 狀態: pending 位置: active-tasks/ 說明: 任務已建立但未開始 end note note right of InProgress 狀態: in_progress 位置: active-tasks/ 說明: 任務正在執行中 end note note right of Blocked 狀態: blocked 位置: active-tasks/ 說明: 遇到阻礙,需記錄原因 end note note right of Completed 狀態: completed 位置: completed-tasks/ 說明: 任務成功完成 end note
pending→in_progress Pending --> Cancelled: update-task-status.sh
pending→cancelled InProgress --> Blocked: update-task-status.sh
in_progress→blocked InProgress --> Completed: update-task-status.sh
in_progress→completed InProgress --> Cancelled: update-task-status.sh
in_progress→cancelled Blocked --> InProgress: update-task-status.sh
blocked→in_progress Blocked --> Cancelled: update-task-status.sh
blocked→cancelled Completed --> [*]: 移至 completed-tasks/ Cancelled --> [*]: 記錄取消原因 note right of Pending 狀態: pending 位置: active-tasks/ 說明: 任務已建立但未開始 end note note right of InProgress 狀態: in_progress 位置: active-tasks/ 說明: 任務正在執行中 end note note right of Blocked 狀態: blocked 位置: active-tasks/ 說明: 遇到阻礙,需記錄原因 end note note right of Completed 狀態: completed 位置: completed-tasks/ 說明: 任務成功完成 end note
📋 任務管理工作流程
flowchart LR
A[📝 建立任務] --> B[👤 分配負責人]
B --> C[▶️ 開始執行]
C --> D{遇到
阻礙?} D -->|是| E[🚫 標記為 blocked] E --> F[🔧 解決阻礙] F --> C D -->|否| G[⚙️ 繼續執行] G --> H{任務
完成?} H -->|否| C H -->|是| I[✅ 更新為 completed] I --> J[📦 移至 completed-tasks/] J --> K[🔄 更新任務索引] style A fill:#e3f2fd style E fill:#ffcdd2 style I fill:#c8e6c9 style K fill:#f3e5f5
阻礙?} D -->|是| E[🚫 標記為 blocked] E --> F[🔧 解決阻礙] F --> C D -->|否| G[⚙️ 繼續執行] G --> H{任務
完成?} H -->|否| C H -->|是| I[✅ 更新為 completed] I --> J[📦 移至 completed-tasks/] J --> K[🔄 更新任務索引] style A fill:#e3f2fd style E fill:#ffcdd2 style I fill:#c8e6c9 style K fill:#f3e5f5
4. 永久記憶保護機制
保護機制: 此圖展示永久記憶檔案的自動保護流程,包括識別、保護和監控機制。
🔒 永久記憶自動保護流程
flowchart TD
A[📁 知識庫檔案] --> B{包含
#PERMANENT_MEMORY
標籤?} B -->|否| C[📄 一般知識檔案] B -->|是| D[🔍 永久記憶候選] D --> E[🛡️ 執行 protect-permanent-memory.sh scan] E --> F[🔒 設定檔案權限 chmod 444] F --> G[📝 記錄保護日誌] G --> H[✅ 永久記憶檔案] H --> I[👁️ 定期監控] I --> J{檔案權限
正常?} J -->|是| K[✅ 繼續監控] K --> I J -->|否| L[🚨 記錄違反行為] L --> M[📢 發送警告通知] M --> N[🔧 恢復檔案權限] N --> I C --> O[📝 正常讀寫] H --> P[👁️ 唯讀存取] style A fill:#e1f5fe style H fill:#ffcdd2 style F fill:#fff3e0 style L fill:#ff6b6b,color:#fff style M fill:#ffd93d style C fill:#c8e6c9
#PERMANENT_MEMORY
標籤?} B -->|否| C[📄 一般知識檔案] B -->|是| D[🔍 永久記憶候選] D --> E[🛡️ 執行 protect-permanent-memory.sh scan] E --> F[🔒 設定檔案權限 chmod 444] F --> G[📝 記錄保護日誌] G --> H[✅ 永久記憶檔案] H --> I[👁️ 定期監控] I --> J{檔案權限
正常?} J -->|是| K[✅ 繼續監控] K --> I J -->|否| L[🚨 記錄違反行為] L --> M[📢 發送警告通知] M --> N[🔧 恢復檔案權限] N --> I C --> O[📝 正常讀寫] H --> P[👁️ 唯讀存取] style A fill:#e1f5fe style H fill:#ffcdd2 style F fill:#fff3e0 style L fill:#ff6b6b,color:#fff style M fill:#ffd93d style C fill:#c8e6c9
🛡️ 保護等級劃分
graph TB
subgraph "PERMANENT_LEVEL_1 - 最高保護"
L1[核心架構原則]
L1A[知識庫系統架構]
L1B[品質保證原則]
L1C[批判性思考模式]
end
subgraph "PERMANENT_LEVEL_2 - 高保護"
L2[關鍵里程碑決策]
L2A[架構設計決策]
L2B[技術選型決策]
end
subgraph "PERMANENT_LEVEL_3 - 中保護"
L3[重要經驗教訓]
L3A[專案回顧]
L3B[最佳實踐]
end
Root[永久記憶分類] --> L1
Root --> L2
Root --> L3
style Root fill:#667eea,color:#fff
style L1 fill:#ffcdd2
style L2 fill:#fff9c4
style L3 fill:#c8e6c9
5. AI工具協作流程
協作機制: 此圖展示不同AI工具之間透過知識庫進行知識交接和協作的完整流程。
🤖 AI工具跨工作階段協作
sequenceDiagram
participant AI1 as 🤖 AI工具 A
(Claude Code) participant Script as 🔧 腳本工具 participant KB as 📚 知識庫 participant Git as 📦 Git倉庫 participant AI2 as 🎨 AI工具 B
(Cursor) AI1->>Script: create-decision.sh Script->>Script: 偵測AI工具資訊 Script->>KB: 建立決策記錄 KB-->>AI1: 檔案路徑 AI1->>KB: 編輯決策內容 AI1->>Script: validate-decision.sh Script-->>AI1: ✅ 驗證通過 AI1->>Git: 📦 提交決策記錄 Git-->>KB: 🔄 同步更新 Note over KB,Git: 💾 知識持久化儲存 AI2->>Script: search-knowledge.sh Script->>KB: 🔍 搜尋相關決策 KB-->>Script: 📋 返回搜尋結果 Script-->>AI2: 📊 顯示決策記錄 AI2->>KB: 📖 讀取決策詳情 AI2->>AI2: 🧠 理解脈絡和歷史 AI2->>Script: create-decision.sh Script->>KB: 📝 建立新決策 AI2->>KB: ✏️ 補充內容 AI2->>Git: 📦 提交更新
(Claude Code) participant Script as 🔧 腳本工具 participant KB as 📚 知識庫 participant Git as 📦 Git倉庫 participant AI2 as 🎨 AI工具 B
(Cursor) AI1->>Script: create-decision.sh Script->>Script: 偵測AI工具資訊 Script->>KB: 建立決策記錄 KB-->>AI1: 檔案路徑 AI1->>KB: 編輯決策內容 AI1->>Script: validate-decision.sh Script-->>AI1: ✅ 驗證通過 AI1->>Git: 📦 提交決策記錄 Git-->>KB: 🔄 同步更新 Note over KB,Git: 💾 知識持久化儲存 AI2->>Script: search-knowledge.sh Script->>KB: 🔍 搜尋相關決策 KB-->>Script: 📋 返回搜尋結果 Script-->>AI2: 📊 顯示決策記錄 AI2->>KB: 📖 讀取決策詳情 AI2->>AI2: 🧠 理解脈絡和歷史 AI2->>Script: create-decision.sh Script->>KB: 📝 建立新決策 AI2->>KB: ✏️ 補充內容 AI2->>Git: 📦 提交更新
🤝 AI工具角色分工
graph TB
subgraph "Claude Code - 程式碼開發"
CC1[系統架構決策]
CC2[程式碼開發]
CC3[複雜任務協調]
CC4[知識庫維護]
end
subgraph "Cursor - UI/UX設計"
CU1[介面設計決策]
CU2[視覺化設計]
CU3[用戶體驗優化]
end
subgraph "Roo Code/Cline - 內容創作"
RC1[文件撰寫]
RC2[內容編輯]
RC3[培訓材料]
RC4[知識內容補充]
end
KB[📚 知識庫中心] --> CC1
KB --> CC2
KB --> CC3
KB --> CC4
KB --> CU1
KB --> CU2
KB --> CU3
KB --> RC1
KB --> RC2
KB --> RC3
KB --> RC4
style KB fill:#667eea,color:#fff
style CC1 fill:#e3f2fd
style CU1 fill:#f3e5f5
style RC1 fill:#fff3e0
6. 品質保證流程
品質控制: 此圖展示AI工具完成任務後的品質檢查流程,確保所有產出符合規範標準。
✅ 統一品質保證流程
flowchart TD
A[🤖 AI工具完成任務] --> B{📚 檢查規範文件}
B --> C{Claude Code?}
C -->|是| D[📖 檢查 .claude/rules/
和 .claude/ai-instructions/] C -->|否| E{Roo/Cline?} E -->|是| F[📖 檢查文件撰寫指南] E -->|否| G[📖 檢查對應規範] D --> H[✓ SOLID原則檢查] D --> I[✓ 編碼標準檢查] D --> J[✓ 程式碼審查清單] F --> K[✓ 文件結構檢查] F --> L[✓ 內容品質檢查] F --> M[✓ 格式規範檢查] H --> N{🎯 全部通過?} I --> N J --> N K --> N L --> N M --> N G --> N N -->|否| O[📝 記錄問題清單] O --> P[🔧 修正問題] P --> B N -->|是| Q[✅ 提交產出] Q --> R[📚 更新知識庫] R --> S[📋 記錄到決策或任務] S --> T[📦 Git提交] style B fill:#fff3e0 style N fill:#f3e5f5 style Q fill:#c8e6c9 style O fill:#ffcdd2 style T fill:#bbdefb
和 .claude/ai-instructions/] C -->|否| E{Roo/Cline?} E -->|是| F[📖 檢查文件撰寫指南] E -->|否| G[📖 檢查對應規範] D --> H[✓ SOLID原則檢查] D --> I[✓ 編碼標準檢查] D --> J[✓ 程式碼審查清單] F --> K[✓ 文件結構檢查] F --> L[✓ 內容品質檢查] F --> M[✓ 格式規範檢查] H --> N{🎯 全部通過?} I --> N J --> N K --> N L --> N M --> N G --> N N -->|否| O[📝 記錄問題清單] O --> P[🔧 修正問題] P --> B N -->|是| Q[✅ 提交產出] Q --> R[📚 更新知識庫] R --> S[📋 記錄到決策或任務] S --> T[📦 Git提交] style B fill:#fff3e0 style N fill:#f3e5f5 style Q fill:#c8e6c9 style O fill:#ffcdd2 style T fill:#bbdefb
📊 品質指標監控
graph LR
A[品質監控系統] --> B[程式碼品質]
A --> C[測試覆蓋]
A --> D[文件品質]
A --> E[任務執行]
A --> F[協作效率]
B --> B1[審查通過率 ≥ 90%]
C --> C1[測試覆蓋率 ≥ 80%]
D --> D1[文件完整性 = 100%]
E --> E1[任務完成率 ≥ 95%]
F --> F1[交接成功率 ≥ 95%]
style A fill:#667eea,color:#fff
style B1 fill:#c8e6c9
style C1 fill:#c8e6c9
style D1 fill:#c8e6c9
style E1 fill:#c8e6c9
style F1 fill:#c8e6c9
7. 知識庫目錄結構
結構說明: 此圖展示知識庫的完整目錄結構和各目錄的用途。
📁 知識庫目錄架構
graph TB
Root[📚 knowledge-base/] --> D[📋 decisions/]
Root --> PM[🔒 permanent-memory/]
Root --> TM[📊 task-management/]
Root --> PC[📚 project-context/]
Root --> AC[🤖 ai-collaboration/]
Root --> Gov[🏛️ governance/]
Root --> Scr[🔧 scripts/]
Root --> Tmp[📝 templates/]
Root --> UML[📐 UML/]
Root --> Slash[⚡ slash-commands/]
D --> D1[YYYY-MM-DD-HH-MM-SS-決策標題.md]
PM --> PM1[knowledge-base-system-architecture.md]
PM --> PM2[quality-assurance-principles.md]
PM --> PM3[critical-thinking-patterns.md]
TM --> TM1[active-tasks/]
TM --> TM2[completed-tasks/]
TM --> TM3[task-index.md]
Gov --> Gov1[usage-guidelines.md]
Gov --> Gov2[agent-critical-warnings.md]
Gov --> Gov3[quality-standards.md]
Scr --> Scr1[create-decision.sh]
Scr --> Scr2[search-knowledge.sh]
Scr --> Scr3[update-task-status.sh]
Scr --> Scr4[protect-permanent-memory.sh]
UML --> UML1[index.html]
UML --> UML2[knowledge-base-architecture.html]
style Root fill:#667eea,color:#fff
style PM fill:#ffcdd2
style Gov fill:#fff9c4
style Scr fill:#c8e6c9
style UML fill:#bbdefb