• **OKF(Open Knowledge Format)**๋Š” LLM-wiki ํŒจํ„ด์„ ์ด์‹ ๊ฐ€๋Šฅํ•œ(portable) ํ˜•์‹์œผ๋กœ ํ‘œ์ค€ํ™”ํ•œ ๊ฐœ๋ฐฉํ˜• ๋ช…์„ธ(open specification)
  • ๋ฉ”ํƒ€๋ฐ์ดํ„ฐยท์ปจํ…์ŠคํŠธยท์ •์ œ๋œ ์ง€์‹์„ ํ‘œํ˜„ํ•˜๋Š” ๋ฒค๋” ์ค‘๋ฆฝ(vendor-neutral)ยท์—์ด์ „ํŠธ/์‚ฌ๋žŒ ์นœํ™”์  ํ‘œ์ค€
  • YAML frontmatter๋ฅผ ๊ฐ€์ง„ markdown ํŒŒ์ผ๋“ค์˜ ๋””๋ ‰ํ„ฐ๋ฆฌ ๊ตฌ์กฐ
  • ๋ˆ„๊ฐ€ ์“ฐ๋Š”์ง€(producer)์™€ ๋ˆ„๊ฐ€ ์ฝ๋Š”์ง€(consumer)๋ฅผ ๋ถ„๋ฆฌํ•œ ๊ตํ™˜ ํฌ๋งท(lingua franca)

์‰ฝ๊ฒŒ ์ดํ•ดํ•˜๊ธฐ

๋™์•„๋ฆฌ ์šด์˜ ์ •๋ณด๋ฅผ ๋– ์˜ฌ๋ ค ๋ณด์ž. ์„ ๋ฐฐ๋“ค์ด ๊ฐ์ž ์นดํ†กยท๊ตฌ๊ธ€๋‹ฅ์Šคยท๋จธ๋ฆฟ์†์— ์ •๋ณด๋ฅผ ํฉ์–ด ๋†“์œผ๋ฉด, ์ƒˆ๋กœ ๋“ค์–ด์˜จ ํ›„๋ฐฐ(๋˜๋Š” ์ƒˆ AI ๋น„์„œ)๋Š” ๋งค๋ฒˆ โ€œ๊ทธ๊ฑด ๋ˆ„๊ตฌํ•œํ…Œ ๋ฌผ์–ด๋ด์•ผ ํ•ด?โ€๋ฅผ ๋ฐ˜๋ณตํ•˜๊ฒŒ ๋œ๋‹ค.

OKF๋Š” โ€œ๋ชจ๋“  ์ •๋ณด๋ฅผ ๋˜‘๊ฐ™์€ ์–‘์‹์˜ ๋ฉ”๋ชจ ์นด๋“œ(๋งจ ์œ„์— ์ œ๋ชฉยทํƒœ๊ทธ ๋ผ๋ฒจ + ๋ณธ๋ฌธ์€ ๋งˆํฌ๋‹ค์šด)๋กœ, ํ•œ ํด๋”์— ๋ชจ์•„๋‘์žโ€๋Š” ์•ฝ์†์ด๋‹ค. ์นด๋“œ ์–‘์‹์ด ํ†ต์ผ๋ผ ์žˆ์œผ๋‹ˆ โ€” ๋ˆ„๊ฐ€ ์ผ๋“  ์ƒ๊ด€์—†์ด โ€” ์‚ฌ๋žŒ๋„ ์ฝ๊ณ  AI ๋น„์„œ๋„ ๋ฒˆ์—ญ ์—†์ด ๊ทธ๋Œ€๋กœ ์ฝ๋Š”๋‹ค. ์š”๋ฆฌ๋กœ ์น˜๋ฉด ์„ธ์ƒ์˜ ๋ชจ๋“  ๋ ˆ์‹œํ”ผ๋ฅผ ๋˜‘๊ฐ™์€ ์นด๋“œ ์–‘์‹(์ œ๋ชฉ / ์žฌ๋ฃŒ / ์ˆœ์„œ)์œผ๋กœ ์จ๋‘” ๋ ˆ์‹œํ”ผ ๋ฐ•์Šค ์™€ ๊ฐ™๋‹ค. ์‚ฌ๋žŒ๋„ ๋ณด๊ณ , ์š”๋ฆฌ ๋กœ๋ด‡๋„ ๋ณธ๋‹ค.

