--- document_type: "architecture_design" service: "MOMENTRY_CORE" title: "術語對照表 (Terminology Mapping)" date: "2026-04-22" version: "V1.0" status: "active" owner: "Warren" created_by: "OpenCode" tags: - "術語對照表" ai_query_hints: - "查詢 術語對照表 (Terminology Mapping) 的內容" - "術語對照表 (Terminology Mapping) 的主要目的是什麼?" - "如何操作或實施 術語對照表 (Terminology Mapping)?" --- # 術語對照表 (Terminology Mapping) | 項目 | 內容 | |------|------| | 建立者 | OpenCode | | 建立時間 | 2026-04-22 | | 文件版本 | V1.0 | | 相關文件 | [DESIGN_IMPLEMENTATION_GAP.md](./DESIGN_IMPLEMENTATION_GAP.md)
[ARCHITECTURE_OVERVIEW.md](./ARCHITECTURE_OVERVIEW.md)
[CHUNKING_ARCHITECTURE.md](./CHUNKING_ARCHITECTURE.md) | --- ## 版本歷史 | 版本 | 日期 | 目的 | 操作人 | 工具/模型 | |------|------|------|--------|-----------| | V1.0 | 2026-04-22 | 創建術語對照表 | OpenCode | OpenCode / deepseek-v3.2 | --- ## 1. 核心原則 **當設計與實現出現矛盾時,以實際的 Rust 代碼實現為最高權威。** 本文檔提供設計文檔中的術語與實際 Rust 代碼實現之間的對照關係,用於: 1. 統一所有架構文檔的術語使用 2. 指導新文檔的撰寫 3. 作為代碼審查的參考標準 --- ## 2. 分片類型 (Chunk Type) 對照 ### 2.1 設計與實現對照表 | 設計概念 | 設計值 | 實現值 | 實現狀態 | 說明 | |----------|--------|--------|----------|------| | **時間基準分片** | `time` | `TimeBased` | ✅ 已實現 | 基於固定時間間隔的分片 | | **句子級分片** | `sentence` | `Sentence` | ✅ 已實現 | 基於 ASR 轉錄的句子邊界 | | **場景級分片** | `scene` | `Cut` | ⚠️ 部分實現 | 基於 CUT 算法的場景邊界檢測 | | **視覺物件級分片** | `visual` | (未實現) | ❌ 未實現 | 基於 YOLO 的物件檢測分片 | | **摘要級分片** | `summary` | `Story` | ⚠️ 概念調整 | 基於分片聚合的敘事重建 | | **軌跡追蹤分片** | (未定義) | `Trace` | ✅ 已實現 | 人物/物件軌跡追蹤分片 | ### 2.2 實際 Rust 代碼定義 ```rust // src/core/chunk/mod.rs 中的 ChunkType 枚舉 #[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq)] #[serde(rename_all = "snake_case")] pub enum ChunkType { TimeBased, // 時間基準分片 Sentence, // 句子級分片 Cut, // 場景級分片 (基於 CUT 算法) Trace, // 軌跡追蹤分片 Story, // 敘事分片 (原設計的摘要分片) } ``` ### 2.3 文檔撰寫指南 1. **新文檔撰寫**:一律使用實現值 (`TimeBased`, `Sentence`, `Cut`, `Trace`, `Story`) 2. **舊文檔更新**:將設計值替換為實現值,並添加註釋說明 3. **狀態標記**:對於未實現或部分實現的功能,使用狀態標記 (✅, ⚠️, ❌) --- ## 3. 分片規則 (Chunk Rule) 對照 ### 3.1 設計與實現對照表 | 規則編號 | 設計名稱 | 實現名稱 | 實現狀態 | 對應 ChunkType | |----------|----------|----------|----------|----------------| | **Rule 1** | 句子級分片 | Rule 1 (句子分片) | ✅ 已實現 | `Sentence` | | **Rule 2** | 視覺物件級分片 | (未實現) | ❌ 未實現 | (未實現) | | **Rule 3** | 場景級分片 | Rule 3 (場景分片) | ⚠️ 部分實現 | `Cut` | | **Rule 4** | 摘要級分片 | Rule 4 (敘事分片) | ⚠️ 概念調整 | `Story` | ### 3.2 實際實現狀態 1. **Rule 1**: 完整實現於 `src/core/chunk/rule1_ingest.rs` 2. **Rule 2**: 未實現,僅有設計概念 3. **Rule 3**: 部分實現,使用 CUT 算法檢測場景邊界 4. **Rule 4**: 概念調整,實現為基於分片聚合的敘事重建 --- ## 4. 數據模型對照 ### 4.1 設計中的數據模型 ```json { "chunk_type": "sentence|visual|scene|summary", // 設計值 "content": { "text": "轉錄文本", "visual_objects": ["person", "car", "dog"], "scene_context": "辦公室會議", "summary": "會議討論項目進度" } } ``` ### 4.2 實際實現的數據模型 ```rust // src/core/chunk/mod.rs 中的 Chunk 結構 pub struct Chunk { pub id: i64, pub uuid: String, pub video_record_id: i64, pub chunk_type: ChunkType, // 實現值: TimeBased|Sentence|Cut|Trace|Story pub start_time: f64, pub end_time: f64, pub content: serde_json::Value, // 動態 JSON 內容 pub embedding: Option>, pub created_at: DateTime, } ``` ### 4.3 關鍵差異 1. **類型系統**:設計使用字符串枚舉,實現使用 Rust 枚舉 2. **內容結構**:設計有固定字段,實現使用動態 JSON 3. **時間表示**:設計使用時間戳+時長,實現使用開始/結束時間 --- ## 5. 處理管道對照 ### 5.1 設計管道 ``` ASR → OCR → YOLO → CUT → LLM → 分片生成 ``` ### 5.2 實際管道 ``` ASR → OCR → YOLO → CUT → 分片生成 ↓ LLM(尚未集成) ``` ### 5.3 關鍵差異點 1. **LLM 集成**:設計中有完整 LLM 階段,實際尚未集成 2. **處理順序**:實際實現根據技術依賴關係調整了順序 3. **並行處理**:實際實現有更多並行處理優化 --- ## 6. 文檔更新指南 ### 6.1 更新原則 1. **優先級**:以實際 Rust 代碼實現為準 2. **一致性**:所有文檔使用相同的術語 3. **狀態標記**:明確標記功能實現狀態 4. **版本控制**:記錄術語變更歷史 ### 6.2 具體更新操作 #### 6.2.1 分片類型更新 | 舊術語 | 新術語 | 更新說明 | |--------|--------|----------| | `chunk_type: "sentence"` | `chunk_type: "Sentence"` | 保持 PascalCase | | `chunk_type: "visual"` | `chunk_type: (未實現)` | 標記為未實現 | | `chunk_type: "scene"` | `chunk_type: "Cut"` | 使用實際實現值 | | `chunk_type: "summary"` | `chunk_type: "Story"` | 使用實際實現值 | #### 6.2.2 規則名稱更新 | 舊術語 | 新術語 | 更新說明 | |--------|--------|----------| | `Rule 2 (visual)` | `Rule 2 (未實現)` | 標記為未實現 | | `Rule 3 (scene)` | `Rule 3 (場景分片)` | 使用中文描述 | | `Rule 4 (summary)` | `Rule 4 (敘事分片)` | 使用中文描述 | ### 6.3 狀態標記系統 | 標記 | 含義 | 使用場景 | |------|------|----------| | ✅ | 已完整實現 | 功能完全按照設計實現 | | ⚠️ | 部分實現 | 功能部分實現,有差異 | | ❌ | 未實現 | 功能尚未實現 | | 🔄 | 概念調整 | 設計概念在實現中調整 | --- ## 7. 使用示例 ### 7.1 正確示例 ```markdown ## 分片類型 Momentry Core 支持以下分片類型: 1. **TimeBased** (時間基準分片) ✅ 已實現 2. **Sentence** (句子級分片) ✅ 已實現 3. **Cut** (場景級分片) ⚠️ 部分實現 4. **Trace** (軌跡追蹤分片) ✅ 已實現 5. **Story** (敘事分片) ⚠️ 概念調整 **注意**:設計中的 `visual` 分片尚未實現,設計中的 `summary` 分片已調整為 `Story` 分片。 ``` ### 7.2 錯誤示例 ```markdown ## 分片類型 Momentry Core 支持以下分片類型: 1. sentence (句子級分片) 2. visual (視覺物件級分片) 3. scene (場景級分片) 4. summary (摘要級分片) ``` --- ## 8. 維護與更新 ### 8.1 更新流程 1. **代碼變更**:當 Rust 代碼中的類型定義變更時 2. **文檔更新**:根據本文檔更新所有相關文檔 3. **一致性檢查**:運行 `scripts/check_architecture_docs.py` 驗證 4. **版本更新**:更新本文檔的版本歷史 ### 8.2 審查要點 1. **術語一致性**:所有文檔是否使用相同的術語 2. **狀態準確性**:功能實現狀態是否準確標記 3. **文檔完整性**:所有重要概念是否都有對照說明 ### 8.3 自動化檢查 ```bash # 運行架構文檔一致性檢查 python3 scripts/check_architecture_docs.py --check-terminology ``` --- ## 9. 結論 本文檔作為 Momentry Core 架構文檔的術語標準,確保: 1. **設計與實現一致性**:文檔準確反映實際代碼狀態 2. **文檔統一性**:所有文檔使用相同的術語體系 3. **可維護性**:提供明確的更新和維護指南 **核心原則重申**:在出現矛盾時,實際的 Rust 代碼實現是最高權威,設計文檔應反映實際實現狀態並指導未來改進方向。 --- ## 附錄 A:快速參考 ### A.1 分片類型快速參考 | 使用場景 | 推薦術語 | 狀態 | |----------|----------|------| | 時間基準分片 | `TimeBased` | ✅ | | 句子級分片 | `Sentence` | ✅ | | 場景級分片 | `Cut` | ⚠️ | | 軌跡追蹤分片 | `Trace` | ✅ | | 敘事分片 | `Story` | ⚠️ | | 視覺物件分片 | (標記為未實現) | ❌ | ### A.2 規則名稱快速參考 | 規則 | 推薦名稱 | 狀態 | |------|----------|------| | Rule 1 | 句子分片規則 | ✅ | | Rule 2 | (標記為未實現) | ❌ | | Rule 3 | 場景分片規則 | ⚠️ | | Rule 4 | 敘事分片規則 | ⚠️ | ### A.3 狀態標記快速參考 - ✅:使用 `chunk_type: "Sentence"` (已實現) - ⚠️:使用 `chunk_type: "Cut"` ⚠️ 部分實現 (部分實現) - ❌:標記為 "未實現" 或 "設計概念" (未實現) - 🔄:說明概念調整原因 (概念調整) --- **文件版本**: V1.0 **最後更新**: 2026-04-22 **維護者**: OpenCode