開始使用 Fabric 資料工程代理程式(Project Osmos)(預覽版)

在這個快速入門中,你要安裝 GitHub Copilot CLI、Claude Code 或 Codex 的 Fabric 資料工程代理(Project Osmos)技能,為 Fabric 湖屋建立任務,並在 Fabric 中開啟該任務。

在這篇快速啟動指南中,您將:

  • 確認 Fabric 及當地的先決條件
  • 安裝 Skills for Fabric 外掛,其中包含資料工程代理(Project Osmos)技能
  • 建立一個實作零售徽章架構的任務
  • 檢視操作設定
  • 監控 Fabric 湖倉中的任務

Important

資料工程代理程式(Project Osmos)目前處於預覽階段。 預覽功能以有限的功能提供,並受另行的補充預覽條款約束。 它們並非用於生產環境,不受服務等級協議約束,且可能僅在特定地區提供。 如需詳細資訊,請參閱 Microsoft Fabric 預覽資訊。

先決條件

開始前請確認這些要求:

  • 一個分配給合格 Fabric 容量的 Fabric 工作區。 不支援 Fabric 試用 SKU。
  • 那個工作空間裡的湖邊別墅
  • 工作區的貢獻者或更高權限
  • 請為您的帳戶和容量啟用以下租用戶設定:
    • 使用者可以使用 Copilot 及其他由 Azure OpenAI 驅動的功能
    • 使用者可將 Copilot、AI 代理及其他由 OpenAI 驅動的 AI 體驗作為 Microsoft 子處理器(強烈建議以最佳效能使用,但非必須)
  • 以下租用戶設定僅在您的容量位於 OpenAI 無法使用的區域時適用:
    • 傳送至 OpenAI 且由其作為 Microsoft 子處理者處理的資料,可能會在您容量所在的地理區域、合規性界限或國家雲端執行個體之外進行處理
    • 傳送至 Azure OpenAI 的數據可以儲存在您的容量地理區域之外、合規性界限之外或國家雲端實例之外
  • 根據你的 容量設定,啟用 AI 資料轉換 是建議的,但並非必須
  • Azure CLI
  • 支援的本地代理人:

關於設定指引,請參閱在 Microsoft Fabric 中啟用並設定 Copilot。

安裝資料工程代理程式(Project Osmos)技能

資料工程代理(Project Osmos)技能包含在 Skills for Fabric 集合中。

  1. 請以能存取目標工作空間和湖屋的身份登入 Azure:

    az login
    

    如果你有多個 Microsoft Entra 租戶的存取權,請登入包含你 Fabric 工作空間的租戶。

  2. 接著,使用你當地代理人的指令,新增 Skills for Fabric 市集並安裝 Fabric 系列。

    啟動 GitHub Copilot CLI:

    copilot
    

    請在 GitHub Copilot CLI 中執行以下指令:

    /plugin marketplace add microsoft/skills-for-fabric
    /plugin install fabric-skills@fabric-collection
    

  1. 重新啟動 GitHub Copilot CLI,讓新的技能載入。

    /quit
    
  2. 確認安裝狀況。 重新啟動 GitHub Copilot CLI 並執行:

    /skills
    

確認 Project Osmos(顯示為 project-osmos,)是否已可用。

使用資料工程代理程式(Project Osmos)

描述你希望資料工程代理(Project Osmos)交付的完整資料工程成果。 包含工作區、湖屋、原始資料、轉換、預期輸出及驗證要求:

請描述完整的端對端資料工程任務。 資料工程代理(Project Osmos)會將它視為一個 project。

包括:

  • 資料來源: 表格、資料夾、檔案、筆記本或 OneLake 資源
  • 轉換: 清理、連接、過濾、計算或結構變更
  • 輸出: 表格、筆記本、檔案或摘要
  • 驗證: 列數、空檢查、唯一性、對帳或商業規則

來源和輸出不僅限於你建立任務的工作區。 如果你有權限存取某個資源,任務就可以代表你存取該資源。