ํ•ด๋‹น ๊ฐœ๋…์ด ํ•„์š”ํ•œ ์ด์œ 

  • ์กฐ์ง์˜ ์ง€์‹์ด ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์นดํƒˆ๋กœ๊ทธยท์œ„ํ‚คยท์ฝ”๋“œ ์ฃผ์„ยทโ€œ๋ช‡๋ช‡ ์‹œ๋‹ˆ์–ด ์—”์ง€๋‹ˆ์–ด์˜ ๋จธ๋ฆฟ์†โ€์— ํฉ์–ด์ ธ ์žˆ๋Š” ํŒŒํŽธํ™”(fragmentation)
  • ๋ชจ๋“  ์—์ด์ „ํŠธ ๋นŒ๋”๊ฐ€ ๋™์ผํ•œ context-assembly ๋ฌธ์ œ๋ฅผ ๋งค๋ฒˆ ์ฒ˜์Œ๋ถ€ํ„ฐ ํ‘ธ๋Š” ์ค‘๋ณต ๋น„์šฉ
  • ์ง€์‹์ด ๊ทธ๊ฒƒ์„ ๋งŒ๋“  surface(๋„๊ตฌ/ํ”Œ๋žซํผ)์— ๋ฌถ์ด๋Š” ๋ฒค๋” lock-in

AS-IS โ€” ํŒŒํŽธํ™”๋œ ์ง€์‹, ์—์ด์ „ํŠธ๋งˆ๋‹ค ์žฌ์กฐ๋ฆฝ

