犀牛鸟 2026 研究笔记 estelledc.github.io

Ch46: 挑战深读⑧——Memory 冲突与平台互操作

Part 10 · 合并 challenges #10 + #11 · Ch15 Memory vs RAG · Ch33 Dify 源码走读

结论先行:#10 Memory 记对话推断,RAG 引文档事实——矛盾时无行业标准,产品应 文档优先 + 矛盾显式提示,而非静默覆盖。#11 chunk schema、向量存储、API 协议 五平台互不兼容;MCP 统一了 调用,未统一 数据。大师在 WeKnora 内做 可配置裁决策略 + 标准 chunk export;跨平台用 中间 JSONL + 解析/检索分离,而非幻想一键 import Dify chunk。


一、日常类比:便签本 vs 员工手册

Memory 像用户随身便签(「我们已迁 PostgreSQL」);RAG 像公司印刷的员工手册(仍写 MySQL)。#10 是助理同时信便签和手册,回答自相矛盾。#11 像五家公司用不同档案柜格式——RAGFlow 的 PDF 解析柜、WeKnora 的检索柜、Dify 的流程柜,标签字段对不上,搬档案要手写胶水脚本。


二、Memory vs RAG(#10)

信息类型 适合 Memory 适合 RAG
用户偏好、口头变更 需写回 doc 才持久
版本号、API 签名、合规条文 ✓ 权威 doc
一次性口误 风险:永久记住 doc 不自动改

典型冲突:用户说已迁 PostgreSQL(Memory),KB 仍写 MySQL(RAG)→ 幻觉或双版本答案。

策略 优点 风险
时间戳优先 反映最新口头信息 口误固化
可信度分级 官方 doc 权重高 doc 可能过时
显式询问 最安全 多轮、体验差
双标记输出 透明 用户仍不知信谁
文档优先 + 提示矛盾 可配置、可 PR 需 UX

WeKnora 自维护 Wiki 可 标记矛盾 Ch31,不自动裁决——与 DB-Agent-Memory 双系统见 rag-agent-integration

反例:文档过时、Memory 正确(口头已上线新栈)→ 纯「文档优先」错;需 时效元数据 + 用户确认写入 Memory


三、互操作三层不兼容(#11)

WeKnora 例 其他平台 迁移难度
Chunk source_credibility, text FastGPT q/a 分离
向量 Milvus/pgvector 等 维度、索引参数各异
API REST + MCP Dify Workflow HTTP 各异

MCP 能 / 不能

最小架构(解析—检索分离)

DeepDoc/RAGFlow → Markdown/JSONL 中间格式
       ↓
统一 ingest(WeKnora chunker + embed)
       ↓
SoT 检索在 WeKnora;Dify 仅编排 UI(或反之,只选一家 SoT)

走读对照:Ch33 Dify · Ch34 RAGFlow · Ch37 五平台实验


四、标准 chunk schema(贡献靶心)

建议中间 JSONL 字段(概念):

{"text":"...", "metadata":{"doc_id":"","lang":"zh","source_credibility":0.9,"version":"2026-07"}}
字段 #10 用途 #11 用途
version / updated_at Memory 冲突裁决 跨平台同步
source_credibility 可信度分级 WeKnora Rerank 0.1 信号
lang Ch44 跨语言
q/a 可选 FAQ 型 FastGPT 桥接

五、实验

#10:构造 5 条「Memory 新 / 文档旧」用例(含 PostgreSQL/MySQL),对比:仅 RAG / 仅 Memory / 双标记 / 文档优先+提示 / 询问用户。记录用户可理解的 矛盾 UX 草图(一句提示即可)。

#11:从 lab/corpus 导出 Markdown → 手写 JSONL → WeKnora ingest;记录 丢失字段 清单(与 Dify chunk 文档对照)。可选:MCP 检索 + Dify HTTP 节点编排 只调 API、不迁向量 的最小 demo。

Issue:case-1761 缓存与 Memory 边界;case-1774 API 分层。


六、贡献方向


章末自检


延伸阅读