例如:

Use Project Osmos in the Fabric workspace Sales Analytics and the lakehouse
SalesLakehouse.

Load the Orders and Customers tables, remove orders without a customer ID,
join the tables on customer ID, and calculate monthly revenue by customer
segment. Save the result as a Delta table named monthly_segment_revenue.
Validate row counts, null customer IDs, and negative revenue values.

您的本地代理會解析工作空間和湖屋,收集所有必要的安全與輸出選項,並建立一個遠端的 Project Osmos 任務。 它提供一個 Fabric 任務連結以監控進度。

你不需要尋找工作區或湖屋的 ID,也不需要將工作拆解為較簡單的步驟。 請指定其名稱或提供 Fabric Lakehouse URL,並將整體結果作為單一工作提交。 Project Osmos 負責規劃、排序與驗證。

檢視任務設定

在執行開始前,資料工程代理(Project Osmos)會對任務進行分類並建議設定。

Setting 複習問題
許可邊界 任務應該將哪些命名資源視為唯讀或可寫?
安全模式 寫入作業應該使用暫存、複製後再提升,還是直接進行迭代?
提升步驟 經過驗證的分階段輸出應該如何成為最終輸出?
重播語意 重新執行時,應該附加、去除重複資料,還是替換現有資料?
架構演進 輸出模式可以改變嗎?在什麼限制下?
工件格式 Project Osmos 應該保存筆記本或其他文物嗎?
文物目的地 產生的文物應該存放在哪裡?
推理努力 Project Osmos 應該多廣泛地探索實施選項?

你可以更改任何推薦的設定。

Important

權限邊界會為任務提供指引,但 Fabric 和 OneLake 的權限仍是強制執行的邊界。 保護敏感資源與平台權限。

監控任務

接受設定後,Fabric 資料工程代理(Project Osmos)會在 SparkCore 中用專門的代理執行任務,回傳任務 ID,並開啟包含以下內容的 Fabric 湖屋頁面:

  • 入職問卷細節
  • 規格
  • 目前狀態
  • 代理活動

因為這個任務是在 SparkCore 的 Fabric 裡執行,而不是你的本地機器,所以即使電腦關機,任務還是會繼續進行。 要監控進度,請在 Fabric 中選擇你的湖屋,然後在湖屋總管中選擇任務。 你也可以詢問當地的業務員任務狀態。

使用指引

  • 透過本地代理程式使用 Project Osmos,例如 GitHub Copilot CLI、Claude Code 或 Codex。 目前不支援在 Fabric 入口網站中透過 Copilot 直接與 Project Osmos 互動。
  • 請依名稱指定預期的工作區與湖屋,或提供 Fabric 湖屋網址。 你不需要自己找身分證。
  • 使用 Project Osmos 進行涵蓋 Lakehouse、OneLake、Spark、筆記本和資料表的端對端資料工程。
  • 請當地客服人員查詢遠端任務狀態、發送後續指示、取消任務或刪除。
  • 若要繼續處理現有任務,請提供其任務 ID 或 Fabric 任務連結。
  • 在允許對重要或生產資料進行變更前,先檢視擬議的執行與安全選項。

建立你的第一個任務

這個例子只需要一個空的湖邊別墅。 Project Osmos 會產生樣本資料和所有必要的產物,讓你不用先準備湖屋就能使用產品。

使用 Project Osmos 建立一個小型零售徽章架構。 首先請當地的代理人使用 Project Osmos:

Create a Project Osmos task

當你透過名稱或 URL 識別湖屋後,系統會要求你為專案定義預期成果。 輸入下列內容:

Use Project Osmos to set up a simple retail medallion architecture in this
empty lakehouse. Create small sample CSV files for customers, products, and
sales under Files/landing. Build bronze tables that preserve the source data,
silver tables that clean and standardize it, and gold tables named
gold_daily_sales and gold_customer_sales.
Create three notebooks named 01_load_bronze, 02_transform_silver, and
03_build_gold that move the data through the layers. Run the notebooks in
order, and validate row counts, key uniqueness, referential integrity, and
revenue totals at each layer.