flowchart LR
    MC[Metadata Catalog] --> A1[Agent A]
    WK[Wiki / Drive] --> A1
    CC[Code comments] --> A1
    SE[Senior eng's head] --> A1
    MC --> A2[Agent B]
    WK --> A2
    CC --> A2
    SE --> A2
    A1 -. ๊ฐ์ž context ์กฐ๋ฆฝ ์žฌ๊ตฌํ˜„ .-> X((์ค‘๋ณต))
    A2 -. ๊ฐ์ž context ์กฐ๋ฆฝ ์žฌ๊ตฌํ˜„ .-> X

TO-BE โ€” ๊ณต์œ  OKF ๋ฒˆ๋“ค์„ ๋ˆ„๊ตฌ๋‚˜ ์†Œ๋น„

flowchart LR
    P[Producer<br/>์‚ฌ๋žŒ or ์—์ด์ „ํŠธ] -->|writes| OKF[(OKF bundle<br/>markdown + YAML)]
    OKF --> A1[Agent A]
    OKF --> A2[Agent B]
    OKF --> H[Human reader]

OKF ์„ค๊ณ„ ์›์น™ 3๊ฐ€์ง€

1. Minimally Opinionated (์ตœ์†Œํ•œ์˜ ๊ทœ์•ฝ)

๋ชจ๋“  concept์— ๋‹จ ํ•˜๋‚˜, type ํ•„๋“œ๋งŒ ์š”๊ตฌํ•œ๋‹ค. ๋‚˜๋จธ์ง€๋Š” ์ „๋ถ€ producer์˜ ์ž์œ ์— ๋งก๊ธด๋‹ค.

2. Producer/Consumer Independence (์ƒ์‚ฐ์žยท์†Œ๋น„์ž ๋ถ„๋ฆฌ)

์ง€์‹์„ ์“ฐ๋Š” ์ฃผ์ฒด์™€ ์ฝ๋Š” ์ฃผ์ฒด๋ฅผ ๊น”๋”ํ•˜๊ฒŒ ๋ถ„๋ฆฌํ•œ๋‹ค. ์‚ฌ๋žŒ์ด ์†์œผ๋กœ ์ž‘์„ฑํ•œ bundle์„ AI ์—์ด์ „ํŠธ๊ฐ€ ๊ทธ๋Œ€๋กœ ์†Œ๋น„ํ•  ์ˆ˜ ์žˆ๋‹ค.

3. Format, not Platform (ํ”Œ๋žซํผ์ด ์•„๋‹Œ ํฌ๋งท)

ํŠน์ • ํด๋ผ์šฐ๋“œยทDBยท๋ชจ๋ธ ์ œ๊ณต์žยท์—์ด์ „ํŠธ ํ”„๋ ˆ์ž„์›Œํฌ์— ๋ฌถ์ด์ง€ ์•Š๋Š”๋‹ค. ์ฝ๊ณ ยท์“ฐ๊ณ ยท์„œ๋น™ํ•˜๋Š” ๋ฐ ๋…์  ๊ณ„์ •์ด๋‚˜ SDK๊ฐ€ ์ ˆ๋Œ€ ํ•„์š”ํ•˜์ง€ ์•Š๋‹ค.

OKF์˜ 3๊ฐ€์ง€ ํ•ต์‹ฌ ์†์„ฑ

  • Just markdown โ€” ์–ด๋–ค ์—๋””ํ„ฐ์—์„œ๋„ ์ฝํžˆ๊ณ , GitHub์—์„œ ๋ Œ๋”๋ง๋˜๋ฉฐ, ์–ด๋–ค ๊ฒ€์ƒ‰ ๋„๊ตฌ๋กœ๋„ ์ธ๋ฑ์‹ฑ๋จ
  • Just files โ€” tarball๋กœ ๋ฐฐํฌ, ๋ชจ๋“  git repo์— ํ˜ธ์ŠคํŒ…, ๋ชจ๋“  ํŒŒ์ผ์‹œ์Šคํ…œ์— ๋งˆ์šดํŠธ ๊ฐ€๋Šฅ (๋ฒˆ๋“ค ํŒจํ‚ค์ง•ยท๊ตฌ์กฐยท๋ณ‘ํ•ฉ ๊ทœ์น™์€ OKF Bundle (๋ฒˆ๋“ค๋ง))
  • Just YAML frontmatter โ€” type, title, description, resource, tags, timestamp ๊ฐ™์€ ์งˆ์˜ ๊ฐ€๋Šฅํ•œ ๊ตฌ์กฐํ™” ํ•„๋“œ

OKF ๋””๋ ‰ํ„ฐ๋ฆฌ & ๋ฌธ์„œ ํฌ๋งท ์˜ˆ์‹œ

sales/
โ”œโ”€โ”€ index.md
โ”œโ”€โ”€ datasets/
โ”‚   โ”œโ”€โ”€ index.md
โ”‚   โ””โ”€โ”€ orders_db.md
โ”œโ”€โ”€ tables/
โ”‚   โ”œโ”€โ”€ index.md
โ”‚   โ”œโ”€โ”€ orders.md
โ”‚   โ””โ”€โ”€ customers.md
โ””โ”€โ”€ metrics/
    โ”œโ”€โ”€ index.md
    โ””โ”€โ”€ weekly_active_users.md
---
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). |
 
# Joins
Joined with [customers](/tables/customers.md) on `customer_id`.

์œ„ ์˜ˆ์‹œ์ฒ˜๋Ÿผ metricยทtableยทjoin์„ ๋ฌธ์„œ๋กœ ์ •์˜ํ•˜๋Š” ๋ฐฉ์‹์€ ์‹œ๋งจํ‹ฑ ๋ ˆ์ด์–ด์™€ ๋ฌธ์ œ ์˜์—ญ์ด ๊ฒน์นœ๋‹ค. ๋‹ค๋งŒ OKF๋Š” ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ์ฟผ๋ฆฌ ์—”์ง„์ด ์•„๋‹ˆ๋ผ ์ง€์‹์„ ํ‘œํ˜„ยท๊ตํ™˜ํ•˜๋Š” ํฌ๋งท์ด๋ผ๋Š” ์ ์ด ๋‹ค๋ฅด๋‹ค โ€” โ€œ์ด metric์ด ๋ฌด์—‡์„ ์˜๋ฏธํ•˜๋Š”์ง€โ€๋ฅผ ์ „๋‹ฌํ•˜์ง€, ์ง์ ‘ ์ˆซ์ž๋ฅผ ๊ณ„์‚ฐํ•ด ์ฃผ์ง€๋Š” ์•Š๋Š”๋‹ค.

ํŒŒ์ผ ์‹œ์Šคํ…œ์„ ๋„˜์–ด์„œ๋Š” โ€œ์ง€์‹ ๊ทธ๋ž˜ํ”„โ€

