仓名和那句 GitHub 简介(「Google Cloud Knowledge Catalog Tools and Samples」)把里面的东西说小了。真正的主角不是一堆厂商 SDK 样例,而是 OKF,Open Knowledge Format。仓库自己的 okf/README.md 写得很直白:「本仓库主要讲的是 Open Knowledge Format。贡献在于格式本身。」其余的富集 agent 和图谱可视化,都是为了让这个格式在生产端和消费端都摸得着。

OKF 到底是什么

OKF 是一份规范,用来表示「知识」,也就是数据周围的元数据、上下文和经过梳理的洞见,形式是一个装满纯 markdown 文件的目录,每个文件带 YAML frontmatter。没有 schema 注册中心,没有中央权威,不依赖任何运行时。规范里的说法很冲:能 cat 一个文件,你就能读 OKF;能 git clone 一个仓,你就能分发它。

有意思的是谁在做这件事。「Knowledge Catalog」是 Google Cloud 把 Dataplex(它的托管元数据目录产品)改的新名字,所以这个仓挂在一个以 Google 付费服务命名的名下。可 OKF 偏偏刻意保持厂商中立。规范点名 Unity Catalog 和 Collibra 这两个直接竞品,说它们都是合法的生产方,还写明这个格式「不绑定任何特定的 agent、框架、模型供应商或服务系统」。一家云巨头在自家产品名下发布一份反锁定的格式,这层张力值得留意,也是为什么这个仓读起来更像一次标准化尝试,不像一份样例堆。

