智能体协作架构
愿景
MDMS 的终极形态不是一个人在写百科,而是 3 个人 + 数百个智能体 7x24 小时协作,在 3 个月内生产千万级高质量 Markdown 词条。所有内容以 .md 格式存储,天然对 LLM 友好,既是搜索引擎友好的站点内容,又是模型训练的高质量数据集。
Agent Trajectory Recording
传统版本控制只记录"改了什么"(diff)。MDMS 的轨迹记录系统记录完整的思考链路:为什么改、怎么想的、参考了什么信源、置信度多少、谁验证了、质量评分多少。
轨迹数据结构
一次完整编辑产生一条 Trajectory,包含五个层次:
任务层记录这是什么任务(创建/编辑/验证/关联/翻译),操作哪个词条。
智能体层记录哪个 Agent 执行的,什么角色(研究员/验证员/编辑/关联员/审核员),用的什么模型。
思考链是最值钱的部分,记录每一步的输入、输出、推理过程、消耗的 token 数和延迟。一个典型的思考链包括:规划(plan)确定需要覆盖哪些章节,检索(retrieve)查找信源并评估可靠性,生成(generate)基于信源写出内容,自检(self_check)发现潜在问题,修正(revise)根据自检结果或其他 Agent 反馈修改内容。
协作层记录 Agent 之间和人机之间的交互。比如验证员 Agent 对研究员 Agent 的初稿做事实核查,返回"3 个事实验证通过、1 个有争议"的结果。人类编辑确认发布并留下评论。
结果层记录最终的 diff、全文、质量评分和成本。
举例说明
一个研究员 Agent 收到任务"写量子计算词条"。它先规划 5 个章节(定义、历史、原理、应用、前景),然后检索百科和论文,发现维基百科说"1981年"但论文说"1982年",置信度只有 0.7。于是它做了二次检索,确认费曼 1982 年提出量子计算概念,置信度提升到 0.95。基于信源生成 2000 字初稿后,自检发现"显著提升"是 AI 高频词,触发同义词替换。
验证员 Agent 拿到初稿,验证了 3 个关键事实,对第 3 段的一个表述提出异议。研究员 Agent 采纳建议修改。最后人类编辑确认发布。
这整个过程的每一步都被记录。如果只存最终的 diff,你丢掉的是 12 步推理轨迹。这些轨迹才是训练数据的金矿。
5 种训练数据
从 Trajectory 中可以提取 5 种不同类型的训练数据,对应 LLM 训练的不同阶段。
第一种是 SFT 监督微调语料。从 steps 中提取 input 到 output 的映射,教模型"给定一个主题和信源,生成百科内容"。
第二种是 Chain-of-Thought 思维链数据。从 steps 中提取完整的 reasoning 链,教模型多步推理。比如"发现两个信源矛盾 → 做二次检索 → 确认正确答案"这个推理过程。
第三种是 RLHF 偏好对比数据。revise 步骤天然产生"修改前 vs 修改后"的配对数据,教模型什么是好的修改。人类编辑的 approve/reject 也是偏好信号。
第四种是检索轨迹数据。retrieve 步骤记录了 query 到 sources 的映射和置信度评估,可以训练检索模型和 RAG 系统。
第五种是多 Agent 协作数据。interactions 记录了 Agent 之间的反馈和协调过程,可以训练模型的协作和审核能力。
Agent Loop 架构
系统由一个编排器(Orchestrator)和 5 种角色的 Agent 组成。
编排器负责任务分发与调度。它维护一个任务队列,根据优先级和 Agent 可用性分配任务。当 Linker Agent 发现新词条需求时,编排器自动创建新任务并分配给研究员 Agent。
研究员 Agent(Researcher)负责信源检索、信息提取、交叉引用和初稿生成。它是内容的主要生产者。
验证员 Agent(Verifier)负责事实核查、逻辑一致性检测和信源可靠性评估。它不生产内容,只验证别人的内容。
编辑 Agent(Editor)负责同义词替换(降低 AIGC 检测率)、百科规范格式化和 SEO 优化(TDK、标签、摘要)。
关联员 Agent(Linker)负责双向链接发现、跨领域关联和新词条建议。涌现就发生在这里:处理 A 词条时发现引用了不存在的 B 概念,自动创建 B 词条任务,B 词条又触发 C、D。知识网络自我生长。
审核员 Agent(Reviewer)负责质量评分、合规检查和最终审批。关键词条由人类兜底审核。
存储架构
四层分离设计,每层独立扩展。
第一层是事件流。使用 Kafka 或 NATS JetStream 作为 Agent 事件的实时写入管道。每个 step 是一条消息,支持百万级 TPS。消息持久化、可回放、多消费者。
第二层是轨迹元数据。使用 TiDB(Go 编写,MySQL 兼容)存储结构化数据。trajectory 表存任务级信息,steps 表存步骤级信息(预计百亿行),interactions 表存协作级信息。TiDB 自动水平分片。
第三层是正文存储。使用 SeaweedFS(Go 编写,S3 兼容)存储大文本。每 50 个版本打包成一个 blob,第一个存全文,后续存 diff,gzip 压缩,压缩率 98%。同时存储 Agent 的原始 prompt 和 response。
第四层是分析层。使用 ClickHouse 做离线分析:token 消耗统计、质量分数趋势、Agent 产出效率、训练数据批量导出。
API 接口设计
MDMS 后端提供 RESTful API,Agent 跑在外部(Python 脚本、Claude Code 或任意 LLM 调度框架),完全解耦。
POST /api/v1/trajectory 是核心接口,Agent 完成一次编辑后提交完整的轨迹 JSON。后端解析后分层写入 Kafka、TiDB 和 SeaweedFS。
GET /api/v1/tasks 返回待处理任务队列,支持按角色(researcher/verifier/editor/linker/reviewer)和状态(pending/claimed/done)过滤。
POST /api/v1/tasks/{id}/claim 让 Agent 领取任务,加锁防止重复领取。
GET /api/v1/articles/{slug} 返回词条当前版本的完整 Markdown 内容和元数据,Agent 需要读最新内容才能编辑。
GET /api/v1/articles/{slug}/related 返回相关词条列表(基于标签共现、双向链接和 PageRank 权重),给 Linker Agent 使用。
POST /api/v1/suggestions 让 Agent 提交新词条建议,包含建议标题和创建原因(比如"量子计算词条中引用但不存在")。
GET /api/v1/export/training 导出训练数据集,支持按数据类型(sft/cot/rlhf/retrieval/collaboration)和时间范围过滤。
Data Infra 全景
整个系统形成一个飞轮:Agent 产出百科内容 → MDMS 生成静态站点 → SEO 和 AI 搜索获取流量 → 积累用户反馈和访问数据 → ClickHouse 导出训练数据集 → 微调更强的模型 → 反哺更好的 Agent → 更好的百科内容。
每一圈转动都在增强下一圈。Markdown 是这个飞轮的轴心格式:人类可读可写、LLM 零损耗消费、结构清晰(H1/H2/H3 层级)、元数据完整(TDK + topics + author + date)、diff 友好(行级对比)。
与传统百科相比,这个架构的数据质量高出一个量级:零 HTML 噪声、完整编辑溯源链、带推理过程的思维链、多 Agent 交叉验证的可信度标记。这不是普通的训练数据,是带标注的、可溯源的、有推理链的高质量数据集。