將完整的提示作為單一任務提交。 Project Osmos 負責規劃與排序工作,建立範例資料、表格和筆記本,並在 SparkCore 中執行筆記本,並檢查結果。

任務結束後,請檢視這些文物:

  • 保留範例來源資料的銅級客戶、產品和銷售資料表
  • 銀色表格,包含標準化資料型態、有效鍵值及清理紀錄
  • 金色表格,包含每日銷售及客戶層級銷售摘要
  • 三個用於記錄並執行層與層之間移動的 Notebook
  • 列數、鍵數、關聯與營收總額的驗證結果

複雜應用案例的額外專案成果範例

Project Osmos 旨在實現完整的資料工程工作成果,包括需要企業應用程式相關知識、湖倉探索、實作實驗及驗證的工作。 在沒有 Project Osmos 的情況下傳送給 GitHub Copilot 的請求,可能會產生看似合理的筆記本或程式碼大綱,但它不會使用 Project Osmos 的工作流程來檢查即時 lakehouse、比較實作選項、在 Fabric SparkCore 中執行程式碼,並根據實際結果持續精進解決方案。

建立 Dynamics 365 客戶生命週期模型

這個簡明的 project 成果要求 Project Osmos 發現可用的應用程式資料:

Use Project Osmos to create a trusted customer lifecycle model from the Microsoft Dynamics 365 data in this lakehouse.

Project Osmos 可能會如何著手: Project Osmos 會探索湖倉,以確認有哪些 Dynamics 365 應用程式和 Dataverse 資料表可供使用。 它識別帳戶、聯絡人、潛在客戶、機會、活動、案例、訂單及發票等結構;繪製其關係與狀態值;並評估如何呈現從客戶獲取到銷售與服務的全程旅程。 它會執行 SparkCore 程式碼,以驗證關係覆蓋率、重複客戶、孤立活動、管線總額、訂單與發票對帳,以及生命週期階段計算。

為什麼 Project Osmos 更適合:沒有 Project Osmos,GitHub Copilot 就依賴你辨識相關的 Dynamics 365 和 Dataverse 資料表,解釋它們的關係與選項集值,並執行每個版本。 Project Osmos 可以從結果出發,調查湖屋,並根據實際測量結果精進實施方案。

建立 SAP 訂單到收款資料模型

這項簡明的專案成果要求 Project Osmos 釐清 SAP 資料在你的湖倉中如何表示,並建立實用的訂單到收現模型:

Use Project Osmos to build an order-to-cash model from the SAP data in this lakehouse.

Project Osmos 可能的做法:Project Osmos 會探索湖倉,找出可用的 SAP 銷售訂單、交貨、開票、客戶及文件流程資料。 它會尋找像 VBAK/VBAP、LIKP/LIPS、VBRK/VBRP、KNA1 和 VBFA 等結構,或等效的擷取檢視。 它會檢視結構與範例值,判斷擷取是否類似 SAP S/4HANA 或 SAP ECC 結構,並測試替代連接與文件流程邏輯。 接著它建立精選表格和筆記本,並執行 SparkCore 檢查是否有重複的商業金鑰、缺少的文件連結、數量不匹配,以及訂單與發票對帳。

為什麼 Project Osmos 更適合:如果不使用 Project Osmos,使用 GitHub Copilot 需要你找到相關資料表、解釋 SAP 關係、提供結構、執行產生的程式碼,並針對每個版本回傳錯誤或結果。 Project Osmos 將該發現與執行作為一個持久 Fabric 任務的一部分,該任務在 SparkCore 上自主執行。

核對 NetSuite 財務資料

這個詳細的 project 成果提供商業規則,並將實作細節交由 Project Osmos 負責:

