Introduction¶
為什麼需要 Prov-AI AP?¶
當你打開一份索引典(thesaurus),看到一個術語對應到一段翻譯、一條範圍註、幾個同義詞,你可能會問:
這是怎麼產生的?是誰決定的?背後有哪些討論?來源證據是什麼?這個結論可以被重現嗎?
在傳統的索引典維護中,這些問題的答案存在編輯者的腦袋裡、版本控制系統的 commit message 裡、或散落在 email 串、會議紀錄、Word 文件裡。當索引典開始使用生成式 AI(ChatGPT、Claude、Gemini)協助轉譯、撰寫、辨識同義詞時,這些「為什麼」的軌跡會更複雜:
- 你用了哪個模型版本?哪段提示詞?哪些上下文檔案?
- AI 在第幾回合給出最終建議?前面幾回合都討論了什麼?
- AI 引用的來源是什麼?是不是幻覺?
- 哪些結論你採納了?哪些你拒絕?理由是什麼?
Prov-AI AP 把這些問題變成可以用 SPARQL 查詢、用 SHACL 驗證、用 PROV graph 視覺化的結構化資料模型。
設計哲學¶
Prov-AI AP 不是「再發明一套溯源標準」,而是把幾個已存在的國際標準組合成適合 GLAM × AI-assisted KOS editing 的 application profile:
| 標準 | 在 Prov-AI AP 的角色 |
|---|---|
| W3C PROV-O | 溯源骨架(Entity / Activity / Agent / Collection / qualified association) |
| W3C SKOS(含可選 SKOS-XL) | KOS 概念與控制詞彙(5 個 L1 必用 ConceptScheme + 1 個 L2 可選) |
| DCMI Metadata Terms | 識別、來源、版本、語言、授權 |
| DCMI Singapore Framework | AP 五層架構 |
| W3C DQV(L2) | 品質量測 |
| W3C Web Annotation(L2) | 精細引用、片段定位 |
| ISO 25964-1 | KOS 維護概念性依據(以 SKOS / SKOS-XL 落地) |
| W3C Profiles Vocabulary (PROF) | 對外 packaging |
| DCTAP | 表格化 statement templates |
L1 Core / L2 Modules 分層¶
Prov-AI AP 把元素分成兩層:
L1 Core(37 active + 1 deprecated)¶
L1 是「能定錨、能重現條件、能回指證據、能交代責任與決策、能串起版本/事件鏈」的 minimum closure——回答 CQ1–CQ10 的最小元素集合。
L1 由以下主要 classes 組成:
skos:Concept— KOS 概念(如 AAT 主題詞)ex:WorkItem— 一個工作單位(CQ1–CQ3 定錨:要做什麼術語的什麼任務)ex:TaskRun— 任務執行(CQ2、CQ9:在哪、由誰啟動、何時開始)ex:TurnRun— 任務內的每一回合對話或步驟(CQ4–CQ8)ex:Artifact— 任何可被指涉的資訊實體(提示詞、模型組態、回應快照、來源證據、決策註記、案例蒐藏)ex:Result— 最終成果(CQ6–CQ8)prov:Agent/prov:Association— 誰做的、扮演什麼角色prov:Collection(ContextPack) — 每回合的輸入脈絡集合
加上 5 個 L1 必用 ConceptScheme: - TaskTypeScheme / ActivityTypeScheme / ArtifactTypeScheme / RoleScheme / DecisionOutcomeScheme
L2 Modules(17 active)¶
L2 是依任務啟用的治理強化模組:
| 模組 | CQ | 用途 |
|---|---|---|
| L2-OA | CQ13–CQ15 | 精細引用與片段定位(Web Annotation Selector) |
| L2-DQV | CQ11–CQ12 | 品質量測(QualityMeasurement + Metric) |
| L2-APITrace | — | API/工具鏈追蹤(typed Artifact + ex:metaJSON) |
| L2-Reference | — | 引用角色分流(ReferenceRoleScheme) |
完整 conformance class 定義見 Conformance。
核心設計模式¶
Prov-AI AP 有幾個關鍵的設計選擇,幫你避免常見的「class 與欄位爆炸」陷阱:
Typed Artifact Pattern¶
不為每一種「東西」都開一個 class,而是統一為:
ArtifactTypeScheme 的 L1×9 涵蓋:PromptVersion / PromptInstance / ModelConfig / ResponseSnapshot / ResultSnapshot / DecisionNote / SourceEvidence / ContextPack / CaseCorpus。
詳見 Concept Schemes → ArtifactType。
Roles-as-SKOS Pattern¶
所有「角色 / 類型 / 狀態 / 策略」以 skos:Concept 表示,用 ConceptScheme 治理(跨專案可複用):
RoleScheme 含 4 角色(Editor / Reviewer / ModelRunner / Evaluator),對齊 DataCite contributorType 與 MARC relator codes。
Location Standardization(三分工)¶
prov:atLocation → 位置(chat_url / share_url / api_log_url / blob URI)
dcterms:source → 來源依據(指向 ex:Artifact)
oa:hasSelector (L2) → 片段定位(TextQuote / TextPosition / Fragment)
ex:contentHash → 完整性校驗(可選)
Share / API 雙路徑共用同一 schema¶
ChatGPT share URL(前端使用者操作的紀錄)與 OpenAI API(後端工具呼叫的紀錄)兩條路徑共用一份 schema。share-only redact(例如 share path 沒有 request_id)用 import_warnings 表達,不分裂兩套 schema。
詳見 Usage Guidelines。
接下來¶
- 想看核心模型結構:Model
- 想看全部 54 元素規格:Profile
- 想看完整 worked example:Examples → C02 Motifs
- 想看怎麼把實際對話對應到 RDF:Usage Guidelines