メインコンテンツへスキップ

Open Knowledge Format(OKF)と iknow

Open Knowledge Format(OKF)と iknow

出典:

OKF は LLM Wiki パターンを ポータブルで相互運用可能なオープン仕様 として形式化した標準です。最新は v0.2(2026年7月公開)で、v0.1 からは 後方互換 を保ったまま信頼シグナルが追加されました(詳細は「最新状況」節)。

OKF とは

項目 内容
目的 AIエージェント向けの文脈・メタデータ・キュレーション済み知識を、ベンダー中立の形式で表現する
根拠 Andrej Karpathy 氏の LLM Wiki パターンの標準化
構成 ディレクトリ内の Markdown ファイル + YAML frontmatter
必須要件 SDK 不要・ランタイム不要・Git で管理可能

OKF bundle の構造

sales/
├── index.md
├── datasets/
│   ├── index.md
│   └── orders_db.md
├── tables/
│   ├── index.md
│   ├── orders.md
│   └── customers.md
└── metrics/
    ├── index.md
    └── weekly_active_users.md

YAML frontmatter(v0.2)

---
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]
generated:
  by: reference_agent/gemini-2.5-pro
  at: 2026-06-30T14:00:00Z
verified:
  - by: human:kliu@acme
    at: 2026-07-01T16:00:00Z
status: stable
stale_after: 2026-12-31
---
フィールド 必須 説明 追加
type ✅ concept の種類(v0.2 でも唯一の必須フィールド) v0.1
title — タイトル v0.1
description — 1 行要約 v0.1
resource — 一次資料への URL v0.1
tags — カテゴリタグ v0.1
generated — 生成者と生成日時(by / at)。v0.1 の timestamp を置き換え v0.2
verified — 検証イベントの配列(by / at) v0.2
sources — 由来した一次資料。本文の # Citations を置き換え v0.2
status — ライフサイクル(draft / stable / deprecated) v0.2
stale_after — この日時を過ぎたら陳腐化とみなす v0.2

名称変更は timestamp → generated.at と # Citations → sources の 2 つだけ で、consumer はいずれも旧形式をフォールバックとして受理します。v0.1 の bundle は無修正のまま v0.2 consumer に読ませられます。

設計の3原則

  1. Minimally opinionated — type 以外はプロデューサーに委ねる
  2. Producer/consumer independence — 書く側と読む側が独立して交換可能
  3. Format, not platform — 特定クラウド・DB・モデルに非依存

最新状況(2026-09 時点)

項目 内容
最新バージョン v0.2 — 2026年7月公開(v0.1 は 2026-06-12 公開)
公式仕様 GitHub GoogleCloudPlatform/knowledge-catalog(Apache-2.0、1 ページに収まる短い仕様)
v0.2 の主眼 信頼シグナル(出典・検証・鮮度・ライフサイクル)と Attested Computation(検算可能な計算)の追加
後方互換 あり。v0.1 bundle は無修正で読める。追加はすべて任意フィールドで、type が唯一の必須である点も変わらない
参照実装 BigQuery エンリッチメントエージェント/静的 HTML ビジュアライザ/サンプル bundle
方針 中央のスキーマレジストリや管理団体は持たない

信頼シグナル(v0.2 の中心)

OKF は スコアではなくシグナルを記録 し、信頼できるかの判断は consumer 側に委ねます。

問い フィールド
何をもとに作られたか sources
誰が作り、誰が検証したか generated / verified
まだ正しいか stale_after
現行か status
決められた手順で計算されたか Attested Computation(type で指定)

verified の有無と実行者から、consumer は 未検証 / 機械確認済み / 人間レビュー済み の 3 階層を導けます(human:<id> が最上位)。アクセス制御ではなく、「幹部向けダッシュボードには人間レビュー済みだけを出す」のような絞り込みに使う助言的なシグナルです。

バージョン宣言とポリシー(SPEC §12)

仕様で確定している要点(現行ナレッジへの補足)

iknow と OKF の位置づけ

iknow は LLM Wiki 思想(No.10.1) を実装したプラットフォームです。OKF はそのパターンを ファイル交換フォーマット として標準化したものと捉えられます。

flowchart LR
  OKF["OKF bundle(ファイル形式)"] <-->|エクスポート/インポート| IK["iknow(プラットフォーム)"]
  LLM[LLM Wiki 思想] --> OKF
  LLM --> IK

iknow の frontmatter 出力

iknow はナレッジを エクスポート するとき、本文の先頭に YAML frontmatter を付与し、インポート時に読み戻します。出力するのは次の 6 項目です。

キー 値 由来
type 常に markdown OKF キー(意味は後述のとおり異なる)
title タイトル OKF
tags タグ配列 OKF
timestamp 最終更新日時(updated_at、ISO8601) OKF v0.1(v0.2 では generated.at に名称変更。フォールバック受理)
no 章番号 iknow 独自
related_nos 関連ナレッジの no 配列(リンク復元用) iknow 独自