concept๋“ค์ด ์ผ๋ฐ˜ markdown ๋งํฌ๋กœ ์„œ๋กœ๋ฅผ ์ฐธ์กฐํ•˜๋ฉด์„œ, ๋””๋ ‰ํ„ฐ๋ฆฌ๋Š” ๋‹จ์ˆœํ•œ ๋ถ€๋ชจ/์ž์‹ ๊ด€๊ณ„๋ฅผ ๋„˜์–ด ๊ด€๊ณ„์˜ ๊ทธ๋ž˜ํ”„๊ฐ€ ๋œ๋‹ค โ€” OKF๋Š” ๋ฌด๊ฑฐ์šด RDFยทtriple store ์—†์ด markdown ๋งํฌ๋งŒ์œผ๋กœ ๊ฐ€๋ฒผ์šด ์ง€์‹ ๊ทธ๋ž˜ํ”„๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ์…ˆ์ด๋‹ค.

๋ ˆํผ๋Ÿฐ์Šค ๊ตฌํ˜„ (v0.1)

  • Enrichment agent โ€” BigQuery ๋ฐ์ดํ„ฐ์…‹์„ ์ˆœํšŒํ•˜๋ฉฐ ํ…Œ์ด๋ธ”/๋ทฐ๋งˆ๋‹ค OKF concept ๋ฌธ์„œ๋ฅผ ์ดˆ์•ˆ ์ž‘์„ฑํ•˜๊ณ , 2์ฐจ LLM ํŒจ์Šค๋กœ ๊ณต์‹ ๋ฌธ์„œ๋ฅผ ํฌ๋กค๋งํ•ด citationยท์Šคํ‚ค๋งˆยทjoin path๋กœ ๋ณด๊ฐ•
  • Static HTML visualizer โ€” ๋ฐฑ์—”๋“œ ์—†์ด ๋™์ž‘ํ•˜๋Š” ์‹œ๊ฐํ™” ๋„๊ตฌ
  • 3๊ฐœ ์ƒ˜ํ”Œ ๋ฒˆ๋“ค โ€” GA4 e-commerce, Stack Overflow, Bitcoin ๋ฐ์ดํ„ฐ์…‹
  • Google Cloud Knowledge Catalog๊ฐ€ OKF๋ฅผ ingestํ•ด ์—์ด์ „ํŠธ์— ์„œ๋น™ํ•˜๋„๋ก ์—…๋ฐ์ดํŠธ๋จ

์‹ค์ œ ์ ์šฉ ์‚ฌ๋ก€

โ‘  BigQuery ๋ฐ์ดํ„ฐ์…‹์„ OKF ๋ฒˆ๋“ค๋กœ ์ž๋™ ๋ณ€ํ™˜ โ€” enrichment agent

๊ฐ€์žฅ ๊ตฌ์ฒด์ ์ธ ์ ์šฉ์€ Google์ด ๋ ˆํผ๋Ÿฐ์Šค๋กœ ๊ณต๊ฐœํ•œ enrichment agent(enrichment_agent)๋‹ค. ๊ณต์‹ ๊ตฌํ˜„์€ ๋‘ ๊ฐœ์˜ ํŒจ์Šค๋กœ ๋™์ž‘ํ•œ๋‹ค.

  1. BQ Pass (1์ฐจ) โ€” BigQuery ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋งŒ ์‚ฌ์šฉํ•ด ์†Œ์Šค๊ฐ€ ๊ด‘๊ณ ํ•˜๋Š” concept๋งˆ๋‹ค OKF ๋ฌธ์„œ ํ•œ ์žฅ์„ ์ƒ์„ฑํ•œ๋‹ค (โ€œwrites one OKF doc per concept the source advertises, using BigQuery metadata aloneโ€). frontmatter์— type: BigQuery Table, title, resource(์ฝ˜์†” ๋งํฌ)๋ฅผ ์ฑ„์šฐ๊ณ  ๋ณธ๋ฌธ์— ์Šคํ‚ค๋งˆ ํ‘œ๋ฅผ ๋„ฃ๋Š”๋‹ค.
  2. Web Pass (2์ฐจ, LLM) โ€” seed URL ๋ชฉ๋ก(--web-seed-file)์„ ๋ฐ›์•„ fetch_url๋กœ ๊ณต์‹ ๋ฌธ์„œ๋ฅผ ํฌ๋กค๋งํ•˜๊ณ , ๊ถŒ์œ„ ์žˆ๋Š” ๋ฌธ์„œ๋กœ ๋ณด์ด๋Š” outbound ๋งํฌ๋ฅผ ๋”ฐ๋ผ๊ฐ„๋‹ค. ํŽ˜์ด์ง€๋งˆ๋‹ค โ“ ๊ธฐ์กด concept์— citationยท์Šคํ‚ค๋งˆยทjoin path ๋ณด๊ฐ•, โ“‘ references/<slug> ์ƒˆ ๋ฌธ์„œ ์ƒ์„ฑ, โ“’ skip ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•œ๋‹ค. --web-max-pages ์ƒํ•œ๊ณผ same-domain ํ•„ํ„ฐ๋กœ ํฌ๋กค๋ง ํญ์ฃผ๋ฅผ ๋ง‰๋Š”๋‹ค.

