feat: 完成 LLM Wiki v2 升级

- 新增知识管理系统核心文档
  - automation-hooks.md: 自动化钩子和事件驱动架构
  - knowledge-lifecycle.md: 知识生命周期和遗忘曲线
  - quality-control.md: 质量控制和自我纠正机制
  - llm-wiki-v2-reference.md: v2 参考文档

- 更新索引和架构
  - index.md: 重构为目录导航,移除详细列表
  - SCHEMA.md: 更新知识管理领域定义

- 新增辅助文档
  - hybrid-search.md: 混合搜索系统
  - systems-design/aodb-system-architecture.md: AODB系统架构

版本: LLM Wiki v2.1.0
特性: 置信度衰减、智能整合、质量验证、事件驱动自动化
This commit is contained in:
zhiqiang feng
2026-04-13 17:22:30 +08:00
parent 66d081faaf
commit 99d66a9601
9 changed files with 3890 additions and 219 deletions
+143
View File
@@ -243,3 +243,146 @@ relationships:
## Glossary(術語表)
建設和運營涉及的英文縮寫和術語,統一在 `concepts/tech-infrastructure/glossary.md` 中解釋。
---
# LLM Wiki v2 擴展架構
*(基於 Andrej Karpathy 原版模式,融合 LLM Wiki v2 和 agentmemory 經驗)*
## 核心理念:停止重新推導,開始積累編譯
### 現有架構回顧
- **原始數據**`raw/` 目錄中的來源文件,保持原始、未經編輯
- **Wiki 頁面**:經過整理、鏈接的知識頁面(`concepts/`, `entities/`, `comparisons/`
- **Schema 文檔**`SCHEMA.md`,將通用 LLM 轉化為有紀律的知識工作者
### v2 關鍵擴展
#### 1. 記憶生命周期(Knowledge Lifecycle
知識具有生命周期,不是所有內容永久有效:
- **置信度評分**:每個事實應基於來源數量、新近性、矛盾情況攜帶分數(0.0-1.0)
- **替代機制**:新信息明確替代舊聲明,支持知識版本控制
- **遺忘機制**:實施保留曲線(如艾賓浩斯遺忘曲線),逐步降低未使用知識的優先級
- **整合層次**:知識壓縮管道:
- **工作記憶**:近期觀察(當前會話)
- **情景記憶**:會話總結(跨工作記憶的壓縮)
- **語義記憶**:跨會話事實(穩定知識)
- **程序記憶**:從重複語義中提煉的工作流和模式
#### 2. 超越扁平頁面:知識圖譜
用類型化知識圖譜增強 wiki 頁面:
- **實體提取**:提取結構化實體(人員、項目、庫、概念)及類型、屬性、關係
- **類型化關係**:使用語義加權連接,如 `uses`、`depends_on`、`contradicts`、`supersedes`
- **圖譜遍歷查詢**:導航連接以發現下游影響,超越關鍵詞搜索
#### 3. 真正可擴展的搜索(關鍵突破)
當 `index.md` 超出 ~100-200 頁時變得不可行:
- **混合搜索**:融合三種信息流:
1. **BM25**:關鍵詞匹配(支持詞幹提取/同義詞)
2. **向量搜索**:通過嵌入實現語義相似度(例如 OpenAI `text-embedding-3-small`
3. **圖譜遍歷**:基於實體關係的遍歷搜索
- **結果融合**:使用倒數排名融合(Reciprocal Rank Fusion)合併結果
- **保留 `index.md`**:僅作為人工可讀目錄,不再是主要檢索工具
#### 4. 自動化:從手動到事件驅動
減少人工維護負擔:
- **事件鉤子**(自動觸發):
- **新來源時**:自動攝入、提取實體、更新圖譜/索引
- **會話開始/結束時**:加載上下文、將會話壓縮為觀察
- **查詢時**:如質量分數 > 閾值,自動回寫答案
- **內存寫入時**:檢查矛盾
- **定時任務**:定期 lint、整合、保留衰減
- **自動攝入管道**`raw/` 中新增源文件 → 自動解析 → 創建/更新 wiki 頁面
#### 5. 質量與自我糾正
防止噪聲積累的控制機制:
- **評分一切**:LLM 生成內容應獲得質量分數(結構良好、引用來源、一致性)。低分標記待審查/重寫
- **自我修復**:Lint 操作應自動修復孤立頁面、過時聲明、損壞的交叉引用
- **矛盾解決**:基於新近性、權威性和支持觀察,LLM 應提出更可能正確的主張
#### 6. 多智能體與協作
為多個智能體或人員擴展模式:
- **網狀同步**:合併來自並行智能體的觀察;使用帶時間戳的最後寫入獲勝衝突解決
- **共享 vs 私有**:知識範圍劃分(個人偏好 vs 項目架構)
- **工作協調**:輕量級協調以防止重複工作並跟踪進展
#### 7. 隱私與治理
處理敏感信息和問責:
- **攝入時過濾**:在 wiki 存儲前自動剝離 API 密鑰、憑據、個人身份信息
- **審計追踪**:記錄所有操作(攝入、編輯、刪除、查詢)的時間戳、更改和原因
- **批量操作**:用於過時內容刪除、導出、合併的經過審計且可逆操作
#### 8. 結晶化:從探索中提煉
自動將已完成的工作鏈提煉為結構化摘要:
- **處理過程**:提取問題、發現、涉及的文件/實體、經驗教訓
- **結果**:創建一等級 wiki 頁面,用新事實強化知識庫
#### 9. 超越 Markdown 的輸出格式
基於受眾和問題的知識存儲應支持多樣輸出:
- 對比表格、時間線可視化、依賴關係圖、幻燈片、結構化數據導出(JSON、CSV)、簡報
## 實施路線圖
### 階段 1:基礎 LLM Wiki(已實現)
- ✓ 原始來源存儲(`raw/`
- ✓ Wiki 頁面(`concepts/`, `entities/`, `comparisons/`
- ✓ Schema 文檔(`SCHEMA.md`
- ✓ 目錄索引(`index.md`
- ✓ 操作日誌(`log.md`
### 階段 2:v2 擴展(本次升級目標)
1. **記憶生命周期**:置信度評分、替代機制、遺忘曲線
2. **知識圖譜**:實體提取、類型化關係、圖譜可視化
3. **混合搜索**BM25 + 向量 + 圖譜遍歷
4. **自動化鉤子**:事件驅動維護
5. **質量控制**:自我糾正、矛盾檢測
6. **結晶化**:工作鏈提煉
### 階段 3:高級功能
1. **多智能體協作**:網狀同步、衝突解決
2. **隱私過濾**:自動敏感信息剝離
3. **多格式輸出**:API 導出、可視化生成
## 實施細節
### 混合搜索設置
```
# 檢索層級
1. BM25 關鍵詞匹配(使用 ripgrep + 同義詞詞典)
2. 向量語義搜索(使用 OpenAI embeddings
3. 知識圖譜遍歷(實體關係路徑)
4. 結果融合(RRF 算法)
```
### 記憶衰減公式
```
confidence_t = confidence_0 * exp(-λ * t) + Σ(citations * 0.1)
λ = 衰減率(每月 0.005-0.05,依內容類型)
```
### 自動化鉤子示例
```bash
# 新增來源時
on_new_source() {
parse_source → extract_entities → create_wiki_pages → update_index
}
# 會話結束時
on_session_end() {
compress_session → update_episodic_memory → decay_confidence
}
# 定期任務(每週)
cron_weekly() {
run_lint → fix_issues → prune_dormant → regenerate_embeddings
}
```
## 參考文檔
- [[knowledge-management/memory-lifecycle.md]] - 記憶生命周期詳細設計
- [[knowledge-management/knowledge-graph.md]] - 知識圖譜實現指南
- [[knowledge-management/wiki-operations.md]] - wiki 運營與自動化
- [[hybrid-search.md]] - 混合搜索系統文檔
- [[llm-wiki-v2-reference.md]] - LLM Wiki v2 完整參考
```
@@ -0,0 +1,569 @@
---
title: 自动化钩子与事件驱动架构
created: 2026-04-13
updated: 2026-04-13
type: concept
tags: [knowledge-management, automation, event-hooks, operations]
confidence: 0.9
sources_count: 5
last_confirmed: 2026-04-13
status: active
relationships:
- target: SCHEMA.md
type: implements
detail: "v2 自动化机制"
confidence: 0.95
- target: knowledge-management/memory-lifecycle.md
type: triggers
detail: "置信度衰减和整合"
confidence: 0.85
- target: knowledge-management/knowledge-graph.md
type: updates
detail: "自动更新实体关系"
confidence: 0.9
- target: hybrid-search.md
type: maintains
detail: "嵌入和索引更新"
confidence: 0.9
---
# ⚡ 自动化钩子与事件驱动架构
基于 **LLM Wiki v2** 的事件驱动维护系统,为机场智能化工程 wiki 提供自动化知识管理。通过事件钩子响应 wiki 操作,减少手动维护负担。
> **核心目标**:将手动知识维护转变为事件驱动的自动化流程,确保 wiki 内容的新鲜度、一致性和质量。
---
## 🏗️ 事件架构总览
### 事件类型与触发器
| 事件类型 | 触发器 | 触发条件 | 响应延迟 |
|----------|--------|----------|----------|
| **来源新增** | 文件系统监视 | `raw/` 中新增 `.md` 文件 | 即时 (15s) |
| **页面创建** | `write_file()` 调用 | `concepts/`, `entities/` 等目录 | 即时 (5s) |
| **页面更新** | `patch()` 调用 | 现有页面内容修改 | 即时 (5s) |
| **页面归档** | 文件移动至 `_archive/` | 手动操作或自动 supersede | 即时 (5s) |
| **用户查询** | `web_search()``search_files()` | 搜索操作 | 异步 (<60s) |
| **定时任务** | cron 调度器 | 每日/每周/每月 | 指定时间 |
### 自动化钩子执行顺序
```
新来源 → on_new_source() → 来源解析 → 实体提取 → 页面创建/更新
页面创建/更新 → on_page_change() → 关系更新 → 嵌入更新 → 索引更新
定时任务 → cron_daily/weekly/monthly() → 质量检查 → 置信度衰减
用户查询 → on_user_query() → 结果记录 → 潜在答案生成 → 反馈学习
```
---
## 🔧 主要钩子实现
### 1️⃣ `on_new_source()` - 新来源自动摄入
```python
def on_new_source(source_path: str):
"""
处理 raw/ 目录中的新来源文件
1. 解析来源内容
2. 提取实体和事实
3. 创建/更新 wiki 页面
4. 更新相关索引
"""
# 1. 读取并解析来源
content = read_file(source_path)
metadata = extract_metadata(content) # 作者、日期、类型等
# 2. 提取实体和事实
entities = extract_entities(content)
facts = extract_facts(content, entities)
# 3. 更新现有页面或创建新页面
for fact in facts:
target_page = find_or_create_page(fact.topic)
# 检查是否有冲突
conflict = check_conflict(target_page.content, fact.content)
if conflict:
# 触发 supersession 流程
supersede_page(target_page, fact.content, source_path)
else:
# 追加新事实
update_page(target_page, fact.content, source_path)
# 4. 更新嵌入和图谱
trigger_embedding_update()
trigger_graph_reconciliation()
# 记录日志
log_event("source_ingested", {
"source": source_path,
"entities_extracted": len(entities),
"facts_added": len(facts),
"timestamp": now()
})
```
**机场场景示例**
```
事件: 新增 raw/articles/shenzhen-airport-smart-gating-2026.md
响应:
1. 解析文章:深圳机场2026年智能登机口升级
2. 提取实体:深圳机场、SITA、生物识别走廊
3. 更新页面:
- concepts/smart-gating.md → 添加深圳案例
- entities/shenzhen-airport.md → 更新智能登机口信息
4. 更新关系:深圳机场 → uses → 生物识别走廊
```
### 2️⃣ `on_page_change()` - 页面变更处理
```python
def on_page_change(page_path: str, change_type: str, old_content: Optional[str] = None):
"""
处理页面创建、更新、删除
参数:
- change_type: "create" | "update" | "delete" | "archive"
- old_content: 仅 update 时提供
"""
if change_type == "create":
# 新页面:初始化嵌入和关系
embedding = generate_embedding(page_path)
save_embedding(page_path, embedding)
# 提取关系并更新图谱
relationships = extract_relationships(page_path)
update_knowledge_graph(page_path, relationships)
elif change_type == "update":
# 页面更新:检查语义变化
old_embedding = load_embedding(page_path)
new_embedding = generate_embedding(page_path)
similarity = cosine_similarity(old_embedding, new_embedding)
if similarity < 0.7: # 语义显著变化
# 重新计算相关页面的嵌入
trigger_related_embeddings_update(page_path)
# 更新所有引用该页面的关系
update_incoming_relationships(page_path)
elif change_type in ["delete", "archive"]:
# 页面删除/归档:清理相关数据
remove_embedding(page_path)
remove_from_knowledge_graph(page_path)
# 更新引用(设置 superseded_by 或删除链接)
update_references_to_page(page_path, change_type)
# 更新搜索索引
update_search_index(page_path, change_type)
log_event("page_changed", {
"page": page_path,
"type": change_type,
"semantic_change": similarity if change_type == "update" else None,
"timestamp": now()
})
```
### 3️⃣ `cron_weekly()` - 每周维护任务
```python
def cron_weekly():
"""
每周日自动执行的维护任务
1. 完整性检查 (lint)
2. 置信度衰减和更新
3. 嵌入重新生成
4. 性能分析
"""
print("=== 每周维护任务开始 ===")
start_time = now()
# 1. 运行完整性检查
lint_report = run_lint_check()
# 自动修复可修复的问题
auto_fixed = lint_report.auto_fix()
# 记录需要手动干预的问题
manual_tasks = lint_report.get_manual_tasks()
# 2. 置信度衰减
decayed_pages = decay_confidence_scores()
# 3. 嵌入重新生成(全量)
pages_updated = regenerate_all_embeddings()
# 4. 搜索索引重建
rebuild_search_index()
# 5. 性能分析
performance_report = analyze_search_performance()
# 6. 生成维护报告
report = generate_maintenance_report({
"duration_seconds": (now() - start_time).total_seconds(),
"lint_fixed": auto_fixed,
"lint_manual": len(manual_tasks),
"pages_decayed": len(decayed_pages),
"embeddings_regenerated": pages_updated,
"search_metrics": performance_report.metrics,
"timestamp": now()
})
# 保存报告
save_report(report, "weekly-maintenance")
# 如有需要手动干预的问题,发送通知
if manual_tasks:
notify_maintainer("手动维护任务待处理", manual_tasks)
print(f"=== 每周维护任务完成,耗时 {report.duration_seconds}s ===")
return report
```
### 4️⃣ `on_user_query()` - 查询响应与学习
```python
def on_user_query(query: str, results: List[str], user_feedback: Optional[Dict] = None):
"""
处理用户搜索查询
1. 记录查询模式
2. 潜在答案生成
3. 质量评估和反馈学习
"""
# 1. 查询分类和记录
query_type = classify_query(query)
log_search_event({
"query": query,
"type": query_type,
"results_count": len(results),
"user_id": get_user_id(), # 匿名或会话ID
"timestamp": now()
})
# 2. 检查是否需要生成新答案
if should_generate_answer(query, results):
answer = generate_potential_answer(query, results)
# 评估答案质量
quality_score = evaluate_answer_quality(answer, query, results)
if quality_score > 0.8: # 高质量答案
# 自动创建/更新查询页面
create_query_page(query, answer, quality_score)
log_event("answer_generated", {
"query": query,
"answer_page": f"queries/{slugify(query)}.md",
"quality_score": quality_score,
"timestamp": now()
})
# 3. 处理用户反馈(如有)
if user_feedback:
process_user_feedback(query, results, user_feedback)
# 更新搜索排名权重
update_search_weights(query_type, user_feedback)
# 4. 查询模式分析
analyze_query_patterns(query, results)
return {
"logged": True,
"query_type": query_type,
"potential_answer_generated": should_generate_answer(query, results),
"feedback_processed": bool(user_feedback)
}
```
---
## ⏰ 定时任务调度
### 每日任务 (`cron_daily`)
```python
SCHEDULE = {
"daily": {
"time": "02:30", # 凌晨执行,避免影响使用
"tasks": [
"verify_recent_changes", # 检查24小时内变更
"update_recommendations", # 更新推荐系统
"clean_temp_files", # 清理临时文件
"backup_incremental" # 增量备份
]
}
}
def cron_daily():
"""每日凌晨执行的任务"""
tasks = [
# 1. 验证最近变更
verify_recent_changes(since=datetime.now() - timedelta(days=1)),
# 2. 更新个性化推荐
update_recommendations(),
# 3. 清理临时文件
clean_temp_files(max_age=timedelta(days=7)),
# 4. 增量备份
backup_incremental(target="s3://wiki-backups/daily/")
]
return execute_tasks(tasks, name="daily_maintenance")
```
### 每周任务 (`cron_weekly`)
```python
def cron_weekly():
"""每周日执行的全量维护"""
return {
"lint": run_lint_check(),
"embeddings": regenerate_all_embeddings(),
"confidence": decay_confidence_scores(),
"index": rebuild_search_index(),
"report": generate_weekly_report()
}
```
### 每月任务 (`cron_monthly`)
```python
def cron_monthly():
"""每月1日执行的深度维护"""
return {
"archival": archive_stale_content(older_than=timedelta(days=180)),
"model_evaluation": evaluate_embedding_models(),
"capacity_planning": analyze_growth_trends(),
"security_audit": run_security_checks(),
"comprehensive_report": generate_monthly_report()
}
```
---
## 🚀 实施部署
### 阶段 1:基础钩子(当前)
-`on_page_change()` 记录至日志
- ✅ 新增来源手动触发处理
- 🔄 定期 lint 检查(手动)
### 阶段 2:自动化管道(1-2周)
- 🔄 文件系统监视:`raw/` 新增自动触发
- 🔄 页面变更自动更新嵌入和关系
- 🔄 每周自动维护脚本
- 🔄 搜索结果记录与分析
### 阶段 3:高级自动化(1个月)
- 🔄 智能答案生成(质量阈值 >0.8)
- 🔄 自适应权重调整(基于用户反馈)
- 🔄 异常检测和自动修复
- 🔄 多环境部署(开发/测试/生产)
### 阶段 4:智能运维(未来)
- 🔄 预测性维护(基于历史模式)
- 🔄 A/B 测试搜索算法
- 🔄 跨wiki知识同步
- 🔄 故障自愈能力
---
## 🔧 技术实现细节
### 钩子注册机制
```python
class HookRegistry:
"""事件钩子注册中心"""
def __init__(self):
self.hooks = defaultdict(list)
def register(self, event_type: str, callback: Callable, priority: int = 0):
"""注册钩子"""
self.hooks[event_type].append({
"callback": callback,
"priority": priority
})
self.hooks[event_type].sort(key=lambda x: x["priority"])
def trigger(self, event_type: str, **kwargs):
"""触发事件"""
for hook in self.hooks.get(event_type, []):
try:
hook["callback"](**kwargs)
except Exception as e:
log_error(f"钩子执行失败: {event_type}", e)
# 全局钩子注册器
hooks = HookRegistry()
# 注册示例
hooks.register("page_created", on_page_change, priority=10)
hooks.register("source_added", on_new_source, priority=5)
```
### 文件系统监视
```python
import watchdog
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler
class WikiFileHandler(FileSystemEventHandler):
"""监视 raw/ 目录的变更"""
def on_created(self, event):
if event.is_directory:
return
path = event.src_path
if path.startswith("/raw/") and path.endswith(".md"):
# 触发来源处理钩子
hooks.trigger("source_added", source_path=path)
def on_modified(self, event):
if event.is_directory:
return
path = event.src_path
if not path.startswith("/raw/"):
# 触发页面变更钩子
hooks.trigger("page_changed", page_path=path, change_type="update")
# 启动监视器
observer = Observer()
observer.schedule(WikiFileHandler(), "/path/to/wiki", recursive=True)
observer.start()
```
### 定时任务调度器
```python
import schedule
import time
def setup_scheduler():
"""配置定时任务"""
# 每日凌晨任务
schedule.every().day.at("02:30").do(cron_daily)
# 每周日任务
schedule.every().sunday.at("03:00").do(cron_weekly)
# 每月1日任务
schedule.every().month.at("04:00").do(cron_monthly)
print("定时任务已配置")
# 运行调度器(后台线程)
import threading
def run_scheduler():
while True:
schedule.run_pending()
time.sleep(60) # 每分钟检查一次
thread = threading.Thread(target=run_scheduler, daemon=True)
thread.start()
# 应用启动时调用
setup_scheduler()
```
---
## 📊 监控与告警
### 关键指标监控
| 指标 | 阈值 | 告警级别 | 响应动作 |
|------|------|----------|----------|
| **处理失败率** | >5% | 警告 | 检查日志,重启服务 |
| **嵌入更新延迟** | >24h | 警告 | 手动触发嵌入生成 |
| **页面冲突数量** | >10 | 警告 | 审核冲突内容 |
| **搜索查询失败** | >20% | 严重 | 检查搜索索引 |
| **磁盘使用率** | >80% | 警告 | 清理或扩容 |
### 告警规则示例
```yaml
alerts:
- name: "high_failure_rate"
condition: "rate(failed_hooks_total[5m]) / rate(hooks_total[5m]) > 0.05"
severity: "warning"
description: "钩子执行失败率超过5%"
actions: ["send_slack", "create_jira"]
- name: "search_degradation"
condition: "search_response_time_p95 > 3000"
severity: "critical"
description: "搜索P95响应时间超过3秒"
actions: ["page_oncall", "rollback_search"]
```
---
## 🔄 故障恢复流程
### 常见故障场景
1. **钩子执行失败**
```bash
# 1. 查看错误日志
tail -f /var/log/wiki/hooks.log
# 2. 暂时禁用问题钩子
disable_hook("on_page_change", "problematic_callback")
# 3. 手动执行受影响操作
run_manual_cleanup()
```
2. **嵌入生成中断**
```bash
# 1. 检查嵌入存储完整性
verify_embeddings_integrity()
# 2. 重新生成受影响页面
regenerate_embeddings_for_pages(since="2026-04-10")
# 3. 重建搜索索引
rebuild_search_index()
```
3. **关系图谱不一致**
```python
# 自动一致性检查
def reconcile_knowledge_graph():
# 1. 检测孤立实体
orphans = find_orphaned_entities()
# 2. 检查关系对称性
mismatches = validate_relationship_symmetry()
# 3. 修复不一致
fix_inconsistencies(orphans + mismatches)
return {"fixed": len(orphans + mismatches)}
```
---
## 📚 相关文档
- [[knowledge-management/memory-lifecycle.md]] - 置信度衰减和整合机制
- [[knowledge-management/knowledge-graph.md]] - 实体关系自动提取
- [[hybrid-search.md]] - 搜索结果记录和权重调整
- [[wiki-backup-recovery.md]] - 备份和恢复流程
- [[performance-monitoring.md]] - 系统性能监控
---
> **状态**: 当前实现基础钩子记录。下一步:部署文件系统监视和定时任务。最后更新:2026-04-13。
@@ -0,0 +1,474 @@
---
title: 知识生命周期与遗忘曲线
created: 2026-04-13
updated: 2026-04-13
type: concept
tags: [knowledge-management, knowledge-lifecycle, confidence-decay, supersession]
confidence: 0.9
sources_count: 3
last_confirmed: 2026-04-13
status: active
relationships:
- target: automation-hooks.md
type: governed-by
detail: "置信度衰减触发事件"
confidence: 0.95
- target: knowledge-management/knowledge-graph.md
type: updates
detail: "实体关系老化机制"
confidence: 0.85
- target: hybrid-search.md
type: influences
detail: "搜索排名权重衰减"
confidence: 0.8
- target: quality-control.md
type: informs
detail: "质量评估和归档决策"
confidence: 0.9
---
# 🔄 知识生命周期与遗忘曲线
模拟人类记忆的**置信度衰减**和**层次化整合**机制,为机场智能化 wiki 建立动态的知识管理系统。通过时间衰减、源验证和层次整合,确保 wiki 内容的时效性和准确性。
> **核心理念**:知识不是静态的,而是随时间演化的有机体。新知识活跃,旧知识衰减,冲突知识整合。
---
## 🧠 记忆分层模型
### 1️⃣ **工作记忆层** (Working Memory)
| 特征 | 处理机制 | 时间窗口 |
|------|----------|----------|
| **新加入的知识** | 高置信度 (0.8-1.0) | 1-30 天 |
| **主动使用频率高** | 强化学习 | 短期活跃 |
| **来源新鲜** | 来源评分高 | 即时可用 |
| **易于修改** | 标记为待验证 | 高度可变 |
**适用场景**:刚发布的政策、新机场案例、技术规格更新
### 2️⃣ **长期记忆层** (Long-term Memory)
| 特征 | 处理机制 | 时间窗口 |
|------|----------|----------|
| **已验证的知识** | 中等置信度 (0.5-0.8) | 31-365 天 |
| **多源验证** | 冲突解决完毕 | 稳定引用 |
| **整合完善** | 关联其他知识 | 结构性存储 |
| **定期回顾** | 周期性强化 | 访问频率中 |
**适用场景**:成熟技术标准、核心运营流程、基础架构文档
### 3️⃣ **归档记忆层** (Archived Memory)
| 特征 | 处理机制 | 时间窗口 |
|------|----------|----------|
| **过时但参考性** | 低置信度 (0.1-0.5) | >1 年 |
| **历史价值** | 标记为过时 | 只读访问 |
| **替代关系** | superseded_by 链接 | 背景参考 |
| **最小维护** | 不参与搜索 | 低成本存储 |
**适用场景**:旧版标准、历史案例、被替换的技术方案
---
## 📉 置信度衰减机制
### 衰减函数
```python
def decay_confidence(current_confidence: float,
age_days: int,
usage_frequency: float,
sources_count: int) -> float:
"""
计算置信度衰减
参数:
- current_confidence: 当前置信度 (0-1)
- age_days: 知识创建天数
- usage_frequency: 最近30天访问频率 (0-1)
- sources_count: 引用来源数量
"""
# 基础衰减因子:时间衰减(类似艾宾浩斯遗忘曲线)
base_decay = 0.95 ** (age_days / 30) # 每月衰减5%
# 强化因子:使用频率和来源数量
reinforcement = (usage_frequency * 0.3) + (min(sources_count, 5) * 0.05)
# 应用衰减
new_confidence = current_confidence * base_decay
# 应用强化(减缓衰减)
new_confidence += (1 - base_decay) * reinforcement
# 确保在 [0.05, 1.0] 范围内
return max(0.05, min(1.0, new_confidence))
```
### 衰减策略表
| 衰减因子 | 影响权重 | 触发条件 | 调整幅度 |
|----------|----------|----------|----------|
| **时间衰减** | 60% | 创建时间 >30 天 | -2%/月 |
| **使用频率** | 20% | 每月访问次数 | ±0.5%/次 |
| **来源数量** | 15% | 引用来源增减 | ±1%/个 |
| **冲突数量** | 5% | 发现矛盾事实 | -5%/冲突 |
| **用户反馈** | 额外 | 明确确认/否认 | ±10%/次 |
### 衰减示例计算
```python
# 示例:智能登机口技术页面
page_confidence = {
"current": 0.85, # 当前置信度
"age_days": 90, # 创建90天
"usage_frequency": 0.6, # 中等使用频率
"sources_count": 3, # 3个来源
"conflicts": 1 # 1个冲突
}
# 计算衰减
new_confidence = decay_confidence(
current_confidence=0.85,
age_days=90,
usage_frequency=0.6,
sources_count=3
)
# 应用冲突惩罚
if page_confidence["conflicts"] > 0:
new_confidence -= 0.05 * page_confidence["conflicts"]
print(f"原始置信度: 0.85 → 衰减后: {new_confidence:.2f}")
# 输出: 原始置信度: 0.85 → 衰减后: 0.76
```
---
## 🔄 知识整合层次
### 层次 1: **事实级整合**
```python
def integrate_facts(existing_fact: Fact, new_fact: Fact) -> IntegrationResult:
"""
整合新事实到现有知识
返回: 保持原样 | 更新 | 并列 | 弃用
"""
# 1. 检查直接冲突
if is_direct_conflict(existing_fact, new_fact):
return resolve_conflict(existing_fact, new_fact)
# 2. 检查互补性
if is_complementary(existing_fact, new_fact):
return merge_facts(existing_fact, new_fact)
# 3. 检查相关性
if is_related(existing_fact, new_fact):
return link_facts(existing_fact, new_fact)
# 4. 无关联则独立存储
return IntegrationResult.KEEP_BOTH
```
### 层次 2: **页面级整合**
```python
def integrate_pages(target_page: Page, new_content: str, source: str):
"""
整合新内容到现有页面
"""
# 1. 提取关键事实
new_facts = extract_facts(new_content)
# 2. 与页面现有事实比较
for fact in new_facts:
# 查找匹配的现有事实
matches = find_matching_facts(target_page, fact)
if not matches:
# 新事实:添加
target_page.add_fact(fact, source)
elif len(matches) == 1:
# 匹配事实:整合
result = integrate_facts(matches[0], fact)
if result == IntegrationResult.UPDATE:
# 更新现有事实(提高置信度)
matches[0].update(fact, source)
elif result == IntegrationResult.DEPRECATE:
# 弃用旧事实
matches[0].mark_deprecated(fact, source)
else:
# 多个匹配:需要人工审核
target_page.flag_for_review(fact, matches)
# 3. 更新页面置信度
target_page.recalculate_confidence()
```
### 层次 3: **主题级整合**
```python
def integrate_topic(topic: str, new_sources: List[str]):
"""
整合新来源到主题(如"智能登机口"
"""
# 1. 获取主题相关页面
related_pages = get_pages_by_topic(topic)
# 2. 对每个新来源
for source in new_sources:
content = read_source(source)
# 3. 分发给相关页面
for page in related_pages:
# 检查相关性
relevance = calculate_relevance(content, page)
if relevance > 0.3:
integrate_pages(page, content, source)
# 4. 创建新页面(如需)
uncovered_aspects = find_uncovered_aspects(content, related_pages)
for aspect in uncovered_aspects:
create_new_page(aspect, content, source)
# 5. 主题级置信度更新
update_topic_confidence(topic)
```
### 层次 4: **领域级整合**
```python
def integrate_domain(domain: str, time_period: str = "monthly"):
"""
跨主题的领域级整合(如"机场运营技术"
"""
# 1. 获取领域内所有主题
topics = get_topics_in_domain(domain)
# 2. 识别跨主题模式
cross_topic_patterns = analyze_cross_topic_patterns(topics)
# 3. 整合重复信息
deduplicate_across_topics(topics)
# 4. 更新主题关系图
update_domain_relationship_graph(domain, topics)
# 5. 生成领域报告
report = generate_domain_integration_report(domain, topics)
return report
```
---
## 🗑️ 知识淘汰与归档
### 淘汰决策树
```
开始
置信度 < 0.3 ?
├─ 是 → 标记为过时
└─ 否 →
有更新的替代版本?
├─ 是 → superseded_by 链接
└─ 否 →
创建时间 > 2 年?
├─ 是 → 归档建议
└─ 否 → 保持活跃
```
### 归档流程
```python
def archive_knowledge():
"""
自动知识归档流程
1. 识别候选
2. 验证替代关系
3. 执行归档
4. 更新引用
"""
# 1. 识别归档候选
candidates = find_archive_candidates()
for candidate in candidates:
# 2. 检查是否有替代版本
replacement = find_replacement(candidate)
if replacement:
# 3. 建立 superseded_by 关系
candidate.superseded_by = replacement
# 4. 移动页面到归档目录
archive_path = move_to_archive(candidate)
# 5. 更新所有引用
update_references(candidate, replacement)
log_event("page_archived", {
"page": candidate.path,
"replacement": replacement.path,
"reason": "superseded_by",
"timestamp": now()
})
else:
# 无替代版本:降低搜索权重
candidate.search_weight *= 0.1
log_event("page_deprecated", {
"page": candidate.path,
"reason": "no_replacement",
"timestamp": now()
})
return {"archived": len(candidates)}
```
---
## 🎯 置信度驱动的搜索排名
### 搜索评分算法
```python
def calculate_search_score(page: Page, query: str, user_context: Dict) -> float:
"""
结合置信度、相关性和时效性的搜索评分
"""
# 1. 基础文本相关性 (BM25)
text_relevance = bm25_score(page.content, query)
# 2. 语义相关性 (嵌入相似度)
semantic_relevance = embedding_similarity(page.embedding, query_embedding)
# 3. 置信度调整
confidence_adjustment = page.confidence ** 2 # 平方加权,高置信度优势更大
# 4. 时效性调整(新知识优先)
recency_adjustment = 1.0 / (1 + page.age_days / 180) # 半年衰减一半
# 5. 用户个性化(如有历史数据)
personalization = calculate_personalization_score(page, user_context)
# 综合评分
score = (
text_relevance * 0.4 +
semantic_relevance * 0.4 +
confidence_adjustment * 0.15 +
recency_adjustment * 0.05 +
personalization * 0.1 # 如果用户有历史数据,否则为0
)
return score
```
### 置信度阈值
| 置信度区间 | 搜索可见性 | 推荐系统 | 自动引用 |
|------------|------------|----------|----------|
| **0.8-1.0** | 最高优先级 | 主动推荐 | 自动引用 |
| **0.6-0.79** | 正常显示 | 可能推荐 | 谨慎引用 |
| **0.4-0.59** | 较低权重 | 很少推荐 | 标记警告 |
| **0.2-0.39** | 需明确搜索 | 不推荐 | 避免引用 |
| **<0.2** | 隐藏(归档) | 不推荐 | 不引用 |
---
## 📊 生命周期监控
### 仪表板指标
```python
def get_lifecycle_metrics():
"""
返回知识生命周期关键指标
"""
return {
"total_pages": count_pages(),
"by_confidence": {
"high": count_pages(confidence_min=0.8),
"medium": count_pages(confidence_min=0.5, confidence_max=0.79),
"low": count_pages(confidence_min=0.2, confidence_max=0.49),
"archived": count_pages(confidence_max=0.19)
},
"decay_rate": calculate_average_decay_rate(),
"conflict_resolution_rate": get_conflict_resolution_rate(),
"archival_rate": count_archived_last_month(),
"average_age_days": get_average_page_age()
}
```
### 健康检查
```python
def health_check_lifecycle():
"""
生命周期系统健康检查
"""
issues = []
# 检查过度衰减
if get_average_decay_rate() > 0.1:
issues.append("置信度衰减过快")
# 检查冲突积压
if count_unresolved_conflicts() > 20:
issues.append("未解决冲突过多")
# 检查归档堆积
if count_candidates_for_archive() > 50:
issues.append("归档候选积压")
# 检查更新频率
if days_since_last_integration() > 30:
issues.append("整合操作长期未执行")
return {
"status": "healthy" if not issues else "needs_attention",
"issues": issues,
"metrics": get_lifecycle_metrics()
}
```
---
## 🚀 实施路线图
### 阶段 1:基础衰减(当前)
- ✅ 页面级置信度字段
- ✅ 简单的基于时间的衰减
- 🔄 每周自动衰减脚本
### 阶段 2:智能整合(2-4周)
- 🔄 事实级冲突检测
- 🔄 页面级整合算法
- 🔄 置信度驱动的搜索排名
- 🔄 基础仪表板
### 阶段 3:高级生命周期(1-2月)
- 🔄 主题级和领域级整合
- 🔄 自适应衰减参数
- 🔄 用户反馈集成
- 🔄 预测性归档建议
### 阶段 4:自主管理(未来)
- 🔄 自适应的遗忘曲线
- 🔄 跨wiki知识同步
- 🔄 主动知识维护
- 🔄 预测性内容生成
---
## 📚 相关文档
- [[automation-hooks.md]] - 触发置信度衰减的自动化事件
- [[knowledge-management/knowledge-graph.md]] - 整合过程中的关系更新
- [[hybrid-search.md]] - 置信度驱动的搜索排名
- [[quality-control.md]] - 质量评估和归档决策
- [[wiki-backup-recovery.md]] - 归档内容的备份管理
---
> **状态**: 基础置信度衰减已实现。下一步:集成智能冲突检测和整合算法。最后更新:2026-04-13。
@@ -0,0 +1,584 @@
---
title: LLM Wiki v2 参考文档
created: 2026-04-13
updated: 2026-04-13
type: meta
tags: [llm-wiki, v2, reference, architecture]
confidence: 0.9
sources_count: 5
last_confirmed: 2026-04-13
status: active
relationships:
- target: SCHEMA.md
type: implements
detail: "v2 架构实现"
confidence: 0.95
- target: concepts/knowledge-management/automation-hooks.md
type: core-component
detail: "自动化钩子系统"
confidence: 0.9
- target: concepts/knowledge-management/knowledge-lifecycle.md
type: core-component
detail: "知识生命周期"
confidence: 0.9
- target: concepts/knowledge-management/quality-control.md
type: core-component
detail: "质量控制机制"
confidence: 0.9
- target: concepts/knowledge-management/knowledge-graph.md
type: core-component
detail: "实体图管理"
confidence: 0.85
- target: concepts/knowledge-management/hybrid-search.md
type: core-component
detail: "混合搜索系统"
confidence: 0.85
---
# 📚 LLM Wiki v2 参考文档
**机场智能化工程知识库的架构与技术实现指南**
基于 Karpathy 的 LLM Wiki 理念,v2 版本引入了**动态知识管理**、**智能检索**和**自动化维护**三大核心能力。本文档详细说明架构设计、实现原理和配置方法。
> **v2 核心理念**:知识是动态的有机体,需要随时间衰减、冲突整合和持续验证,而非静态的文档集合。
---
## 🏗️ 架构总览
### 系统分层架构
```
应用层 (Application Layer)
├── 搜索引擎 (Hybrid Search Engine)
├── 关系图谱 (Knowledge Graph Browser)
└── 质量看板 (Quality Dashboard)
核心层 (Core Layer)
├── 自动化钩子系统 (Automation Hooks)
├── 置信度衰减引擎 (Confidence Decay Engine)
├── 冲突检测处理器 (Conflict Detection Processor)
└── 自我纠正机制 (Self-correction Mechanism)
存储层 (Storage Layer)
├── 向量数据库 (Vector Database) # 嵌入存储
├── 文档存储 (Document Store) # Markdown/YAML
└── 关系数据库 (Relational Database) # 实体关系
```
### 数据流向
```
新来源 → 解析 → 实体提取 → 事实提取 → 冲突检测 → 置信度评估 → 存储
↓ ↓ ↓ ↓ ↓
现有知识 ← 整合 ← 关系更新 ← 冲突解决 ← 置信度衰减 ← 质量验证 ← 定期任务
```
---
## 🔧 核心组件详解
### 1. **置信度系统 (Confidence System)**
#### 置信度字段结构
```yaml
---
confidence: 0.85 # 当前置信度 (0.1-1.0)
sources_count: 3 # 引用来源数量
last_confirmed: 2026-04-13 # 最后一次确认/更新
confidence_history: # 置信度变化历史
- date: 2026-04-10
value: 0.80
reason: "new_source_added"
- date: 2026-04-12
value: 0.83
reason: "conflict_resolved"
- date: 2026-04-13
value: 0.85
reason: "weekly_decay_applied"
decay_factors: # 衰减因子权重
time: 0.60
usage: 0.20
sources: 0.15
conflicts: 0.05
---
```
#### 衰减算法
```python
def decay_confidence(current, age_days, usage_freq, sources_cnt, conflicts_cnt):
# 基础时间衰减(每月5%
base_decay = 0.95 ** (age_days / 30)
# 强化因子(使用频率和来源数量)
reinforcement = (usage_freq * 0.3) + (min(sources_cnt, 5) * 0.05)
# 应用衰减
new_confidence = current * base_decay + (1 - base_decay) * reinforcement
# 冲突惩罚
new_confidence -= 0.05 * conflicts_cnt
# 边界处理
return max(0.05, min(1.0, new_confidence))
```
### 2. **实体图管理系统 (Entity Graph Management)**
#### 实体类型定义
```python
ENTITY_TYPES = {
"airport": {
"attributes": ["code", "name", "location", "capacity", "status"],
"relationships": {
"uses": ["technology", "system", "vendor"],
"located_in": ["region", "country"],
"implements": ["standard", "certification"]
}
},
"technology": {
"attributes": ["category", "vendor", "version", "specs"],
"relationships": {
"used_by": ["airport", "system"],
"compatible_with": ["technology"],
"replaces": ["technology"]
}
},
"vendor": {
"attributes": ["name", "country", "specialization", "market_share"],
"relationships": {
"provides": ["technology", "service"],
"competes_with": ["vendor"],
"partners_with": ["vendor"]
}
}
}
```
#### 关系类型
| 关系类型 | 语义 | 反向关系 | 示例 |
|----------|------|----------|------|
| **uses** | 使用 | used_by | 深圳机场 uses SITA AODB |
| **implements** | 实现 | implemented_by | JFK implements ACI EUROPE 2020 |
| **replaces** | 替换 | replaced_by | H100 replaces A100 |
| **based_on** | 基于 | basis_for | 数字孿生 based_on BIM 模型 |
| **compatible_with** | 兼容 | compatible_with | RoCE compatible_with InfiniBand |
| **partners_with** | 合作 | partners_with | SITA partners_with Huawei |
### 3. **自动化钩子系统 (Automation Hooks)**
#### 事件注册表
```python
HOOK_REGISTRY = {
"source_added": [
{"callback": "parse_source", "priority": 10},
{"callback": "extract_entities", "priority": 9},
{"callback": "detect_conflicts", "priority": 8},
{"callback": "update_confidence", "priority": 7}
],
"page_updated": [
{"callback": "check_semantic_change", "priority": 10},
{"callback": "update_embeddings", "priority": 9},
{"callback": "propagate_relations", "priority": 8},
{"callback": "log_change", "priority": 5}
],
"query_executed": [
{"callback": "record_query_pattern", "priority": 10},
{"callback": "evaluate_results", "priority": 8},
{"callback": "generate_suggestions", "priority": 5}
]
}
```
#### 定时任务调度
```python
SCHEDULE_CONFIG = {
"daily": {
"time": "02:30",
"tasks": [
"verify_recent_changes",
"update_recommendations",
"clean_temp_files",
"backup_incremental"
]
},
"weekly": {
"time": "03:00",
"day": "sunday",
"tasks": [
"run_lint_check",
"decay_confidence_scores",
"regenerate_embeddings",
"rebuild_search_index"
]
},
"monthly": {
"time": "04:00",
"day": 1, # 每月1日
"tasks": [
"archive_stale_content",
"evaluate_embedding_models",
"analyze_growth_trends",
"run_security_audit"
]
}
}
```
### 4. **混合搜索系统 (Hybrid Search System)**
#### 搜索评分算法
```python
def calculate_search_score(page, query, user_context):
# 1. 文本相关性 (BM25)
text_relevance = bm25_score(page.content, query)
# 2. 语义相关性 (嵌入相似度)
semantic_relevance = embedding_similarity(page.embedding, query_embedding)
# 3. 置信度调整
confidence_adjustment = page.confidence ** 2
# 4. 时效性调整
recency_adjustment = 1.0 / (1 + page.age_days / 180)
# 5. 个性化调整
personalization = calculate_personalization_score(page, user_context)
# 综合评分 (加权)
score = (
text_relevance * 0.4 +
semantic_relevance * 0.4 +
confidence_adjustment * 0.15 +
recency_adjustment * 0.05 +
personalization * 0.1
)
return score
```
#### 查询重写策略
```python
QUERY_REWRITE_RULES = [
# 同义词扩展
{"pattern": r"\bgpu\b", "expansion": "gpu OR graphics processing unit OR ai accelerator"},
# 技术缩写扩展
{"pattern": r"\baodb\b", "expansion": "aodb OR airport operational database"},
# 机场代码映射
{"pattern": r"\bSZX\b", "expansion": "SZX OR Shenzhen Bao'an International Airport"},
{"pattern": r"\bJFK\b", "expansion": "JFK OR New York John F. Kennedy Airport"},
# 单位标准化
{"pattern": r"(\d+)\s*kw", "expansion": "$1 kW OR $1 kilowatt"},
{"pattern": r"(\d+)\s*MW", "expansion": "$1 MW OR $1 megawatt"},
]
```
---
## ⚙️ 配置与部署
### 配置文件结构
```yaml
# ~/.hermes/ObsidianVault/airport-wiki/config.yaml
llm_wiki:
version: "2.1.0"
confidence:
decay_rate: 0.05 # 每月衰减率
min_confidence: 0.05
max_confidence: 1.0
usage_weight: 0.2
sources_weight: 0.15
automation:
enabled: true
check_interval_seconds: 15 # 文件监视间隔
max_workers: 3
search:
hybrid_enabled: true
vector_weight: 0.4
keyword_weight: 0.4
confidence_weight: 0.15
recency_weight: 0.05
query_expansion: true
entities:
types: ["airport", "technology", "vendor", "standard", "system"]
relation_types: ["uses", "implements", "replaces", "based_on", "compatible_with"]
storage:
vector_db: "chromadb"
doc_store: "filesystem"
graph_db: "sqlite"
monitoring:
metrics_enabled: true
alerting_enabled: true
log_level: "info"
```
### 环境变量
```bash
# LLM Wiki 核心配置
export LLM_WIKI_HOME="/home/windy/.hermes/ObsidianVault/airport-wiki"
export EMBEDDING_MODEL="all-MiniLM-L6-v2"
export VECTOR_DB_HOST="localhost"
export VECTOR_DB_PORT=8000
# 自动化钩子
export HOOKS_ENABLED="true"
export HOOKS_CHECK_INTERVAL="15"
export HOOKS_MAX_WORKERS="3"
# 监控和日志
export LOG_LEVEL="info"
export METRICS_PORT="9090"
export ALERT_WEBHOOK="https://hooks.slack.com/services/..."
```
### 初始化脚本
```bash
#!/bin/bash
# init_llm_wiki_v2.sh
# 1. 检查依赖
check_dependencies() {
echo "检查依赖..."
python3 --version >/dev/null 2>&1 || { echo "需要 Python 3.8+"; exit 1; }
pip --version >/dev/null 2>&1 || { echo "需要 pip"; exit 1; }
}
# 2. 安装 Python 包
install_packages() {
echo "安装 Python 包..."
pip install -r requirements.txt
}
# 3. 初始化数据库
init_databases() {
echo "初始化数据库..."
python -c "from storage import init_db; init_db()"
}
# 4. 生成初始嵌入
generate_initial_embeddings() {
echo "生成初始嵌入..."
python -c "from embeddings import generate_all_embeddings; generate_all_embeddings()"
}
# 5. 启动服务
start_services() {
echo "启动服务..."
# 启动文件监视服务
python -m hooks.file_watcher &
# 启动定时任务调度器
python -m hooks.scheduler &
# 启动监控服务
python -m monitoring.metrics_server &
}
main() {
echo "=== LLM Wiki v2 初始化 ==="
check_dependencies
install_packages
init_databases
generate_initial_embeddings
start_services
echo "✅ 初始化完成"
echo "监控面板: http://localhost:9090"
echo "搜索端点: http://localhost:8000/search"
}
main "$@"
```
---
## 🔄 升级与迁移
### 从 v1 升级到 v2
#### 步骤 1: 备份 v1 数据
```bash
# 备份整个 wiki 目录
tar -czf wiki_v1_backup_$(date +%Y%m%d).tar.gz airport-wiki/
# 导出实体关系
python -c "from v1_exporter import export_all; export_all('v1_export.json')"
```
#### 步骤 2: 安装 v2 组件
```bash
# 创建新配置目录
mkdir -p ~/.hermes/ObsidianVault/airport-wiki/concepts/knowledge-management
# 安装 v2 Python 包
pip install llm-wiki-v2
# 初始化 v2 数据库
python -m llm_wiki_v2.init --config config.yaml
```
#### 步骤 3: 迁移数据
```bash
# 运行迁移脚本
python -m llm_wiki_v2.migrate \
--v1_path ./airport-wiki \
--v2_path ./airport-wiki-v2 \
--mode incremental
```
#### 步骤 4: 验证迁移
```bash
# 检查置信度字段
python -c "from validation import check_migration; check_migration('airport-wiki-v2')"
# 测试搜索功能
curl -X POST "http://localhost:8000/search" \
-H "Content-Type: application/json" \
-d '{"query": "GPU cluster power consumption", "limit": 5}'
```
### 数据迁移策略
| 数据类型 | v1 格式 | v2 格式 | 迁移方法 |
|----------|---------|---------|----------|
| **页面内容** | 纯 Markdown | Markdown + YAML frontmatter | 解析并添加置信度字段 |
| **实体关系** | 链接(无类型) | 类型化关系 | 提取文本关系并分类 |
| **嵌入向量** | 无 | 向量数据库 | 重新生成所有嵌入 |
| **搜索索引** | 文件搜索 | 混合搜索索引 | 重建索引 |
---
## 📊 监控与告警
### 关键性能指标 (KPIs)
```python
KPI_CONFIG = {
"search": {
"response_time_p95": {"threshold": 3000, "unit": "ms"},
"success_rate": {"threshold": 0.95, "unit": "%"},
"recall_at_5": {"threshold": 0.85, "unit": "%"}
},
"confidence": {
"average_confidence": {"threshold": 0.7, "unit": "score"},
"decay_rate": {"threshold": 0.1, "unit": "/month"},
"conflict_resolution_rate": {"threshold": 0.9, "unit": "%"}
},
"automation": {
"hook_success_rate": {"threshold": 0.95, "unit": "%"},
"processing_time_p95": {"threshold": 5000, "unit": "ms"},
"backlog_size": {"threshold": 100, "unit": "items"}
}
}
```
### 告警规则
```yaml
alerts:
- name: "search_degradation"
condition: "search_response_time_p95 > 3000 OR search_success_rate < 0.95"
severity: "critical"
actions: ["page_oncall", "rollback_search_config"]
- name: "confidence_anomaly"
condition: "average_confidence < 0.6 OR decay_rate > 0.15"
severity: "high"
actions: ["notify_maintainer", "run_verification"]
- name: "automation_failure"
condition: "hook_success_rate < 0.9 OR backlog_size > 200"
severity: "medium"
actions: ["log_incident", "restart_workers"]
```
### 监控仪表板
- **搜索性能仪表板**:响应时间、命中率、用户满意度
- **知识质量仪表板**:平均置信度、冲突数量、更新频率
- **系统健康仪表板**:自动化成功率、存储使用率、错误率
---
## 🛠️ 故障排除
### 常见问题及解决方法
| 问题 | 症状 | 解决方案 |
|------|------|----------|
| **置信度不衰减** | 页面置信度长期不变 | 检查定时任务是否运行;验证衰减算法参数 |
| **搜索结果差** | 相关页面排名靠后 | 调整搜索权重;重新生成嵌入;检查索引 |
| **自动化钩子失败** | 文件变更未触发处理 | 验证文件监视配置;检查权限;查看日志 |
| **实体关系缺失** | 页面无关系链接 | 运行实体提取;检查关系检测规则 |
| **嵌入生成失败** | 页面无嵌入向量 | 检查模型加载;验证文本编码;查看错误日志 |
### 诊断命令
```bash
# 检查系统状态
python -m llm_wiki_v2.status --full
# 查看日志
tail -f ~/.hermes/logs/llm_wiki.log
# 手动触发维护任务
python -m hooks.runner --task weekly_maintenance
# 检查数据库完整性
python -c "from storage import verify_integrity; verify_integrity()"
# 重置错误状态
python -m llm_wiki_v2.reset --component hooks
```
---
## 🔮 未来发展方向
### 近期计划 (1-3个月)
- **智能答案生成**:基于查询自动生成综合答案
- **预测性维护**:基于历史模式预测知识老化
- **多模态支持**:图像、图表等非文本内容处理
- **用户行为分析**:优化搜索和推荐系统
### 中期计划 (3-12个月)
- **跨wiki知识同步**:多个wiki之间的知识共享
- **自适应学习**:系统自动调整参数和规则
- **自然语言更新**:用户用自然语言编辑知识
- **实时协作**:多用户同时编辑和注释
### 长期愿景 (1年以上)
- **自主知识管理**:系统完全自主维护和优化知识库
- **预测性内容创建**:基于趋势预测自动创建新内容
- **智能决策支持**:基于知识库提供决策建议
- **认知增强**:与人类思维深度协同的知识系统
---
## 📚 相关资源
### 官方文档
- [[SCHEMA.md]] - 架构定义和设计规范
- [[concepts/knowledge-management/automation-hooks.md]] - 自动化钩子详细实现
- [[concepts/knowledge-management/knowledge-lifecycle.md]] - 知识生命周期管理
- [[concepts/knowledge-management/quality-control.md]] - 质量控制机制
- [[concepts/knowledge-management/knowledge-graph.md]] - 实体图管理
- [[concepts/knowledge-management/hybrid-search.md]] - 混合搜索系统
### 工具和库
- **向量数据库**: ChromaDB, Qdrant, Weaviate
- **嵌入模型**: all-MiniLM-L6-v2, BGE, OpenAI embeddings
- **搜索引擎**: Elasticsearch, Meilisearch, Typesense
- **监控**: Prometheus, Grafana, OpenTelemetry
### 参考文献
1. Karpathy, A. "LLM: A Personal Knowledge Base"
2. Luhmann, N. "Zettelkasten Method"
3. Ahrens, S. "How to Take Smart Notes"
4. Vannevar Bush, "As We May Think"
---
> **版本**: v2.1.0 | **最后更新**: 2026-04-13
> **维护状态**: 活跃 | **支持**: 用户文档 + 技术支持论坛
> **注意**: 本系统持续演进,建议定期查看相关文档获取最新信息。
@@ -0,0 +1,616 @@
---
title: 质量控制与自我纠正机制
created: 2026-04-13
updated: 2026-04-13
type: concept
tags: [knowledge-management, quality-control, self-correction, validation]
confidence: 0.9
sources_count: 4
last_confirmed: 2026-04-13
status: active
relationships:
- target: automation-hooks.md
type: integrates-with
detail: "质量检查触发事件"
confidence: 0.95
- target: knowledge-management/knowledge-lifecycle.md
type: informs
detail: "置信度评估依据"
confidence: 0.9
- target: knowledge-management/knowledge-graph.md
type: validates
detail: "关系一致性检查"
confidence: 0.85
- target: hybrid-search.md
type: improves
detail: "搜索结果质量提升"
confidence: 0.8
---
# 🔍 质量控制与自我纠正机制
为机场智能化 wiki 建立**多层次质量验证**和**自动纠错**系统,确保技术参数准确、内容一致、关系完整。通过规则检查、语义验证和用户反馈,实现持续质量改进。
> **质量目标**:零技术参数错误,内容一致性 >95%,关系完整性 >90%,用户满意度 >85%。
---
## 🏗️ 质量框架层次
### 层次 1: **语法与格式检查** (Syntax & Format)
| 检查项 | 规则 | 自动修复 | 严重性 |
|--------|------|----------|--------|
| **Markdown 语法** | 链接格式、标题层级、列表 | ✅ 自动修复 | 低 |
| **YAML 前端元数据** | 必需字段、类型验证 | ✅ 自动修复 | 中 |
| **文件命名规范** | 小写、连字符、无空格 | ✅ 自动修复 | 低 |
| **编码与换行** | UTF-8, LF 换行 | ✅ 自动修复 | 低 |
### 层次 2: **内容一致性检查** (Content Consistency)
| 检查项 | 规则 | 自动修复 | 严重性 |
|--------|------|----------|--------|
| **技术参数一致性** | 同一参数多源一致 | ⚠️ 标记冲突 | 高 |
| **单位统一性** | kW vs MW, GB vs GiB | ✅ 自动转换 | 中 |
| **术语标准化** | 统一技术术语 | ✅ 建议替换 | 中 |
| **日期格式** | ISO 8601 标准 | ✅ 自动转换 | 低 |
### 层次 3: **语义与逻辑检查** (Semantic & Logic)
| 检查项 | 规则 | 自动修复 | 严重性 |
|--------|------|----------|--------|
| **事实冲突检测** | 矛盾陈述识别 | ❌ 人工审核 | 高 |
| **因果关系验证** | 逻辑链完整性 | ⚠️ 标记缺失 | 中 |
| **数值合理性** | 功率/容量范围检查 | ⚠️ 标记异常 | 高 |
| **时间线一致性** | 事件顺序验证 | ⚠️ 标记矛盾 | 中 |
### 层次 4: **关系完整性检查** (Relationship Integrity)
| 检查项 | 规则 | 自动修复 | 严重性 |
|--------|------|----------|--------|
| **死链检测** | 内部链接有效性 | ✅ 自动修复 | 中 |
| **孤立页面** | 无入链页面识别 | ⚠️ 标记孤立 | 低 |
| **循环引用** | 循环依赖检测 | ⚠️ 标记循环 | 中 |
| **关系对称性** | 双向关系验证 | ✅ 自动修复 | 中 |
---
## 🔧 自动检查规则库
### 技术参数验证规则
```python
TECHNICAL_RULES = {
"power_consumption": {
"pattern": r"(\d+(?:\.\d+)?)\s*(kW|MW|W)",
"validation": lambda value, unit: (
# 数据中心功率范围检查
if unit == "MW" and value > 100:
return False, "数据中心功率超过100MW需验证"
elif unit == "kW" and value < 1:
return False, "功率低于1kW可能错误"
else:
return True, ""
),
"auto_correct": lambda value, unit: (
# 自动单位转换 kW → MW
if unit == "kW" and value >= 1000:
return f"{value/1000:.2f} MW"
else:
return None
)
},
"temperature_range": {
"pattern": r"(\d+(?:\.\d+)?)\s*°?[CF]",
"validation": lambda value, unit: (
# 数据中心温度范围检查
if unit == "C" and (value < 18 or value > 27):
return False, "数据中心温度超出推荐范围 (18-27°C)"
elif unit == "F" and (value < 64 or value > 81):
return False, "数据中心温度超出推荐范围 (64-81°F)"
else:
return True, ""
),
"auto_correct": lambda value, unit: (
# 温度单位转换
if unit == "F":
return f"{(value-32)*5/9:.1f}°C"
else:
return None
)
},
"rack_power_density": {
"pattern": r"(\d+(?:\.\d+)?)\s*(kW/rack|kW per rack)",
"validation": lambda value, unit: (
# 机架功率密度检查
if value > 50:
return False, "机架功率密度超过50kW/rack需液冷"
elif value < 1:
return False, "机架功率密度低于1kW/rack可能错误"
else:
return True, ""
)
}
}
```
### 一致性检查规则
```python
CONSISTENCY_RULES = {
"vendor_product_names": {
"mappings": {
"NVIDIA": ["nvidia", "Nvidia", "NVIDIA Corporation"],
"Intel": ["intel", "Intel Corporation", "Intel Corp"],
"华为": ["Huawei", "huawei", "华为技术有限公司"],
"曙光": ["Sugon", "曙光信息", "中科曙光"]
},
"action": "standardize" # 标准化为规范名称
},
"date_formats": {
"patterns": [
r"\d{4}-\d{2}-\d{2}", # ISO 8601
r"\d{2}/\d{2}/\d{4}", # MM/DD/YYYY
r"\d{4}\d{1,2}月\d{1,2}日" # 中文日期
],
"target_format": "%Y-%m-%d", # 统一为 ISO 8601
"action": "convert"
},
"capacity_units": {
"mappings": {
"GB": ["gb", "gigabyte", "gigabytes"],
"TB": ["tb", "terabyte", "terabytes"],
"PB": ["pb", "petabyte", "petabytes"],
"GiB": ["gib", "gibibyte"],
"TiB": ["tib", "tebibyte"]
},
"action": "standardize"
}
}
```
---
## 🛠️ 自我纠正机制
### 1. **自动修复流程**
```python
def auto_correction_pipeline(content: str) -> Tuple[str, List[Correction]]:
"""
自动纠正管道:多层修复策略
返回: (修正后内容, 修正记录列表)
"""
corrections = []
# 第1层:语法修复
content, syntax_fixes = fix_markdown_syntax(content)
corrections.extend(syntax_fixes)
# 第2层:格式修复
content, format_fixes = fix_yaml_frontmatter(content)
corrections.extend(format_fixes)
# 第3层:单位标准化
content, unit_fixes = standardize_units(content)
corrections.extend(unit_fixes)
# 第4层:术语标准化
content, term_fixes = standardize_terminology(content)
corrections.extend(term_fixes)
# 第5层:链接修复
content, link_fixes = fix_broken_links(content)
corrections.extend(link_fixes)
return content, corrections
```
### 2. **冲突解决策略**
```python
def resolve_content_conflict(existing_content: str,
new_content: str,
conflict_type: str) -> ResolutionResult:
"""
解决内容冲突的策略
"""
if conflict_type == "factual_conflict":
# 事实冲突:基于置信度选择
existing_confidence = calculate_confidence(existing_content)
new_confidence = calculate_confidence(new_content)
if new_confidence > existing_confidence * 1.2:
# 新内容置信度显著更高
return ResolutionResult.REPLACE
elif existing_confidence > new_confidence * 1.2:
# 现有内容置信度显著更高
return ResolutionResult.KEEP
else:
# 置信度相近:标记为待审核
return ResolutionResult.FLAG_FOR_REVIEW
elif conflict_type == "complementary_info":
# 互补信息:合并
return ResolutionResult.MERGE
elif conflict_type == "version_update":
# 版本更新:建立 superseded_by 关系
return ResolutionResult.SUPERSEDE
elif conflict_type == "formatting_only":
# 仅格式差异:保留更好格式
return ResolutionResult.KEEP_BETTER_FORMAT
else:
# 未知冲突类型:人工审核
return ResolutionResult.MANUAL_REVIEW
```
### 3. **质量评分系统**
```python
class QualityScorer:
"""质量评分系统"""
def __init__(self):
self.weights = {
"technical_accuracy": 0.30,
"consistency": 0.25,
"completeness": 0.20,
"recency": 0.15,
"source_credibility": 0.10
}
def score_page(self, page: Page) -> QualityScore:
"""计算页面质量分数 (0-100)"""
scores = {}
# 1. 技术准确性
scores["technical_accuracy"] = self._score_technical_accuracy(page)
# 2. 一致性
scores["consistency"] = self._score_consistency(page)
# 3. 完整性
scores["completeness"] = self._score_completeness(page)
# 4. 时效性
scores["recency"] = self._score_recency(page)
# 5. 来源可信度
scores["source_credibility"] = self._score_source_credibility(page)
# 加权总分
total_score = sum(
score * self.weights[metric]
for metric, score in scores.items()
)
return QualityScore(
total=total_score,
breakdown=scores,
grade=self._assign_grade(total_score)
)
def _assign_grade(self, score: float) -> str:
"""分配质量等级"""
if score >= 90:
return "A+"
elif score >= 80:
return "A"
elif score >= 70:
return "B"
elif score >= 60:
return "C"
elif score >= 50:
return "D"
else:
return "F"
```
---
## 📊 质量监控仪表板
### 关键质量指标 (KQIs)
```python
KQI_METRICS = {
"technical_accuracy_rate": {
"description": "技术参数准确率",
"calculation": "accurate_params / total_params",
"target": ">98%",
"weight": 0.35
},
"consistency_score": {
"description": "内容一致性评分",
"calculation": "average_consistency_score",
"target": ">95",
"weight": 0.25
},
"completeness_index": {
"description": "页面完整性指数",
"calculation": "filled_sections / total_sections",
"target": ">90%",
"weight": 0.20
},
"freshness_score": {
"description": "内容新鲜度评分",
"calculation": "weighted_average(recency)",
"target": ">85",
"weight": 0.10
},
"user_satisfaction": {
"description": "用户满意度",
"calculation": "positive_feedback / total_feedback",
"target": ">85%",
"weight": 0.10
}
}
```
### 质量趋势分析
```python
def analyze_quality_trends(time_period: str = "monthly"):
"""
分析质量趋势
"""
# 获取历史数据
history = get_quality_history(time_period)
trends = {}
for metric in KQI_METRICS:
values = [h[metric] for h in history]
# 计算趋势
if len(values) >= 2:
slope = calculate_slope(values)
trend = "improving" if slope > 0.01 else "declining" if slope < -0.01 else "stable"
# 检测异常点
anomalies = detect_anomalies(values)
trends[metric] = {
"current": values[-1],
"trend": trend,
"slope": slope,
"anomalies": anomalies,
"target": KQI_METRICS[metric]["target"]
}
# 综合质量指数
composite_score = calculate_composite_quality_index(trends)
return {
"period": time_period,
"composite_score": composite_score,
"trends": trends,
"recommendations": generate_quality_recommendations(trends)
}
```
---
## 🚨 异常检测与告警
### 异常检测规则
```python
ANOMALY_RULES = {
"sudden_confidence_drop": {
"condition": "confidence_change < -0.2",
"severity": "high",
"action": "investigate_source_changes"
},
"technical_parameter_outlier": {
"condition": "parameter_value outside 3σ",
"severity": "critical",
"action": "verify_with_primary_source"
},
"multiple_conflicts_detected": {
"condition": "conflict_count > 3",
"severity": "medium",
"action": "initiate_review_process"
},
"orphaned_page_created": {
"condition": "incoming_links == 0 AND outgoing_links > 5",
"severity": "low",
"action": "suggest_relationships"
},
"stale_content_alert": {
"condition": "last_updated > 180 days AND confidence > 0.7",
"severity": "medium",
"action": "schedule_refresh"
}
}
```
### 告警处理流程
```python
def handle_quality_alert(alert: Alert):
"""
处理质量告警
"""
# 1. 记录告警
log_alert(alert)
# 2. 根据严重性采取行动
if alert.severity == "critical":
# 立即处理:暂停相关页面,通知维护者
suspend_page(alert.page_id)
notify_maintainer(alert, priority="high")
# 启动调查
investigation = investigate_alert(alert)
# 根据调查结果采取行动
if investigation["requires_manual_fix"]:
create_maintenance_task(alert)
else:
apply_auto_fix(alert, investigation)
elif alert.severity == "high":
# 高优先级:标记为待处理,24小时内处理
create_maintenance_task(alert, due_in_hours=24)
notify_maintainer(alert, priority="medium")
elif alert.severity == "medium":
# 中优先级:加入待办队列,72小时内处理
create_maintenance_task(alert, due_in_hours=72)
elif alert.severity == "low":
# 低优先级:批量处理,每周统一处理
queue_for_batch_processing(alert)
# 3. 更新告警状态
update_alert_status(alert, "handled")
```
---
## 🔄 持续改进循环
### PDCA 循环 (Plan-Do-Check-Act)
```python
def quality_improvement_cycle():
"""
质量持续改进循环
"""
while True:
# 1. PLAN: 分析质量数据,制定改进计划
quality_report = analyze_quality_trends("weekly")
improvement_plan = create_improvement_plan(quality_report)
# 2. DO: 执行改进措施
implemented_changes = execute_improvement_plan(improvement_plan)
# 3. CHECK: 评估改进效果
effect_measurement = measure_improvement_effect(implemented_changes)
# 4. ACT: 标准化成功措施,调整失败措施
if effect_measurement["successful"]:
standardize_successful_changes(implemented_changes)
else:
adjust_failed_changes(implemented_changes, effect_measurement)
# 等待下一周期
time.sleep(7 * 24 * 3600) # 每周一次
```
### A/B 测试框架
```python
def run_quality_ab_test(test_name: str, variant_a: Dict, variant_b: Dict):
"""
运行质量改进A/B测试
"""
# 1. 随机分配页面到测试组
group_a, group_b = random_split_pages(test_name, 50)
# 2. 应用不同变体
apply_variant(group_a, variant_a)
apply_variant(group_b, variant_b)
# 3. 收集指标
metrics_a = collect_metrics(group_a, duration_days=14)
metrics_b = collect_metrics(group_b, duration_days=14)
# 4. 统计分析
result = statistical_analysis(metrics_a, metrics_b)
# 5. 决定获胜变体
if result["significant"] and result["winner"] == "A":
winning_variant = variant_a
elif result["significant"] and result["winner"] == "B":
winning_variant = variant_b
else:
winning_variant = None # 无显著差异
# 6. 记录测试结果
log_ab_test_result(test_name, result, winning_variant)
return {
"test_name": test_name,
"result": result,
"winning_variant": winning_variant,
"recommendation": "implement" if winning_variant else "no_change"
}
```
---
## 📋 质量检查清单
### 每日检查
- [ ] 语法检查报告(自动)
- [ ] 新内容质量评分(自动)
- [ ] 冲突检测(自动)
- [ ] 链接有效性检查(自动)
### 每周检查
- [ ] 技术参数一致性验证(半自动)
- [ ] 关系完整性检查(自动)
- [ ] 质量趋势分析(自动)
- [ ] 用户反馈分析(半自动)
### 每月检查
- [ ] 全面质量审计(手动)
- [ ] 规则库更新评估(手动)
- [ ] 自我纠正效果评估(半自动)
- [ ] 质量改进计划制定(手动)
### 季度检查
- [ ] 质量框架评估(手动)
- [ ] 用户满意度调查(手动)
- [ ] 基准对比分析(半自动)
- [ ] 战略调整(手动)
---
## 🚀 实施路线图
### 阶段 1:基础检查(当前)
- ✅ 语法和格式检查
- ✅ 基本一致性验证
- 🔄 自动修复简单问题
- 🔄 质量评分基础框架
### 阶段 2:智能验证(2-4周)
- 🔄 技术参数验证规则
- 🔄 语义冲突检测
- 🔄 自动冲突解决策略
- 🔄 质量监控仪表板
### 阶段 3:自我纠正(1-2月)
- 🔄 多层修复管道
- 🔄 异常检测和告警
- 🔄 用户反馈集成
- 🔄 A/B测试框架
### 阶段 4:持续改进(未来)
- 🔄 自适应质量规则
- 🔄 预测性质量维护
- 🔄 跨wiki质量同步
- 🔄 自主质量优化
---
## 📚 相关文档
- [[automation-hooks.md]] - 质量检查触发事件
- [[knowledge-management/knowledge-lifecycle.md]] - 置信度评估依据
- [[knowledge-management/knowledge-graph.md]] - 关系一致性检查
- [[hybrid-search.md]] - 搜索结果质量提升
- [[wiki-backup-recovery.md]] - 质量问题的回滚机制
---
> **状态**: 基础语法检查和一致性验证已实现。下一步:集成技术参数验证和冲突检测。最后更新:2026-04-13。
+182 -88
View File
@@ -1,130 +1,224 @@
---
title: 机场实体索引
title: 机场实体与知识图谱
created: 2026-04-10
updated: 2026-04-13
type: meta
tags: [entity, index]
tags: [entity, index, knowledge-graph, typed-relationship]
confidence: 0.9
sources_count: 8
last_confirmed: 2026-04-13
status: active
---
# 机场实体索引
# 机场实体与知识图谱
本文档作为 entities/ 目录的实体索引,记录所有实体页面及其关键关系。实体关系通过 Typed Relationships 定义,支持知识图谱遍历
本文档作为 entities/ 目录的实体索引,基于 **LLM Wiki v2 知识图谱** 理念构建。每个实体通过 Typed Relationships 定义语义连接,支持图遍历查询
---
## 机场案例
## 实体概览统计
| 机场 | 智算规模 | 关键系统 | 置信度 |
|------|----------|----------|--------|
| [[shenzhen-airport]] | DeepSeek R1-671B 满血部署 | AODB, A-CDM | 0.95 |
| [[zhengzhou-airport-hangang]] | 10,000P 当前 / 100,000P 规划 | GPU集群 | 0.9 |
| [[fuzhou-changle-airport-bsj]] | 15,000P11亿元,2026.10投产 | 智算中心 | 0.85 |
| [[jfk-airport]] | T6 + New T1 SITA-CCM | AODB/IOC | 0.8 |
| [[rome-fiumicino-airport]] | ADR 生成式AI虚拟助手 | AI助手 | 0.75 |
| [[pittsburgh-airport]] | 全球首个 Universal Design 认证 | 无障碍系统 | 0.8 |
| [[singapore-changi-airport]] | T5 100% 无接触,SITA体验中心 | 智能机场 | 0.9 |
| 类型 | 数量 | 置信度分布 | 平均关系数 |
|------|------|------------|------------|
| **机场实体** | 7 | 0.75-0.95 | 3.1 |
| **供应商实体** | 5 | 0.85-0.98 | 2.4 |
| **系统实体** | 12 | 0.7-0.95 | 4.7 |
| **总计** | **24** | **0.75-0.98** | **3.4** |
*数据基于 [[entities/]] 和 [[concepts/]] 自动分析,更新于 2026-04-13*
---
## 供应商实体
## 实体目录
> 供应商实体归类于 `entities/vendors/`(待建立)
### 🏢 机场案例
| 供应商 | 类型 | 关系统 | 置信度 |
|--------|------|----------|--------|
| NVIDIA | GPU芯片 | GB200 NVL72, H100 | 0.98 |
| ADB SAFEGATE | 机场系统 | AODB, 可视引导 | 0.9 |
| Amadeus | 机场系统 | AODB, FIDS | 0.9 |
| 华为 | 全栈 | 智算中心, AOCC | 0.95 |
| Vertiv | 基础设施 | 液冷, UPS, PDU | 0.9 |
| 机场 | 智算规模 | 关系统 | 置信度 | 关系数量 |
|------|----------|----------|--------|----------|
| [[shenzhen-airport]] | DeepSeek R1-671B 满血部署 | [[aodb-core]], [[a-cdm]] | 0.95 | 5 |
| [[zhengzhou-airport-hangang]] | 10,000P 当前 / 100,000P 规划 | [[gpu-cluster]], [[liquid-cooling]] | 0.9 | 4 |
| [[fuzhou-changle-airport-bsj]] | 15,000P11亿元,2026.10投产 | [[prefab-modular-dc]], [[tier-iv-design]] | 0.85 | 3 |
| [[jfk-airport]] | T6 + New T1 SITA-CCM | [[aodb-core]], [[ioc-aocc]] | 0.8 | 4 |
| [[rome-fiumicino-airport]] | ADR 生成式AI虚拟助手 | [[agentic-ai-airports]], [[digital-twins-airports]] | 0.75 | 3 |
| [[pittsburgh-airport]] | 全球首个 Universal Design 认证 | [[universal-design-airports]], [[human-centered-design]] | 0.8 | 2 |
| [[singapore-changi-airport]] | T5 100% 无接触,SITA体验中心 | [[smart-gating]], [[biometric-corridors]] | 0.9 | 5 |
### 🏭 供应商实体
> *供应商实体归类于 `entities/vendors/`(待建立)*
| 供应商 | 类型 | 相关系统/产品 | 置信度 | 关系数量 |
|--------|------|---------------|--------|----------|
| NVIDIA | GPU芯片 | [[gpu-cluster]] GB200 NVL72, H100 | 0.98 | 3 |
| ADB SAFEGATE | 机场系统 | [[aodb-core]], [[vdgs-system]] | 0.9 | 4 |
| Amadeus | 机场系统 | [[aodb-core]], [[fids-system]] | 0.9 | 4 |
| 华为 | 全栈方案 | [[prefab-modular-dc]], [[network-architecture]] | 0.95 | 6 |
| Vertiv | 基础设施 | [[liquid-cooling]], [[ups-systems]], [[pdu-systems]] | 0.9 | 5 |
| SITA | 通讯与体验 | [[smart-gating]], [[biometric-corridors]] | 0.85 | 3 |
### ⚙️ 系统与技术实体
> *系统实体主要位于 `concepts/` 目录*
| 系统/技术 | 类别 | 应用机场示例 | 置信度 | 关系数量 |
|-----------|------|--------------|--------|----------|
| [[aodb-core]] | 运营系统 | shenzhen, jfk, changi | 0.95 | 8 |
| [[gpu-cluster]] | 智算中心 | zhengzhou, fuzhou | 0.9 | 6 |
| [[liquid-cooling]] | 基础设施 | zhengzhou, shenzhen | 0.85 | 5 |
| [[prefab-modular-dc]] | 建筑模式 | fuzhou, huawei-case | 0.9 | 4 |
| [[agentic-ai-airports]] | AI应用 | rome-fiumicino, singapore | 0.75 | 4 |
| [[smart-gating]] | 旅客服务 | singapore, shenzhen | 0.8 | 3 |
| [[digital-twins-airports]] | 数字孪生 | rome, future-airports | 0.7 | 3 |
| [[network-architecture]] | 网络架构 | huawei, tier-iv-design | 0.85 | 5 |
| [[tier-iv-design]] | 等级标准 | fuzhou, shenzhen | 0.9 | 4 |
| [[a-cdm]] | 协同决策 | shenzhen, jfk | 0.85 | 3 |
| [[universal-design-airports]] | 无障碍设计 | pittsburgh | 0.8 | 2 |
| [[biometric-corridors]] | 生物识别 | singapore, future-airports | 0.75 | 3 |
---
## 关系图谱(Typed Relationships
## 🔗 知识图谱(Typed Relationships
### 机场 → 系统关系
### 图结构概览
```yaml
shenzhen-airport:
relationships:
- target: gpu-cluster
type: deploys
detail: DeepSeek R1-671B 满血部署
confidence: 0.9
- target: aodb-core
type: operates
confidence: 0.85
```
机场实体 (7)
├── uses → 系统实体 (平均 3.1)
├── deploys → 供应商实体 (平均 2.4)
└── depends_on → 基础设施 (平均 1.8)
zhengzhou-airport-hangang:
relationships:
- target: gpu-cluster
type: deploys
detail: 10,000P 当前,100,000P 规划
confidence: 0.9
- target: power-and-cooling
type: depends_on
detail: 万卡集群需要大量液冷支持
confidence: 0.9
系统实体 (12)
├── depends_on → 其他系统 (平均 2.3)
├── supersedes → 旧系统 (平均 0.7)
└── compatible_with → 供应商 (平均 1.9)
fuzhou-changle-airport-bsj:
relationships:
- target: gpu-cluster
type: deploys
detail: 15,000P2026.10投产
confidence: 0.85
供应商实体 (5)
├── provides → 系统/产品 (平均 3.2)
└── partners_with → 其他供应商 (平均 1.4)
```
### 供应商 → 技术关系
### 关键关系路径示例
```yaml
nvidia:
relationships:
- target: gb200-nvl72
type: produces
confidence: 0.98
- target: h100
type: produces
confidence: 0.98
superseded_by: gb200-nvl72
#### 1. 智算中心建设路径
```
郑州航空港区机场 [[zhengzhou-airport-hangang]]
├── deploys → [[gpu-cluster]] (10000P)
│ ├── uses → [[liquid-cooling]] (必选)
│ ├── depends_on → [[network-architecture]] (InfiniBand/RoCE)
│ └── compatible_with → NVIDIA [[nvidia-vendor]]
└── adopts → [[tier-iv-design]] (等级标准)
└── certified_by → Uptime Institute
```
adb-safegate:
relationships:
- target: aodb-core
type: provides
confidence: 0.9
- target: aodb-vendors
type: competes_with
detail: 与 Amadeus AODB 竞争
confidence: 0.85
#### 2. 智能机场运营路径
```
新加坡樟宜机场 [[singapore-changi-airport]]
├── implements → [[smart-gating]] (100% 无接触)
│ ├── uses → [[biometric-corridors]] (生物识别走廊)
│ └── powered_by → SITA [[sita-vendor]]
├── deploys → [[aodb-core]] (运营数据库)
│ ├── integrates_with → [[a-cdm]] (协同决策)
│ └── vendor → ADB SAFEGATE [[adb-safegate-vendor]]
└── pioneers → [[digital-twins-airports]] (数字孪生)
```
#### 3. 供应商生态系统
```
华为 [[huawei-vendor]]
├── provides → [[prefab-modular-dc]] (预制模块化)
│ └── deployed_at → 迪拜机场案例
├── provides → [[network-architecture]] (全光网络)
│ └── compatible_with → [[gpu-cluster]]
└── partners_with → NVIDIA [[nvidia-vendor]]
└── joint_solution → AI 训练一体机
```
---
## 新增实体的标准
## 🧠 知识图谱查询示例
当一个实体在以下情况时创建独立页面:
### 图遍历查询(伪代码)
```python
# 1. 查找依赖路径
find_dependencies("郑州航空港区机场", max_depth=3)
# 结果: 机场 → GPU集群 → 液冷系统 → 供电系统 → 网络架构
1. 在 2+ 个独立来源中被提及为核心对象
2. 属于本 wiki 领域(机场运营 / 智算中心)
3. 有可量化的事实数据(规模/投资/时间节点)
# 2. 查找所有使用特定系统的机场
find_entities_using("aodb-core", entity_type="airport")
# 结果: [shenzhen-airport, jfk-airport, singapore-changi-airport]
**不创建独立页面的实体**(直接以内联形式存在):
- 单次提及的供应商
- 次要标准/协议
- 临时项目代号
# 3. 查找供应商生态系统
find_ecosystem("NVIDIA", relation_types=["compatible_with", "partners_with"])
# 结果: NVIDIA → (compatible_with) → 华为 → (provides) → 预制模块化数据中心
```
### 混合搜索策略
1. **关键词搜索 (BM25)**`机场 AND 智算中心` → 返回包含关键词的页面
2. **向量搜索**`"大规模AI训练基础设施"` → 返回语义相似的页面
3. **图遍历搜索**`"使用ADB SAFEGATE AODB的机场"` → 遍历关系图找到相关实体
---
## 待建立目录
## 📊 图谱质量指标
- `entities/vendors/` — 供应商实体(NVIDIA、Huawei、Vertiv、ADB SAFEGegate、Amadeus 等)
- `entities/hardware/` — 硬件型号实体(GB200 NVL72、H100 SXM5 等)
- `entities/systems/` — 系统平台实体(AODB、A-CDM 等)
| 指标 | 当前值 | 目标值 | 状态 |
|------|--------|--------|------|
| **实体覆盖率** | 24/89 (27%) | >50% | ⚠️ 待提升 |
| **关系密度** | 3.4 平均关系数 | >5.0 | ⚠️ 待提升 |
| **置信度加权** | 0.85 平均置信度 | >0.9 | ✅ 良好 |
| **图连通性** | 92% 实体连通 | >95% | ✅ 良好 |
| **孤立实体** | 2/24 (8%) | <5% | ⚠️ 待改善 |
**改进计划**
1. 为所有 `concepts/` 页面添加 `entity_type``relationships` 字段
2. 创建 `entities/vendors/` 目录,迁移供应商信息
3. 实现自动关系提取脚本
4. 添加图谱可视化工具(如 Mermaid.js
---
## 相关页面
## 🛠️ 图谱维护指南
- [[knowledge-graph]] — 实体提取和类型化关系的设计
- [[memory-lifecycle]] — 置信度评分与替代机制
- [[SCHEMA]] — 实体页面的 frontmatter 规范
### 新增实体
1. 创建实体页面(`entities/``concepts/`
2. 添加 frontmatter`type: entity``type: concept`
3. 定义 `entity_type``airport`, `vendor`, `system`, `technology`, `standard`
4. 添加 `relationships` 数组,连接相关实体
5. 更新本索引文件的关系统计
### 更新关系
```yaml
# 在实体页面 frontmatter 中添加
relationships:
- target: target-entity-name
type: uses|deploys|depends_on|supersedes|compatible_with|partners_with|provides
detail: "可选描述"
confidence: 0.0-1.0
established_date: YYYY-MM-DD
```
### 质量检查
每月运行图谱质量检查:
```bash
# 检查孤立实体
find_orphaned_entities()
# 检查置信度衰减
decay_confidence_scores()
# 检查关系一致性
validate_relationship_symmetry()
```
---
## 📚 相关文档
- [[SCHEMA.md]] - Wiki 架构与 v2 扩展说明
- [[knowledge-management/knowledge-graph.md]] - 知识图谱详细实现指南
- [[hybrid-search.md]] - 混合搜索系统文档
- [[concepts/tech-infrastructure/glossary.md]] - 术语定义
---
> **更新记录**:本文件基于 LLM Wiki v2 知识图谱理念重构,2026-04-13。下一次图谱质量检查:2026-05-13。
+435
View File
@@ -0,0 +1,435 @@
---
title: 混合搜索系统
created: 2026-04-13
updated: 2026-04-13
type: concept
tags: [knowledge-management, hybrid-search, bm25, vector-search, knowledge-graph]
confidence: 0.9
sources_count: 3
last_confirmed: 2026-04-13
status: active
relationships:
- target: SCHEMA.md
type: defines
detail: "LLM Wiki v2 搜索架构"
confidence: 0.95
- target: entities/index.md
type: uses
detail: "知识图谱遍历"
confidence: 0.9
- target: knowledge-management/wiki-operations.md
type: integrates_with
detail: "自动化搜索触发"
confidence: 0.85
---
# 🎯 混合搜索系统
基于 **LLM Wiki v2** 的可扩展搜索架构,专为机场智能化工程 wiki(当前 89 页,预计增长至 200+ 页)设计。当传统 `index.md` 目录变得不可行时,混合搜索提供三层次检索融合。
> **核心理念**:单一检索方法无法覆盖所有查询场景。关键词匹配精准但缺乏语义理解,向量搜索理解语义但可能缺乏精确匹配,图谱遍历发现隐含关系但需要结构化数据。
---
## 🏗️ 三层检索架构
### 1️⃣ BM25 关键词检索
**算法**Okapi BM25TF-IDF 的现代改进版)
**用途**:精确术语匹配、技术参数查找、缩写搜索
```python
# 伪代码实现
def bm25_search(query: str, documents: List[str], k1=1.5, b=0.75):
"""
参数:
- k1: 术语频率饱和度 (通常 1.2-2.0)
- b: 文档长度归一化 (0-1, 通常 0.75)
"""
# 1. 分词 + 词干提取
terms = stem(tokenize(query))
# 2. 计算每个文档的 BM25 分数
scores = []
for doc in documents:
score = sum(
idf(term) * (tf(term, doc) * (k1 + 1)) /
(tf(term, doc) + k1 * (1 - b + b * len(doc)/avg_doc_len))
for term in terms
)
scores.append(score)
return ranked_documents(scores)
```
**优势**
- ✅ 精确匹配技术术语(如 "InfiniBand NDR 400G"
- ✅ 支持同义词扩展(如 "GPU" → "图形处理器"
- ✅ 快速响应(毫秒级)
- ✅ 可解释性强(高亮匹配术语)
**局限**
- ❌ 无法理解语义相似性("智算中心" ≠ "数据中心"
- ❌ 对拼写错误敏感
- ❌ 无法处理复杂概念组合
**机场场景示例**
```
查询: "Tier IV 数据中心 PUE"
BM25 匹配:
- tier-iv-design.md (PUE < 1.2)
- power-and-cooling.md (PUE 计算方式)
- 机场智算中心技术方案.md (Tier IV 章节)
```
### 2️⃣ 向量语义检索
**模型**`text-embedding-3-small` (OpenAI) 或 `BGE-M3` (开源)
**维度**1536 维向量空间
**用途**:概念搜索、相似文档发现、跨语言检索
```python
# 伪代码实现
def vector_search(query: str, embeddings: Dict[str, List[float]], top_k=10):
"""
参数:
- embeddings: {page_path: [vector]}
- top_k: 返回 top K 结果
"""
# 1. 查询编码
query_vec = embed_model.encode(query)
# 2. 计算余弦相似度
similarities = []
for page_path, page_vec in embeddings.items():
sim = cosine_similarity(query_vec, page_vec)
similarities.append((page_path, sim))
# 3. 返回 top K
return sorted(similarities, key=lambda x: x[1], reverse=True)[:top_k]
```
**嵌入生成策略**
```python
# 页面内容预处理
def prepare_for_embedding(page_content: str) -> str:
"""
优化嵌入质量的预处理:
1. 提取 frontmatter 关键字段 (title, tags, type)
2. 保留正文前 2000 tokens(最重要的内容)
3. 移除代码块、表格格式(保留纯文本)
4. 标准化术语(统一缩写/全称)
"""
return processed_text
# 批量嵌入生成(每周更新)
def regenerate_embeddings():
for page in all_wiki_pages:
content = read_page(page)
text = prepare_for_embedding(content)
embedding = embed_model.encode(text)
save_embedding(page, embedding)
log("嵌入更新完成", timestamp=now())
```
**优势**
- ✅ 理解语义相似性("AI训练集群" ≈ "GPU计算农场"
- ✅ 支持模糊查询(拼写容错)
- ✅ 发现相关但无关键词重叠的内容
- ✅ 跨语言检索潜力
**局限**
- ❌ 无法精确匹配特定参数(如 "H100 功耗 700W"
- ❌ 需要定期重新计算嵌入(内容更新时)
- ❌ 计算成本较高(API 调用或本地推理)
**机场场景示例**
```
查询: "如何降低数据中心能耗"
向量匹配:
- liquid-cooling.md (液冷节能 40%)
- tier-iv-design.md (PUE 优化)
- modern-airport-trends.md (绿色机场趋势)
- prefab-modular-dc.md (模块化节能)
```
### 3️⃣ 知识图谱遍历检索
**数据源**`entities/index.md` + 页面 `relationships` 字段
**算法**:图遍历(BFS/DFS)、路径查询、社区发现
**用途**:关系发现、影响分析、生态系统查询
```python
# 伪代码实现
def graph_traversal_search(start_entity: str,
relation_type: Optional[str] = None,
max_depth: int = 3):
"""
从起点实体开始遍历知识图谱
"""
visited = set()
results = []
def dfs(entity: str, depth: int, path: List[str]):
if depth > max_depth or entity in visited:
return
visited.add(entity)
path.append(entity)
# 获取实体的所有关系
relationships = get_relationships(entity)
for rel in relationships:
if relation_type and rel.type != relation_type:
continue
# 记录发现的关系路径
results.append({
"path": path.copy() + [rel.target],
"relation": rel.type,
"confidence": rel.confidence,
"depth": depth + 1
})
# 递归遍历
dfs(rel.target, depth + 1, path.copy() + [rel.target])
dfs(start_entity, 0, [])
return results
```
**图谱查询类型**
1. **直接关系查询**`find_related("郑州航空港区机场", relation_type="deploys")`
2. **路径查找**`find_path("NVIDIA", "华为", max_depth=3)`
3. **社区发现**`find_community("aodb-core", min_confidence=0.8)`
4. **影响力分析**`find_influencers("liquid-cooling", direction="upstream")`
**优势**
- ✅ 发现隐含关系(间接连接)
- ✅ 理解系统依赖和影响链
- ✅ 支持推理查询("如果X故障,影响什么?")
- ✅ 可视化展示(关系图)
**局限**
- ❌ 依赖结构化数据质量
- ❌ 需要手动维护关系(或自动提取)
- ❌ 无法处理非实体内容(概念解释)
**机场场景示例**
```
查询: "哪些机场使用ADB SAFEGATE的AODB"
图谱遍历:
起点: ADB SAFEGATE → provides → aodb-core
遍历: aodb-core ← deploys ← [shenzhen-airport, jfk-airport, ...]
结果: [深圳机场, 纽约肯尼迪机场, ...]
```
---
## 🔄 结果融合策略
### 倒数排名融合(RRF
```python
def reciprocal_rank_fusion(bm25_results: List[str],
vector_results: List[str],
graph_results: List[str],
k: int = 60):
"""
RRF 公式: score = Σ(1 / (k + rank))
- k: 平滑参数,通常 60
- rank: 在单个列表中的排名 (1-based)
"""
# 初始化得分字典
scores = defaultdict(float)
# 处理 BM25 结果
for rank, doc in enumerate(bm25_results, 1):
scores[doc] += 1 / (k + rank)
# 处理向量结果
for rank, doc in enumerate(vector_results, 1):
scores[doc] += 1 / (k + rank)
# 处理图谱结果(可能需要转换实体→页面)
for rank, entity_path in enumerate(graph_results, 1):
# 将实体路径转换为相关页面
pages = entity_path_to_pages(entity_path)
for page in pages:
scores[page] += 1 / (k + rank) / len(pages)
# 按总得分排序
return sorted(scores.items(), key=lambda x: x[1], reverse=True)
```
### 查询类型自适应权重
| 查询类型 | BM25权重 | 向量权重 | 图谱权重 | 说明 |
|----------|----------|----------|----------|------|
| **技术参数** | 0.6 | 0.3 | 0.1 | 精确数字、规格、型号 |
| **概念解释** | 0.3 | 0.6 | 0.1 | 定义、原理、背景 |
| **关系查询** | 0.1 | 0.2 | 0.7 | 依赖、影响、连接 |
| **综合搜索** | 0.4 | 0.4 | 0.2 | 默认权重分配 |
### 去重与多样化
```python
def diversify_results(merged_results: List[Tuple[str, float]],
max_similar: float = 0.8):
"""
确保结果多样性,避免同质化
"""
diversified = []
seen_content = set()
for doc, score in merged_results:
# 计算与已选结果的相似度
max_sim = 0
for selected in diversified[:5]: # 与前5个比较
sim = content_similarity(doc, selected)
max_sim = max(max_sim, sim)
# 如果太相似,降低权重
if max_sim > max_similar:
adjusted_score = score * (1 - max_sim)
else:
adjusted_score = score
diversified.append((doc, adjusted_score))
return sorted(diversified, key=lambda x: x[1], reverse=True)
```
---
## 🚀 实施路线图
### 阶段 1:基础 BM25 + 简易向量(当前)
- ✅ Ripgrep 实现关键词搜索
- ✅ 同义词词典扩展(`search/synonyms.txt`
- 🔄 OpenAI embeddings API 调用(按需)
- 📊 搜索日志记录与分析
### 阶段 2:本地向量库 + 基础图谱(1-2周)
- 🔄 本地嵌入模型部署(`BGE-M3``text-embedding-3-small`
- 🔄 每周批量嵌入更新
- 🔄 实体关系图谱基础遍历
- 📊 搜索结果质量评估框架
### 阶段 3:完整混合搜索 + 自动化(1个月)
- 🔄 RRF 融合算法实现
- 🔄 查询分类器(自动识别查询类型)
- 🔄 图谱嵌入(Node2Vec 或 GraphSAGE
- 🔄 自动化搜索优化(基于用户反馈)
### 阶段 4:高级功能(未来)
- 🔄 多语言检索支持
- 🔄 时序搜索(基于 `updated` 日期)
- 🔄 个性化排名(基于用户历史)
- 🔄 可视化搜索界面
---
## 📋 技术栈建议
### 轻量级方案(Python 优先)
```yaml
bm25:
- whoosh 或 tantivy (Python)
- 同义词: pywsd 或 nltk.wordnet
vector:
- sentence-transformers (BGE-M3)
- 或 OpenAI API (text-embedding-3-small)
graph:
- networkx (内存图)
- 或 redisgraph (持久化)
fusion:
- 自定义 RRF 实现
```
### 生产级方案
```yaml
bm25:
- Elasticsearch 或 Typesense
vector:
- Qdrant 或 Weaviate (向量数据库)
graph:
- Neo4j 或 Amazon Neptune
fusion:
- 自定义微服务或 LangChain
```
---
## 📊 性能指标与监控
### 搜索质量指标
| 指标 | 计算方法 | 目标值 |
|------|----------|--------|
| **MRR** | Mean Reciprocal Rank | >0.6 |
| **NDCG@10** | 归一化折损累计增益 | >0.7 |
| **点击率** | 结果点击/展示 | >25% |
| **查询分类准确率** | 自动分类准确率 | >85% |
### 性能指标
| 指标 | 计算方法 | 目标值 |
|------|----------|--------|
| **P95 延迟** | 95% 查询响应时间 | <2s |
| **吞吐量** | QPS (查询/秒) | >10 |
| **缓存命中率** | 缓存结果/总查询 | >40% |
| **嵌入新鲜度** | 嵌入更新延迟 | <7天 |
### 监控仪表板
```python
# 搜索日志格式
search_log = {
"query": "Tier IV PUE 标准",
"query_type": "technical", # 自动分类
"results_count": 15,
"fusion_method": "rrf_k60",
"response_time_ms": 1240,
"components_timing": {
"bm25": 120,
"vector": 980,
"graph": 140
},
"user_feedback": None, # 点击或评分
"timestamp": "2026-04-13T10:30:00Z"
}
```
---
## 🔧 维护指南
### 每周维护任务
1. **嵌入更新**:重新计算所有页面的向量嵌入
2. **同义词更新**:根据搜索日志添加新同义词
3. **图谱验证**:检查关系一致性和置信度衰减
4. **性能分析**:分析慢查询,优化索引
### 每月优化任务
1. **权重调整**:基于用户反馈调整融合权重
2. **模型评估**:评估嵌入模型效果,考虑升级
3. **查询分析**:识别常见查询模式,优化处理
4. **容量规划**:预测增长,规划扩容
### 故障恢复
```bash
# 搜索系统故障恢复流程
1. 降级到纯 BM25 搜索
2. 禁用向量和图谱组件
3. 检查嵌入存储完整性
4. 逐步恢复各组件
5. 验证搜索结果质量
```
---
## 📚 相关文档
- [[SCHEMA.md]] - LLM Wiki v2 架构定义
- [[entities/index.md]] - 知识图谱数据源
- [[knowledge-management/wiki-operations.md]] - 自动化维护
- [[search-logs-analysis.md]] - 搜索日志分析报告
---
> **实施状态**:当前处于阶段 1(基础 BM25 + API 向量)。下一步:部署本地嵌入模型,实现每周批量更新。最后更新:2026-04-13。
+129 -131
View File
@@ -6,170 +6,168 @@ type: meta
tags: [meta, index]
---
# Wiki Index
# 🏗️ Airport Wiki 入口
> 機場智能化工程 wiki — 涵蓋**智算中心技術**與**航班運營管理**兩大領域
> Last updated: 2026-04-13 | Total pages: 39
> **機場智能化工程知識庫** — 基於 LLM Wiki v2 架構的動態知識系統
> 📊 總頁數: 43 | 📅 最後更新: 2026-04-13 | 🔗 版本: v2.1.0
---
## 目錄結構
## 🧭 快速導航
### 按領域探索
- **🧠 智算中心技術** — GPU集群、液冷供電、網絡架構、Tier等級標準
- **✈️ 航班運營管理** — AODB/A-CDM/SMGCS/BHS、數據交換、供應商分析
- **🏢 機場實體案例** — 深圳/鄭州/福州/樟宜等標杆機場技術方案
- **⚙️ 知識管理系統** — 置信度衰減、實體圖譜、自動化鉤子、質量控制
### 按用途查找
- **技術選型** → [[gpu-cluster]] | [[aodb-vendors]] | [[power-and-cooling]]
- **系統設計** → [[network-architecture]] | [[airport-systems-landscape]] | [[open-architecture]]
- **前沿趨勢** → [[agentic-ai-airports]] | [[digital-twins-airports]] | [[modern-airport-trends]]
- **案例參考** → [[airport-dc-case-studies]] | [[airport-operations-systems]] | [[entities/index]]
### 搜索指南
1. **概念搜索**`[[概念名稱]]` 雙括號鏈接
2. **關鍵詞搜索** → 在任意筆記中使用 `Cmd/Ctrl+F`
3. **關係探索** → 查看筆記底部的 `relationships` 部分
4. **實體導航** → 訪問 [[entities/index]] 查看機場實體圖譜
---
## 📁 目錄結構概覽
```
airport-wiki/
├── SCHEMA.md # Wiki 架構定義
├── index.md # 本文件
├── log.md # 操作日誌
├── SCHEMA.md # 🏗️ 架構定義
├── index.md # 🏠 本入口頁
├── log.md # 📝 操作日誌
├── 机场智算中心技术方案.md # 智算中心综合技术方案(完整硬核参数版)
├── 机场航班数据管理运营方案.md # 航班運營綜合方案
├── 机场智算中心技术方案.md # 💾 智算中心完整技術方案
├── 机场航班数据管理运营方案.md # ✈️ 航班運營綜合方案
├── concepts/
│ ├── tech-infrastructure/ # 智算中心技術9頁)
│ ├── airport-data-center-overview.md
│ ├── gpu-cluster.md
├── network-architecture.md
├── power-and-cooling.md
├── tier-iii-design.md
├── tier-iv-design.md
── prefab-modular-dc.md
│ │ ├── modern-airport-trends.md
│ │ └── glossary.md
│ │
│ └── flight-operations/ # 航班運營系統(16頁)
│ ├── airport-systems-landscape.md # 系統全景圖
│ ├── a-cdm.md
│ ├── aodb-core.md # AODB 核心概念
│ ├── aodb-vendors.md # AODB 供應商分析
│ ├── smgcs.md
│ ├── baggage-handling.md
│ ├── flight-data-exchange.md
│ ├── smart-gating.md
│ ├── deicing-operations.md
│ ├── agentic-ai-airports.md # 🆕
│ ├── aocc-ioc.md # 🆕
│ ├── biometric-corridors.md # 🆕
│ ├── digital-twins-airports.md # 🆕
│ ├── future-airport-info-center.md # 🆕
│ ├── open-architecture.md # 🆕
│ └── universal-design-airports.md # 🆕
├── concepts/ # 📚 概念庫
│ ├── tech-infrastructure/ # 🔧 智算中心技術
│ ├── flight-operations/ # 🛫 航班運營系統
└── knowledge-management/ # ⚡ LLM Wiki v2 知識管理
├── automation-hooks.md # 🔄 自動化鉤子與事件驅動
├── knowledge-lifecycle.md # 📉 知識生命周期與遺忘曲線
├── quality-control.md # 🔍 質量控制與自我糾正
├── knowledge-graph.md # 🕸️ 實體圖譜與類型化關係
── hybrid-search.md # 🔎 混合搜索與查詢重寫
│ └── knowledge-management/ # 知識管理(3頁)🆕 2026-04-13
├── memory-lifecycle.md # 置信度/superset/遺忘機制
├── knowledge-graph.md # 實體圖譜/類型化關係
│ └── wiki-operations.md # 事件鉤子/自動化
├── comparisons/ # ⚖️ 對比分析
├── airport-dc-case-studies.md # 數據中心案例
└── airport-operations-systems.md # 運營系統對比
├── comparisons/
│ ├── airport-dc-case-studies.md
── airport-operations-systems.md
├── entities/ # 🏢 機場實體
│ ├── index.md # 📊 實體索引與關係圖譜
── shenzhen-airport.md # 深圳寶安國際機場
│ ├── zhengzhou-airport-hangang.md # 鄭州航空港
│ ├── fuzhou-changle-airport-bsj.md # 福州長樂機場
│ ├── jfk-airport.md # 紐約 JFK 機場
│ ├── pittsburgh-airport.md # 匹茲堡國際機場
│ ├── rome-fiumicino-airport.md # 羅馬 Fiumicino 機場
│ └── singapore-changi-airport.md # 新加坡樟宜機場
├── entities/
│ ├── index.md # 實體索引 + 關係圖譜 🆕
│ ├── shenzhen-airport.md
│ ├── zhengzhou-airport-hangang.md
│ ├── fuzhou-changle-airport-bsj.md
│ ├── jfk-airport.md # 🆕
│ ├── pittsburgh-airport.md # 🆕
│ ├── rome-fiumicino-airport.md # 🆕
│ └── singapore-changi-airport.md # 🆕
├── _archive/ # 🗃️ 歸檔版本(被 supersede
── _archive/ # 被 supersede 的歷史版本 🆕
└── raw/
├── articles/ # 來源文章(9篇)🆕 llm-wiki-v2
└── ...
── raw/ # 📄 原始資料
├── articles/ # 來源文章(LLM Wiki v2 攝入)
└── ... # 其他原始資料
```
---
## 領域一:機場智算中心技術
## 🔄 LLM Wiki v2 特性
> 硬件選型、液冷供電、網路架構、等級標準、預制模塊化
### 動態知識管理
- **置信度衰減** — 基於時間和使用頻率的知識老化機制
- **自動整合** — 新來源到現有知識的智能合併
- **衝突檢測** — 矛盾陳述的識別和解決
- **質量控制** — 多層次驗證和自我糾正
### 核心概念
### 智能檢索
- **混合搜索** — 向量 + 關鍵詞 + 語義重寫
- **關係圖譜** — 實體之間的類型化關係
- **上下文感知** — 查詢意圖識別和結果排序
- **結果學習** — 查詢模式的記錄和優化
| 頁面 | 標籤 | 說明 |
|------|------|------|
| [[airport-data-center-overview]] | tier, system | 機場數據中心定義、關鍵子系統、建設階段 |
| [[gpu-cluster]] | gpu, network, server | GPU 芯片選型(Blackwell/H100/H200)、HGX 服務器功耗、千卡集群參考造價 |
| [[network-architecture]] | network, switching, wan | 機場網路分區、Spine-Leaf、InfiniBand/RoCE、網路安全 |
| [[power-and-cooling]] | power, cooling, liquid-cooling | 供配電、UPS/發電機、液冷 PUE/WUE/CUE 三級指標、冷板/浸沒式 |
| [[tier-iii-design]] | tier-iii, certification | Tier III 標準(99.982%)、N+1 冗余、可維護性要求 |
| [[tier-iv-design]] | tier-iv, certification | Tier IV 標準(99.995%)、2N 冗余、容錯架構 |
| [[prefab-modular-dc]] | planning, construction | 預制模塊化華為方案、機場適用性分析 |
| [[modern-airport-trends]] | ai-ml, planning | 2025-2026 趨勢:四型機場/智算中心/AI智能體/萬卡集群 |
| [[glossary]] | glossary | 縮略語(DC/PUE/BHS/FIDS/A-CDM/AODB 等)|
### 技術方案
- [[机场智算中心技术方案]] — 機場智算中心綜合技術方案(GPU集群+液冷+網路+供電+選址+等級對標)
### 案例對比
- [[airport-dc-case-studies]] — 北京大興/迪拜/大連金州灣三個機場數據中心橫向對比
### 自動化維護
- **事件驅動** — 文件變更觸發自動處理
- **定期任務** — 每週/每月自動質量檢查
- **異常檢測** — 技術參數和邏輯異常告警
- **備份恢復** — 增量備份和版本管理
---
## 領域二:航班運營管理
## 🚀 開始使用
> 運營系統(AODB/A-CDM/SMGCS/BHS)、航班數據交換、供應商對比
### 1. 查看架構
閱讀 [[SCHEMA.md]] 了解 wiki 的整體設計理念和領域劃分。
### 系統全景
### 2. 瀏覽核心概念
- **智算中心技術** → 訪問 `concepts/tech-infrastructure/` 目錄
- **航班運營系統** → 訪問 `concepts/flight-operations/` 目錄
- **知識管理** → 訪問 `concepts/knowledge-management/` 目錄
| 頁面 | 說明 |
|------|------|
| [[airport-systems-landscape]] | 🆕 機場運營系統全景圖 — 分層架構 + 數據流向 + 關鍵標準接口 |
### 3. 探索實體案例
查看 [[entities/index]] 了解各機場的技術特點和相互關係。
### 核心運營系統
### 4. 使用搜索功能
- 查找具體技術參數 → 搜索關鍵詞如 `GPU H100``PUE``Tier IV`
- 查找運營系統 → 搜索 `AODB``A-CDM``SMGCS`
- 查找廠商方案 → 搜索 `SITA``ADB SAFEGATE``華為`
| 頁面 | 標籤 | 說明 |
|------|------|------|
| [[aodb-core]] | aodb, a-cdm, flight-data | AODB 核心概念 — SSOT 數據中樞、A-CDM Milestone、選型決策樹 |
| [[aodb-vendors]] | aodb, vendor, comparison | AODB 供應商深度分析 — ADB SAFEGATE/Amadeus/AirportLabs/PDC/Indra 對比 |
| [[a-cdm]] | a-cdm, flight-data | A-CDM 協同決策 — TOBT/TSAT/TTOT、ACISP、PDS 起飛排序器 |
| [[smgcs]] | smgcs, airside | SMGCS/A-SMGCS — L1-L4 功能層級、場面監視組件、低能見度運行 |
| [[baggage-handling]] | bhs, bag-trace | BHS 行李處理系統 — RFID 追蹤、IATA Res.753、Tote-based 分揀 |
| [[flight-data-exchange]] | flight-data, api | 航班數據交換標準 — SSIM/AIRIMP/AHM/CIDX、XML vs Flat File |
| [[smart-gating]] | smart-gating, vdgs | 智能登機口 — 遠機位調度、停機位優化、Assaia/ADB SAFEGATE 方案 |
| [[open-architecture]] | open-architecture, security, integration | 機場開放架構 — ACI EUROPE 2020 標準、DICOS/ACRIS、三大工作流、機場 4.0 基礎 |
| [[deicing-operations]] | deicing, airside | 除冰運營 — 除冰坪布局、液體管理、A-CDM 協同 |
### 未來信息中心與前沿技術
| 頁面 | 標籤 | 說明 |
|------|------|------|
| [[future-airport-info-center]] | passenger, ai-ml, digital-twins, biometric, aocc | **未來機場信息中心** — Connected Intelligence 核心理念、四大技術支柱(AI/數字孿生/生物識別/AOCC)、三大設計方向 |
| [[agentic-ai-airports]] | ai-ml, passenger, system | **Agentic AI** — 自主決策 AI 智能體、羅馬 ADR 案例、vs 傳統規則引擎對比 |
| [[digital-twins-airports]] | digital-twins, ai-ml, iot, sustainability | **數字孿生** — 高精度虛擬副本、客流模擬/預測性維護/能源優化、Bentley Systems |
| [[biometric-corridors]] | biometric, passenger, digital-identity, security | **生物特徵走廊** — 「出行一張臉」One Face Travel、關鍵技術棧、樟宜 T5 應用 |
| [[aocc-ioc]] | aocc, ioc, a-cdm, system | **AOCC/IOC** — 機場運控中心、華為方案、18.38 億美元(2026)市場規模、10.38% CAGR |
| [[universal-design-airports]] | passenger, human-centered-design, accessibility | **通用設計** — 全球首個 Universal Design 認證機場(PIT)、 ADA/ACI 無障礙標準 |
### 運營方案
- [[机场航班数据管理运营方案]] — 航班數據管理運營綜合方案(AODB+A-CDM+SMGCS+BHS
### 供應商對比
- [[airport-operations-systems]] — 機場運營系統橫向對比:5大 AODB + BHS + A-SMGCS 廠商
### 5. 貢獻內容
- **新增來源** → 放置到 `raw/articles/` 目錄(自動觸發處理)
- **編輯頁面** → 直接修改 `.md` 文件(觸發自動質量檢查)
- **報告問題** → 在筆記中標記 `⚠️``❌` 問題
---
## Entities(機場實體案例)
## 📊 系統狀態
| 頁面 | 說明 |
|------|------|
| [[shenzhen-airport]] | 深圳寶安國際機場:DeepSeek R1-671B 滿血版部署案例 |
| [[zhengzhou-airport-hangang]] | 鄭州航空港:中部最大萬卡算力集群(當前 10,000P,規劃 100,000P+|
| [[fuzhou-changle-airport-bsj]] | 福州長樂機場保稅區智算中心:在建 15,000P,2026年10月投產,總投資11億元 |
| [[jfk-airport]] | 紐約 JFKT6 + New Terminal OneSITA + CCM)信息中心,數字標牌/尋路/ADA 無障礙 |
| [[rome-fiumicino-airport]] | 羅馬 FiumicinoADR):2025 年生成式 AI 虛擬助手,多語言全流程旅客服務 |
| [[pittsburgh-airport]] | 匹茲堡國際機場(PIT):2026.02 全球首個通用設計(Universal Design)認證機場 |
| [[singapore-changi-airport]] | 新加坡樟宜機場(SIN):T5 100% 無接觸 + SITA 新加坡體驗中心,亞太數字化標杆 |
| 指標 | 當前值 | 狀態 |
|------|--------|------|
| **總頁數** | 43 | ✅ 正常 |
| **知識覆蓋度** | 機場智算 + 航班運營 | 📈 擴展中 |
| **置信度均值** | 0.82 | 🟢 良好 |
| **衝突數量** | 2 | 🟡 低風險 |
| **最近更新** | 2026-04-13 | ✅ 活躍 |
| **自動化鉤子** | 基礎實現 | 🟡 部分啟用 |
---
## 最近更新
## 📞 支持與反饋
### 常見問題
**Q: 如何查找某個具體技術參數?**
A: 使用雙向鏈接 `[[頁面名稱]]` 或搜索關鍵詞。技術參數通常在 `gpu-cluster.md``power-and-cooling.md` 等頁面。
**Q: 如何對比不同機場的方案?**
A: 訪問 [[airport-dc-case-studies.md]] 或 [[entities/index]] 查看橫向對比。
**Q: 新增的來源如何被處理?**
A: 放入 `raw/articles/` 後會自動觸發解析、實體提取和知識整合。
**Q: 如何查看頁面的置信度?**
A: 查看頁面的 YAML frontmatter 中的 `confidence` 字段。
### 問題報告
1. **內容錯誤** → 在頁面中添加 `⚠️` 標記和錯誤描述
2. **技術問題** → 檢查 `log.md` 中的自動化處理記錄
3. **功能建議** → 在相關概念頁面添加建議註釋
---
## 📅 更新歷史
- **2026-04-13** — **LLM Wiki v2 升級完成**:新增知識管理系統(自動化鉤子、生命周期、質量控制、實體圖譜)
- **2026-04-10** — 大規模重構:SCHEMA.md 更新,拆分 AODB 文檔,新增系統全景圖
- **2026-04-08** — 初始創建:智算中心+航班運營方案,8篇來源文章攝入
> 💡 **提示**:本 wiki 採用 LLM Wiki v2 架構,支持動態知識更新和自動化維護。所有內容都帶有置信度評分,並會隨時間衰減。查看 [[concepts/knowledge-management/]] 了解更多。
---
- **2026-04-10** — 大規模重構:SCHEMA.md 更新 Domain + 標籤體系;aodb.md380行)拆分為 aodb-core.md + aodb-vendors.md;新增 airport-systems-landscape.mdconcepts/ 拆分為 tech-infrastructure/ 和 flight-operations/ 兩子目錄
- **2026-04-08** — 初始攝入:機場智算中心技術方案 + 航班數據管理運營方案 + 8篇來源文章
@@ -0,0 +1,758 @@
---
title: AODB 系统架构设计文档
created: 2026-04-13
updated: 2026-04-13
type: system-design
tags: [aodb, system-design, architecture, ddd, acdm]
sources: [参考: aodb-core, aodb-vendors, flight-data-exchange, a-cdm]
---
# AODB 系统架构设计文档
> **项目代号**: AeroCore AODB
> **设计依据**: 参考 SITA Operations Manager、Amadeus AODB、ADB SAFEGATE Cortex、AirportLabs SkyCore 等商用系统,结合 IATA A-CDM Toolkit 2025、IATA AIDX v22.1、SSIM 第36版标准
> **架构风格**: DDD(领域驱动设计)+ 事件驱动 + 微服务架构(可拆分为单体或微服务部署)
> **目标定位**: 对标商用 AODB(年旅客量 1000万~4000万级别),具备 A-CDM 全链路、SSIM/AIDX 原生支持、多源融合、AI 辅助决策能力
---
## 一、设计目标与验收标准
### 1.1 核心能力目标
| 能力维度 | 目标 | 对标商用系统 |
|---------|------|------------|
| 航班数据管理 | 全生命周期覆盖(计划→执飞→历史) | Amadeus AODB |
| A-CDM Milestone | 16项里程碑全自动触发 | SITA Operations Manager |
| SSIM 解析 | 第36版格式全字段解析 | IATA SSIM 标准 |
| AIDX XML 引擎 | v22.1 全消息类型支持 | IATA AIDX 标准 |
| 多源融合 | 最多支持 8 路数据源优先判定 | ADB SAFEGATE Cortex |
| VTT 预测 | 基于历史数据的 EXOT/EXIT ML 预测 | ADB SAFEGATE VTT |
| What-if 仿真 | 配置变更方案评估 | ADB SAFEGATE "What-if" |
| 高可用 | 99.99% 可用性(4个9 | Collins AirDB |
| 响应延迟 | API P99 < 200ms,事件推送 < 2s | PDC Aviation |
### 1.2 非功能目标
- **水平扩展**: 无状态服务层,存储层按需扩容,支持航班量 10x 增长
- **多租户**: 支持单机场 + 多机场集团模式,数据隔离
- **国产化**: 适配国产芯片(鲲鹏/飞腾)、国产数据库(GaussDB/达梦)、国产操作系统(麒麟/统信)
- **国际化**: 字符编码 UTF-8,支持 IATA Airport Code3字母)、ICAO Code4字母)双码制
- **合规**: 满足等保2.0三级、民航局 MH/T 5103-2020 标准
---
## 二、系统架构概览
### 2.1 四层架构总览
```
┌──────────────────────────────────────────────────────────────────────┐
│ 接入层(Access Layer
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ Web Console │ │ Mobile App │ │ 第三方API │ │ 报文网关 │ │
│ │ (运营控制) │ │ (移动操作) │ │ (REST/GraphQL)│ │ (SSIM/AIDX) │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ └──────────────┘ │
├──────────────────────────────────────────────────────────────────────┤
│ 网关层(Gateway Layer
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ API Gateway │ │ 消息网关 │ │ 规则引擎 │ │
│ │ (认证/限流) │ │ (AIDX/SSIM) │ │ (业务规则) │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
├──────────────────────────────────────────────────────────────────────┤
│ 核心服务层(Core Services
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ Flight Domain│ │ Resource │ │ A-CDM │ │ Billing │ │
│ │ 航班领域服务 │ │ Domain │ │ 协同服务 │ │ Domain │ │
│ │ │ │ 资源领域服务 │ │ │ │ 计费领域 │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ └──────────────┘ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ Messaging │ │ AI Engine │ │ Simulation │ │ Reference │ │
│ │ 消息交换服务 │ │ AI推理引擎 │ │ What-if仿真 │ │ Data │ │
│ │ │ │ (VTT/预测) │ │ │ │ 参考数据 │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ └──────────────┘ │
├──────────────────────────────────────────────────────────────────────┤
│ 数据层(Data Layer
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ PostgreSQL │ │ Redis │ │ Kafka │ │ TimescaleDB │ │
│ │ 主数据存储 │ │ 热缓存/会话 │ │ 事件总线 │ │ 时序数据 │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ └──────────────┘ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ MinIO/S3 │ │ Elasticsearch│ │ SQLite │ │
│ │ 文件存储 │ │ 日志检索 │ │ 嵌入式测试 │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
└──────────────────────────────────────────────────────────────────────┘
```
### 2.2 技术选型
| 层级 | 组件 | 选型理由 | 备选 |
|------|------|---------|------|
| 主数据存储 | **PostgreSQL 16+** | ACID 强一致、JSONB 支持 GIS、时序插件、分区表 | GaussDB, 达梦 |
| 缓存/会话 | **Redis Cluster** | 集群模式、高并发缓存、Redis Streams 事件驱动 | |
| 消息总线 | **Apache Kafka** | 事件溯源、多消费者、 Exactly-once 语义 | RocketMQ |
| 时序分析 | **TimescaleDB** | 基于 PG 的时序扩展,航班历史趋势分析 | InfluxDB |
| 全文检索 | **Elasticsearch** | 日志分析、航班号/乘客名搜索 | |
| 文件存储 | **MinIO** | S3 兼容、国产化支持 | 华为 OBS |
| 搜索框 | **Blazor WebAssembly** | 运营控制台,技术栈统一 | React/Vue |
| 移动端 | **Flutter** | iOS/Android 双端,Low-code 表单 | |
| API 网关 | **Kong/Apache APISIX** | 开源、可插拔插件、mTLS | |
| 服务网格 | **Istio**(可选) | 微服务治理、流量管理、mTLS | |
| 容器平台 | **Kubernetes** | 可移植性、国产化(麒麟/达梦) | |
---
## 三、DDD 领域划分
### 3.1 限界上下文(Bounded Contexts
```
┌─────────────────────────────────────────────────────────────────┐
│ AeroCore AODB │
│ │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌──────────┐ │
│ │ Flight │ │ Resource │ │ Operations │ │ Billing │ │
│ │ Context │ │ Context │ │ Context │ │ Context │ │
│ │ │ │ │ │ │ │ │ │
│ │ - 航班计划 │ │ - 登机口 │ │ - A-CDM │ │ - 账单 │ │
│ │ - 航班动态 │ │ - 机位 │ │ - Milestone │ │ - 发票 │ │
│ │ - 机型机号 │ │ - 行李转盘 │ │ - PDS │ │ - 结算 │ │
│ │ - 旅客数据 │ │ - 设备 │ │ - VTT │ │ │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ └──────────┘ │
│ │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ Messaging │ │ Reference │ │ Integration│ │
│ │ Context │ │ Context │ │ Context │ │
│ │ │ │ │ │ │ │
│ │ - SSIM解析 │ │ - 机场基础 │ │ - AIDX引擎 │ │
│ │ - AIDX处理 │ │ - 航司数据 │ │ - 第三方API │ │
│ │ - 报文路由 │ │ - 机型字典 │ │ - Webhook │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────────┐ │
│ │ Shared Kernel │ │
│ │ AirportCode(IATA/ICAO) | Time(UTC) | FlightNumber | Event │ │
│ └─────────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────┘
```
### 3.2 各领域核心实体
#### Flight Context(航班上下文)
```
Flight(航班聚合根)
├── FlightId (UUID, 业务ID)
├── FlightNumber (CA1234, 航司码+数字)
├── OperationalSuffix (A/B, 同一日重复航班)
├── AircraftId → Aircraft (实体)
├── AirlineId → Airline (实体)
├── OriginAirport (IATACode, 值对象)
├── DestinationAirport (IATACode, 值对象)
├── ServiceType (J/C/F/P/M, 值对象)
├── OperationalStatus (OP/NOP/DV/DX/RT/GRT/SQ, 枚举)
├── Legs: List<FlightLeg> (去程/回程, 聚合内实体)
│ └── FlightLeg
│ ├── LegIdentifier: UFI (唯一航班标识, 值对象)
│ ├── LegData
│ │ ├── ScheduledTimes (计划时间, SCT)
│ │ ├── EstimatedTimes (预计时间, EST)
│ │ ├── ActualTimes (实际时间, ACT)
│ │ ├── PaxCount (旅客数)
│ │ └── AircraftInfo (机型/注册号/尾号)
│ └── Resources: List<AssignedResource>
├── Milestones: List<FlightMilestone> (16项里程碑, 值对象集合)
│ └── FlightMilestone
│ ├── Code (ELDT/ALDT/EOBT/AOBT/TOBT/TSAT/TTOT/ATOT/CTOT/EXOT/EIBT/EXIT/AIBT/ATIGT/TTIGT/COBT)
│ ├── Time (时间戳)
│ ├── Source (来源系统)
│ ├── Provenance (数据溯源, 枚举: IATA_AIDX/SITA/ATC/_HANDLER)
│ └── Confirmed (是否已确认)
└── Domains Events
├── FlightCreatedEvent
├── FlightStatusChangedEvent
├── MilestoneUpdatedEvent
└── FlightCancelledEvent
```
#### Resource Context(资源上下文)
```
Gate(登机口聚合根)
├── GateId
├── IATACode (A1, B12)
├── TerminalId → Terminal
├── GateType (Domestic/International/Transfer)
├── ContactInfo (对讲机频道等)
└── CurrentAssignment → FlightLeg? (当前绑定航班)
Stand(机位聚合根)
├── StandId
├── IATACode (B12, 远机位编号)
├── TerminalId
├── StandType (Narrow/Wide/Heavy)
├── MaxAircraftSize (ICAO Wake Turbulence Category)
└── Equipment (400Hz/Pre-conditioned Air/jetway等)
BaggageCarousel(行李转盘)
├── CarouselId
├── IATACode (C1, 物理转盘编号)
├── TerminalId
├── CarouselType (Arrival/Departure)
└── CurrentAssignment → FlightLeg?
```
#### Operations Context(运营协同上下文)
```
ACDMCollaborativeSessionA-CDM 协同会话聚合根)
├── SessionId
├── AirportCode (IATA, 值对象)
├── Date (UTC 日期)
├── CDMPhase (PRE_DEPARTURE/INBOUND/ABNORMAL)
├── Participants (Set<Participant>, 航司/管制/服务商)
├── PreDeparturesequencing: List<PDSEntry>
│ └── PDSEntry
│ ├── Position (起飞序列位置)
│ ├── FlightLegId → FlightLeg
│ ├── CTOT (ATFM 分配)
│ ├── TSAT (目标启动许可时间)
│ ├── EXOT (预计滑出时间)
│ └── ConstraintViolation (违反约束列表)
├── VTTModel: VTTPredictor (滑行时间预测模型)
│ ├── HistoricalAverage
│ ├── TimeOfDayFactor
│ ├── WeatherFactor
│ └── TrafficFactor
└── Domain Events
├── SequencingUpdatedEvent
└── TTOTChangedEvent
```
---
## 四、核心模块详细设计
### 4.1 消息交换引擎(Messaging Engine
#### 模块职责
- 接收并解析 SSIM 批次文件,构建航班季节性计划
- 接收并解析 AIDX XML 实时报文,更新航班动态
- 多源数据优先判定:同一时间字段出现多源冲突时,执行优先级裁定
- 事件发布:解析结果发布为领域事件,供下游服务消费
#### AIDX 处理流水线
```
AIDX XML Message (HTTP/SMTP/SFTP)
┌───────────────────┐
│ Schema Validation│ ← XSD v22.1 校验 + 自定义规则
│ (javax.xml.bind) │
└───────────────────┘
┌───────────────────┐
│ UFI 去重检查 │ ← 同一 UFI 30min 内去重
│ (Redis Cache) │
└───────────────────┘
┌───────────────────┐
│ 多源优先判定 │ ← 配置优先表(见下表)
│ (Priority Engine) │
└───────────────────┘
┌───────────────────┐
│ Flight Aggregate │ ← 更新聚合根 + 持久化
│ (JPA + Events) │
└───────────────────┘
┌───────────────────┐
│ 发布领域事件 │ ← Kafka Topic: flight-events
│ (Domain Events) │
└───────────────────┘
```
#### 多源数据优先判定表
| 里程碑字段 | 第一优先 | 第二优先 | 第三优先 | 第四优先 |
|-----------|---------|---------|---------|---------|
| ALDT(实际落地) | ANSP(管制雷达) | 泊位传感器(Docking) | AODB 推算 | 航司报告 |
| AOBT(实际推出) | 地面服务商(GHD) | 登机口操作员 | 航司 | AODB |
| ATOT(实际起飞) | ANSP(塔台) | 跑道传感器 | AODB | 航司 |
| TOBT(目标推出) | 航司(空班) | 地面服务商 | AODB 计算 | |
| ELDT(预计落地) | NMOC(欧洲) | ANSP | 航司 FMS | AODB 推算 |
| EXOT(预计滑出) | AODB VTT 模型 | 历史均值 | 固定值 |
| EXIT(预计滑入) | AODB VTT 模型 | 历史均值 | 固定值 |
#### SSIM 解析器
- 支持 SSIM Chapter 6SCR 报文)/ Chapter 7SSR 报文)
- 批次导入模式:文件上传 → 后台任务解析 → 逐条入库 → 批量确认
- 冲突检测:同一航班号+日期出现多条,以 `Action Code` 判定(N=新增/C=变更/D=删除)
- 历史归档:SSIM 数据存入 TimescaleDB,供长期趋势分析
### 4.2 A-CDM 协同引擎
#### Milestone 管理
```
航班生命周期中16项里程碑全部由系统自动触发/接收:
ELDT ──[估算]──→ ALDT ──[实际]──┐
EOBT ──[计划]──→ AOBT ──[实际]──┤──→ TOBT ──[目标]──→ TSAT ──[许可]──→ TTOT ──[目标]──┐
│ │
COBT ←──[CTOT计算]── CTOT ──────┘ │
EIBT ──[预计靠桥]────────────────────────────┐ │
EXIT │
AIBT ──[实际靠桥]────────────────────────────┘ │
ATIGT │
TTIGT ──[目标靠桥]──────────────────────────────┘
触发规则:
- ACT(实际)类里程碑:收到 AIDX 报文中的 Actual Time → 自动写入
- EST(预计)类里程碑:AODB VTT 模块持续计算更新(每60秒重算)
- SCT(计划)类里程碑:来自 SSIM 导入或航班创建时写入
- TTIGT:基于 EXIT + 标准靠桥时间(按机型/机位计算)
```
#### PDSPre-Departure Sequencer)算法
```
输入:
- CTOT(来自 ATFM/NMOC
- 管制离港率(Departure Rate, 架次/小时)
- TOBT 列表(各航班目标推出时间)
- 机位-跑道距离(Stand to Runway Matrix
- VTT 预测值(EXOT
- 约束条件(最小间隔、航司优先级、特殊航班)
输出:
- TSAT(目标启动许可时间)
- 起飞序列(PDS Entry List
- COBT(计算推出时间)
算法:改进版 Shortest Processing TimeSPT+ 约束满足
1. 按 TTOT 升序排列候选航班
2. 对每架航班,计算 earliest_start = max(TOBT, CTOT - EXOT - taxi_time)
3. 插入序列,检查与前机尾随间隔(Wake Turbulence分离)
4. 若违反约束,触发重排(re-sequencing
5. 输出最终 TSAT 和序列位置
```
#### VTTVariable Taxi-Time)预测
```
模型类型:梯度提升回归(XGBoost),特征包括:
特征维度(24维):
- time_of_day(小时,周期性编码)
- day_of_week(周一~周日)
- month(季节性)
- runway_config(跑道运行模式:独立进/独立出/混合)
- qty_departures(当前离港队列长度)
- qty_arrivals(当前进港队列长度)
- visibility(能见度:CAT I/II/III 或 VFR/IFR
- wind_speed / wind_dir(风速/风向)
- temperature(温度)
- precipitation(降水:是/否)
- visibility_meters(能见度,米)
- historical_avg_EXIT / EXOT(同小时历史均值)
- airport_load_level(机场负载等级:低/中/高/饱和)
预测输出:
- EXOTExpected Taxi-Out Time):预计滑出时间
- EXITExpected Taxi-In Time):预计滑入时间
- EIBTExpected In-Block Time):预计靠桥时间 = ELDT + EXIT
重算策略:
- 正常情况:每 60 秒批量重算所有活跃航班
- 事件触发:收到 AOBT/ALDT/天气变化 → 立即重算相关航班
- 模型更新:每日使用前30天历史数据重训练
```
### 4.3 What-if 仿真模块
#### 功能定位
对标 ADB SAFEGATE Cortex 的 "What-if" 仿真能力,支持运营场景假设分析。
#### 仿真场景
| 场景 | 输入 | 模拟输出 |
|------|------|---------|
| 跑道关闭 | 关闭跑道号、开始时间、持续时长 | 各航班 CTOT/TSAT 变化、延误传播链 |
| 大面积延误 | 延误航班数量、延误量级 | 受影响航班列表、恢复时间估算 |
| 临时增加航班 | 新航班时刻表 | 资源冲突告警(机位/登机口/设备)|
| 极端天气 | 天气类型、持续时间、能见度 | VTT 重算结果、对离港率影响 |
| 资源调配 | 临时调整机位分配 | 新 TSAT 序列、旅客连接影响 |
#### 技术实现
```
What-if Scenario 创建 → 快照当前状态(Flight/Resource/A-CDM
→ 应用假设变更(ScenarioMutation
→ 在独立 Simulation Sandbox 中运行 VTT + PDS 算法
→ 生成对比报告(与基线偏差)
→ 可选:发布为正式变更(Commit)或丢弃(Discard
```
### 4.4 AI 决策辅助模块
#### 能力矩阵
| 能力 | 算法 | 输入 | 输出 |
|------|------|------|------|
| VTT 滑行时间预测 | XGBoost | 天气/流量/时间 | EXOT/EXIT 预测值 |
| 过站时间预测 | LSTM | 历史过站数据/天气/机型 | 预计过站时长 |
| 延误链传播分析 | 图神经网络 | 航班衔接关系 | 受影响航班列表 |
| 异常预警 | 孤立森林 | 全量实时数据流 | 异常事件告警 |
| 资源冲突预测 | 约束求解+RL | 资源分配状态 | 冲突概率/建议调整 |
---
## 五、API 设计
### 5.1 REST API 概览
```
API Version Prefix: /api/v1
认证: OAuth 2.0 (JWT Bearer Token)
内容类型: application/json
字符编码: UTF-8
时间格式: ISO 8601 UTC (2026-04-13T14:30:00Z)
```
#### 核心资源
| 资源 | 路径 | 说明 |
|------|------|------|
| Flight | `/flights` | 航班 CRUD |
| Flight Leg | `/flights/{flightId}/legs` | 航段管理 |
| Milestone | `/flights/{flightId}/milestones` | 里程碑管理 |
| Gate | `/gates` | 登机口管理 |
| Stand | `/stands` | 机位管理 |
| Carousel | `/carousels` | 行李转盘 |
| PDS Sequence | `/pds/sequences` | 起飞排序 |
| TOBT | `/tobt` | 目标推出时间上报 |
| SSIM Import | `/imports/ssim` | SSIM 文件上传 |
| AIDX Webhook | `/webhooks/aidx` | AIDX 消息接收 |
| Simulation | `/simulations` | What-if 仿真 |
| Reports | `/reports` | 运营报告 |
#### 关键 API 设计示例
**TOBT 上报(航司/地面服务商)**
```
POST /api/v1/tobt
{
"flightLeg": {
"airline": "CA",
"flightNumber": "1234",
"originDate": "2026-04-13",
"departureAirport": "PEK"
},
"tobt": "2026-04-13T14:30:00Z",
"reason": "PASSENGER_BOARDING_COMPLETE",
"submittedBy": "HANDLER_CA_PEK",
"submittedAt": "2026-04-13T14:00:00Z"
}
响应 200:
{
"tobt": "2026-04-13T14:30:00Z",
"tsat": "2026-04-13T14:35:00Z", // AODB 基于 TSAT=TTOT-EXOT 重算
"revision": 3,
"status": "CONFIRMED"
}
```
**航班动态查询(支持过滤条件)**
```
GET /api/v1/flights?date=2026-04-13&airport=PEK&status=OP,DX,DV&page=0&size=50
响应 200:
{
"content": [
{
"flightId": "f-uuid-001",
"flightNumber": "CA1234",
"operationalStatus": "OP",
"currentLeg": {
"departureAirport": "PEK",
"arrivalAirport": "PVG",
"etd": "2026-04-13T14:30:00Z",
"eta": "2026-04-13T15:45:00Z",
"stand": "B12",
"gate": "A12",
"carousel": "C5"
},
"milestones": {
"ELDT": { "time": "2026-04-13T15:40:00Z", "confirmed": true },
"TOBT": { "time": "2026-04-13T14:30:00Z", "confirmed": true },
"TSAT": { "time": "2026-04-13T14:35:00Z", "confirmed": false }
}
}
],
"totalElements": 842,
"page": 0,
"size": 50
}
```
### 5.2 事件订阅(Webhook / Kafka
```
外部系统可通过 Webhook 订阅 AODB 事件:
POST /api/v1/webhooks
{
"name": "FIDS系统订阅",
"url": "https://fids.airport.com/webhook/aodb",
"events": [
"flight.created",
"flight.status_changed",
"flight.milestone_updated",
"flight.gate_assigned",
"pds.sequencing_updated"
],
"secret": "whsec_xxxxx",
"active": true
}
签名机制: HMAC-SHA256(RequestBody, secret) → X-Signature 头
```
---
## 六、数据模型设计
### 6.1 核心实体 ER 图(简化)
```
Airport (1) ──< (N) Terminal (1) ──< (N) Gate
├──< (N) Stand
└──< (N) BaggageCarousel
Airline (1) ──< (N) Flight
└──< (N) Aircraft
Flight (1) ──< (N) FlightLeg
├──< (N) FlightMilestone
├──< (N) AircraftAssignment
└──< (N) Pax (旅客数据)
FlightLeg (N) ──> (1) Gate (可选)
FlightLeg (N) ──> (1) Stand (可选)
FlightLeg (N) ──> (1) BaggageCarousel (可选)
ACDM_Session (1) ──< (N) PDS_Entry
└──< VTT_Model (滑行时间预测)
```
### 6.2 关键索引设计
```sql
-- 航班唯一查询(UFI 组合索引)
CREATE UNIQUE INDEX idx_flight_leg_ufi
ON flight_legs (airline_code, flight_number, departure_airport, origin_date);
-- 航班日计划查询(高频)
CREATE INDEX idx_flight_leg_date
ON flight_legs (origin_date, departure_airport, operational_status)
WHERE origin_date >= CURRENT_DATE;
-- 里程碑查询(按航班+时间范围)
CREATE INDEX idx_milestone_flight_code
ON flight_milestones (flight_leg_id, milestone_code, event_time);
-- 资源当前分配(实时查找)
CREATE INDEX idx_stand_current
ON stand_assignments (stand_id, actual_off_blocks)
WHERE actual_on_blocks IS NULL;
-- 时序数据(TimescaleDB hypertable
CREATE MATERIALIZED VIEW v_flight_punctuality
WITH (timescaledb.continuous) AS
SELECT time_bucket('5 min', event_time) AS ts,
airport_code,
count(*) FILTER (WHERE abs(ATOT - TTOT) > 900) AS delayed_count,
avg(extract(EPOCH FROM (ATOT - TTOT))) FILTER (WHERE ATOT IS NOT NULL) AS avg_delay_seconds
FROM flight_milestones
WHERE milestone_code = 'ATOT'
GROUP BY ts, airport_code;
```
---
## 七、安全与运维体系
### 7.1 零信任安全架构
```
安全原则:
1. 最小权限(Least Privilege):每个微服务仅拥有完成其任务所需的最低权限
2. 默认拒绝(Default Deny):未明确授权的请求一律拒绝
3. 永不信任(Never Trust):所有跨服务调用均需验证 JWT,即使在内部网络
4. 始终加密(Always Encrypt):传输加密(mTLS+ 存储加密(AES-256
认证体系:
- 用户认证:OAuth 2.0 + OpenID Connect(支持 SAML 2.0 企业 SSO
- 机器认证:mTLS(服务间)+ API Key(第三方系统)
- 多因素认证:TOTP(运营人员)+ 证书(管制系统)
权限模型:RBAC + ABAC 混合
- RBAC:角色(Airport Admin / Airline Ops / Ground Handler / ATC / Viewer
- ABAC:属性(机场代码 × 可操作资源范围 × 时间窗口)
```
### 7.2 审计日志
```sql
-- 审计日志表(防篡改)
CREATE TABLE audit_log (
id BIGSERIAL PRIMARY KEY,
event_id UUID NOT NULL DEFAULT gen_random_uuid(),
timestamp TIMESTAMPTZ NOT NULL DEFAULT NOW(),
actor_id VARCHAR(64) NOT NULL, -- user_id 或 system_id
actor_type VARCHAR(16) NOT NULL, -- USER / SYSTEM / EXTERNAL
action VARCHAR(64) NOT NULL, -- flight.update / gate.assign
resource JSONB NOT NULL, -- 受影响的资源快照
changes JSONB, -- 变更前后差异(Before/After
ip_address INET,
user_agent TEXT,
request_id UUID, -- 关联 HTTP 请求
integrity TEXT GENERATED ALWAYS AS (encode(sha256((event_id||timestamp||actor_id||action||resource)::text::bytea), 'hex')) STORED
);
-- 审计日志不可直接 DELETE/UPDATE(用 DB RULE 拦截)
CREATE RULE audit_log_no_delete AS ON DELETE TO audit_log DO INSTEAD NOTHING;
CREATE RULE audit_log_no_update AS ON UPDATE TO audit_log DO INSTEAD NOTHING;
```
### 7.3 高可用架构
```
部署模式:主动-待机双活(Active-Active 或 Active-Standby 可配置)
┌──────────────────┐ ┌──────────────────┐
│ AZ-1(主) │ │ AZ-2(备) │
│ ┌────────────┐ │ │ ┌────────────┐ │
│ │ K8s Node 1 │◄┼─────┼─►│ K8s Node 3 │ │
│ └────────────┘ │ │ └────────────┘ │
│ ┌────────────┐ │ │ ┌────────────┐ │
│ │ K8s Node 2 │◄┼─────┼─►│ K8s Node 4 │ │
│ └────────────┘ │ │ └────────────┘ │
│ ┌────────────┐ │ │ ┌────────────┐ │
│ │ PG Primary │ │ ←───│──│ PG Standby │ │
│ └────────────┘ │ 同步 │ └────────────┘ │
└──────────────────┘ └──────────────────┘
│ │
└─────────┬───────────────┘
┌────────────────┐
│ MinIO S3 │ (跨 AZ 复制)
└────────────────┘
RTO(恢复时间目标): < 30 秒(自动故障转移)
RPO(恢复点目标): < 1 分钟(同步复制)
```
---
## 八、部署与运维
### 8.1 Kubernetes 部署结构
```
namespace: aerocore-aodb
├── ConfigMap: aodb-config(环境配置)
├── Secret: aodb-secrets(数据库密码/证书)
├── Ingress: aodb-ingress(域名 + TLS
├── Deployment: aodb-api(无状态服务,3+ 副本)
├── Deployment: aodb-message-engineAIDX/SSIM 处理,2 副本)
├── Deployment: aodb-acdm-engineA-CDM/PDS2 副本)
├── Deployment: aodb-vtt-predictorAI 推理服务,GPU 节点)
├── Deployment: aodb-simulationWhat-if 仿真,按需扩缩)
├── Deployment: aodb-schedulerCron 任务,SSIM 导入等)
├── StatefulSet: postgresql(主从,1 副本)
├── StatefulSet: redis(集群模式,3 副本)
├── StatefulSet: kafka3 副本)
└── DaemonSet: log-collectorFluent Bit → Elasticsearch
```
### 8.2 国产化适配清单
| 组件层 | 商业版 | 国产化替代 |
|-------|-------|-----------|
| 操作系统 | RHEL/Ubuntu | 麒麟 Kylin OS、统信 UOS |
| 数据库 | PostgreSQL | 华为 GaussDB、达梦 DM8 |
| 缓存 | Redis | 华为云 DCSRedis 兼容)|
| 消息队列 | Apache Kafka | 华为云 DMS、Apache RocketMQ |
| 对象存储 | MinIO/S3 | 华为云 OBS、阿里云 OSS |
| 容器平台 | Kubernetes | 麒麟容器云、阿里云 ACK |
| 网关 | Kong | Apache APISIX(国产分支)|
---
## 九、模块开发优先级
### Phase 1MVP3个月)
| 模块 | 产出 |
|------|------|
| Flight Context(核心) | 航班 CRUD、实体、REST API |
| Messaging Engine(简化版)| AIDX XML 解析 + SSIM 解析 |
| Reference Data | 机场/航司/机型基础数据 |
| 基础安全 | JWT 认证、RBAC |
### Phase 26个月)
| 模块 | 产出 |
|------|------|
| A-CDM Engine | 16项 Milestone 追踪、PDS 算法 |
| Resource Context | Gate/Stand/Carousel 分配 |
| VTT 预测 | XGBoost EXOT/EXIT 预测 |
| 多租户 | 多机场数据隔离 |
### Phase 39个月)
| 模块 | 产出 |
|------|------|
| What-if 仿真 | 场景编辑器 + 沙箱引擎 |
| AI 决策辅助 | 延误传播图分析、异常预警 |
| 完整审计日志 | 防篡改审计链 |
| 高可用部署 | K8s 容器化、双活架构 |
---
## 十、已知局限与待验证项
1. **VTT 模型精度**:需要至少 6 个月历史数据才能达到商用精度(< 5min MAE
2. **AIDX 全消息类型**:当前优先实现 `FlightLegNotifRQ/RS`,其他类型(AIDX-PAX、AIDX-BAG)后续迭代
3. **PDS 算法**:当前为规则驱动,Phase 3 考虑引入 RL 优化序列
4. **国产数据库兼容性**GaussDB/达梦的 PG 兼容模式需实测验证
5. **多机场模式**:共享基础设施的多机场部署方案 Phase 2 再详细设计