微信扫码
添加专属顾问
谷歌发布开放知识格式OKF,详解其如何将知识打包成可携带的知识包,方便智能体和目录系统直接消费。 核心内容: 1. OKF规范的核心概念与仓库结构解析 2. 从数据源到知识包的完整生成流程 3. 消费端查看器与产品集成演示
前些日子 Google Cloud 发布了 Open Knowledge Format(开放知识格式:谷歌发布OKF(Open Knowledge Format)规范,它与Karpathy的LLM-wiki是什么关系?),并在GoogleCloudPlatform/knowledge-catalog仓库里一起给出了规范文件、参考写入端(智能体)、样例运行配方、已生成知识包(bundle)、查看器(viz.html),以及接入 Knowledge Catalog 的演示。当前版本还是OKF v0.1 — Draft,说明规范还在完善中。[1][2][3][5][6]
本篇拆解谷歌的示例仓库,看OKF的具体落地内容:SPEC.md是规格起点,后面还有参考写入端、样例产物、消费端查看器,以及接入谷歌 Knowledge Catalog 产品适配示例。[1][2][5][6]
按照OKF的路径,未来的知识就像一包包可携带的知识包,可直接放进项目、智能体或目录系统直接消费。它可以是一棵目录,也可以被打成压缩包分发;它是不同消费端都认同同一份契约。
把 GoogleCloudPlatform/knowledge-catalog/okf/根目录摊平看,大致是这样:
okf/├─ SPEC.md # OKF 最小交换约定├─ README.md # 仓库导航、样例索引和运行说明├─ samples/ # 复跑说明:数据集、种子网址、精确 enrich 命令├─ bundles/ # 已生成的 OKF 知识包和 viz.html├─ src/reference_agent/ # 写入端与查看器实现│ ├─ sources/ # 数据源适配器,当前仓库只内置 BigQuery│ ├─ bundle/ # 文档写入、路径和索引生成│ ├─ web/ # 网页抓取│ ├─ viewer/ # 知识包可视化│ └─ cli.py / runner.py # 执行入口和流程编排├─ tests/ # 数据源、知识包、查看器、web pass 的行为测试└─ pyproject.toml # Python 包入口和依赖
仓库不只写了规格文件SPEC.md,还把交换约定、运行配方、写入端实现、已生成产物和消费端样板一起给出来了。[2]
提示:文中的 BigQuery 是 Google Cloud(很多人也叫 GCP)提供的全托管、无服务器企业级云数据仓库,面向大规模数据分析;用户不用自己管理底层基础设施,就能用标准 SQL 或 Python 查询和分析 PB 级数据。后面出现的
BQ pass里的BQ,就是 BigQuery 的缩写。按 Google Cloud 价格页当前说明,BigQuery 免费层包含每月 10 GiB 存储和 1 TiB 查询处理量。[7][8]
不过在仔细读 SPEC.md之前,最好先把仓库里的三样东西分清。
samples/不是原始知识数据,也不是智能体自动读取的一整套配置,而是仓库附带的复跑说明:本次要跑哪个外部资料(数据集)、用什么 enrich命令,seeds.txt 则给 web pass提供种子网址。程序实际读取的是命令行参数和 seeds.txt,再由reference_agent 去读外部数据源,把结果写进bundles/。
把仓库拆开看,实际链条是样例说明数据源和运行参数 -> reference_agent 执行 -> bundles 落产物。[2]
这张图对应的是 OKF 的最小交换约定。
看 SPEC.md 中的规范,OKF 定义的是知识包这个分发单元:一包知识就是一棵目录树,里面放 Markdown 概念文档;每个非保留概念文档都要带 YAML 头部元数据,type 必填,文件路径就是概念 ID,index.md 和 log.md是保留文件名。对消费端的要求也写死了:遇到未知type、额外字段、失效链接,或者缺失index.md,都要尽量读取,不能轻易拒收。[3]
这些约束只负责交换层:知识怎么打包、怎么交换、怎么再被别的系统读进去。知识平台怎么建、语义层怎么统一,都不在这份规范里。整个仓库也是按这个边界走的:先把交换层钉住,再补写入端、消费端和产品接入样板。[2][3]
这张图把角色拆开看:输入源提供上下文,写入动作通常由智能体执行;消费端不只viewer 查看器,也可以是智能体或别的 AI 应用。
这里的“写入端”和“消费端”不要按传统前后端去理解。写入端指的是把源系统知识整理并写成 OKF 知识包的一侧,真正执行写入动作的往往是知识补全智能体;BigQuery、网页资料这些更多是输入源。消费端则是任何会读取、遍历和利用这包文件的系统,不只viewer,也可以是智能体、RAG、搜索索引,或者 Knowledge Catalog 这样的目录系统。AI 在两边都参与,只是写入和消费的角色不同。[2][3]
仓库的 SPEC.md规范写的很克制。它不是发明一套大而全的类型体系,也没有绑定服务、数据库或界面,只把写入端和消费端之间最小的知识包交换约定定下来。[3]
约定其实很短。写入端要写对:非保留 .md文档必须有可解析的头部元数据,type不能为空;消费端要宽读:未知字段、未知 type、断链、缺少index.md,都不能直接判死。OKF 从一开始就没有往重平台规范那边走,它先解决的是互操作。[2][3]
一句话说,SPEC.md要求的是:写入端从严,读取端尽量宽读。
reference_agent:谷歌给出了一套 agent 应用示例reference_agent 是样板 Agent,在真实落地或者开发中我们可以直接参考示例代码的实现逻辑。
它的定位是概念验证版应用:
enrichvisualize也就是说,谷歌这一层给出的不是 OKF 本体,而是一套覆盖写入和消费的 agent 应用示例。[2]
这张图把 reference_agent拆成两条线:enrich 负责写入,visualize负责消费;两边都围绕同一个 OKF 知识包。
看模块分工也不复杂:[2]
sources/bigquery.pyagent.pyrunner.pyindex.mdviewer/generator.pyviz.html,cli.pyenrich 和visualize 两个入口。注意这里别把
BigQuery理解成 OKF 的通用名词。它不是 OKF 规范的要求,但在当前这份reference_agent实现里,bq也是唯一内置的数据源。[2][3]
写入侧可以拆成两段:
BQ pass)先只用 BigQuery 元数据,为每个概念生成一份 OKF 文档。web pass)再拿显式给定的种子网址去抓权威页面,在页面预算、域名白名单和深度限制内,决定是补现有文档、单独生成references/,还是直接跳过。[2]这张图只压缩了 reference_agent的写入侧:enrich 负责把源数据和网页资料整理成 OKF 知识包。
这里要分开看两层。OKF 本身是厂商中立格式,不绑定特定智能体、框架、模型提供方或服务系统;而在reference_agent 这套应用示例里,写入侧是reference_agent enrich --source bq + web pass,消费侧是reference_agent visualize生成单文件查看器。[2]
在自己项目中落地,你可以继续用这套应用,也可以换成基于 Codex、Claude Code,或者别的智能体框架的写入端和消费端;前提只有一个,就是最后写出来、读进去的知识包还守住同一份 OKF 约定。reference_agent 不是 OKF 本体,而是谷歌先交出来的最短可跑应用示例。[2][3]
bundles 和复现配方 samples这一层是仓库里已经生成出来的样例产物bundles/,samples/只是复跑这些样板时附带的一层配方。[2]
仓库直接挂了三组公开样例:GA4 Google Merchandise Store、Stack Overflow、Bitcoin public datasets。每组都对应一份样例说明和一份已经生成好的知识包。[2]
拿一组看结构就够了:
samples//├─ README.md # 跑哪个外部数据集、用什么 enrich 命令└─ seeds.txt # web pass 的种子网址bundles//├─ datasets/├─ tables/├─ references/├─ index.md└─ viz.html
重点不在配方本身,而在谷歌把“输入长什么样”和“产物长什么样”一起摆出来了。前者是可复现说明,后者才是 OKF 真正要交换和消费的东西。samples/ 里选用的 GA4、Stack Overflow、Bitcoin 也只是示例源。
从 OKF 的设计边界看,如果你自己实现写入端,完全可以换成 API 文档、数据库模式、产品帮助中心,或者内部知识页面。[2][3]
查看器(viewer)本身也没被做成重产品。src/reference_agent/viewer/generator.py生成的是一个单文件、自包含的 HTML 页面,包括图结构、头部元数据、渲染后的 Markdown、反向链接、搜索、类型筛选。它就是 reference_agent这套应用里的概念验证版消费端,用来证明知识包一旦生成,已经能被浏览、跳转和消费。[2]
这就是 viz.html的实际样子:左侧把知识包渲染成概念图谱,右侧直接展开当前文档的头部元数据、正文、模式和示例查询。
mdcode 把知识包接进 Knowledge Catalog这一层讲的是怎么消费 OKF 的知识包。你知不知道 Knowledge Catalog 本身并不重要,先把它理解成 Google Cloud / Dataplex 里的一种目录型消费端就够了;关键在于它不直接读知识包,而是要先过一层mdcode 桥接。前面三层已经够你理解 OKF,也够你把知识包写出来并直接消费;这一层只是“接特定产品”的可选分支。[4][5][6]
到这里,其实可以把消费端分成两类:
viz.html、智能体、RAG、搜索索引这种,本身就认 OKF 的目录、Markdown、头部元数据和链接,不需要桥接层。第四层是这条桥:先把知识包映射成目录模型,再通过kcmd push 发布到 Knowledge Catalog。
mdcode demo展示的就是第二种(映射后再消费)。catalog/ 里预放了一套 GA4 知识包,setup.ts 创建 Dataplex EntryGroup并写出 catalog.yaml,再把知识包里的 Markdown 文档映射成 Dataplex 的 entry / aspect 模型:每个 .md对应一个 entry,entry 名镜像文件路径,正文进入dataplex-types.global.overview,头部元数据里的自定义type: 如果不是合法的 Dataplex 类型引用,就回退到dataplex-types.global.generic。[5][6]
所以这条链真正闭合时,走的是:
OKF 知识包 -> mdcode 目录快照 -> kcmd push -> Dataplex EntryGroup / aspects
如果你的消费端能直接读知识包,第四层就可以跳过;只有消费端不直接认知识包,或者你真要接目录产品、治理系统和现有目录系统时,才需要继续走这层适配。[2][4][5][6]
在我们自己的项目中落地或者搭配其他Agent使用,不要着急搭平台,也别先搞什么大一统知识体系。最短路径就两段:先把知识包做出来,再判断消费端是直接读,还是要桥接后再读。
如果放到 Codex、Claude Code 这类智能体环境里,我更倾向于把 OKF 做成一组 skill:写入 skill 负责按约定生成概念文档、补头部元数据、维护
index.md和链接;读取 skill 负责遍历知识包、按类型筛选、追踪反向链接,再把相关概念装进上下文。这样 OKF 就不只是“文件夹格式”,而会变成智能体可以反复调用的一套知识读写动作。
先写出最小知识包,再决定是不是要接桥接层;平台接入应该放在最后,不该放在最前。
reference_agent enrich --source bq 这条链起;如果你的源不是 BigQuery,就保留同样的知识包约定,自己补数据源适配器,或者在 Codex / Claude Code 里封装成 OKF 写入 skill。[2][3]index.md和类型约定跑通。viz.html、智能体、RAG 或搜索去直接消费它,检查这包文件能不能读、能不能跳、能不能查。mdcode 或自己的适配器。[2][4][5][6]53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业
2026-08-14
动态本体的第二次迭代:从“能研判”到“会成长”
2026-08-13
动态本体 + 本体 MCP:把 OpenClaw接入东海 ADIZ 空情研判的 MVP 实战
2026-08-06
从本体论出发,实战拆解知识图谱
2026-08-04
一文读懂 Ontology 背后的四大技术:RDF、OWL、SPARQL、SHACL
2026-08-03
Ontology Engineering 从图谱到本体工程
2026-07-31
Ontology 本体论这么火,到底是个啥?5分钟用人话讲清楚
2026-07-31
01-认识 Ontilio:把业务世界建模成可运行的本体
2026-07-28
Loop Engineering 已死? 一文带你了解Graph Engineering
2026-06-03
2026-05-26
2026-05-23
2026-05-22
2026-05-28
2026-06-10
2026-06-24
2026-06-25
2026-06-24
2026-08-03
欢迎您使用【53AI 官方网站】(以下简称“本网站”或“我们”)。本《会员服务协议》(以下简称“本协议”)是您(以下简称“会员”或“用户”)与【深圳市博思协创网络科技有限公司】之间关于注册、登录及使用本网站会员服务所订立的法律协议。
在您注册或登录前,请务必审慎阅读、充分理解各条款内容,特别是免除或限制责任的条款、知识产权条款、争议解决条款等。此类条款将以加粗形式提示您注意。 当您通过微信公众号授权、手机验证码验证或其他方式成功登录本网站时,即视为您已完全理解并同意接受本协议的全部内容。
一、 定义
本网站:指由【深圳市博思协创网络科技有限公司】运营的,域名为【53ai.com】的网站及相关移动端页面。
会员服务:指本网站向注册会员提供的知识库文章查阅、内容检索及其他相关增值服务。
知识库内容:指本网站发布的包括但不限于文字、图表、数据、研究报告、行业分析等数字化内容资源。
二、 账号注册与登录
登录方式:本网站支持以下登录方式,您可根据实际情况选择:
微信公众号授权登录:您同意将您的微信OpenID信息授权给本网站,用于创建或关联会员账号。
手机验证码登录:您需提供真实有效的手机号码,并通过短信验证码完成身份验证与登录/注册。
账号安全:您的账号仅限您本人使用,禁止赠与、借用、租用、转让或售卖。因您保管不善导致的账号被盗、密码泄露等损失,由您自行承担。
实名认证:根据相关法律法规要求,我们可能要求您在特定功能下完成实名认证。如您拒绝提供,可能无法使用部分或全部服务。
未成年人保护:若您未满18周岁,请在法定监护人的陪同下阅读本协议,并在征得监护人同意后使用本服务。
三、 服务内容与规范
知识库查阅权限:会员登录后,有权按照其会员等级对应的权限范围,在线浏览、检索本网站知识库中的相关文章及内容。
服务变更:我们有权根据业务发展需要,调整、变更或终止部分服务内容,并将以网站公告、公众号消息等方式提前通知。
禁止行为:您在使用服务时不得实施以下行为:
利用技术手段批量爬取、下载、转存知识库内容;
将知识库内容用于商业目的或未经授权地向第三方传播;
干扰本网站正常运行或侵犯其他用户合法权益;
发布违法违规信息或从事违反公序良俗的活动。
四、 知识产权声明
权利归属:本网站知识库中的排版设计、软件代码等内容的知识产权均归【公司全称】或原权利人所有,受《中华人民共和国著作权法》等法律保护。
有限许可:本网站授予会员一项非独占、不可转让、不可转授权的普通许可,仅限于个人学习、研究之目的在线查阅知识库内容。
侵权追责:未经书面许可,任何单位或个人不得以任何形式复制、转载、摘编、镜像、汇编或以其他方式使用上述内容。一经发现,我们保留追究其法律责任的权利。
五、 个人信息保护
我们重视对您个人信息的保护。关于我们如何收集、使用、存储和保护您的个人信息,请单独阅读 《隐私政策》。
您通过微信公众号授权或手机号验证所提供的信息,我们将严格按照《个人信息保护法》的规定处理,仅用于身份识别、服务提供及安全验证等必要用途。
您可以随时通过网站设置或联系客服行使查阅、更正、删除个人信息及撤回授权同意的权利。
六、 免责声明
内容准确性:知识库内容仅供参考,不构成专业建议。我们不对其完整性、准确性、时效性作任何明示或暗示的保证,您应自行判断并承担使用风险。
不可抗力:因自然灾害、政策法规变化、网络故障、第三方平台接口异常(如微信接口维护、运营商短信通道故障)等不可抗力导致的服务中断或延迟,我们不承担违约责任。
第三方链接:本网站可能包含指向第三方网站的链接,该等网站的内容和服务不受我们控制,请您自行甄别风险。
七、 违约责任
如您违反本协议约定,我们有权视情节采取警告、限制功能、暂停服务、注销账号等措施,并保留要求赔偿损失的权利。
如因您的违约行为导致我们遭受行政处罚、第三方索赔或商誉损失,您应承担全部赔偿责任(包括但不限于罚款、赔偿金、律师费、公证费等)。
八、 法律适用与争议解决
本协议的订立、执行和解释均适用中华人民共和国大陆地区法律。
因本协议产生的或与本协议有关的任何争议,双方应友好协商解决;协商不成的,任何一方均可向【公司所在地】有管辖权的人民法院提起诉讼。
九、 其他
本协议构成双方就本服务达成的完整协议,取代此前任何口头或书面约定。
本协议任一条款被认定为无效或不可执行的,不影响其他条款的效力。
我们对本协议享有最终解释权,并在法律允许的范围内保留随时修改的权利。修改后的协议一经公布即生效,继续使用服务即视为同意修订内容。