์‹คํ–‰์€ ํ•œ ์ค„์ด๋‹ค.

python -m enrichment_agent enrich \
    --source bq \
    --dataset <project>.<dataset> \
    --web-seed-file seeds.txt \
    --out ./bundles/<name>

AS-IS โ€” ์ˆ˜์ž‘์—… ๋ฌธ์„œํ™” + ํฉ์–ด์ง„ ์ปจํ…์ŠคํŠธ

flowchart LR
    DS[(BigQuery Dataset<br/>์ˆ˜๋ฐฑ ๊ฐœ table/view)] --> ENG[์—”์ง€๋‹ˆ์–ด<br/>์ˆ˜์ž‘์—… ๋ฌธ์„œํ™”]
    ENG --> WK[Wiki]
    ENG --> CAT[Metadata Catalog]
    ENG --> CM[์ฝ”๋“œ ์ฃผ์„]
    ENG -. ๋ˆ„๋ฝยท๋ฐฉ์น˜ .-> SE[(์‹œ๋‹ˆ์–ด ๋จธ๋ฆฟ์†)]
    Q["์—์ด์ „ํŠธ ์งˆ๋ฌธ<br/>'WAU ์–ด๋–ป๊ฒŒ ๊ณ„์‚ฐ?'"] --> ST{ํฉ์–ด์ง„ ๊ณณ์—์„œ<br/>์ปจํ…์ŠคํŠธ ์žฌ์กฐ๋ฆฝ}
    WK --> ST
    CAT --> ST
    CM --> ST
    SE --> ST
    ST -. ๋ถˆ์™„์ „ยท๋ถˆ์ผ์น˜ยทstale .-> X((๋‹ต ์‹ ๋ขฐ๋„ ๋‚ฎ์Œ))

TO-BE โ€” enrichment agent 2-pass ์ž๋™ ์ƒ์„ฑ

flowchart TB
    DS[(BigQuery Dataset)] --> BQ
    SEED[seed URLs<br/>--web-seed-file] --> WEB
    subgraph BQ["BQ Pass (1์ฐจ)"]
        BQ1[ํ…Œ์ด๋ธ”ยท๋ทฐ ์ˆœํšŒ] --> BQ2[concept๋งˆ๋‹ค OKF ๋ฌธ์„œ ์ดˆ์•ˆ<br/>๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋งŒ ์‚ฌ์šฉ]
    end
    BQ --> WEB
    subgraph WEB["Web Pass (2์ฐจ, LLM)"]
        W1[fetch_url๋กœ ๊ณต์‹ ๋ฌธ์„œ ํฌ๋กค๋ง] --> W2{ํŽ˜์ด์ง€๋ณ„ ํŒ๋‹จ}
        W2 -->|enrich| W3[citationยท์Šคํ‚ค๋งˆยทjoin path ๋ณด๊ฐ•]
        W2 -->|mint| W4["references/&lt;slug&gt; ์ƒˆ ๋ฌธ์„œ"]
        W2 -->|skip| W5[๊ฑด๋„ˆ๋œ€]
    end
    WEB --> OUT[(OKF ๋ฒˆ๋“ค<br/>./bundles/name)]
    OUT --> HUMAN[์‚ฌ๋žŒ: GitHub ๋ Œ๋”๋ง]
    OUT --> AGENT[์—์ด์ „ํŠธ: ๋ฒˆ์—ญ ์—†์ด ์†Œ๋น„]