Use Project Osmos to create a financial reconciliation model from the NetSuite
data already loaded in this lakehouse. Preserve subsidiary, accounting period,
transaction, transaction line, account, accounting book, department, class,
location, transaction currency, and base currency. Build a monthly trial
balance with debit, credit, and net balances by subsidiary and account. Account
for intercompany transactions, elimination subsidiaries, and exchange rates.
Identify unbalanced entries, unmapped accounts, and periods that don't reconcile
to the source. Save the transformation and validation notebooks, and don't
modify the source tables.

Project Osmos 可能會如何著手:Project Osmos 會檢視 NetSuite 的交易、交易明細行、帳戶、子公司、會計期間、貨幣和會計帳簿在 lakehouse 中的呈現方式。 它評估張貼、整合、消除及貨幣兌換選項,並利用分階段輸出比較結果。 它會在 SparkCore 中執行筆記本,並驗證日誌平衡、文件完整性、映射覆蓋率及來源與輸出總和,然後產生最終表格。

為什麼 Project Osmos 更適合:單靠程式碼產生就能編碼連接與計算,但無法可靠推斷特定 NetSuite 擷取如何代表公告、會計帳簿、消去值和匯率,或證明結果是否能在沒有迭代執行與驗證迴圈的情況下對帳。

建立 Salesforce 銷售管道與銷售預測指標

Use Project Osmos to build a trusted sales pipeline and forecast model from the
Salesforce data in this lakehouse. Preserve account, opportunity, owner,
product, stage, amount, probability, close date, forecast category, creation
date, and stage-history details. Produce current pipeline, stage conversion,
sales-cycle duration, pipeline coverage, forecast accuracy, and slipped-deal
metrics by region, segment, product, and owner. Handle deleted records, currency
conversion, changing opportunity ownership, and historical stage snapshots.
Save the notebooks, and validate the metrics against available Salesforce
totals and prior-period snapshots.

Project Osmos 可能的處理方式: Project Osmos 會對應可用的 Salesforce 物件,並擷取 Account、Opportunity、OpportunityHistory、OpportunityLineItem、Product2、User 及預測資料。 它比較了目前狀態、以歷史為基礎及定期快照的方法,並測試擷取結果如何呈現資料時效性、刪除、擁有者變更及階段轉換。 它在 SparkCore 中執行候選實作,並比較管線總數、轉換率、預測結果及歷史快照。

為什麼 Project Osmos 更適合:要達成這樣的成果,所需的不只是語法正確的 Spark。 Project Osmos 結合 Salesforce 領域推理、即時資料檢查、重複執行與對帳,尋找符合客戶實際擷取與歷史策略的實作。

現代化現有的湖屋管線

Use Project Osmos to assess the existing sales ingestion and transformation
notebooks in this lakehouse. Replace full reloads with an idempotent incremental
design, preserve late-arriving updates, prevent duplicate business keys, add
quarantine handling for invalid records, and create validation tables that
compare each run with the source. Keep existing downstream table names and
schemas unless a change is required. Test the new design against representative
data, compare it with the current implementation, and document the migration
and rollback steps.

Project Osmos 可能會如何處理:Project Osmos 會檢查目前使用中的筆記本、資料表、結構描述和資料模式,比較浮水印、合併和變更追蹤選項,並測試失敗和重新執行時的行為。 它在 SparkCore 中執行兩種實作,針對分階段目標進行,並比較列數、重複金鑰、延遲更新處理、結構相容性及輸出總數。

為什麼 Project Osmos 更適合:單獨使用編碼代理可能會暗示增量模式,但你必須提供實作上下文並執行每個測試。 Project Osmos 會評估現有的湖畔別墅,並驗證競爭設計,然後推薦並實施更安全的方案。

Fabric 技能更新

在 GitHub Copilot CLI 或 Claude Code 中,更新已安裝的 Fabric 集合:

/plugin update fabric-skills@fabric-collection

對 Codex 來說,先執行 codex plugin marketplace upgrade fabric-collection,然後再執行 codex plugin add fabric-skills@fabric-collection。

目前的限制

  • 資料工程代理程式(Project Osmos)目前無法用於啟用出站存取保護的工作區。