从Web到MCP的知识引擎:源注册表、双评审机制与隐私保护技术
源注册表、持久优先存储机制、双评审编辑团队以及只读MCP服务器如何将日常网页变更转化为可靠且隐私安全的知识库。
研读文献的研究人员、将新研究与自身病历匹配的患者,以及跟踪快速变化的政策的残疾援助协调员或护理人员,都面临着一项共同的日常任务。他们需要了解发生了什么变化、何时变化的以及是谁宣布的这些变化,而且希望不必每天早上都在网上搜索才能获取信息。现有的工具却无法满足这一需求。关键词提醒会将供应商的博客与官方法律修订视作同等重要,仅能记住收件箱中的内容而无法查看私人记录。具备搜索功能的聊天机器人则会汇总当天早上排名最高的资料,依赖训练数据中固有的过时信息层级,忘记昨天的文件,有时还会出现日期和事实的错误或虚构。
其中一种方法是由相关从业者所称的“视野扫描”系统。该系统基于网络构建知识库,提供每日简报,并通过遵循模型上下文协议(MCP)的查询服务器来运作。它仅从经过人工审核的可信来源收集数据,尊重订阅协议与许可条款,并随着每次定时运行不断扩充存储内容。当某天的相关证据不足时,审核人员可选择不发布任何内容,仅留下说明原因的运行记录。该存储系统会长期存在,用户可随时从选定角度针对自身数据发起查询,所有操作均在经过脱敏处理的本地隐私保护机制之下进行。用户的上下文信息会参与讨论,但绝不会被存入存储系统。由于个人、临床及案例细节都不会进入该系统,因此这种设计符合1988年《澳大利亚隐私法》的要求,而公共存储部分则仍可供该领域的所有人共享。
首次部署用于追踪澳大利亚国家残疾保险计划(NDIS)的规则与价格,若起始日期或价格上限设置错误,可能会对相关人群造成损害。调度程序会在悉尼时间06:00启动工作。编辑团队每次都会决定是发布还是暂不发布相关简报,并在运行记录中注明具体原因,而存储量却持续增长。简报会被发送到Slack频道,那里的人员可以通过给Claude添加标签来查询现有的知识库,Claude随后会调用MCP服务器。例如,有一周的简报指出参与者的数据可能已传送到Palantir的分析平台,同时还提到了公平工作委员会针对违反NDIS行为准则而作出的解雇裁决。
每期中的日期和链接均取自存储的事实数据,任何引文都必须与系统保留的原文段落相匹配。该目录以NDIS为核心构建,但通过更换行数据,同样的机制也可用于追踪某一研究领域、健康状况或监管机构。
基于来源目录的资料收集
资料收集是由来源目录及监控端点的配置表来指导的,而非由搜索引擎的排名结果决定。每行数据都按照固定结构描述一个来源:发布者名称、访问方式、轮询频率、权威等级、重复使用限制,以及提取日期的许可条款和规则。
存在四个权威等级:
- T1级涵盖某一领域的核心目录,如法律法规、官方判决信息源或引用索引。
- T2级涵盖政府官方机构及监管部门。
每行还包含三种重用限制中的一种,以确保遵守发布方的条款:
- REUSE_OK表示由于开放许可的允许,可存储全文。
- LINK_SUMMARISE_ONLY表示仅保留超链接和简短摘录。
- NO_BULK表示将该内容从自动检索中移除并送交人工审核。
这些行还会记录关于对应资源的各种信息,例如为尊重其规则而设定的爬取延迟,或是中心页面的限制,比如日期在三年以内的文章数量不得超过三篇。如果没有这些备注,该行就只是个静态书签,收藏者无法安全地使用它。
同样的结构也适用于其他字段:
- 在科学研究方面,T1行指向MEDLINE、Crossref和OpenAlex等引文索引,同时还包括开放获取的全文存储库以及仅提供摘要或链接的期刊源。
- 在个人健康管理方面,这些行会指向针对特定疾病的官方诊疗指南、监管机构发布的药品信息,以及经过审核的临床数据源。
- 在法律与法庭动态追踪方面,主T1行会跟随法院发布的官方判决信息源。
一个动态的研究渠道可以补充固定列表,避免数据库内容过时。每天早晨,它会在一个次要的来源列表上执行少量针对性搜索,这些搜索受到字数限制、每个来源的检索次数上限以及每次运行时的总页面数限制的约束。为确保时间准确性,任何没有可验证的发布日期或发布日期在未来的页面都会被自动排除。唯一例外是设有截止日期的公开咨询事项:这类事项会被列入监控列表,每天重新检索,并被标记为持续进行中的问题。来自列表之外来源的页面会被赋予较低的权威等级,因此外部评论会被如实标注其性质。
直接查看顶级注册表
每个领域都有一个高于其他来源的权威信息源,无论是立法登记册、主要引用索引还是法院公告。数据收集工具通过结构化的API来获取这些信息。例如,NDIS流程会从联邦立法登记册的OData API中获取主要立法文件。它更倾向于使用结构化的EPUB格式而非PDF,并通过每日差异检测与持久化指针对比,以识别新增内容。过长的立法文本会被分割成60,000字符的片段,逐段提取,以避免超出模型处理限制。
明确的标识符可用于区分真正的法律变更与常规的重新索引操作:
- 新制定的法律是由议会通过的最新法案,这类法案会触发主动的变化通知。
数据导入与内容发布分离
在开始任何整合工作之前,原始数据都会通过SHA-256算法生成哈希值并存储到Postgres数据库中,因此无论是否发布新版本,数据存储量都会随每次运行而增加。内容发布状态通过UNIQUE(briefing_date, channel)约束来确定,该约束用于保存序列化后的数据内容及其JSON哈希值。如果某次运行失败或无法将数据发送到指定渠道,下一次运行会找到待处理的预留记录,并按顺序发布已冻结的数据内容,而不会重新生成新文本。
三种不同的处理方式会留下不同的痕迹:
- 在没有任何新信息的平静早晨,相关文档会在一次事务处理中被标记为已评估完毕并移除。
- 在内容被拒的某个早晨,系统不会生成任何评估记录,相关文档会回到次日早上的处理队列中。
- 在内容被发布的早晨,这些文档会被标记为已处理并移出队列。
坚持这种处理方式能够实现严格的时间追溯性。对于3月份提出的关于1月份已知信息的问题,答案将严格依据1月份的原始内容给出,不会受到后续网页编辑的影响。
编辑部
为避免出现错误信息,内容起草遵循一条严格规则:模型绝不会直接处理真实事实。
在证据包进入起草阶段之前,代码会移除其中的所有具体日期和网址。通过确定性模式检查,任何声称具有法律或操作状态(如“生效中”或“已启动”)的草案都会被拒绝。只有当草案被接受后,经过验证的日期才会从数据库字段中重新添加到文本中,从而确保其来源信息得以保留。这一规则在所涉及的各个领域都发挥着作用:样本量、效应估计值以及药物剂量都会与数据库记录保持一致,不会进入模型的参数存储中。
该流程遵循确定性的多阶段工作方式:
- 规划与排除。规划人员会将每份文件分配到相应的案例中,或明确记录将其排除的原因,比如重复、无关紧要或证据不足等。
JSON模式、确定性验证器、两个评估工具以及一个渲染器共同构成了该契约。公开文本可以通过任何地方的推理引擎进行处理,但存储私人健康信息或未发表研究成果的系统则必须在本地范围内进行推理操作。
通过MCP进行查询,并为每个会话添加私有上下文
实现模型上下文协议的只读服务器通过三个工具来访问持久化存储:search_knowledge_base、get_document和list_changes。为保证事实的准确性,服务器端生成的搜索结果片段必须以单词边界结束。如果在单词中间截断段落,生成模型就可能在呈现层自行补全缺失的文本,而这种风险在涉及药物剂量或法律限制时是绝不能容忍的。
某个领域内的所有人所面对的公开证据是相同的,但每位用户都有其私有的背景信息。合规团队希望将新规则与内部政策进行对比,而临床医生则希望结合某位患者的病史来解读最新的研究结果。若将公开证据与敏感的本地记录混存于同一个数据库中,将会带来严重的数据溯源及隐私问题。
因此,该架构将公开数据存储与私有背景信息分开。敏感的个人及临床数据被保存在经过身份验证的本地环境中,处于严格的信任边界之内。经过核实的公开信息则会在有需求时从只读的MCP服务器获取,助手仅在用户当前会话中将其与本地记录结合。私有背景信息永远不会进入共享存储,从而确保公共数据库能够被多名用户共享。
为何开放搜索与普通检索无法满足需求
将自主智能体直接指向开放网络搜索或标准RAG连接器,无法满足高风险领域的信任要求。实时搜索忽视了内容发布方的重复使用限制,不会保留可供审计人员核查的哈希化来源信息,也无法说明自昨日以来发生了哪些变化。当面临超出其索引范围的问题时,缺乏依据的辅助系统往往会猜测或补全不完整的事实,而这些错误会影响到后续的分析。
同样的设计问题也存在于其他多个领域:
- 在NDIS及更广泛的残疾服务领域,法律与定价的变动构成了公共政策背景,而参与者计划预算及案例记录仅能在实时会话期间与这些政策保持一致。
将事实精确性交给缺乏依据的语言模型是一种冒险行为。通过结构化的信息源管理机制、优先存在的数据库、由两名审稿人组成的编辑团队,以及助手背后的只读MCP服务器,这些措施能够将短暂的网络更新转化为权威、注重隐私且可靠的知识库。