์ด์  โ€” ์ˆ˜๋ฐฑ ๊ฐœ ํ…Œ์ด๋ธ”์˜ ์˜๋ฏธยท์กฐ์ธ ๊ด€๊ณ„๋ฅผ ์‚ฌ๋žŒ์ด ์ผ์ผ์ด ๋ฌธ์„œํ™”ํ•˜๋˜ ์ž‘์—…์ด ์ž๋™ํ™”๋œ๋‹ค. ๋” ์ค‘์š”ํ•œ ๊ฑด ๊ฒฐ๊ณผ๋ฌผ์ด ์‚ฌ๋žŒ์ด GitHub์—์„œ ์ฝ๋Š” ๋ฌธ์„œ์™€ ์—์ด์ „ํŠธ๊ฐ€ ์†Œ๋น„ํ•˜๋Š” ์ปจํ…์ŠคํŠธ๊ฐ€ ๊ฐ™์€ ๋งˆํฌ๋‹ค์šด ํ•œ ๋ฒŒ์ด๋ผ๋Š” ์ ์ด๋‹ค. โ€œ์—์ด์ „ํŠธ์šฉ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐโ€์™€ โ€œ์‚ฌ๋žŒ์šฉ ์œ„ํ‚คโ€๋ฅผ ๋”ฐ๋กœ ๊ด€๋ฆฌํ•˜๋˜ ์ด์ค‘ ๋น„์šฉ์ด ์‚ฌ๋ผ์ง„๋‹ค.

โ‘ก Knowledge Catalog๊ฐ€ OKF๋ฅผ ingestํ•ด ์—์ด์ „ํŠธ์— ์„œ๋น™

Google Cloud๋Š” Knowledge Catalog๊ฐ€ OKF ๋ฒˆ๋“ค์„ ingestํ•˜๋„๋ก ์—…๋ฐ์ดํŠธํ–ˆ๋‹ค โ€” โ€œWe have also updated Google Cloudโ€™s Knowledge Catalog to be able to ingest Open Knowledge Format and serve it to our agents.โ€ OKF๋กœ ์ •๋ฆฌํ•œ ์ง€์‹์„ ์นดํƒˆ๋กœ๊ทธ์— ์˜ฌ๋ฆฌ๋ฉด GCP์˜ ์—์ด์ „ํŠธ๋“ค์ด ๊ทธ ์ปจํ…์ŠคํŠธ๋ฅผ ๋ฒˆ์—ญยท๋ณ€ํ™˜ ๋ ˆ์ด์–ด ์—†์ด ๊ทธ๋Œ€๋กœ ๋ฐ›์•„ ์“ด๋‹ค.

AS-IS โ€” ์—์ด์ „ํŠธ๋งˆ๋‹ค surface๋ณ„ ์ปค๋„ฅํ„ฐ ์ง์ ‘ ๊ตฌํ˜„

flowchart LR
    subgraph SRC[ํฉ์–ด์ง„ ์ง€์‹ surface]
        MC[Metadata Catalog<br/>๋…์ž API]
        WK[Wiki / Drive]
        CC[์ฝ”๋“œ ์ฃผ์„]
        SE[(์‹œ๋‹ˆ์–ด ๋จธ๋ฆฟ์†)]
    end
    A1[Agent A] --> MC
    A1 --> WK
    A2[Agent B] --> MC
    A2 --> CC
    MC -. ์นดํƒˆ๋กœ๊ทธ ๋ฒค๋”๋งˆ๋‹ค<br/>๋ฐ์ดํ„ฐ ๋ชจ๋ธ ์žฌ๋ฐœ๋ช… .-> X((ํ†ตํ•ฉยท์žฌ์‚ฌ์šฉ ์•ˆ ๋จ))

TO-BE โ€” OKF ๋ฒˆ๋“ค์„ ์นดํƒˆ๋กœ๊ทธ๊ฐ€ ingest โ†’ ์—์ด์ „ํŠธ์— serve