star 曲线把故事讲清楚了。仓库 2026-05-04 创建,之后几周一直停在一星附近。6 月中旬突然拉直:6 月 13 日约 700 星,6 月 14 日过 1300,6 月 15 日过 2100,到 6 月 16 日约 2320 星(截至 2026-06 的快照)。这个窗口正好对上落地 agents/ 目录和 OKF 参考 agent 的那批提交(6 月 12 至 13 日的 PR #28、#40、#42)。格式公开的时机,恰逢「agent 该怎么存放和交换知识」变成一个拥挤的问题,而来自 Google Cloud 的一份开放规范,足以快速吸走注意力。

仓里都有什么

  • 规范(okf/SPEC.md),目前是 v0.1 Draft。它把一个 bundle 定义为 markdown 概念文件构成的目录树,保留 index.md(目录清单,用于渐进式展开)和 log.md(更新历史)两个文件名,并用普通的 markdown 链接在概念之间连边,连成图,不止于树形结构。
  • 一个参考富集 agent(okf/,包名 enrichment-agent),基于 Google Agent Development Kit,模型后端用 Gemini。BigQuery 是第一个元数据源,藏在可插拔的 Source 接口后面。它分两遍跑:BQ 遍仅凭 BigQuery 元数据为每个概念写一份 OKF 文档,然后是可选的 web 遍,由 LLM 通过 fetch_url 工具爬取种子 URL 来富集文档。
  • 三个开箱即看的 bundle,放在 bundles/:GA4 电商数据集、Stack Overflow 公共数据集、Bitcoin 区块与交易,每个都配一份自包含的 viz.html 图谱查看器,消费端无需后端、无需安装。
  • 一个 toolbox(toolbox/),含「metadata as code」(mdcode),把目录元数据当成源码工件来同步,另有富集 harness。

真正关键的那条 frontmatter 规则

OKF 对一份概念文档「必须声明什么」相当克制。在 §4.1 里,唯一必填的 frontmatter 键是 type(一个短字符串,比如 BigQuery TableMetric)。titledescriptionresourcetagstimestamp 全是可选,生产方还能随意加额外键。这种极简就是整个设计赌注:一个程序化生产方可以只吐出 {"type": "API Endpoint"}、别的什么都不写,照样合规。

安装并运行参考 agent

格式本身不需要任何工具,但参考 agent 是个普通的 Python 包,从源码安装。在 okf/ 目录下(Python 3.11 以上):

python3.13 -m venv .venv
.venv/bin/pip install -e .[dev]

最小富集运行指向一个 BigQuery 数据集和一个输出目录;加 --no-web 跳过 LLM 的 web 遍:

.venv/bin/python -m enrichment_agent enrich \
    --source bq \
    --dataset <project>.<dataset> \
    --no-web

也可以用顶层 README 里的按钮在 Cloud Shell 打开仓库。没有发布到 PyPI 的包,也没有 pip install okf;把这个 agent 当成你 clone 下来的参考代码,而不是装上就用的产品。

适合什么,不适合什么

适合:你想要一份可移植、能在 git 里逐行 diff 的知识语料,人和 LLM 都能不靠 SDK 直接读;或者你受够了元数据被锁在某个目录产品的私有 API 后面。因为一个 bundle 就是一堆文件,它天然能和 Obsidian、MkDocs、Notion 以及静态托管拼起来。

不适合:你今天就需要一份冻结稳定的规范(它是 v0.1 Draft,每周都在变);或者你以为这是个开箱即用的 Google Cloud 产品。参考 agent 明确需要 Google Cloud 凭证、BigQuery 和 Gemini 访问权,所以「自动生产」那一半并不厂商中立,尽管格式是。仓库还带一句明确免责:它「不是 Google 官方产品」。

OKF 对比其它 agent 知识格式

OKF 是一种格式,不是一个目录系统,所以最真实的对照是另外几种「用 markdown 表达、供 agent 和 LLM 读取的知识」开放约定,再加上它对位的那个目录系统老玩家。star 数为截至 2026-06。

项目Star许可是什么同一思路?
OKF(本仓)约 2.3kApache-2.0markdown + YAML frontmatter 的知识 bundle 格式,附参考 agent格式即产品
Agent Skills约 151k(未标注)用 markdown + YAML frontmatter 封装 agent 能力同样的 md+frontmatter 形态,载荷不同
llms.txt约 2.4kApache-2.0一种把站点内容暴露给 LLM 的 markdown 约定markdown 给 LLM 读,范围更窄
Unity Catalog约 3.4kApache-2.0开源数据目录服务(Databricks)是个目录系统,不是文件格式

前两行的容器是同一个:markdown 加 YAML frontmatter,载荷一边是 skill,一边是数据概念。OKF 伸手去拿同一种形态、没有另造一种新文件类型,这正是这张表里值得记住的地方。

在它之上动手前该知道的坑

  • 参考校验器一度比规范更严。 正如贡献者在 issue #62 里指出的,validate()REQUIRED_FRONTMATTER_KEYS 设成了 ("type", "title", "description", "timestamp"),而 §4.1 只要求 type。一个只有 type 的极简 bundle,在 PR #64 修掉之前会被自带校验器判不通过。如果你钉在了早期某个 commit,记得核对你的校验器对齐的是规范,而不是那个旧元组。
  • v0.1 是个移动靶。 issue 区满是正在进行的规范争论:okf_version 该放哪里(#57)、范围要不要扩到单概念文档之外、提议的 §9 一致性语料(#62)、以及面向 OpenAPI 等来源的生产方提案(#56)。这些都有用,但别把格式当成已冻结。
  • 它不是 Google 官方产品,尽管挂着 GoogleCloudPlatform 组织和产品名。支持力度和存续性是社区级的,没有 SLA 兜底。

相关仓库

  • anthropics/skills:结构上最近的表亲 Agent Skills,用的是同一套 markdown 加 frontmatter 容器。
  • 这个格式所属的更大趋势:LLM 工具生态

常见问题

Knowledge Catalog 和 Dataplex 是一回事吗? Knowledge Catalog 是 Google Cloud 给原来 Dataplex 起的新名字,即它那套 AI 驱动的数据目录与元数据平台。这个仓装的是围绕该产品的工具、样例和 OKF 规范,但 OKF 本身的设计是可以脱离它独立工作的。

OKF 是 Google 官方产品吗? 不是。仓库自己的免责声明写着它「不是 Google 官方产品」。它挂在 GoogleCloudPlatform 组织下、用 Apache-2.0 许可,但请当成开源参考作品看待,别当成受支持的服务。

OKF 的参考 agent 需要 Google Cloud 和 Gemini 吗? 需要。这个富集 agent 基于 Google Agent Development Kit,模型后端是 Gemini,第一个数据源是 BigQuery,所以跑它需要 Google Cloud 凭证。你产出的格式是可移植的,但自带的生产方不是。

OKF 绑定某个厂商吗? 格式是明确厂商中立的:规范邀请 Unity Catalog、Collibra 这类竞品来生产 OKF,并声明它不绑定任何 agent、框架、模型或服务系统。只有参考 agent 是 Google 专属的。

OKF 文档要求哪些 frontmatter? 只要一个键:type。其余(titledescriptionresourcetagstimestamp)都可选,生产方还能加自己的键。注意早期版本的参考 validate() 曾错误地多要了几个,已在 PR #64 修复。

OKF 和 Agent Skills 怎么比? 两者都把内容存成带 YAML frontmatter 的 markdown,人和 agent 都能直接读。Agent Skills 封装的是可执行的 agent 能力;OKF 封装的是关于数据的知识与元数据。容器相同,载荷不同。