跳转至

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: ...

现有实现:LingFlowKnowledgeSourceLingTongAskKnowledgeSourceExternalIntelligenceSource

新增 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 实现并通过 KnowledgeSource ABC 的所有抽象方法
  • [ ] MFlowKnowledgeSource 实现并通过 KnowledgeSource ABC 的所有抽象方法
  • [ ] 灵研 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