flowchart LR
    P[Producer<br/>์‚ฌ๋žŒ or enrichment agent] -->|OKF ๋ฒˆ๋“ค ์ž‘์„ฑ| OKF[(OKF bundle<br/>markdown + YAML)]
    OKF -->|ingest| KC[Google Cloud<br/>Knowledge Catalog]
    KC -->|serve| A1[Agent A]
    KC -->|serve| A2[Agent B]
    KC -->|serve| A3[Agent C]

์ด์  โ€” ์ด๋ฏธ GCP๋ฅผ ์“ฐ๋Š” ํŒ€์€ โ€œ์ง€์‹ ์ž‘์„ฑ โ†’ ์นดํƒˆ๋กœ๊ทธ ์ ์žฌ โ†’ ์—์ด์ „ํŠธ ์†Œ๋น„โ€๋ฅผ ํ‘œ์ค€ ํฌ๋งท ํ•˜๋‚˜๋กœ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค. ์นดํƒˆ๋กœ๊ทธ ๋ฒค๋”๊ฐ€ ๋งค๋ฒˆ ์ž์ฒด ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์„ ์žฌ๋ฐœ๋ช…ํ•˜๋˜ ๋ฌธ์ œ(๋ธ”๋กœ๊ทธ๊ฐ€ ์ง€์ ํ•œ โ€œevery catalog vendor is reinventing the same data modelsโ€)๋ฅผ ์šฐํšŒํ•œ๋‹ค.

โ‘ข ์‚ด์•„์žˆ๋Š” ์˜ˆ์‹œ โ€” ๊ณต๊ฐœ ์ƒ˜ํ”Œ ๋ฒˆ๋“ค 3์ข… + ๋น„์ฃผ์–ผ๋ผ์ด์ €

GA4 e-commerce / Stack Overflow / Bitcoin ๊ณต๊ฐœ ๋ฐ์ดํ„ฐ์…‹์„ enrichment agent๋กœ ๋ณ€ํ™˜ํ•œ ๋ฒˆ๋“ค์ด GitHub์— ์ปค๋ฐ‹๋ผ ์žˆ๋‹ค. ๋ฐฑ์—”๋“œ ์—†์ด ๋„๋Š” static HTML visualizer๋กœ concept ๊ฐ„ ๋งํฌ ๊ทธ๋ž˜ํ”„๋ฅผ ๋ฐ”๋กœ ๋‘˜๋Ÿฌ๋ณผ ์ˆ˜ ์žˆ์–ด, โ€œOKF ๋ฒˆ๋“ค์ด ์‹ค์ œ๋กœ ์–ด๋–ค ๋ชจ์–‘์ธ์ง€โ€๋ฅผ ํด๋ก  ํ•œ ๋ฒˆ์œผ๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

์ด์  โ€” ์ƒˆ ๋„์ž… ํŒ€์ด โ€œํ‘œ์ค€์ด ์˜๋„ํ•œ ์ ์šฉ ๋ฐฉ์‹โ€์„ ์ถ”์ƒ์  ๋ช…์„ธ๊ฐ€ ์•„๋‹ˆ๋ผ ๋™์ž‘ํ•˜๋Š” conformant ๋ฒˆ๋“ค๋กœ ํ•™์Šตํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ช…์„ธ์„œ๊ฐ€ ํ•œ ํŽ˜์ด์ง€์— ๋“ค์–ด๊ฐˆ ๋งŒํผ ์ž‘๊ณ , ์ƒ˜ํ”Œ์ด ๊ณง ํŠœํ† ๋ฆฌ์–ผ ์—ญํ• ์„ ํ•œ๋‹ค.

์ฐธ๊ณ : OKF๋Š” 2026-06-12 ๊ณต๊ฐœ๋œ v0.1 ์‹ ์ƒ ํ‘œ์ค€์ด๋ผ, ์•„์ง์€ ์™ธ๋ถ€ ๋Œ€๊ทœ๋ชจ ๋„์ž… ์‚ฌ๋ก€๋ณด๋‹ค ์œ„ ๋ ˆํผ๋Ÿฐ์Šค ๊ตฌํ˜„์ด โ€œํ‘œ์ค€์ด ์˜๋„ํ•œ ์ ์šฉ ๋ฐฉ์‹โ€์„ ๋ณด์—ฌ์ฃผ๋Š” ์ค‘์‹ฌ ์˜ˆ์‹œ๋‹ค.

์ฐธ๊ณ  ๋ฌธ์„œ