type は OKF では concept 種別ですが、iknow では本文形式を表し、値は常に markdown です(テーブル型JSON形式は 2026年8月に廃止 → No.1.3)。

OKF の resource(一次資料 URL)と description は出力しません。かつて出力していた service_name / service_key(インポート元)も、外部サービス連携の廃止に伴いなくなりました。

v0.2 との差分:iknow の出力は v0.1 形式の timestamp のままで、v0.2 で追加された信頼シグナル(generated / verified / sources / status / stale_after)は出力しません。v0.2 consumer は timestamp をフォールバック受理するため 読み込み自体は支障なく可能 です。

OKF との対応(準拠・差分)

3表に分かれていた比較を 1 つにまとめます。

OKF 要素 iknow の対応 準拠度
LLM Wiki パターン 編集済みナレッジを蓄積し Ingest / Query / Lint で育てる ✅ 高
Markdown 本文 ナレッジ本文の主形式。人間も AIエージェントも読める ✅ 高
index.md(カタログ) No.0 目次ナレッジが入口(No.12.2) ✅ 高
title frontmatter に出力(タイトル) ✅ 高
tags frontmatter に出力(カテゴリタグ) ✅ 高
timestamp(v0.1) frontmatter に出力(updated_at)。v0.2 の generated.at ではないが、consumer はフォールバックで読む △ 部分
resource 出力しない(外部サービス連携の廃止で URL を保持しなくなった)。出典は本文に書く ❌
クロスリファレンス 関連ナレッジ+本文リンクでグラフ化。related_nos で復元 ✅ 中
Producer / consumer 分離 Web UI・MCP・エクスポートで書き手と読み手を分離可能 ✅ 中
Git 管理可能な出力 ZIP / .md エクスポートを Git に置ける ✅ 中
type(必須) frontmatter に出力するが、値は常に markdown。OKF の「concept 種別」とは意味が異なる △ 部分
description 専用フィールドなし。タイトル+冒頭要約で代替 △ 部分
log.md(追記ログ) 専用ファイルなし。変更履歴+ MCP 書込の intent で代替 △ 部分
frontmatter スキーマ OKF キー(type/title/tags/timestamp)+ iknow 拡張(no/related_nos)。完全な OKF スキーマではない △ 部分
bundle(ディレクトリ) アイノウ単位のナレッジ群(アイノウ = 1 bundle 相当) △ 部分
ファイルパス = concept ID 正は数値 ID。エクスポート名は {No}_{タイトル}_{id} のフラット構造(階層 bundle ではない) ❌
generated / verified(v0.2 信頼シグナル) 出力しない。相当する情報はプラットフォーム内にある(最終更新者・変更履歴・レビュー済み) ❌
sources(v0.2 出典) 出力しない。出典は本文に書く ❌
status / stale_after(v0.2 ライフサイクル) 出力しない。陳腐化の判定はプラットフォーム側で行う(No.4.15 / No.4.19) ❌
Attested Computation(v0.2) 相当機能なし ❌
拡張 Markdown(mermaid / chart) iknow 固有のコードブロック。OKF 標準外 ❌
Format, not platform iknow はホスト型 SaaS。検索・健診・権限はプラットフォーム機能 ❌

iknow から OKF へ近づけるには

Ingest(No.13.1)で外部資料を取り込むとき、OKF 互換を意識するなら:

  1. concept 種別をタグで補う — frontmatter の type は本文形式(markdown/json)なので、OKF の concept 種別はタグで表す(例: BigQuery Table)
  2. 冒頭に description 相当の 1 行要約 を書く
  3. 出典 URL を本文に残す — frontmatter に resource は出力されないため、本文冒頭または末尾の出典節に書く
  4. 関連ナレッジと本文リンクを両方張る — OKF consumer も iknow Query も満たす
  5. No.0 目次を常に更新 — index.md 維持と同じ運用
  6. ZIP エクスポート前に No を振る — related_nos によるリンク復元のため
  7. v0.2 の信頼シグナルは本文で代替する — generated / verified / status / stale_after は出力されないため、外部に渡す前提で必要なら、本文冒頭に「最終確認日・確認者・ステータス」を明記しておく

まとめ

観点 評価
思想・パターン iknow は LLM Wiki / OKF が目指す「育つナレッジベース」と 高い親和性
ファイル形式 Markdown + frontmatter という大枠は一致。frontmatter は OKF v0.1 キー+独自拡張(部分互換) で、v0.2 の信頼シグナルには未対応
相互運用 階層 bundle・拡張 Markdown(mermaid / chart / gantt)は変換が必要で、そのままの OKF bundle としては読み書きできない
iknow の強み プラットフォーム上の Query(semantic 検索)・Lint(健診)・MCP・権限管理
OKF の強み ベンダー中立・Git ネイティブ・任意ツールでの producer/consumer

iknow でナレッジを育てる運用(Ingest → Query → Lint)は OKF の思想と一致します。将来 OKF へのエクスポート/インポートが強化された場合も、No.0 目次・タグ・関連リンク・1 テーマ 1 ページ の設計を守っておけば移行コストを下げられます。