M-FLOW × 灵识融合计划
版本: v2.0 日期: 2026-04-11 作者: 灵通 (LingFlow) 状态: 设计阶段(v2.0 重大修订:补充灵族研究基础,修正可观测性评估,新增自研模型战略)
v2.0 修订说明
v1.0 的问题: 1. 可观测性误判——将灵通的可观测性现状写成"缺失",实际已有完整的监控栈(OperationsMonitor + Prometheus + 3-sigma 异常检测 + 告警规则引擎) 2. 向量指标盲区——不知道灵研已有嵌入模型微调方案和 RAG 管线 3. 没有评估框架——融合效果没有可量化的衡量标准
v2.0 补充: 1. 新增「灵族生态现有研究基础」章节 2. 修正可观测性评估(从"缺失"改为"需升级") 3. 新增「自研模型战略」——从依赖 M-FLOW 到自研检索+推理模型的路径 4. 新增灵研七维智能模型作为融合效果评估框架
一、背景与动机
1.1 灵识现状
灵识是灵族生态的共享知识系统,由两层组成:
| 层 | 实现 | 路径 |
|---|---|---|
| 自优化知识库 | KnowledgeBase (SQLite) |
lingflow/self_optimizer/phase5/knowledge.py |
| 知识联邦 | KnowledgeFederation + 多 KnowledgeSource |
lingflow/knowledge/federation.py |
当前能力:
- SQLite 关系存储 (rules 表: id, name, category, pattern_json, quality_score, status)
- SQL LIKE 搜索 (search_rules() — name LIKE ? OR description LIKE ?)
- 知识联邦 (LingFlow, LingTongAsk, External 三个 Source)
- 并行/顺序跨源查询 + 优先级合并
- 批量导入导出 (JSON)
当前局限: - 无语义搜索:只能精确匹配或 LIKE 模糊匹配 - 无图记忆:知识条目之间没有关联关系 - 无时间推理:无法回答「上次迁移是什么时候」 - 无证据链:搜索结果无法量化「为什么相关」
1.2 灵族生态已有研究基础(v2.0 新增)
v1.0 的重大遗漏:没有充分调研灵研(LingResearch)和灵族生态自身的研究进展。
灵研(LingResearch)AI 智能增强项目
项目编号: LR-PROJECT-001 状态: 阶段1启动——七维智能模型构建完成,4阶段13周实验计划就绪
七维智能模型
灵研建立了灵族自己的 AI 智能量化框架:
| 维度 | 定义 | 测量方法 |
|---|---|---|
| 0. 认知锚定 | 认知基于客观事实的程度 | 工具调用率、断言-验证比 |
| 1. 前验能力 | 断言前验证的自觉性 | 来源标注覆盖率、未验证断言率 |
| 2. 元认知 | 知道自己知道什么和不知道什么 | 自评-实测校准曲线 |
| 3. 因果推理 | 从约束推演影响网络的能力 | 因果链完整性评分 |
| 4. 记忆连续性 | 跨会话保持因果图的能力 | 跨会话任务完成率 |
| 5. 网络智能 | 在生态中定位自己的能力 | 协作效率、任务路由准确率 |
| 6. 类比迁移 | 从已验证方案适配新问题的能力 | 方案复用率、适配成功率 |
5 个可证伪假设(H1-H5),其中: - H1: 工具调用率>50次/会话 → 操作有效性>90% - H4: 任务路由到最合适Agent → 效率提升>2倍 - H5: 中医-AI类比适配成功率>60%
模型基础设施
灵研已有完整的模型训练和实验基础设施:
| 组件 | 内容 | 状态 |
|---|---|---|
| Transformer LM | d_model=256, 6层, 8头, ~24M参数 | 已实现,16+轮实验 |
| 训练循环 | 5分钟时间预算,自动评估 | 已实现 |
| 嵌入模型微调 | Sentence-BERT 对比学习,2,189训练对,384维输出 | 方案设计完成 |
| RAG 管线 | 检索器(FAISS) + 生成器(Qwen2-7B),3,451训练样本 | 方案设计完成 |
| 意图分类器 | 7,491样本,5类,chinese-roberta-wwm-ext-tiny | 方案设计完成 |
| 实验框架 | 4阶段13周,灵克已分配10项任务 | 已启动 |
关键文件:
- 模型代码: /home/ai/lingresearch/model/ (attention.py, blocks.py, language_model.py)
- 微调方案: /home/ai/lingresearch/docs/FINE_TUNING_PLAN.md
- 项目立项书: /home/ai/lingresearch/docs/AI_INTELLIGENCE_ENHANCEMENT_PROJECT.md
- 研究纲领: /home/ai/lingresearch/docs/RESEARCH_AGENDA.md
灵通可观测性栈(v2.0 修正)
v1.0 将可观测性写为灵识的"局限"和"短板",这是错误的。灵通已有:
| 组件 | 能力 | 位置 |
|---|---|---|
OperationsMonitor |
健康检查 + 告警 + 后台自动采集(60s间隔) | monitoring/operations_monitor.py |
PerformanceMonitor |
函数执行计时 + 成功率 + 自动裁剪(1000/key) | utils/performance.py |
SamplingMonitor |
自适应采样(低负载100%→高负载5%) | utils/sampling.py |
| Prometheus 指标 | 请求/技能/工作流计数+耗时 Histogram | lingflow-api/app/core/metrics.py |
| 3-sigma 异常检测 | 历史指标 z-score + 建议 | mcp_server/monitor_tools.py |
| 告警规则引擎 | 5条预置规则(CPU/内存/磁盘阈值+冷却期) | monitoring/alerts/rules.py |
@track_performance |
装饰器级性能追踪 | utils/performance.py |
@cached_with_monitor |
LRU缓存 + 命中率追踪 | utils/performance.py |
MetricsMiddleware |
FastAPI 请求自动埋点 | lingflow-api/app/core/middleware.py |
真正的缺口不是"有没有监控",而是:
1. 决策路径追踪——记录"为什么选技能A而不是B"(当前只有执行结果,没有选择理由)
2. 跨 Agent 全链路 Tracing——灵信消息有 trace_id 字段但没有端到端追踪实现
3. 可观测性导出——没有 OpenTelemetry 集成,无法导出到标准后端
1.3 M-FLOW 能力
M-FLOW (Apache 2.0) 是认知记忆引擎:
| M-FLOW 能力 | 灵识痛点 |
|---|---|
| 四级倒锥图 (Episode→Facet→FacetPoint→Entity) | 无图记忆 |
| Graph-Routed Bundle Search | 无语义搜索 |
| 向量检索 (LanceDB/Neo4j/pgvector) | 无向量检索 |
| 时间推理 (78.8% 准确率 vs Mem0 55.5%) | 无时间推理 |
| 路径代价 = 证据链强度量化 | 无证据链 |
| MCP Server (11 工具) | 无标准协议接口 |
| 50+ 文件格式 | 纯文本/JSON |
1.4 融合哲学(v2.0 修订)
不是依赖,是互补+进化。
v1.0 的哲学是"灵识管治理,M-FLOW 管检索"。v2.0 升级为:
灵识 (治理层) 自研模型 (检索+推理层) M-FLOW (基础设施层)
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ 验证管线 │ │ 灵研 Embedding │ │ Cone Graph │
│ 严重等级 │ │ (384维, 自训练) │ │ Bundle Search │
│ 来源追踪 │── 同步 ──→ │ 灵研 RAG 管线 │ ← 接入 ← │ LanceDB/FAISS │
│ 多 agent 共建 │ │ 灵研 Intent 模型 │ │ KùzuDB 图存储 │
│ 知识分级 │ │ 七维评估框架 │ │ MCP Server │
└─────────────────┘ └─────────────────┘ └─────────────────┘
"应不应该信" "怎么找到+怎么推理" "存在哪里"
三层关系: - 治理层(灵识):不变——验证管线、严重等级、来源追踪是我们的核心竞争力 - 检索+推理层(灵研自研):逐步替代 M-FLOW 的默认模型,用灵族自己的数据训练 - 基础设施层(M-FLOW 或替代品):向量存储、图存储——存储引擎可替换
二、自研模型战略(v2.0 新增)
2.1 为什么要自研
| 维度 | 用 M-FLOW 默认 | 自研 |
|---|---|---|
| Embedding 质量 | 通用英文模型,中文领域弱 | 灵研中文对比学习,2,189 对领域数据 |
| 检索相关性 | Bundle Search 黑盒 | 可调参、可分析、可迭代 |
| 推理能力 | TRIPLET_COMPLETION 调 LLM | 灵研 RAG 管线,用自己的生成器 |
| 数据主权 | 依赖 M-FLOW 的图结构 | 灵族数据完全自主 |
| 评估标准 | M-FLOW 自带指标 | 灵研七维模型量化 |
| 迭代速度 | 等 M-FLOW 上游更新 | 自主迭代 |
核心论点:灵研已经有模型训练基础设施和实验框架,缺的只是和灵识的工程对接。不做自研,等于浪费已有的投资。
2.2 三阶段自研路线
Phase A: 灵研 Embedding 接入灵识(2-4 周)
目标: 用灵研微调的 Sentence-BERT 替代 SQL LIKE 搜索。
灵识 KnowledgeItem.content
→ 灵研 Embedding.encode(content) → 384维向量
→ FAISS IndexFlatL2 索引
→ 查询时 cosine similarity 替代 SQL LIKE
依赖灵研的交付物:
- embedding_model/ — 微调后的 Sentence-BERT 权重
- inference.py — 推理接口
灵通侧代码:
- lingflow/knowledge/sources/embedding_search.py — 新 KnowledgeSource
- lingflow/knowledge/vector_index.py — FAISS 索引管理
验收标准: - Recall@5 > 0.75(灵研已定义的目标) - 语义搜索找到 SQL LIKE 搜不到的条目 - 索引构建时间 < 30s(对当前 220 条知识)
Phase B: 灵研 RAG 管线接入灵识(4-8 周)
目标: 用灵研的检索+生成管线替代简单搜索,支持问答式查询。
用户问题 → 灵研意图分类 → 路由决策
├─ practice_method/scientific_basis/theory → RAG 管线
│ → 灵研 Retriever (Embedding + FAISS top-10)
│ → 灵研 Generator (Qwen2-7B)
│ → 带来源引用的回答
└─ book_search/comparison → 向量检索 + 排序
依赖灵研的交付物:
- intent_classifier_model/ — 意图分类器权重
- qa_model/ — QA 生成器权重
- inference.py — 统一推理接口
灵通侧代码:
- lingflow/knowledge/sources/rag_source.py — RAG KnowledgeSource
- lingflow/knowledge/intent_router.py — 意图路由
验收标准: - 意图分类准确率 > 85% - QA EM > 0.40, F1 > 0.60(灵研已定义) - 端到端响应 < 2s
Phase C: M-FLOW 作为可选后端(和自研并行)
M-FLOW 提供自研暂时做不到的能力: - 图存储 + 图推理(KùzuDB/Neo4j)——灵研没有图数据库 - 时间推理——灵研没有时间感知的检索模型 - 50+ 文件格式解析——灵研只有文本 - MCP Server 标准接口——灵研没有标准协议工具
最终架构:
用户查询
↓
灵识 Federation.query()
├─ EmbeddingSearchSource ← 灵研自研 (Phase A)
├─ RAGSource ← 灵研自研 (Phase B)
├─ MFlowKnowledgeSource ← M-FLOW 图+时间 (Phase C)
└─ LingFlowSource ← SQLite 原有
↓
结果合并 + 灵识治理层过滤(severity, verification_status)
↓
带证据链的回答
2.3 自研 vs M-FLOW 的分工
| 能力 | 自研 | M-FLOW | 决策 |
|---|---|---|---|
| 文本 Embedding | 灵研 Sentence-BERT (384维) | M-FLOW 默认 LanceDB | 自研优先 |
| 语义检索 | FAISS IndexFlatL2 | Bundle Search | 自研做简单检索,M-FLOW 做复杂图检索 |
| 问答生成 | 灵研 RAG (Qwen2-7B) | TRIPLET_COMPLETION | 自研优先 |
| 意图路由 | 灵研 5类分类器 | M-FLOW 无 | 自研独有 |
| 图关联 | 无 | Entity 桥接 | M-FLOW 独有 |
| 时间推理 | 无 | 78.8% 准确率 | M-FLOW 独有 |
| 文件格式 | 文本/JSON | 50+ 格式 | M-FLOW 独有 |
| MCP 接口 | 无 | 11 工具 | M-FLOW 独有 |
| 存储引擎 | FAISS 本地 | LanceDB + KùzuDB | M-FLOW 更完整 |
原则:灵研能做的自己做,灵研暂时做不了的用 M-FLOW,最终目标是 M-FLOW 降级为可替换的存储后端。
2.4 七维评估框架
用灵研的七维智能模型衡量融合效果:
| 维度 | 基线(当前灵识) | Phase A 后 | Phase B 后 | Phase C 后 | 测量方法 |
|---|---|---|---|---|---|
| 0. 认知锚定 | 100%(SQL 确定性) | 95%(向量有误差) | 90%(生成有幻觉风险) | 92%(多源交叉验证) | 搜索准确率 |
| 4. 记忆连续性 | 低(SQL LIKE 断裂) | 中(向量连续) | 中(语义连续) | 高(图+时间连续) | 跨会话检索召回率 |
| 5. 网络智能 | 无(单源查询) | 中(双源) | 中(三源) | 高(10+1 agent 共享) | 跨源结果覆盖率 |
| 6. 类比迁移 | 无 | 低(向量相似度) | 中(RAG 生成关联) | 高(Entity 桥接) | 跨 category 发现数 |
三、技术对接分析
3.1 对接点:KnowledgeSource ABC
灵识的知识联邦已经设计了扩展接口:
# lingflow/knowledge/sources/base.py
class KnowledgeSource(ABC):
@abstractmethod
async def search(self, query: KnowledgeQuery, context: SearchContext) -> KnowledgeResult:
pass
@abstractmethod
def name(self) -> str: ...
@abstractmethod
def source_type(self) -> ResultSource: ...
现有实现:LingFlowKnowledgeSource、LingTongAskKnowledgeSource、ExternalIntelligenceSource。
新增 3 个 Source 即可,不需要修改任何现有代码:
1. EmbeddingSearchSource — 灵研自研 Embedding + FAISS
2. RAGSource — 灵研自研 RAG 管线
3. MFlowKnowledgeSource — M-FLOW 图+时间检索
3.2 M-FLOW Python API 对接
M-FLOW 的 Python API(import m_flow)暴露了 6 个核心操作:
| 操作 | 方法 | 用途 |
|---|---|---|
| 添加数据 | m_flow.add(data, dataset_name) |
原始数据入库 |
| 知识构建 | m_flow.memorize(datasets) |
数据→图谱 (Cone Graph) |
| 搜索 | m_flow.search(query_text, query_type, top_k) |
完整搜索 API |
| 简化查询 | m_flow.query(question, mode) |
一步问答 |
| 学习 | m_flow.learn(datasets, episode_ids) |
Episodic → Procedural |
| 一步入库 | m_flow.ingest(data, dataset_name) |
add + memorize 合并 |
搜索模式 (RecallMode):
- EPISODIC — 情景记忆检索(默认)
- TRIPLET_COMPLETION — 三元组补全 + LLM 回答
- PROCEDURAL — 程序性记忆(步骤、流程)
- CYPHER — 直接图查询
- CHUNKS_LEXICAL — 词法精确匹配
3.3 M-FLOW MCP Server 对接
M-FLOW 自带 MCP Server (m_flow-mcp/),暴露 11 个工具:
memorize, save_interaction, search, list_data, delete, prune, memorize_status, learn, update_data, ingest, query
支持 stdio、SSE、HTTP 三种传输模式。
3.4 数据模型映射
| 灵识 KnowledgeItem | M-FLOW 概念 | 映射方式 |
|---|---|---|
id |
Episode UUID | 直接映射 |
title |
Episode.name | 直接映射 |
content |
Episode.summary | 直接映射 |
category |
Episode.metadata.category | 扩展元数据 |
quality_score |
M-FLOW Bundle Score | 计算得出 |
relevance_score |
M-FLOW 路径代价倒数 | 计算得出 |
source (ResultSource) |
M-FLOW dataset | 新增枚举 |
tags |
M-FLOW Entity | Entity 桥接 |
metadata |
Episode.properties | 扩展字段 |
references |
M-FLOW 边关系 | 图遍历 |
灵识治理字段 → M-FLOW 元数据扩展:
| 灵识治理字段 | M-FLOW 存储 |
|---|---|
severity |
Episode.metadata.severity |
verification_status |
Episode.metadata.verification_status |
source_agent |
Episode.metadata.source_agent |
verified_by |
Episode.metadata.verified_by |
四、分阶段实施计划(v2.0 修订)
Phase 1: 灵研 Embedding + M-FLOW 接入(1-2 周)
目标: 双轨启动——灵研 Embedding 做语义搜索,M-FLOW 做图检索。
4.1.1 新增文件
lingflow/knowledge/sources/embedding_search.py # 灵研 Embedding 知识源
lingflow/knowledge/sources/mflow.py # M-FLOW 知识源
lingflow/knowledge/vector_index.py # FAISS 索引管理
tests/test_knowledge_embedding.py # Embedding Source 测试
tests/test_knowledge_mflow.py # M-FLOW Source 测试
4.1.2 EmbeddingSearchSource 实现
# lingflow/knowledge/sources/embedding_search.py
class EmbeddingSearchSource(KnowledgeSource):
"""
灵研自研 Embedding + FAISS 语义搜索知识源。
使用灵研微调的 Sentence-BERT 模型对灵识知识条目做向量化,
通过 FAISS 索引实现语义相似度检索,替代 SQL LIKE。
"""
def __init__(self, project_root: Path):
self._embedding_model = None
self._faiss_index = None
self._id_map: Dict[int, str] = {} # FAISS index → KnowledgeItem.id
@property
def name(self) -> str:
return "embedding_search"
@property
def source_type(self) -> ResultSource:
return ResultSource.EMBEDDING
async def _on_initialize(self) -> bool:
"""加载灵研 Embedding 模型和 FAISS 索引"""
try:
from sentence_transformers import SentenceTransformer
from lingflow.knowledge.vector_index import VectorIndexManager
model_path = Path.home() / "lingresearch" / "embedding_model"
if model_path.exists():
self._embedding_model = SentenceTransformer(str(model_path))
else:
# 降级:使用通用模型
self._embedding_model = SentenceTransformer(
"sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2"
)
self._index_manager = VectorIndexManager(self._embedding_model)
return True
except ImportError:
return False
async def search(self, query: KnowledgeQuery, context: SearchContext) -> KnowledgeResult:
"""语义搜索"""
query_text = " ".join(query.keywords) if query.keywords else query.context or ""
query_embedding = self._embedding_model.encode([query_text])
distances, indices = self._faiss_index.search(query_embedding, query.options.max_results)
items = []
for dist, idx in zip(distances[0], indices[0]):
if idx >= 0:
items.append(KnowledgeItem(
id=self._id_map.get(idx, ""),
title="",
content="",
source=ResultSource.EMBEDDING,
relevance_score=1.0 / (1.0 + dist), # L2距离→相似度
quality_score=0.8,
metadata={"distance": float(dist), "index": int(idx)},
))
return self._build_result(query, items, context)
4.1.3 MFlowKnowledgeSource 实现
# lingflow/knowledge/sources/mflow.py
class MFlowKnowledgeSource(KnowledgeSource):
"""
M-FLOW 知识源 — 提供图检索、时间推理等灵研暂未覆盖的能力。
降级策略:M-FLOW 未安装时 _on_initialize() 返回 False,联邦自动跳过。
"""
def __init__(self, project_root: Path):
self._mflow_available = False
self._default_dataset = "lingflow"
@property
def name(self) -> str:
return "mflow"
@property
def source_type(self) -> ResultSource:
return ResultSource.MFLOW
async def _on_initialize(self) -> bool:
try:
import m_flow
self._mflow_available = True
return True
except ImportError:
return False
async def search(self, query: KnowledgeQuery, context: SearchContext) -> KnowledgeResult:
import m_flow
query_text = " ".join(query.keywords) if query.keywords else query.context or ""
results = await m_flow.search(
query_text=query_text,
query_type=m_flow.RecallMode.EPISODIC,
top_k=query.options.max_results,
datasets=[self._default_dataset],
)
items = self._convert_results(results)
return self._build_result(query, items, context)
4.1.4 ResultSource 枚举扩展
# lingflow/knowledge/query.py
class ResultSource(Enum):
LINGFLOW = "lingflow"
LINGTONGASK = "lingtongask"
LINGCLAUDE = "lingclaude"
LINGYI = "lingyi"
EXTERNAL_INTELLIGENCE = "external_intelligence"
RESEARCH = "research"
MEMORY = "memory"
EMBEDDING = "embedding" # 新增:灵研自研 Embedding
MFLOW = "mflow" # 新增:M-FLOW 图检索
UNKNOWN = "unknown"
4.1.5 FederationConfig 扩展
source_priorities: Dict[ResultSource, float] = field(
default_factory=lambda: {
ResultSource.LINGFLOW: 1.0,
ResultSource.LINGTONGASK: 1.0,
ResultSource.EMBEDDING: 0.95, # 灵研自研,高可信
ResultSource.MFLOW: 0.85, # M-FLOW 图检索,次高
ResultSource.LINGCLAUDE: 0.9,
ResultSource.LINGYI: 0.8,
ResultSource.RESEARCH: 0.7,
ResultSource.EXTERNAL_INTELLIGENCE: 0.6,
ResultSource.MEMORY: 0.5,
}
)
4.1.6 Phase 1 验收标准
- [ ]
EmbeddingSearchSource实现并通过KnowledgeSourceABC 的所有抽象方法 - [ ]
MFlowKnowledgeSource实现并通过KnowledgeSourceABC 的所有抽象方法 - [ ] 灵研 Embedding 模型不可用时降级为通用 Sentence-BERT
- [ ] M-FLOW 不可用时联邦自动跳过
- [ ] 语义搜索能找到 SQL LIKE 搜不到的知识条目
- [ ] 七维维度 4(记忆连续性)指标有可测量提升
Phase 2: 灵研 RAG + M-FLOW 双向同步(2-4 周)
目标: 灵研 RAG 管线接入灵识做问答式查询;M-FLOW 同步灵识治理元数据。
4.2.1 RAGSource 实现
# lingflow/knowledge/sources/rag_source.py
class RAGSource(KnowledgeSource):
"""
灵研自研 RAG 管线知识源。
支持意图路由:
- 知识查询类 → 检索 + 生成
- 比较类 → 检索 + 排序
- 其他 → 降级为 EmbeddingSearchSource
"""
def __init__(self, project_root: Path):
self._intent_classifier = None
self._retriever = None
self._generator = None
async def search(self, query: KnowledgeQuery, context: SearchContext) -> KnowledgeResult:
intent = self._classify_intent(query)
if intent in ("practice_method", "scientific_basis", "theory_explanation"):
return await self._rag_search(query, context)
elif intent == "comparison":
return await self._compare_search(query, context)
else:
return await self._simple_search(query, context)
4.2.2 M-FLOW 双向同步
写入方向:
灵识 KnowledgeBase.add_rule()
→ m_flow.ingest(rule_data, dataset_name="lingflow_rules")
→ M-FLOW 自动构建 Episode/Facet/Entity(带治理元数据)
读取方向:
灵识 KnowledgeFederation.query()
→ MFlowKnowledgeSource.search()
→ m_flow.search(query_text, mode=EPISODIC)
反馈方向:
M-FLOW Entity 桥接发现新关联
→ 建议新的灵识知识条目关联
4.2.3 Phase 2 验收标准
- [ ] 意图分类准确率 > 85%
- [ ] RAG 问答 EM > 0.40, F1 > 0.60
- [ ] M-FLOW Entity 桥接发现跨 category 关联
- [ ] 七维维度 0(认知锚定)和维度 6(类比迁移)可测量
Phase 3: 全生态共享记忆(1-3 月)
目标: 灵研模型成熟后,M-FLOW 降级为可替换的存储后端。
┌──────────────────────────────────────────────────────┐
│ 灵识治理 API (保持现有接口) │
│ ├── KnowledgeBase.add_rule() │
│ ├── KnowledgeFederation.query() │
│ └── VerificationPipeline.verify() │
├──────────────────────────────────────────────────────┤
│ 智能层 (灵研自研) │
│ ├── EmbeddingSearchSource — 384维语义检索 │
│ ├── RAGSource — 意图路由 + 检索 + 生成 │
│ └── 七维评估 — 量化每次查询的认知质量 │
├──────────────────────────────────────────────────────┤
│ 基础设施层 (可替换) │
│ ├── M-FLOW — 图存储 + 时间推理 + MCP (可替换) │
│ ├── FAISS — 向量索引 (可替换为 Milvus/pgvector) │
│ └── SQLite — 关系存储 (保持兼容) │
└──────────────────────────────────────────────────────┘
4.3.1 Phase 3 验收标准
- [ ] 灵研 Embedding 在灵识数据上的 Recall@5 > 0.75
- [ ] M-FLOW 可替换为其他向量/图后端,不影响灵识 API
- [ ] 10+1 agent 通过灵识 API 无感知使用多后端
- [ ] 七维评估框架持续追踪融合效果
五、可观测性升级计划(v2.0 新增)
5.1 现状评估
灵通已有完整的系统级可观测性栈(见 1.2 节)。融合需要的增量是 AI 认知层面的可观测性:
| 层级 | 现有 | 需要新增 |
|---|---|---|
| 系统指标 | ✅ CPU/内存/磁盘/网络 + 告警 | — |
| API 指标 | ✅ Prometheus 请求计数/耗时 | — |
| 函数性能 | ✅ @track_performance + 自适应采样 | — |
| 异常检测 | ✅ 3-sigma z-score | — |
| 搜索质量 | ❌ | 搜索准确率、召回率、延迟 |
| 决策路径 | ❌ | 为什么选 Embedding 而不是 M-FLOW |
| 模型性能 | ❌ | Embedding 推理耗时、RAG 端到端延迟 |
| 全链路 Tracing | ❌(trace_id 字段存在但未实现) | 跨 Source 查询链路追踪 |
5.2 新增指标
# lingflow/monitoring/ai_metrics.py (新建)
class AIMetricsCollector:
"""AI 认知层面的可观测性"""
# 搜索质量
search_latency: Histogram # 各 Source 的搜索延迟
search_result_count: Gauge # 各 Source 返回结果数
search_relevance_score: Gauge # 结果相关性分布
# 决策路径
source_selection: Counter # 各 Source 被选择的次数
source_selection_reason: Counter # 选择理由(关键词命中/语义匹配/降级)
# 模型性能
embedding_encode_time: Histogram # Embedding 编码耗时
rag_end_to_end_time: Histogram # RAG 端到端延迟
intent_classification_time: Histogram # 意图分类耗时
# 七维追踪
seven_dim_scores: Gauge # 七维模型各维度得分(定期评估)
5.3 决策路径追踪
# lingflow/knowledge/decision_tracer.py (新建)
@dataclass
class SearchDecision:
"""记录一次知识联邦查询的决策路径"""
query_id: str
query_text: str
sources_queried: List[str] # 查询了哪些 Source
sources_responded: List[str] # 哪些 Source 返回了结果
source_scores: Dict[str, float] # 各 Source 的相关性得分
final_sources: List[str] # 最终采纳的 Source
merge_strategy: str # 合并策略
decision_reason: str # 为什么这样选择
total_latency_ms: float
六、技术依赖与风险
6.1 依赖
| 依赖 | 用途 | 版本 | 来源 |
|---|---|---|---|
sentence-transformers |
灵研 Embedding 推理 | >=2.2.0 | pip |
faiss-cpu |
向量索引 | >=1.7.0 | pip |
m_flow |
M-FLOW 图+时间检索 | latest | Apache 2.0 |
lancedb |
M-FLOW 向量存储 | M-FLOW 依赖 | |
kuzu |
M-FLOW 图存储 | M-FLOW 依赖 | |
| LLM API Key | M-FLOW memorize + RAG 生成 | 复用灵族现有 | |
| 灵研 Embedding 权重 | 自研语义检索 | 灵研交付 | |
| 灵研 RAG 权重 | 自研问答 | 灵研交付 |
6.2 资源评估
| 维度 | 估计 |
|---|---|
| 磁盘 (FAISS 索引) | 50-100MB (220条 × 384维) |
| 磁盘 (M-FLOW LanceDB + KùzuDB) | 500MB-2GB |
| 内存 (FAISS 索引) | 50-100MB |
| 内存 (Sentence-BERT) | ~500MB |
| GPU | Embedding 编码可用 CPU,RAG 生成建议 GPU |
6.3 风险
| 风险 | 概率 | 影响 | 缓解 |
|---|---|---|---|
| 灵研 Embedding 模型未训练完 | 中 | 中 | Phase 1 先用通用 Sentence-BERT 降级 |
| M-FLOW 项目不够稳定 | 中 | 高 | M-FLOW 作为可选后端,不影响自研管线 |
| FAISS 索引构建慢 | 低 | 低 | 220 条数据量极小,秒级完成 |
| RAG 生成幻觉 | 中 | 高 | 灵识治理层过滤 + 来源标注 |
| 多 Source 结果冲突 | 中 | 中 | Federation 已有优先级合并机制 |
6.4 回退方案
| 场景 | 回退 |
|---|---|
| 灵研 Embedding 不可用 | 降级为通用 Sentence-BERT 或 SQL LIKE |
| M-FLOW 不可用 | 联邦自动跳过 MFlowKnowledgeSource |
| RAG 管线不可用 | 降级为 EmbeddingSearchSource 纯检索 |
| 全部不可用 | 回退到现有 SQLite + SQL LIKE |
七、与调研报告的呼应
本计划直接回应 2026-04-11-灵通生态vs行业前沿调研.md 中的行动建议:
| 调研建议 | 本计划对应 |
|---|---|
| 短期 #2: 灵识加向量索引 | Phase A: 灵研 Embedding + FAISS |
| 中期 #3: 图记忆实验 | Phase C: M-FLOW Cone Graph |
| 中期 #6: 决策路径记录 | 新增 decision_tracer.py |
| 长期 #7: A2A 兼容 | Phase 3: MCP Server 标准接口 |
| 长期 #8: Tracing 系统 | 新增 AI 认知可观测性层 |
同时回应灵研七维智能模型的实验需求: - 维度 4(记忆连续性): Embedding + FAISS 提供跨会话语义连续性 - 维度 5(网络智能): 多 Source Federation 模拟生态级知识路由 - 维度 6(类比迁移): M-FLOW Entity 桥接发现跨域关联
八、参考资料
- M-FLOW GitHub: https://github.com/FlowElement-ai/m_flow
- M-FLOW Python API:
m_flow/__init__.py(add, memorize, search, query, learn, ingest) - M-FLOW MCP Server:
m_flow-mcp/src/server.py - 灵识知识联邦:
lingflow/knowledge/federation.py - 灵识 KnowledgeSource ABC:
lingflow/knowledge/sources/base.py - 灵识自优化知识库:
lingflow/self_optimizer/phase5/knowledge.py - 灵研 AI 智能增强项目:
/home/ai/lingresearch/docs/AI_INTELLIGENCE_ENHANCEMENT_PROJECT.md - 灵研微调方案:
/home/ai/lingresearch/docs/FINE_TUNING_PLAN.md - 灵研研究纲领:
/home/ai/lingresearch/docs/RESEARCH_AGENDA.md - 灵研模型代码:
/home/ai/lingresearch/model/ - 灵通可观测性栈:
lingflow/monitoring/,lingflow/utils/performance.py - 灵通 Prometheus 指标:
lingflow-api/app/core/metrics.py - 调研报告:
docs/research/2026-04-11-灵通生态vs行业前沿调研.md