DS 202 實作中心
使用合成的服務支援分析資料包,練習提供 schema context、抓出 AI 幻覺欄位、排查 silent error、分層驗證、記錄 provenance,以及判斷敏感資料是否能提供給 AI。
資訊
DS 202 實作資料為合成教學資料,所有服務組別、記錄與數值皆為示例,不代表任何真實對象或機構。
注意
請只使用課程提供的合成檔案進行練習。除非獲得授權,切勿將機密的機構或公司資料、個人資料或敏感資料貼入 AI 工具;使用真實營運資料前,請先確認所屬機構的規範。
下載實作檔案
分析資料包(乾淨版)
DS202_Analysis_Package_Clean.csv
一份服務支援分析資料:record_id、period、group、value、unit、status、sensitive_flag、source_version。用於 Guided Lab。
分析資料包(實作版,含挑戰)
DS202_Analysis_Package_Practice.csv
相同欄位結構,但刻意設計了判斷挑戰:一個看似有用但其實是 hallucinated(不在正式 schema 中)的欄位、未依 status 篩選造成的分析瑕疵、record_id 重複計算,以及至少一列 sensitive_flag 為真的敏感資料。用於實作中心與 Independent Lab。
資料字典(繁體中文)
DS202_Data_Dictionary_zh-TW.csv
分析資料包檔案的欄位型態、單位、粒度、允許值與來源說明(繁體中文)。
Data dictionary (English)
DS202_Data_Dictionary_en.csv
英文版資料字典,欄位與單位與中文版一致。
Guided Lab 起始 Notebook
DS202_Guided_Lab_Starter.ipynb
附有指引與待完成項目的起始 Notebook,可從全新 kernel 由上而下執行,練習提供 context、寫可驗證 prompt 與 read-before-run。
Independent Lab 起始 Notebook
DS202_Independent_Lab_Starter.ipynb
用於 AI-Assisted Workflow + Verification Record 的起始 Notebook 與檢核清單範本。
實作任務
實作 A:Schema Context Prompt
針對實作資料,寫出一份完整的資料 context,並用它組成一個結構化的分析 prompt,讓 AI 不需要自己猜欄位。
使用檔案: 分析資料包(實作版,含挑戰)、資料字典(繁體中文)
步驟
- 列出所有欄位的型態、允許值與 grain,並標註哪些是禁止假設(例如不可假設所有列的 status 都是 validated)。
- 寫下 unit 欄位可能出現的每一種值,以及跨 unit 彙總前需要做的事。
- 用 task/context/requirements/output/verification 結構寫出一個分析 prompt。
- 請 AI 依這個 prompt 產生程式碼,觀察它是否確實套用了你寫的限制。
要完成的產出
- 一份完整的資料 context 說明
- 一個結構化的分析 prompt
- AI 產出程式碼與你的 context 之間的對照檢查紀錄
實作 B:Hallucinated Column Hunt
請 AI 針對實作資料提出分析建議,檢查它是否引用了資料字典中不存在的欄位或不存在的業務定義。
使用檔案: 分析資料包(實作版,含挑戰)、資料字典(繁體中文)
步驟
- 請 AI 描述這份資料可以做哪些分析,並列出它打算使用的欄位。
- 逐一對照資料字典,找出 AI 提到但實際上不存在、或定義被曲解的欄位。
- 寫下這個「幻覺欄位」為什麼會出現:是提示不足,還是欄位命名容易被誤解?
- 提出至少一個可以預防幻覺欄位的 prompt 或流程改善方式。
要完成的產出
- 被找出的幻覺欄位清單與對照依據
- 幻覺欄位出現原因的分析
- 至少一項可重複使用的預防方式
實作 C:Silent Error Review
實作資料中有一段可以順利執行、但因為版本混用而產生錯誤結果的分析。請找出這個 silent error 並修正它。
使用檔案: 分析資料包(實作版,含挑戰)、資料字典(繁體中文)
步驟
- 對照 record_id 與 status,檢查是否有未核可(draft、superseded)的列,或重複出現的 record_id,同時被計入彙總。
- 核對篩選前後與 groupby 前後的列數,找出資料量不合理的地方。
- 修正篩選條件並重新計算,比較修正前後的結果差異。
- 寫下這個 silent error 為什麼不會被 Python 攔下來,以及你用什麼方法發現它。
要完成的產出
- 被找出的 silent error 與判斷依據
- 修正前後的結果比較
- 你用來抓出這個錯誤的具體檢查方法
實作 D:Verification Ladder
針對一個你自己選定的分析結論,依 Data → Code → Method → Claim 四層分別留下驗證紀錄。
使用檔案: 分析資料包(實作版,含挑戰)、資料字典(繁體中文)
步驟
- Data 層:確認資料的期間涵蓋範圍與已知限制。
- Code 層:確認篩選、分組與聚合邏輯是否符合分析需求。
- Method 層:判斷選用的統計量(例如平均或中位數)是否適合這組資料的分布。
- Claim 層:檢查最終文字結論是否忠實反映程式輸出,沒有比證據更誇大。
要完成的產出
- 四層各一項具體驗證紀錄
- 至少一個在驗證過程中被發現並修正的落差
- 最終聲稱與程式輸出的對照說明
實作 E:Prompt / Code Provenance Log
為你在實作 A 到 D 中使用 AI 協助的部分,建立一份完整的 provenance log。
使用檔案: 分析資料包(實作版,含挑戰)、Independent Lab 起始 Notebook
步驟
- 記錄環境(Python 與主要套件版本)與使用的資料版本(檔名與 source_version)。
- 完整保留你送給 AI 的 prompt 文字,以及 AI 原始回覆的程式碼。
- 記錄你對 AI 生成程式碼做了哪些修改,以及修改的原因。
- 整理最終使用的程式碼版本與其產出的數字,並確認可以被重新執行。
要完成的產出
- 一份完整的 provenance log
- AI 原始輸出與你修改後版本的差異說明
- 可被他人重新執行並得到相同結果的確認
實作 F:Sensitive Data Decision
針對實作資料中 sensitive_flag 為真的列,判斷這些資料是否可以提供給外部 AI 工具,並說明你的處理方式。
使用檔案: 分析資料包(實作版,含挑戰)、資料字典(繁體中文)
步驟
- 找出所有 sensitive_flag 為真的列,並說明它們可能涉及哪一類需要特殊處理的資訊。
- 判斷這次分析是否真的需要用到這些列的明細資料,或只需要彙總後的統計量。
- 選擇一種處理方式(排除、彙總或去識別化),並說明選擇的理由。
- 寫下如果未經授權就把這些列提供給外部 AI 工具,可能造成的風險。
要完成的產出
- sensitive_flag 為真列的清單與判斷依據
- 你選擇的處理方式與理由
- 未經授權提供敏感資料的風險說明
完成標記只記錄在這個瀏覽器(加入梯次後會同步)。實作成果請保存在你自己的檔案或 Notebook。
同步我的進度加入梯次後,進度可跨裝置保存,講師也能看到