Knowledge Catalog 脈絡集可讓您將資料結構定義、語意定義和經過驗證的查詢模式,封裝至有界限的特定領域知識容器。您可以使用這些容器,將自主 AI 應用程式 (例如 Gemini Enterprise 和自訂代理) 建立在經過驗證的領域知識上。
本文適用對象為資料架構師、治理主管和 AI 工程師,旨在說明脈絡集如何為 AI 代理建構領域知識。如要立即建立並填入情境集,請參閱「管理情境集」。
什麼是情境組合?
「情境集」是專門的 Knowledge Catalog 項目群組 (type="context-set"),用於邏輯上存放中繼資料項目和知識文件。每個情境集都包含一組獨立的語意資訊和資料資產參照,適用於特定分析領域和 AI 代理。
在這個容器中,知識會整理成項目,代表個別業務概念、資料資產或文件,例如指南、How-to 和參考資料。這些項目會透過切面充實,切面是模組化中繼資料屬性,可儲存業務術語、SQL 範本和 Markdown 文件等特定詳細資料。
下圖顯示 AI 代理如何查詢內容集,包括根索引、網域項目、面向和參照的資料資產:
如果強制代理搜尋整個企業目錄,會造成延遲、浪費提示詞元,並可能產生幻覺答案。相較之下,脈絡集會建立封閉、限定領域的知識容器,讓代理能精準查詢。
由於內容集可做為管理容器,您可以依專案擁有者整理中繼資料,並一次對所有套裝項目套用 Identity and Access Management (IAM) 存取控管政策,不必個別設定權限。如要進一步瞭解項目群組、項目和切面,請參閱「關於中繼資料管理」。
AI 代理基準建立需求
組織部署自主 AI 代理 (例如 Gemini Enterprise、Antigravity 和自訂 Agent Development Kit 代理) 來自動調度管理資料工作流程並生成數據分析時,代理需要可靠的基準:
- 語意定義:特定資料欄或指標在業務方面代表什麼意義?
- 經過驗證的查詢模式:領域專家如何成功查詢及彙整這些資料表?
- 作業規則:哪些業務政策、例外條件和標準作業程序 (SOP) 規範這項資料?
如何填入情境組合
您可以執行自主擴充工作,分析結構定義、查詢記錄和知識信號,在情境集中填入項目。詳情請參閱「建立擴充工作」。
由於情境集是專門的項目群組 (type="context-set"),您也可以使用 Google Cloud CLI、用戶端程式庫或 Dataplex API,以程式輔助方式建立及更新項目。詳情請參閱「管理項目及擷取自訂來源」。
情境集項目類型和結構
情境集中的項目會根據儲存的知識,使用文件 (projects/dataplex-types/locations/global/entryTypes/document) 或查詢範本 (projects/dataplex-types/locations/global/entryTypes/query-template) 系統項目類型、階層式項目 ID 和中繼資料層面。以下各節將說明項目結構,以及為 AI 代理提供依據的核心項目類別。
自動化擴充代理項目結構
擴充工作填入內容集時,擴充代理會使用文件系統項目類型 (projects/dataplex-types/locations/global/entryTypes/document) 建立生成的項目,並提供必要的 document 和 overview 切面。代理會使用以斜線分隔 (/) 的項目 ID,將這些生成的項目整理成逐步揭露階層,並使用 document.type 欄位區分每個項目的角色:
| 項目類別 | 項目 ID 模式 | 生成來源和附加的中繼資料 |
|---|---|---|
| Context set root index | agents (固定系統 ID) |
|
| 目錄索引 |
|
|
| 資料資產 |
|
|
| 業務概念 | documents/concepts/CONCEPT_ID(代理產生的標記) |
|
| 代理自主學習 | documents/learnings/LEARNING_SLUG(代理產生的標記) |
|
| 網域說明文件 |
|
|
下圖說明擴充情境集 (thelook-context) 如何在 agents 根索引 (context-set) 下組織項目。導覽目錄層級 (knowledge-base-index) 會將資料表情境項目 (table-context,附帶 SQL 查詢計數) 分組到 assets/bigquery/cymbal-style/thelook/* 下,並將網域指南 (knowledge-base) 和業務術語 (concept) 分組到 documents/* 下:
除了擴充工作產生的文件項目外,情境集還可包含獨立的查詢範本 (projects/dataplex-types/locations/global/entryTypes/query-template) 項目,這些項目是透過 Google Cloud CLI、用戶端程式庫或 Dataplex API 以程式輔助方式建立。如果擴充工作執行的情境集包含已認證的查詢範本項目,擴充代理會保留這些項目,不會修改或刪除。詳情請參閱本文的「查詢範本」一節。
資料資產
資料資產項目 (assets/bigquery/PROJECT_ID/DATASET_ID/TABLE_ID 的 document.type: "table-context") 會擷取特定資料表的網域專屬操作說明、資料欄注意事項、彙整提示和經過驗證的 SQL 範例,不會覆寫 BigQuery 中的實體資料表說明。每個資料資產項目都會透過有向 reference 項目連結 (projects/dataplex-types/locations/global/entryLinkTypes/reference) 連結至目標目錄資產。
資源表示法範例:
name: projects/cymbal-style/locations/us-central1/entryGroups/online-apparel-store/entries/assets/bigquery/cymbal-style/store/orders
entryType: projects/dataplex-types/locations/global/entryTypes/document
aspects:
dataplex-types.global.document:
type: "table-context"
dataplex-types.global.overview:
content: "## Orders table context\nJoin `store.orders` to `store.returns` on `order_id` when calculating net sales..."
業務概念
業務概念項目 (document.type: "concept",位於 documents/concepts/CONCEPT_ID) 定義了標準化業務術語、領域指標、縮寫和計算公式。
主要功能包括:
- 術語一致:消除業務單位和分析團隊之間的術語模糊地帶。
- KPI 公式:提供特定領域主要成效指標 (KPI) 的數學公式和邏輯。
- 指定素材資源連結:使用
reference項目連結,連結至相關表格,讓代理知道概念適用的位置。
舉例來說,在電子商務情境集中,documents/concepts/net-items-sold 的項目會指定確切的淨銷售量計算方式。當代理收到要求「淨銷售商品數」的提示時,會參考概念項目,套用經過驗證的計算方式,而不是自行建立 SQL 邏輯。
資源表示法範例:
name: projects/cymbal-style/locations/us-central1/entryGroups/online-apparel-store/entries/documents/concepts/net-items-sold
entryType: projects/dataplex-types/locations/global/entryTypes/document
aspects:
dataplex-types.global.document:
type: "concept"
dataplex-types.global.overview:
content: "Calculates the absolute number of items sold minus customer returns in a given time period."
文件和自我學習規則
文件項目 (documents/* 下的 document.type: "knowledge-base" 或 "learning") 會以結構化 Markdown (document 和 overview 方面) 儲存敘述和程序背景資訊。
主要功能包括:
- 標準作業程序 (SOP):直接在目錄中擷取 SOP、執行手冊檢查清單和新手上路指南。
- 法規遵循政策:記錄法規遵循政策、法規限制 (例如 GDPR 或 HIPAA 處理規則) 和例外條件。
- 代理自我學習:擷取從下游代理對話追蹤記錄中,擷取的默契規則和消除歧義 (
documents/learnings/LEARNING_SLUG)。
舉例來說,服飾情境集包含 documents/policies/return-policy-rules,指示代理在計算標準退貨率時,如何排除已完成的銷售和運送途中損壞的商品。
資源表示法範例:
name: projects/cymbal-style/locations/us-central1/entryGroups/online-apparel-store/entries/documents/policies/return-policy-rules
entryType: projects/dataplex-types/locations/global/entryTypes/document
aspects:
dataplex-types.global.document:
type: "knowledge-base"
dataplex-types.global.overview:
content: "## Return Policy Rules\nItems marked FINAL_SALE or DAMAGED_IN_TRANSIT are excluded from return rates..."
查詢範本
您也可以將 queries 切面附加至資料資產項目,或在情境集中以程式輔助方式建立專屬的查詢範本 (projects/dataplex-types/locations/global/entryTypes/query-template) 項目,用於儲存對應至自然語言問題 (dataplex-types.global.query-template 切面) 的已驗證參數化 SQL 查詢。
主要功能包括:
- 預先驗證的查詢:儲存已驗證的彙整路徑、篩選條件和匯總模式,並對應至分析
intent和自然語言問題範例 (nlQuery)。 - 執行階段參數化:支援類型參數預留位置 (例如
@season和@limit),並提供說明和範例值 (sampleValues),用於動態代理執行。 - 多引擎支援:指定目標
sourceType(例如BIGQUERY、SPANNER、ALLOYDB、CLOUD_SQL或LOOKER) 和選用的sourceDialect(GOOGLE_SQL、POSTGRESQL、MYSQL或LOOKER_QUERY)。
資源表示法範例:
name: projects/cymbal-style/locations/us-central1/entryGroups/online-apparel-store/entries/queries/top-categories-by-season
entryType: projects/dataplex-types/locations/global/entryTypes/query-template
aspects:
dataplex-types.global.query-template:
intent: "Identify top-performing product categories by revenue for a given season."
nlQuery: "Which ecommerce product categories performed best in winter?"
query: "SELECT category, SUM(revenue) FROM store.orders WHERE fiscal_season = @season GROUP BY category ORDER BY 2 DESC LIMIT @limit"
sourceType: "BIGQUERY"
sourceDialect: "GOOGLE_SQL"
parameters:
- name: "season"
type: "STRING"
sampleValues:
- "WINTER"
- name: "limit"
type: "NUMBER"
sampleValues:
- "5"
範例:線上服飾店情境組合
為了說明情境集中的項目如何搭配運作,我們以線上服飾零售商為例,假設他們為商店商品經理部署 AI 助理。如果沒有限定情境,代理可能會查詢原始暫存資料表,或未扣除顧客退貨商品,導致熱門商品數量計算錯誤。
為了建立代理的基準,資料管理員會建立並充實名為 online-apparel-store 的情境集:
EntryGroup: projects/cymbal-style/locations/us-central1/entryGroups/online-apparel-store
(EntryGroup.type = "context-set")
│
├── agents (document.type = "context-set")
│ Root directory index for AI agents consulting the context set
│
├── assets/bigquery/cymbal-style/store/* (document.type = "table-context")
│ ├── assets/bigquery/cymbal-style/store/orders
│ │ Linked using entryLinkTypes/reference -> @bigquery .../tables/orders
│ ├── assets/bigquery/cymbal-style/store/products
│ │ Linked using entryLinkTypes/reference -> @bigquery .../tables/products
│ └── assets/bigquery/cymbal-style/store/returns
│ Linked using entryLinkTypes/reference -> @bigquery .../tables/returns
│
├── documents/concepts/* (document.type = "concept")
│ ├── documents/concepts/net-items-sold
│ │ Formula: SUM(orders.quantity) - SUM(returns.quantity)
│ └── documents/concepts/bestseller
│ Definition: Any clothing item with >= 500 net units sold within a 30-day window
│
├── documents/policies/* (document.type = "knowledge-base")
│ └── documents/policies/return-policy-rules
│ Markdown SOP: Exclude items marked 'FINAL_SALE' or 'DAMAGED_IN_TRANSIT' from standard return rates
│
└── documents/learnings/* (document.type = "learning")
└── documents/learnings/winter-season-date-filter
Learned rule: Filter winter season queries using fiscal_season = 'WINTER'
代理如何解析提示
當商家詢問代理:「前 5 大暢銷冬季外套款式為何?請排除因損壞而退貨的商品」,代理會透過設定的脈絡解析提示:
根索引和概念查詢:代理讀取
agents根索引,並檢查documents/concepts/net-items-sold和documents/concepts/bestseller,確認必須從訂單總數量中扣除退貨商品。SOP 和學習強制執行:代理讀取
documents/policies/return-policy-rules和documents/learnings/winter-season-date-filter,並新增篩選條件WHERE return_reason != 'DAMAGED_IN_TRANSIT'和fiscal_season = 'WINTER'。資料表背景資訊和 join 驗證:代理使用
assets/bigquery/cymbal-style/store/*的資料資產項目,以及這些項目連結至基礎@bigquery資料表的reference項目連結,透過經過驗證的外鍵 joinstore.orders、store.products和store.returns,並執行 SQL 查詢。
架構功能
情境集可為企業資料環境提供多項核心功能:
Hermetic execution boundaries: By bounding context to a curated set of assets and semantic entries, agents operate within a hermetic sandbox. 這項限制可消除不必要的目錄雜訊,確保評估結果確定,並盡可能減少權杖用量。
快速上傳和大量建立索引:團隊可以將一組概念、查詢和文件上傳並建立索引,做為單一原子作業,以便與持續整合和部署 (CI/CD) 管道整合。
零複製封裝:Context Sets 會封裝中繼資料和關係,而不複製或移動基礎資料儲存庫,避免產生多餘的儲存費用和資料同步處理延遲。
代理諮詢模式
下游代理會透過 Model Context Protocol (MCP) 或直接使用 Knowledge Catalog API,來取用情境集。詳情請參閱「擷取資料資產的背景資訊」。
為縮短回應延遲時間並盡可能減少詞元用量,代理會遵循漸進式揭露諮詢階層:
根索引和查詢比對:代理會檢查
agents根索引,以及附加至資料資產項目的任何queries方面。如果經過驗證的 SQL 範例符合使用者意圖,代理會調整查詢並直接執行。這種比對方式可快速回應,且查詢錯誤的風險極低。資料表背景資訊和結構定義組合:如果沒有完全相符的查詢範例,代理會讀取資料資產項目 (
assets/*) 及其schema方面,瞭解實體關係並建構多資料表 SQL 陳述式。文件和概念諮詢:針對模糊的極端案例 (例如會計年度截止日期或爭議排除),代理會讀取概念 (
documents/concepts/*)、學習 (documents/learnings/*) 和知識庫 (documents/*) 項目,以套用業務規則。如果情境集項目中的定義與組織詞彙字詞中的定義衝突,使用中的代理會優先採用情境集定義。
在生成式 AI 應用程式中使用情境
生成式 AI 應用程式會使用精選情境集,瞭解企業領域語意、瀏覽複雜結構定義,並生成可靠的 SQL,不會產生幻覺。應用程式通常會透過兩種主要模式使用這些情境組合:
動態情境探索:在對話式或自助式數據分析環境中,使用者會以自然語言提出臨時問題。應用程式會動態評估使用者意圖,從 Knowledge Catalog 中找出並擷取最相關的背景資訊集,然後將擷取的領域知識插入有效提示。
如要以 Knowledge Catalog 內容做為 Gemini Enterprise 應用程式的基準,請在 Gemini Enterprise 應用程式中,將 BigQuery 資料連接器設為聯合查詢模式,並確認 Gemini Enterprise 助理設定中的「啟用 Knowledge Catalog」切換鈕已開啟。詳情請參閱「連線至 BigQuery」和「連線至 Knowledge Catalog」。
如果使用者可以存取多個 Google Cloud 專案,且這些專案含有類似的資料表,請在自訂技能或 Gemini Enterprise 的「Additional LLM system instructions」(其他 LLM 系統指令) 欄位中,指定目標專案 ID 和資料集名稱,將查詢範圍限定在預期資料集。詳情請參閱「設定助理」。
預先設定的情境集:如果是專用代理應用程式,您可以在代理的系統指令或工具設定中,指定項目群組資源名稱 (
projects/PROJECT_ID/locations/LOCATION/entryGroups/CONTEXT_SET_ID),預先設定代理,並明確參照情境集。接著,代理程式可以讀取entries/agents根索引,並使用ListEntries、LookupEntry或lookupContext直接從該情境集擷取項目,而不會產生廣泛目錄搜尋負擔。隨著週期性擴充工作流程不斷精進情境設定,代理會自動繼承品質改善成果。為充分發揮這些擴充和自我學習功能,建議在 Gemini Enterprise 應用程式中指定 Gemini 3.8 Flash 或更新的模型。如要進一步瞭解模型選取步驟,請參閱「在 Agent Studio 中設計代理」的「使用流程建構工具建立代理」一節。
情境組合與相關建構項目的比較
如要為架構選擇合適的中繼資料建構,請比較 Knowledge Catalog 脈絡資料集與相關平台功能:
| Construct | 主要目的 | 範圍和結構 | 套件內容 | 使用時機 |
|---|---|---|---|---|
| Knowledge Catalog 脈絡資料集 | 在封閉的網域沙箱中,建立分析型 AI 代理的基準。 | 範圍限定為業務網域的有界項目群組 (type="context-set")。 |
資料資產項目 (包含結構定義和 SQL 查詢切面)、業務概念、Markdown 標準作業程序,以及自我學習規則。 | 在 BigQuery 和湖倉資產上建構或建立分析型 AI 代理 (例如 Gemini Enterprise 或 ADK 代理) 時,請使用這項功能。 |
| 脈絡圖 | 以視覺化方式呈現及遍歷整個組織的即時語意拓撲。 | 開放式互動圖表,涵蓋所有目錄項目和項目連結。 | 實體資料資產、組織詞彙、資料產品、情境集和歷程邊緣。 | 在新對話中,以互動方式探索資產及追蹤多躍關係時,請使用這個選項。 |
| 資料庫脈絡資料集 (QueryData) | 最佳化作業資料庫的自然語言轉 SQL (NL2SQL) 翻譯。 | 專為交易資料庫結構定義設計的項目群組 (type="context-set")。 |
AlloyDB for PostgreSQL、Cloud SQL 和 Spanner 的黃金 SQL 查詢範本、結構定義中繼資料和篩選層面。 | 直接在作業和交易資料庫中,建立對話式 SQL 體驗的基準。 |
| 資料產品 | 在組織團隊之間共用及管理實體資料資產。 | 受控管的資產套件,內含資料合約、服務水準協議和資料層面存取控管。 | 具體的 BigQuery 資料表、檢視表、Cloud Storage bucket 和串流。 | 將精選資料集打包並授予資料層存取權,供跨團隊消費者使用。 |
脈絡資料集與脈絡圖的比較
脈絡圖和脈絡集是兩個獨立的建構項目,在 Knowledge Studio 架構中扮演不同角色:
情境圖:整個組織的即時、全面語意拓撲。這項功能會連結基礎資料資產、組織詞彙字詞和互動追蹤記錄。您可以在 Knowledge Studio 中,以互動方式探索及遍歷這個開放圖譜。詳情請參閱「在 Knowledge Studio 中探索資料資產」。
情境集:有界限的精選封裝單元。它會擷取特定領域知識子集,並將其密封封裝至項目群組 (
type="context-set"),供下游 AI 代理透過 Model Context Protocol (MCP) 查詢。情境集就像是大型情境圖中,一個緊密相連、高密度的子圖。詳情請參閱「關於 Knowledge Catalog 中的 MCP 伺服器」。
Knowledge Catalog 脈絡資料集與資料庫脈絡資料集的比較
Knowledge Catalog 和 Google Cloud 作業資料庫都使用「情境集」一詞,指稱用於建立生成式 AI 模型基準的精選資訊。
雖然這兩種變化版本都採用相同的基礎架構,原生儲存為 Knowledge Catalog 情境集 (具有 type="context-set" 的可擴充項目群組),並使用標準 Knowledge Catalog API,但兩者針對企業資料堆疊的不同層級:
- 資料庫情境集 (QueryData):專為提供作業和交易資料庫 (例如 AlloyDB for PostgreSQL、Cloud SQL 和 Spanner) 而設計。這些情境組合已針對 SQL 設定進行高度最佳化。這些套件包含精確查詢範本、結構定義中繼資料和篩選層面,由專屬的脈絡工程代理評估,以提升作業執行階段的自然語言轉 SQL (NL2SQL) 翻譯品質。
- Knowledge Catalog 情境集 (Knowledge Studio):專為分析資料資產 (例如 BigQuery、資料湖倉和 Knowledge Catalog 資料產品) 打造。這些情境組合會封裝多個項目類別中更廣泛的多模態知識,包括資料資產項目、業務概念、Markdown 文件維基和自我學習規則。這些資料是透過 Knowledge Studio 擴充工作流程彙整,並透過 Model Context Protocol (MCP) 提供給下游分析代理。
情境集與資料產品的比較
瞭解情境集與 Knowledge Catalog 資料產品的互動方式,有助於建立明確的資料和 AI 治理界線。詳情請參閱「關於資料產品」。
資料產品會管理基礎資源:資料產品會安全地整合 BigQuery 資料表、bucket 和串流等具體資源,建立資料共用、資料合約和資料層存取控管的主要單位。
情境集會綁定對話語意:情境集不會授予資料存取權,而是綁定領域知識,例如 AI 代理和人類理解資料所需的概念、查詢範本和文件。資料管理員只要在產品的
additional_context參照中宣告,即可將情境集連結至資料產品。
企業級安全防護和治理機制
情境集與 Google Cloud 安全性和管理控制項整合,有助於保護機密的企業中繼資料:
情境集 IAM 角色:情境集通常包含機密語意資訊,因此存取權是由專用 IAM 角色控管,這些角色會套用至專案,或直接套用至
context-set項目群組。這項控制項可讓您依地理區域和網域擁有權,整理精選知識。詳情請參閱「管理情境集」中的「必要角色」一節。零複製基礎資料安全性:授予代理存取情境集的權限,可讓代理讀取語意中繼資料和查詢範本,但不會略過基礎資料表的存取控管機制。如要對 BigQuery 執行 SQL 查詢,或讀取 Cloud Storage 中的檔案,執行查詢的身分必須具備這些基礎資源所需的資料層 IAM 權限。
人工介入迴路管理:當自主 Knowledge Studio 擴充工作從作業記錄中擷取新概念、SOP 或查詢範本時,提案會暫存為可審查的變更要求。資料管理員會先檢查差異比較和評估分數,再核准正式版情境集的變更。如要進一步瞭解提案審查,請參閱「評估及核准擴充提案」。
使用者自行管理的執行身分:Dataplex 服務代理會透過服務帳戶權杖建立者 (
roles/iam.serviceAccountTokenCreator) 角色,模擬使用者自行管理的服務帳戶,並在該帳戶下執行自動擴充工作,填入內容集。
預覽範圍和界線
在預先發布版期間,脈絡集會受到下列限制:
區域範圍:單一區域情境集 (例如
us-central1) 必須與其封裝的資產區域一致。多區域 (例如us或eu) 和global脈絡資料集可參照相容區域中的資產;為多區域或global脈絡資料集設定擴充工作時,請為工作選取單一執行區域。每個結構定義集只能有一項擴充工作:每個結構定義集只能由一項擴充工作擴充。
跨情境集參照:不支援從一個情境集參照另一個情境集中的項目子集。
編寫和使用介面:您可以透過 Google Cloud 控制台中的 Knowledge Studio,或以程式輔助方式建立及管理情境集,做為項目群組 (
type="context-set")。您可以透過 Knowledge Studio 擴充工作流程,或以程式輔助方式管理項目,填入情境集。下游 AI 代理可使用 Knowledge Catalog API (ListEntries和LookupEntry) 和 Model Context Protocol (MCP),以程式輔助方式探索及查詢內容集。詳情請參閱「關於 Knowledge Catalog 中的 MCP 伺服器」。共用配額:內容集基本上是特殊項目群組 (
type="context-set"),因此會與標準 Knowledge Catalog 項目群組共用相同的資源配額。詳情請參閱「配額與限制」。
定價
脈絡資料集會儲存為標準 Knowledge Catalog 項目群組,以及自訂項目和切面。如果內容集項目群組空白,或擴充批次變更要求未獲核准,則不會產生中繼資料儲存費用。在情境集中建立項目時 (例如核准擴充變更要求或直接建立項目),系統會向託管項目群組的專案收取標準 Knowledge Catalog 中繼資料儲存空間費用。
預先發布版期間,執行擴充工作和暫存未核准的批次變更要求,皆不收費。如果擴充工作使用選用的客戶自管資源,例如用於知識信號或評估集的 Cloud Storage bucket,以及用於自我學習的 BigQuery 代理數據分析追蹤資料表,則專案會產生標準用量費用,包括 BigQuery 查詢處理和 Cloud Storage 暫存讀取和寫入。