务实的 RAG:测试 Google 的开放知识格式 (OKF)
仅靠向量搜索无法解决 AI 智能体 的上下文组装问题。本文介绍我如何使用 Google 的 OKF 规范将仓库文档结构化为可导航的 Markdown 知识图谱。

如果您曾经在真实的代码库中集成过 AI 智能体,那么您很可能已经遇到了简单向量搜索的极限。
您让智能体对某个 API 接口进行重构,它通过向量检索获取了该函数的主体。但是,它遗漏了数据库表结构、身份验证中间件逻辑以及部署手册,因为这些内容在向量空间中没有足够的语义重叠。
智能体最终执行失败,因为它是在上下文环境中操作的。
为了解决这种“上下文组装”难题,谷歌云发布了 开放知识格式 (OKF) 规范。它是一个与厂商无关的开放标准,旨在将文本文档目录转换为语义知识图谱,供 AI 智能体进行递归导航。
以下是我在实际项目中的实现与思考。
核心概念:什么是 OKF?
OKF 将许多平台工程团队已经在做的事情进行了规范化:将内部文档结构化为带有 YAML 前言的、干净的 Markdown 文件目录树。
OKF 不引入复杂的图数据库或繁琐的向量索引,而是依赖两个成熟的网页标准:
- YAML 前言 (Frontmatter):用于声明文件级元数据(声明文件类型)。
- 标准 Markdown 链接:用于声明文件之间的关系(指向下一个节点)。
通过在文本中直接链接文件,您可以将文档目录转换为可遍历的知识图谱。AI 智能体在解析文件时,可以像网页爬虫一样直接跟随这些链接进行导航。
实例演示
在一个共享的 UI 组件库或设计系统仓库中,您可以将您的 OKF 知识库结构化如下:
/knowledge-base
├── components/
│ └── interactive-modal.md
├── compliance/
│ └── wcag-checklist.md
└── tokens/
└── theme-palette.md使用 OKF,其中每个文件都以一个精简的前言块开始。规范非常轻量,唯一强制要求的字段是 type。
以下是 interactive-modal.md 的 YAML 头:
---
type: "ui-component"
title: "Interactive Modal Dialog"
description: "Accessibility-compliant overlay specification supporting dynamic focus trapping and theme tokens."
timestamp: "2026-07-06T12:00:00Z"
tags: ["react", "wcag", "accessibility", "design-system"]
---在 Markdown 内容内部,我们使用标准相对链接定义与其他文档的显式关系:
The Modal component manages overlays and traps keyboard focus internally.
For semantic HTML and ARIA attribute rules, refer to the [WCAG AA Compliance Checklist](../compliance/wcag-checklist.md).
To style backdrop filters and component states, import design tokens from the [Theme Palette Config](../tokens/theme-palette.md).智能体如何遍历图谱
传统的 RAG 检索关键字或向量,提取前 5 个不相关的片段并填入提示词。
OKF 支持图谱遍历 RAG 策略:
- 入口选择:智能体通过简单的向量或关键字搜索找到初始相关文档(例如
interactive-modal.md)。 - 递归解析:智能体解析该文档,读取 YAML 元数据,并提取所有相对链接。
- 上下文组装:智能体递归加载所指向的链接文件(如 WCAG 指南和设计标记文件),在编写 React 代码之前构建出完整的上下文。
这彻底避免了提示词上下文溢出,因为智能体只加载明确相关的资产。
总结:值得采用吗?
优势:
- 零厂商锁定:纯 Markdown 文件,可直接在 VS Code、GitHub 或 any LLM 平台上解析。
- Git 工作流合规:知识库与代码库同步,文档变更走标准的 Pull Request 审核流程。
- 智能体独立性:智能体不需要特定的图数据库驱动,仅需一个标准的 Markdown 解析器。
挑战:
- 失效链接:移动或重命名文件时相对链接会断开。建议在 CI 流程中配置
markdown-link-check等工具自动检测。 - 维护成本:工程师在修改代码的同时,必须承诺更新 YAML 前言和相对链接,否则图谱容易失效。