Google Cloud、Open Knowledge Format(OKF)を発表:AIエージェントにキュレーションされたコンテキストを提供するベンダーニュートラルなMarkdown仕様
Google Cloudは、LLM-wikiパターンを形式化するオープンでベンダーニュートラルな仕様であるOpen Knowledge Format(OKF)を発表しました。OKFは、YAMLフロントマター付きのMarkdownファイルのディレクトリとして知識を表現し、各概念は'type'フィールドのみを必要とします。断片化されたコンテキスト問題を解決し、エージェントが直接読み取り更新できるポータブルな知識バンドルを提供します。RAGとは異なります。
基盤モデルはますます強力になっていますが、同じ問題で立ち往生しています:コンテキストです。モデルはコードを書いたりデータセットを分析したりできますが、適切な内部知識が必要です。その知識には、テーブルスキーマ、メトリクス定義、ランブック、結合パスが含まれ、カタログ、Wiki、および数人のシニアエンジニアの頭の中に散在しています。
Google Cloudは、Open Knowledge Format(OKF)を導入しました。これは、LLM-wikiパターンをポータブルで相互運用可能な形式に形式化するオープン仕様です。これは、現代のAIシステムが必要とするコンテキストのためのベンダーニュートラルでエージェントおよび人間に優しい標準です。
OKFは形式であり、サービスやプラットフォームではありません。OKF v0.1は、知識をYAMLフロントマター付きのMarkdownファイルのディレクトリとして表現します。少数の合意された慣習により、あるプロデューサーが書いたWikiを、別のエージェントが翻訳なしで消費できるようになります。
それが全体のアイデアです。圧縮方式も、新しいランタイムも、必須のSDKもありません。OKFドキュメントのバンドルは、単なるMarkdown、ファイル、YAMLフロントマターです。GitHubでレンダリングされ、tarballとして出荷され、任意のファイルシステムにマウントされます。
Obsidian、Notion、またはHugoを使用したことがあれば、その形状は馴染み深いでしょう。OKFは、それらのパターンを相互運用可能にするために必要な慣習を形式化するだけです。
断片化されたコンテキスト問題
ほとんどの組織では、モデルコンテキストは圧倒的に内部知識です。今日、それは互換性のないサイロに存在します:独自のAPIを持つメタデータカタログ、Wiki、共有ドライブ、コードコメント、ドキュメント文字列。
エージェントに「イベントストリームから週間アクティブユーザーを計算する方法」と尋ねると、散在し相互に互換性のない表面から答えを組み立てなければなりません。すべてのベンダーが独自のカタログ、SDK、知識グラフスキーマを提供しています。どの知識も製品や組織間で移植可能ではありません。
結果は重複した労力です。すべてのエージェントビルダーが同じコンテキストアセンブリ問題をゼロから解決します。すべてのカタログベンダーが同じデータモデルを再発明します。
Andrej Karpathyは、2026年4月のLLM Wiki要点で根本的なアイデアを明確に述べました。彼のポイント:LLMは退屈せず、相互参照の更新を忘れず、1回のパスで多くのファイルを編集できます。人間が個人Wikiを放棄させる簿記は、まさにLLMがうまく処理するものです。
同じパターンが異なる名前で繰り返し現れています。例としては、コーディングエージェントに配線されたObsidian vault、AGENTS.mdおよびCLAUDE.md慣習ファイル、「メタデータ as コード」リポジトリがあります。各インスタンスは特注であり、相互運用できません。OKFはその相互運用層を標準化し、エージェントが重い作業を行えるようにします。
OKFの仕組み:1画面のデザイン
OKFバンドルは、概念(テーブル、データセット、メトリクス、プレイブック、ランブック、API)を表すMarkdownファイルのディレクトリです。各概念は1つのファイルであり、ファイルパスがそのIDです。
sales/
├── index.md
├── datasets/
│ ├── index.md
│ └── orders_db.md
├── tables/
│ ├── index.md
│ ├── orders.md
│ └── customers.md
└── metrics/
├── index.md
└── weekly_active_users.md各概念は小さなYAMLフロントマターブロック、次にMarkdown本文を持ちます。
---
type: BigQuery Table
title: Orders
description: One row per completed customer order.
resource: https://console.cloud.google.com/bigquery?p=acme&d=sales&t=orders
tags: [sales, revenue]
timestamp: 2026-05-28T14:30:00Z
---
# Schema
| Column | Type | Description |
|---------------|--------|------------------------------------------|
| `order_id` | STRING | Globally unique order identifier. |
| `customer_id` | STRING | FK to [customers](/tables/customers.md). |予約された構造化フィールドは、type、title、description、resource、tags、timestampです。概念は通常のMarkdownリンクで相互にリンクします。これらのリンクは、ディレクトリをファイルシステムの親子関係よりも豊かなグラフに変えます。バンドルには、段階的開示のためのindex.mdファイルと変更履歴のためのlog.mdファイルをオプションで含めることができます。
設計の背後にある3つの原則
- 最小限の意見:OKFはすべての概念に1つのフィールドだけを要求します:type。その他はすべてプロデューサーに委ねられます。仕様は相互運用性の表面を定義し、コンテンツモデルは定義しません。
- プロデューサー/コンシューマーの独立性:人間が書いたバンドルをエージェントが読むことができます。パイプライン生成のバンドルをビジュアライザでブラウズできます。形式が契約であり、両端のツールは交換可能です。
- 形式であり、プラットフォームではない:OKFはいかなるクラウド、データベース、モデルプロバイダー、エージェントフレームワークにも結びつきません。読み取り、書き込み、提供にプロプライエタリアカウントを要求することは決してありません。
ユースケース
- データチームのメタデータ as コード:BigQueryテーブルとメトリクス定義をバンドルとしてエクスポートします。それが説明するSQLの隣にコミットし、プルリクエストを通じて変更をレビューします。
- インシデントランブック:各ランブックを概念として保存します。オンコールエージェントはindex.mdを読み、相互リンクをたどり、必要な結合パスを解決します。
- 組織間知識交換:ベンダーがカタログエクスポートをOKFとして出荷します。あなたのエージェントは直接消費し、統合作業は不要です。
- 開発者チームWiki:古くなったNotionやObsidianスペースを、エージェントが最新に保つバージョン管理されたMarkdownに置き換えます。
OKFの比較
OKF v0.1:Markdown + YAMLファイル、typeのみのスキーマ、ポータブル、SDK/レジストリ不要、翻訳不要でエージェント可読。 Notion:プロプライエタリDB、ワークスペースごとのスキーマ、エクスポートのみ、API必要、API経由でエージェント可読。 Obsidian vault:Markdownファイル、強制スキーマなし、ポータブル、ただし慣習は特注。 メタデータカタログ:ベンダーストア、ベンダースキーマ、エクスポートのみ、ベンダーSDK、ベンダー固有。 RAGインデックス:ベクターストア、埋め込みモデル、ポータブル、ただしクエリ時に知識を再導出、チャンクベースで概念ではない。
RAGとの違いは開発者にとって有用です。RAGはクエリ時に生のチャンクから知識を再導出します。OKFバンドルは、エージェントが直接読み取り更新するキュレーションされ相互リンクされた概念を保存します。
最小限のOKFコンシューマー
OKFは標準ツールで解析可能です。以下のコードはバンドルを読み込み、リンクグラフを構築します。
import pathlib, re, yaml
def load_bundle(root):
concepts, links = {}, []
for path in pathlib.Path(root).rglob("*.md"):
text = path.read_text()
meta = {}
if text.startswith("---"):
_, fm, body = text.split("---", 2)
meta = yaml.safe_load(fm) or {}
else:
body = text
concepts[str(path)] = meta
for target in set(re.findall(r"\]\((/[^)]+\.md)\)", body)):
links.append((str(path), target))
return concepts, links
concepts, graph = load_bundle("sales/")バンドルを読み取りまたは提供するためにバックエンドやインストールは不要です。同じファイルは、それらが説明するコードの横でバージョン管理下に存在します。
主なポイント
- GoogleのOpen Knowledge Format(OKF)v0.1は、LLM-wikiパターンをポータブルでベンダーニュートラルな仕様に形式化します。
- バンドルはYAMLフロントマター付きのMarkdownファイルのディレクトリに過ぎません。SDK、ランタイム、レジストリは不要です。
- 各概念は1つのフィールド(type)のみを必要とします。ファイル間の相互リンクが知識グラフを形成します。
- Googleはリファレンスツールをリリースしました:BigQueryエンリッチメントエージェント、静的HTMLビジュアライザ、3つのサンプルバンドル。
- RAGとは異なり、OKFはエージェントが直接読み取り更新するキュレーションされバージョン管理された概念を保存します。
詳細は原文をご覧ください。