# 小穗步的數據觀點 > 鍛鍊數據思維|閱讀×覺察×實踐,著眼於每一小步的成長與收穫 Public Ghost content for AI and LLM tooling. This file includes a bounded export of public pages first, then recent public posts. Append `.md` to any post or page URL to get the content in Markdown (for example, `/example-post.md`). ## Pages ### 文章 URL: https://moradatajourney.com/articles-page/ Last updated: 2026-07-16T17:20:52.000Z This is an example page. It’s different from a blog post because it will stay in one place and will show up in your site navigation (in most themes). Most people start with an About page that introduces them to potential site visitors. It might say something like this: > Hi there! I’m a bike messenger by day, aspiring actor by night, and this is my website. I live in Los Angeles, have a great dog named Jack, and I like piña coladas. (And gettin’ caught in the rain.) …or something like this: > The XYZ Doohickey Company was founded in 1971, and has been providing quality doohickeys to the public ever since. Located in Gotham City, XYZ employs over 2,000 people and does all kinds of awesome things for the Gotham community. As a new WordPress user, you should go to [your dashboard](https://moradatajourney.com/wp-admin/) to delete this page and create new pages for your content. Have fun! ### 關於小穗步 URL: https://moradatajourney.com/about/ Last updated: 2026-07-17T15:09:53.000Z ## 我是小穗步(Mora) 一名在醫療現場帶隊做 AI 落地的數據科學家,也是一名相信「每一小步都算數」的生活實踐者。 ![小穗步](https://moradatajourney.com/content/images/wp/2022/02/img-939e25ddffc9.jpg) 白天,我在醫院帶領 AI 與數據團隊:從零開始建數據中台(Airflow、dbt、資料倉儲到指標平台),把影像 AI 產品推進真實診間,也曾在 PyCon APAC 與多所大學分享醫療 AI 落地的踩坑與覆盤。在這之前,我做過統計研究與資料科學顧問,也在工研院教 Python 資料分析。 下班後,我閱讀、寫筆記、做覆盤——用心理學與行為科學的眼睛觀察自己與世界,把「看見自己的改變」寫成文字。 ### 在這個部落格,你會讀到兩條軸線 - **硬的一條**:數據中台與資料工程的實戰筆記、AI 產品的評估與落地覆盤、Power BI 實用技巧——寫給同樣在企業裡推動數據與 AI 的你 - **軟的一條**:閱讀心得、時間管理與自我覺察——寫給想把日子過得更有意識的你 ### 如果你正在做這些事,我或許幫得上忙 - 企業數據平台/數據中台從 0 到 1 的建置交流(這條路我正在走,坑還熱的) - 醫療 AI 產品落地的實務分享 - Python 資料分析與 Power BI 的教學 歡迎[訂閱電子報](#/portal/signup),或直接來信聊聊。 Email:[suipichen@gmail.com](mailto:suipichen@gmail.com) [→ 完整的職涯里程碑與作品](https://moradatajourney.com/milestones/) ### 里程碑與作品 URL: https://moradatajourney.com/milestones/ Last updated: 2026-07-17T14:45:31.000Z ### **職涯** [](https://www.sltung.com.tw/?ref=moradatajourney.com) ### [智慧醫療-AI 資料科學家(Tech leader)](https://www.sltung.com.tw/?ref=moradatajourney.com) 童綜合醫院 AI&Data Team 2021/03\~ now ### AI Tech 社群社長 AI Tech FB 社群 2018/05\~2022/12/31 ### 資料科學顧問 準線智慧科技 2020/01\~2021/02 ### 研究助理教授/資料科學家 逢甲大學地理資訊系統研究中心 2016/08\~2020/02 ### **教學** ### 工研院-Python AI人工智慧資料分析課程 - 教授 Python資料分析及工具運用 單元 - 2018\~Now [](https://www.cupoy.com/marathon/0000017705882449000000016375706F795F72656C656173654355/intro?ref=moradatajourney.com) ### [Cupoy-電腦視覺馬拉松](https://www.cupoy.com/marathon/0000017705882449000000016375706F795F72656C656173654355/intro?ref=moradatajourney.com) - 教授 YOLO v2-v3 單元 - 2020\~2023 [](https://www.cupoy.com/marathon/PythonDS/intro?ref=moradatajourney.com) ### [Cupoy-Python資料科學程式馬拉松](https://www.cupoy.com/marathon/PythonDS/intro?ref=moradatajourney.com) - 教授 資料科學中的統計學單元 - 2021-2023 ![teacher, school, university-1015630.jpg](https://moradatajourney.com/content/images/wp/2022/02/teacher-school-university-1015630.jpg) #### **論文&研討會** - Jen-Ta Yu, Sui-Pi Chen\*, Fang-Chi Hsu, Yeh-Ming Du, Jia-Min Wu. IMPROVEMENT OF THE EFFICIENCY AND QUALITY OF THE ITINERANT HEALTH EXAMINATION SYSTEM WITH DIGITIZATION AND ARTIFICIAL INTELLIGENCE. ISQua 2023, Digital Healthcare and Innovation. - 張其棟、陳穗碧、魏傳昇\* (2021)。運用錯誤類型資訊建置即時反饋系統題庫之效益:以微積分課程為例。科學教育學刊,29(S),469-490。 (TSSCI) - Lin, I. M., Wang, S. Y., Fan, S. Y., Peper, E., Chen, S. P., & Huang, C. Y. A single session of heart rate variability biofeedback produced greater increases in heart rate variability than autogenic training. Applied Psychophysiology and Biofeedback. 2020 Aug. (SSCI, Impact Factor: 1.480) - Jian-Hong Liu, I-Ju Yeh, Yue-Min Jiang, Tsai-Ya Lai, Sui-Pi Chen\*: Balanced Meal Recommendation Service System for People with Hypertension, Hyperglycemia, or Hyperlipidemia, The Journal of Taiwan Association for Medical Informatics .23 (5),35-43, 2014 December. (TCI-HSS) - Sui-Pi Chen and Huang GH\*:A Bayesian clustering approach for detecting gene-gene interactions in high-dimensional genotype data. Statistical Applications in Genetics and Molecular Biology. 13(3), 2014 June. (SCI, Impact Factor: 1.423) - Yue-Min Jiang, Sui-Pi Chen, Tsai-Ya Lai,: Clinical Pathway Similarity Analytic Techniques-Ischemic Stroke Clinical Application. The Journal of Taiwan Association for Medical Informatics. 22 (5), 31-41, 2013 December.(TCI-HSS) - Chen CCH, Chiu MJ, Chen SP, Cheng CM, Huang GH\*(2011): Patterns of cognitive change in elderly patients during and six months after hospitalisation: a prospective cohort study. International Journal of Nursing Studies 48(3),338-346, 2011 March.(SCI, Impact Factor: 3.561) #### **受邀演講** ###### 2024 - 醫療AI 的前世今生與ChatGPT 帶來的改變與機會 @彰師大,2024/04 ###### 2023 - AI Inside,Human Outside ,醫療 AI人機協作經驗談 @彰師大,2023/04 - 從 AI 到智慧醫療- 醫療 AI 歷險記經驗分享 @市立台北教育大學,2023/11 ###### 2022 - 童綜合數位轉型與AI落地應用分享@生醫健康資料應用交流研討會, 2022/09 - [醫療影像AI產品落地挑戰與持續優化的歷程分享](https://www.youtube.com/watch?v=kHyS-PL8eEY&ref=moradatajourney.com) @[PyCon APAC](https://tw.pycon.org/2022/zh-hant/conference/talk/231?ref=moradatajourney.com), 2022/09 - [童綜合胸部X光AI應用現況與展望](https://www.youtube.com/watch?v=BfK9HkQhiu8&ref=moradatajourney.com)@翁少時間-醫起輕鬆談醫療, 2022/08 - 從 AI 到智慧醫療- 醫療 AI 歷險記經驗分享 @彰師大,2022/06 - 人工智慧在醫療上的應用 @彰師大,2022/06 - 醫療AI產品研發與落地挑戰的經驗分享@雲林科技大學,2022/05 ###### 2019 - [電腦視覺初探與價值創造](https://www.youtube.com/watch?v=fyNfj7Ptctw&t=4s&ref=moradatajourney.com)@水保局, 2019/05 - YOLO探討與實作@台中童綜合醫院,2019/06 - AI於醫療產業應用與現況分析@大林慈濟醫院,2019/6 - 物件偵測和 YOLO 的美麗邂逅@人工智慧學校小聚,2019/10 ### 歡迎加入小穗步的數據觀點 URL: https://moradatajourney.com/welcome/ Last updated: 2026-08-02T13:05:34.000Z 嗨,我是小穗步。謝謝你訂閱《小穗步電子報》——你的信箱剛剛收到一封確認信,點擊裡面的連結就完成訂閱了(若沒看到,記得翻一下垃圾郵件夾)。 我是一位數據團隊主管,也是兩個孩子的媽媽。這裡記錄我在數據領域的實戰筆記,以及 45 歲這一年,練習「站上自己人生投手丘」的覺察與轉場。 ### 先從這三篇開始讀 - [資料分析平台轉型:從集中式 Data Lake 到分散式 Data Mesh](https://moradatajourney.com/datalake-to-data-mesh/)——全站被讀最多次的一篇 - [如何把 Power BI 報表內容快速同步到 PowerPoint](https://moradatajourney.com/powerbi-export-to-powerpoint/)——讀者留言「我學到了」的實用教學 - [寫作的快與慢:與 AI 協作蓋一條寫作流水線,但留下自己的靈魂](https://moradatajourney.com/ai-writing-pipeline/)——我如何與 AI 協作,也是這份電子報誕生的起點 ### 兩件小事,拜託你 **1\. 把 newsletter@moradatajourney.com 加入通訊錄**——這能確保之後每一期都穩穩落在你的收件匣,不會迷路到垃圾郵件夾。 **2\. 直接回信跟我說說你是誰**——你為什麼訂閱?最想看什麼主題?每一封回信我都會親自讀、親自回。這份電子報還很小,而這正是它最好的時候:你的聲音真的會影響它長成什麼樣子。 我們信裡見。🌾 ## Posts ### 數據中台同一筆變更,該套到哪一列?導入 CDC,怎樣判斷舊表值不值得補主鍵? URL: https://moradatajourney.com/data-platform-cdc-row-identity/ Last updated: 2026-09-28T13:55:38.000Z [〈數據中台 CDC 開了,資料就會同步嗎?〉](https://moradatajourney.com/data-platform-cdc-methods/)的結論是:CDC 把來源系統的每一筆變更都讀出來了,一筆不漏。這個系列的前傳[〈這張表有主鍵,就認得出每一筆資料嗎?〉](https://moradatajourney.com/data-platform-primary-key-dimensions/)(以下簡稱「前傳」)拆出了判斷一把鍵的兩個維度:此刻認得準,明天還認得。 導入 CDC 的過程中,有一個問題同仁不斷提起:「這張表有唯一鍵,拿它當 CDC 的判斷就可以了吧?」用唯一鍵,會不會有哪些狀況,讓資料同步過去了、最後卻不能用?這篇是我的紀錄:下次再有人問,我會這樣回答。 CDC 讀出來的每一筆變更長這樣——「有一列被改了,改之前是這樣,改之後是那樣」。接下來的問題很單純,也很難:**目標端有一千萬列,這一筆要套到哪一列?** 歷史悠久的資料庫,留著不同年代的技術痕跡:近期的表有主鍵,有些表只有唯一鍵(UK),有些表兩者都沒有,只能拿 rowid 撐著。所以導入 CDC 不只是套用工具,還得依每張表的現況判斷。如果兩者都沒有,要先建好 PK 再設定 CDC?還是先導入 CDC,之後補上 PK 再更新鍵值?這是現實裡一定要面對的兩個問題。 三種狀態,各自能接 CDC 的條件不同。差別的理論前傳談過了;這篇要回答三件實務的事:**三把鑰匙在 CDC 套用那一步各自會怎麼壞**、**一張沒有主鍵的舊表,值不值得花力氣把主鍵補上**,以及**要補的話,先補主鍵再接 CDC,還是先接再補**。 ![左右對照:左邊是常見的 CDC 示意圖,UPDATE、DELETE、INSERT 三支箭頭各自落在目標端會員表的對應列;右邊是這篇要問的,一筆 UPDATE 停在問號前,不知道該套到一千萬列裡的哪一列,下方列出三種鍵靠不住的情況:鍵的值被改了、唯一鍵允許 NULL 或值會被回收、沒有鍵只剩 rowid](https://moradatajourney.com/content/images/2026/09/diagram-which-row.png) 常見的 CDC 示意圖只畫到左邊,每一筆變更都帶著一把可靠的鍵。這篇談的是右邊:那把鍵被改了、允許 NULL、會被回收,或只剩位置的時候。 ### 一、三把鑰匙,三種不同性質的東西 先把三個名詞各自在講什麼講清楚。它們經常被放在同一個句子裡比較,但其實不是同一種東西。 - **主鍵(PK)、唯一鍵(UK)**:資料庫上的**宣告**。主鍵不能重複、不能是空的;唯一鍵只管不重複。前傳談過,宣告的是角色,不保證值不會變 - **rowid**:不是宣告,是**事實描述**——這一列現在放在磁碟的哪個位置 主鍵、唯一鍵是**邏輯上的約定**,rowid 是**實體儲存的狀態**。 ![同一個身分證號更正事件,三種下游設定的結果:設定一用主鍵會員編號定位,一列正確;設定二沒有主鍵、只讀改之後的新值去 upsert,舊的一列留著、新的一列長出來,一個人變兩個人;設定三用改之前的舊值定位,一列正確](https://moradatajourney.com/content/images/2026/09/diagram-uk-update.png) 同一個 UPDATE,三種鍵的設定,三種結果。來源端與 CDC 事件完全一樣,差別只在下游那幾行程式。 #### 一個具體的例子 來源系統把小明的身分證號更正了——原本打錯字,`A123456789` 改成 `A123456780`。他的會員編號 `0012345` 沒有變。 CDC 把這筆更新送出來,事件裡有兩份資料:改之前的整列、改之後的整列。接下來看下游拿它怎麼辦: **設定一:這張表有主鍵(會員編號)** ```sql UPDATE 目標表 SET id_no = 'A123456780' WHERE member_no = '0012345'; ``` 會員編號這次沒變,所以找得到同一列。一列,正確。 **設定二:這張表沒有主鍵,身分證號宣告為唯一鍵(UNIQUE+NOT NULL),下游只讀「改之後」那份** ```sql INSERT INTO 目標表 ... ON CONFLICT (id_no) DO UPDATE ...; ``` 它拿**新的**身分證號去撞目標端。但目標端還沒有 `...780` 這一列,撞不到,於是走了 INSERT。 結果是兩列:舊的 `...789` 永遠留著,新的 `...780` 長出來。**同一個人變成兩個人。** 這不是假想的寫法。第四節換成開源工具 Debezium 實跑,目標端照預設設定時,得到的也是這兩列,只是原因不同:不是只讀了新值,而是刪除事件被略過。 **設定三:同樣只有宣告的唯一鍵,但下游用「改之前」的舊值定位** ```sql UPDATE 目標表 SET id_no = 'A123456780' WHERE id_no = 'A123456789'; -- 舊值來自 CDC 事件裡的「改之前」 ``` 一列,正確——**但這個正確有兩個前提**,少一個都不成立: - **身分證號真的宣告了 UNIQUE,而且每個欄位都是 NOT NULL。** 唯一約束本身不禁止空值——PostgreSQL 允許多列在該欄都是 null[1](#fn-1)。空值的那幾列,CDC 認不出誰是誰 - **CDC 被設定成用它。** PostgreSQL 預設只記主鍵欄位的舊值,要改用唯一鍵,得另外指定那個索引,而且規定它只能包含 NOT NULL 的欄位[2](#fn-2);Oracle 則是在沒有主鍵時,自動挑一個不可為空的唯一索引[3](#fn-3)。少了這個設定會怎樣,第四節有實測 這篇只談宣告在資料庫上的鍵:宣告過的鍵才查得到、留得下痕跡。兩個前提都成立,唯一鍵在「此刻認得準」這件事上就跟主鍵沒有差別。至於「明天還認不認得」,主鍵也一樣不保證——那是下一節要談的。 #### 這個錯的可怕之處 設定二那個結果,沒有任何一個環節報錯。來源系統正常、CDC 正常、下游程式也沒拋例外。三個環節都「成功」,只有資料是錯的。 之後小明的訂單會掛在哪一列?看它帶的是哪個身分證號。統計人數會多一個。**而沒有任何一支程式會告訴你。** 所以三把鑰匙的差別,不在它叫主鍵還是唯一鍵,而在前傳那把尺量的兩件事:此刻能不能認準一列,明天還認不認得同一列。收成一句話: > **唯一+NOT NULL 保證此刻認得準,代理鍵(Surrogate Key)保證明天還認得。此刻認得準與明天還認得 CDC 兩件都要。** 設定一會對,不是因為會員編號被宣告成主鍵,是因為這次更正沒有動到它。前傳談過,會員編號是系統發號的自然鍵:印在會員卡上,合併時照樣會變,這次只是剛好沒動到。「此刻認得準」與「明天還認得」平常看起來很像,只有在「身分改變」的時候才會分岔。 ### 二、唯一鍵會壞的三種方式 假設那一欄確實在資料庫上宣告了 UNIQUE。夠了嗎? 還不夠。唯一鍵有三種壞法,第一種可以擋,後兩種擋不住。 #### 第一種:鍵的值被更新了 就是第一節那個身分證號打錯字的例子。**用「改之前」的舊值定位就能解決**,因為 CDC 事件裡本來就有那份舊值。 這一種是可控的,前提是下游程式真的去讀了舊值。**如果你們的串接是這樣做的,那第一種壞法你們已經擋住了。** 值改了,CDC 靠舊值還是對得到這一列;對不到的是其他還記著舊值的地方——例如小明的訂單,存的還是舊的身分證號。 #### 第二種:唯一鍵允許 NULL 第一節的第一個前提不成立時,就是這一種:沒填身分證號的會員可以有很多位,像小美,每一位的身分證號都是 NULL。 前傳談過,NULL 用 `=` 比對永遠不成立。落到 CDC 套用那一步,後果是:`ON CONFLICT (id_no)` 永遠不會觸發,小美每更新一次,目標端就多一列;刪除時帶著 NULL 回來找,一列也刪不到。 這一種在套用端擋不住,因為 NULL 沒有值可以對。第四節會看到,換成 Debezium,它連同步都起不來。 #### 第三種:那個值被回收再利用 第三種最難防,因為它發生在時間軸上。 一個號碼今天屬於小華,小華的資料被刪掉之後,這個號碼被釋放,明天發給了小強。對來源系統來說完全合理——那個號碼就是一個號碼。 但目標端看到的是:先來一個刪除、後來一個新增。如果這兩個事件的順序錯了、或者刪除那個事件在某次故障中漏掉了,**目標端那一列就會變成小華的舊資料配上小強的新資料**。 用舊值定位擋不住這一種,因為舊值本身就是那個被回收的號碼。 後兩種擋不住,原因各有一個。第二種,NULL 根本不是一個值;第三種,**唯一鍵從來沒有承諾過「這個值永遠代表同一個東西」。** 它只承諾此刻不重複。身分證號更正、號碼回收——這些都不是資料錯誤,是業務上正當的事件,而唯一鍵對它們沒有任何保護。主鍵的約束也沒有承諾這件事;前傳談過,能承諾「永遠代表同一個」的不是約束,是值的來源。 ### 三、那 rowid 呢?它看起來可以找到對的位置 沒有主鍵、也沒有可靠的唯一鍵,還剩下什麼?很多人會想到 rowid——每一列都有,不用建、不用維護,而且又短又快。 **它的問題在於,它回答的是另一個問題。** 鍵回答「這一列是誰」,rowid 回答「這一列現在放在哪裡」。前者是身分,後者是地址。**地址會變,而且會被下一個人用。** 前傳示範過:同一個人會換位置,同一個位置會換人;前傳引過的 PostgreSQL 與 Informix 官方文件,也都建議用主鍵,不要靠 rowid。這裡只談 CDC 會碰到的部分。 #### 現實狀況:如果真的什麼鍵都沒有,怎麼辦? 我們站在巨人肩膀上,資料庫廠商自己遇到這個狀況時的選擇很值得看。Oracle 的文件寫著它的判斷順序:有主鍵就記主鍵;沒有主鍵但有不可為空的唯一索引,就挑一個;**兩個都沒有的時候,除了大型欄位以外,整列的所有欄位都記下來**[3](#fn-3)。 它寧可把整列都記下來,也不用位置當識別。 這兩種兜底方案的差別,正好是一組漂亮的對照: | | 全欄位當鍵 | rowid | | -------- | ---------------------- | -------------------- | | 定位速度 | **很慢**——條件帶所有欄位,沒有索引可用 | **很快**——單一窄欄位 | | 什麼時候失效 | 只有真正完全重複的列 | 表重組、更新、清理、位置被回收 | | 失效時的錯誤型態 | **找不到 → 沒更新**(吵) | **命中錯的列 → 改到別人**(安靜) | | 可不可能被發現 | 高:筆數對不上,對帳會叫 | **低:筆數完全正確,內容是錯的** | 表裡那一格「只有真正完全重複的列」,不是理論上的假設。SQL 本來就允許一張表裡有完全相同的列:PostgreSQL 的官方文件寫著,SQL 不會替每一列指派唯一的識別碼,所以一張表裡可能有好幾列完全相同[5](#fn-5)。這也是沒有主鍵的舊表之所以能存在的原因。 全欄位與 rowid 剛好互換:一個慢但錯得大聲,一個快但錯得無聲。 **當你無法保證正確的時候,寧可選會吵的那一種錯。** 因為吵的錯會被修,安靜的錯會被相信。 #### 還有一個更現實的問題 就算你願意承擔上面的風險,在日誌法的路徑上你可能**根本拿不到 rowid**。 Informix 的 CDC 事件,每一筆的標頭只有四格:序號、交易編號、表識別、保留欄位,後面接的是你指定要擷取的那些欄位[4](#fn-4)。**沒有 rowid 的位置。** 所以如果一套串接宣稱「沒有鍵就用 rowid」,值得問一句:那個 rowid 是從哪裡來的?可能的答案有幾種——另外回頭去查來源(那就混進了查詢法,延遲與一致性都變了)、那張表剛好是特殊設定的表、或者其實是定期整批重抓。**這三種的風險完全不同。** ### 四、透過 Debezium 與 PostgreSQL 模擬上面的情境 實務上,套用那一步通常不是自己寫程式,而是直接用現成的 CDC 工具,例如開源的 Debezium。它是一組建在 Apache Kafka 上、相容 Kafka Connect 的 connector,每個 connector 對應一種資料庫,在資料列被新增、修改、刪除的當下,把每一筆變更變成事件送進 Kafka[6](#fn-6)。 我把同一串事件換成 Debezium 實跑一次:來源端一台 PostgreSQL,經過 Debezium 與 Kafka,寫進另一台 PostgreSQL,再逐列比對兩端[7](#fn-7)。 ![實測的資料流:來源端 PostgreSQL 的變更經解碼外掛翻譯,由 Debezium 變成事件放進 Kafka,再由 JDBC sink 寫進目標端 PostgreSQL,最後逐列比對兩端;三個圓圈標出來源端記不記下舊鍵值、CDC 認不認得這把鍵、目標端處不處理刪除這三件事發生的位置](https://moradatajourney.com/content/images/2026/09/diagram-debezium-sandbox-v2.png) 實測的資料流。來源端的變更經解碼外掛翻譯,由 Debezium 變成事件放進 Kafka,再由 JDBC sink 寫進目標端,最後逐列比對兩端。三個圓圈是本節「三件事」各自發生的位置。 前傳把五種鍵排了名次,量的是鍵本身:此刻認不認得準、明天還認不認得。這裡換一個問題:把鍵交給 Debezium,兩端同步得一不一致?同一張會員表,做同一件事:小明的身分證號更正、刪除一列。除了 rowid,四種鍵各跑一次,每一種都看兩個版本:照預設設定(只多設了一項:目標端依鍵寫入,有就更新、沒有就新增),以及把設定補齊之後。 這裡的目標端都是「依鍵更新」的同步表;如果目標端是只新增、保留每一筆事件的流水表,鍵扮演的角色不同,那是另一個題目。 | 鍵 | 照預設設定時 | 設定補齊後 | | ----------------------- | --------------------------- | ----------------------------------------------------------------------- | | 第 1 名 代理鍵當主鍵 | 更正沒事;來源刪掉的列,目標端留著[8](#fn-8) | 目標端 delete.enabled=true → 一致 | | 第 2 名 業務值當主鍵 | 更正後多一列,舊的沒被刪 | 目標端 delete.enabled=true → 一致 | | 第 3 名 業務值當 NOT NULL 唯一鍵 | 更正後沒有事件,目標端停在舊值[9](#fn-9) | 來源端 REPLICA IDENTITY USING INDEX[2](#fn-2)+目標端 delete.enabled=true → 一致 | | 第 4 名 允許 NULL 的唯一鍵 | 同步一開始就失敗、停擺 | 無解:允許 NULL 的欄位不能指定成 REPLICA IDENTITY[2](#fn-2) | rowid 不在表裡:Debezium 不拿位置當鍵。 這張表有三件事值得停下來看。 **第一,照預設設定,四種鍵沒有一種是一致的,連代理鍵也一樣。** 負責寫入目標端的元件預設不處理刪除[8](#fn-8)。第一節設定二那個「一個人變兩個人」在這裡也長出來了,原因是刪除事件被略過。 **第二,唯一鍵補上一個來源端設定,結果就跟主鍵完全一樣。** Debezium 在沒有主鍵時,會自己拿第一個唯一索引當鍵[7](#fn-7);它缺的只是舊值,也就是第一節兩個前提的第二個。如果改用 PostgreSQL 內建的解碼方式(pgoutput),少了這個設定,連來源端的更新都會直接失敗[10](#fn-10)。 **第三,允許 NULL 的唯一鍵是唯一救不回來的。** 第二節說它在自己寫的程式裡會安靜地多長一列;在 Debezium 下它反而會吵,同步一開始就停擺,但不管怎麼設定都修不好。 不管用哪一套工具,我判斷兩端會不會一致,都先問三件事:來源端有沒有記下舊鍵值、CDC 工具認不認得這把鍵、寫入目標端時處不處理刪除。 但這三件事管的只是「同步一致」:目標端這一列,跟來源端一不一致。設定補齊之後,前三種鍵都做得到,前三名在同步這一關打平,名次沒有因此改變。它們真正的差別仍在前傳那一層:值會不會變。前傳提過,業務值一被更正,Debezium 會送出「刪除舊的+新增新的」[9](#fn-9),目標端照做,這一列是一致的;但中台裡掛在舊值上的訂單、歷史紀錄,全都斷了。會員合併也一樣。**這一層,同步工具管不到。** 所以要不要補主鍵,不能只看同步測試有沒有過,要看這張表的值會不會變、變了會斷掉多少東西,這是下一節要算的。 ![這張表怎麼接 CDC 的判斷流程:有主鍵就直接接,目標端開 delete.enabled;沒有主鍵但有宣告 UNIQUE 而且每個欄位都 NOT NULL,就在來源端設 REPLICA IDENTITY USING INDEX 再接;沒有唯一鍵或唯一鍵允許 NULL,就先補一把宣告的鍵](https://moradatajourney.com/content/images/2026/09/diagram-cdc-decision.png) 把這一節收成一張判斷圖。從表的現況往下走兩道題:有主鍵就直接接,只有宣告的 NOT NULL 唯一鍵就補一個設定再接,其餘的先補一把宣告的鍵。 ### 五、那到底值不值得補主鍵? 判斷圖走到「先補一把宣告的鍵」的表,接下來要問的是:值不值得補? ![值不值得補主鍵的二維表:縱軸是錯了會怎樣(風險),橫軸是補起來要付多少(成本);風險高成本低立刻補、風險高成本高先不要接、風險低成本低順手補、風險低成本高可以先用唯一鍵接但要把兩個前提寫下來並定期重驗](https://moradatajourney.com/content/images/2026/09/diagram-cost-risk-matrix.png) Y 軸是錯了會怎樣,X 軸是補起來要付多少。四格各自的建議與判準不依賴任何數字,數字決定的是「我們那張表落在哪一格」。 **一個常被高估的成本**:加一個代理鍵通常不必改應用程式——前提是應用程式的 INSERT 有寫出欄位名。越古老、版本越舊的系統越可能沒寫,這個成本也就越高。但現在可以用 AI 全面盤點程式碼,把成本降下來。所以只從商業邏輯的正確性來看,我個人傾向加入 PK。 ### 六、先接 CDC,還是先建主鍵? 第四節那張判斷圖,一次只看一張表。但實務上這些決定會互相牽動:今天這張表怎麼接,決定了明天要付什麼帳;一張表的決定,會拖著跟它 join 的表一起走。這一節談的就是牽動。 這一題在實務上比前面所有分析都常見:**現在就要接,主鍵之後再說,可以嗎?** 可以,但代價不是固定的,它會隨時間長大。我把理由拆成三層。 #### 第一層:重跑全量是遲早要付的,問題是付一次還是付兩次 如果你已經知道現在寫進目標端的資料是錯的,那目標端現有的資料就不是要保護的資產,是要清掉的負債。**遲早要重跑一次全量。** 於是算式很單純: - **現在建主鍵** → 建好之後重跑一次,結束 - **先用唯一鍵接上去** → 現在跑一次(錯的),將來換鍵再跑一次(對的)。中間那段時間資料是錯的,而錯誤量每天都在長 #### 第二層:換鍵那天,你要用什麼把新舊對起來? 這是最容易被忽略的一個坑。 換鍵的時候,目標端的舊資料身上沒有新的主鍵值。要把它們配起來,只能靠**舊的那把鍵**。 如果舊鍵現在還可信,例如換鍵是因為它是基礎表、不是因為它出錯,這件事軟體做得到:用舊鍵做一次對映,把新主鍵補上;Debezium 也可以一邊同步、一邊把整張表分批重讀一次[11](#fn-11),重讀時不必暫停同步。 **但如果換鍵正是因為舊鍵不可信,那就是雞生蛋。** 你要拿一把不可信的鍵,去對出可信的結果。這時「之後再換」就等於「之後再重跑一次全量」,你只是把成本往後推,而且推遲期間資料是錯的。 #### 第三層:如果下游有很多表靠同一把鍵串起來 多張表沒有主鍵、靠同一把會變的業務鍵 join,錯誤不會只待在一張表裡,它會**一致地擴散**到所有相關的表。 舉個例子。第一節設定二那次更正之後,目標端的會員表裡,小明變成 `...789` 和 `...780` 兩列。訂單表、點數表都用身分證號去 join 會員表:更正前的訂單掛在 `...789`,更正後的掛在 `...780`,點數也拆成兩半。逐張表對帳,每一筆訂單都找得到會員,筆數全對;但每一張用到會員的報表,客戶數都多一位,小明一個老客人被算成兩個新客,回購率跟著被低估。 一致的錯比零散的錯難發現——因為每張表之間互相「對得起來」,對帳看不出問題。 而且換鍵那天不是換一張表,是 N 張表要同時換、它們之間的關聯要同步重建。**N 張表同時切換的難度,遠高於 N 倍的單表切換。** ![先接 CDC 還是先建主鍵的代價比較:現在建主鍵只重跑一次全量;先用唯一鍵接上去,將來換鍵還要再跑一次,中間那段時間資料是錯的,紅色楔形代表每天都在長的代價](https://moradatajourney.com/content/images/2026/09/diagram-pay-once-or-twice.png) 重跑全量遲早要付一次,差別在付一次還是付兩次。紅色楔形的面積就是中間那段時間的代價,它每天都在長。 #### 如果真的來不及,那就分批納管 CDC 有期限、主鍵短期內建不起來——這在現實裡很常見。這時候的做法不是「全部先用錯的鍵接上去」,而是: 1. 先納入那些**有主鍵、或有宣告 NOT NULL 唯一鍵**的表,這些現在就能安全同步 2. 那張重要但沒有鍵的表**先不要接** 3. 等它的主鍵建好,帶著新鍵一次全量納入 **「先接上去但標記為不可信」是最糟的選項**——因為那個標記留不住。半年後就會有人拿它做報表,而那個人不會知道它不可信。 #### 我怎麼排這些決定 補主鍵,還是分批納管?每次遇到這個選擇,我的判斷原則都一樣:不是二選一,而是依每張表的現況判斷。我用以終為始的方式,從最終的數據應用與決策往回想,問三個問題。任一個答「是」,就先建主鍵,再接 CDC: 1. **這張表重要,而且唯一鍵已經不能確保業務邏輯正確嗎?** 第二節的三種壞法,只要有一種已經在發生,就是。 2. **它是基礎表嗎?** 後續很多表、很多報表都以它為起點,它的鍵一換,後面全部跟著換,也就是第三層說的擴散。 3. **之後再更新主鍵,會是更大的工程嗎?** 如果是,現在的代價就是最便宜的代價,也就是第一層說的「付一次還是付兩次」。 三個都答「否」,我會先用唯一鍵(UK)接,前提是第一節那兩個前提都成立。連唯一鍵都沒有,就先建一個唯一鍵,因為沒有唯一鍵,資料一重複,套用就會判斷錯誤,而且不會有人通知你。確認這張表真的已經沒有在使用,才會用 rowid;不過既然確認沒有在用,也可以不必搬到目標資料庫,或者做一次全量複製就夠了。 排完順序之後,還有一個決定會回頭影響前面的選擇。 **先不接,也是一個決定。** 分批納管裡「先不要接」的那張表,下游不會因此停下來等。等不到資料的人會自己繞路,例如直接去來源撈。繞出來的路一旦被拿去做報表,就比晚一點接更難收回。所以先不接,要同時給出兩件事:主鍵預計什麼時候建好,以及在那之前,資料從哪裡來。 #### 兩個必須誠實面對的質疑 **第一,「建主鍵」是在別人的系統上動刀。** 來源系統往往不是資料團隊管的,有時甚至是外購的套裝系統。這篇給的所有建議,都要先過「你有沒有立場要求這件事」這一關。如果沒有,但這件事很重要,那就要發揮影響力,讓各方一起完成這件事,這是另一個層次的功課。如果真的都不能動,那分批納管就不是次佳解,是唯一解。 **第二,加一個流水號當主鍵,是不是在逃避找出真正的業務鍵?** 這個質疑值得認真回答,但我的答案是否定的。業務鍵看起來穩定,多半只是還沒被改過——如前傳所引,Codd 在 1979 年就指出,由使用者決定的鍵,終究會被使用者改[12](#fn-12);這篇的身分證號更正、前傳的會員合併都是例子。所以兩者不是二選一:**代理鍵當系統內部的身分,業務鍵留著給人查詢和對帳,兩者都需要,只是在不同流程中扮演的重要性不同。** 業務意義沒有被丟掉,只是不再拿來認人——CDC 要的本來就是穩定的識別,不是業務意義。 ### 七、鑰匙的功能不是開門,是認人 主鍵、唯一鍵、rowid,三者在「同一筆變更該套到哪一列」上的差別,其實可以收成一句話: > **rowid 說的是「這一列現在放在哪裡」,唯一+NOT NULL 說的是「此刻認得準」,只有一個沒人會去改的值,才說得出「明天還是這一列」。** CDC 每一秒都在問「這一列是誰」。你給它地址,它會找到那個位置上現在住的人;你給它一個此刻不重複的值,它會在那個值改變或被回收的那一天弄錯——而這兩種錯,都不會有人通知你。 回到同仁的那個問題:有唯一鍵,當 CDC 的判斷就可以了嗎? 我的回答分兩層。在同步這一關,可以,而且跟最後的做法不衝突:照第四節那張判斷圖把設定補齊,唯一鍵就能跟主鍵一樣一致。但資料同步過去,不等於最後能用。唯一鍵的值會被更正、被回收,允許 NULL 時連認都認不出來;這些錯不會在同步時報錯,而是在報表裡變成多出來的客戶、斷掉的訂單。所以要讓最末端的決策能被信任,我的做法是:同步交給設定,身分交給主鍵。這張表如果重要、是基礎表,或以後再改主鍵會更貴,就先建主鍵再接 CDC;三個都不是,唯一鍵加上補齊的設定就夠了。 > **唯一+NOT NULL 保證此刻認得準,代理鍵(Surrogate Key)保證明天還認得。導** **入 CDC 的目的,不只是讓來源和目標資料庫一致,那只是第一關;更重要的是讓最末端的決策能被信任。所以此刻認得準與明天還認得,在 CDC 這一關同等重要。** --- **參考資料** 1. PostgreSQL 官方文件,Constraints:在唯一性比較中,兩個 null 不視為相等;因此即使有 unique 約束,仍可存進多列在該欄為 null 的資料。[https://www.postgresql.org/docs/current/ddl-constraints.html](https://www.postgresql.org/docs/current/ddl-constraints.html?ref=moradatajourney.com) (查證日 2026-09-19) [↩](#fnref-1) 2. PostgreSQL 官方文件,ALTER TABLE:REPLICA IDENTITY 的 DEFAULT 記錄主鍵欄位的舊值;USING INDEX 記錄指定索引欄位的舊值,該索引「must be unique, not partial, not deferrable, and include only columns marked NOT NULL」。[https://www.postgresql.org/docs/16/sql-altertable.html](https://www.postgresql.org/docs/16/sql-altertable.html?ref=moradatajourney.com) (查證日 2026-09-24) [↩](#fnref-2) 3. Oracle 官方文件,Database-Level Supplemental Logging:無主鍵但有一個以上不可為空的唯一索引鍵時,會挑其中一個作為識別該列的依據;兩者皆無時,除 LONG 與 LOB 外的所有欄位都會被補充記錄。[https://docs.oracle.com/database/121/SUTIL/GUID-D2DDD67C-E1CC-45A6-A2A7-198E4C142FA3.htm](https://docs.oracle.com/database/121/SUTIL/GUID-D2DDD67C-E1CC-45A6-A2A7-198E4C142FA3.htm?ref=moradatajourney.com) (查證日 2026-09-19) [↩](#fnref-3) 4. HCL Informix 文件,CDC 記錄格式:`CDC_REC_UPDAFT` 的記錄專屬標頭包含序號、交易 ID、使用者資料(即 `cdc_startcapture()` 傳入的表識別)與保留旗標四個欄位。[https://help.hcl-software.com/onedb/2.0.1/cdc/ids\_cdc\_040.html](https://help.hcl-software.com/onedb/2.0.1/cdc/ids%5Fcdc%5F040.html?ref=moradatajourney.com) (查證日 2026-09-19) [↩](#fnref-4) 5. PostgreSQL 官方文件,Table Basics:「SQL does not assign unique identifiers to rows, so it is possible to have several completely identical rows in a table.」[https://www.postgresql.org/docs/current/ddl-basics.html](https://www.postgresql.org/docs/current/ddl-basics.html?ref=moradatajourney.com) (查證日 2026-09-24) [↩](#fnref-5) 6. Debezium 官方文件,Tutorial:「Debezium is built on top of Apache Kafka and provides a set of Kafka Connect compatible connectors. Each of the connectors works with a specific database management system (DBMS).」並以 row-level changes、each change event to a Kafka topic 描述其輸出。[https://debezium.io/documentation/reference/stable/kc-tutorial.html](https://debezium.io/documentation/reference/stable/kc-tutorial.html?ref=moradatajourney.com) (查證日 2026-09-28) [↩](#fnref-6) 7. 本機實測(2026-09-25)。環境:來源端 PostgreSQL 16.15(Debezium 官方 postgres 映像),目標端 PostgreSQL 16.14;Debezium 3.6.3.Final(PostgreSQL connector 與 JDBC sink connector,JDBC 驅動 PostgreSQL 42.7.13),Kafka 3.9.1、Kafka Connect 4.3.0。目標端寫入設定 insert.mode=upsert、primary.key.mode=record\_key,其餘維持預設。情境:會員表把身分證號 A123456789 更正成 A123456780,並刪除一列;比較代理鍵當主鍵、業務值當主鍵、NOT NULL 唯一鍵(預設,以及補上 REPLICA IDENTITY USING INDEX)、允許 NULL 的唯一鍵,每一種各接「處理刪除」與「不處理刪除」兩種寫入設定。解碼外掛 decoderbufs(Debezium 預設)與 pgoutput 都測過,補上 REPLICA IDENTITY 後兩者結果相同;表上有多個唯一索引的情況未測。沒有主鍵時,Debezium 會拿表上第一個唯一索引當事件的鍵,不檢查欄位是否允許 NULL(原始碼 JdbcConnection.java 的 readPrimaryKeyOrUniqueIndexNames)。同一組情境在 Debezium 3.4.3.Final 結果相同。實測只用 PostgreSQL;Informix 的 Debezium connector 未實測。 [↩](#fnref-7) 8. Debezium 官方文件,JDBC sink connector:delete.enabled 預設為 false;「By default, when the connector consumes DELETE or tombstone events, it does not delete the corresponding row in the sink database.」[https://debezium.io/documentation/reference/stable/connectors/jdbc.html](https://debezium.io/documentation/reference/stable/connectors/jdbc.html?ref=moradatajourney.com) (查證日 2026-09-24) [↩](#fnref-8) 9. Debezium 官方文件,PostgreSQL connector:「When a key changes, Debezium outputs three events: a DELETE event and a tombstone event with the old key for the row, followed by an event with the new key for the row.」REPLICA IDENTITY 維持預設時,沒有主鍵的表:「If a table does not have a primary key, the connector does not emit UPDATE or DELETE events for that table.」[https://debezium.io/documentation/reference/stable/connectors/postgresql.html](https://debezium.io/documentation/reference/stable/connectors/postgresql.html?ref=moradatajourney.com) (查證日 2026-09-24) [↩](#fnref-9) 10. PostgreSQL 官方文件,Publication:「If a table without a replica identity is added to a publication that replicates UPDATE or DELETE operations then subsequent UPDATE or DELETE operations will cause an error on the publisher.」Debezium 使用 pgoutput 時會自動建立 publication。[https://www.postgresql.org/docs/16/logical-replication-publication.html](https://www.postgresql.org/docs/16/logical-replication-publication.html?ref=moradatajourney.com) (查證日 2026-09-25,本機實測相符) [↩](#fnref-10) 11. Debezium 官方文件,PostgreSQL connector,Incremental snapshots:「Debezium captures each table in phases, in a series of configurable chunks.」「You can run incremental snapshots in parallel with streamed data capture, instead of postponing streaming until the snapshot completes.」以 execute-snapshot 訊號觸發。[https://debezium.io/documentation/reference/stable/connectors/postgresql.html](https://debezium.io/documentation/reference/stable/connectors/postgresql.html?ref=moradatajourney.com) (查證日 2026-09-28) [↩](#fnref-11) 12. E. F. Codd,〈Extending the Database Relational Model to Capture More Meaning〉, ACM TODS 4(4), 1979, §4, pp. 409–410:使用者控制的鍵「must therefore be subject to change by them」(例:兩家公司合併後員工編號被改)。 [↩](#fnref-12) --- **延伸閱讀** - [這張表有主鍵,就認得出每一筆資料嗎?主鍵、唯一鍵、代理鍵與 rowid 的兩個判斷維度](https://moradatajourney.com/data-platform-primary-key-dimensions/) - [數據中台 CDC 開了,資料就會同步嗎?三種做法的機制,以及 Oracle 與 Informix 的現實選項](https://moradatajourney.com/data-platform-cdc-methods/) 如果你也走在自己的路上,歡迎訂閱《小穗步電子報》——我會把每一次的覺察與練習,寫成信寄給你。→ [訂閱小穗步電子報](https://moradatajourney.com/#/portal/signup) ### 這張表有主鍵,就認得出每一筆資料嗎?主鍵、唯一鍵、代理鍵與 rowid 的兩個判斷維度 URL: https://moradatajourney.com/data-platform-primary-key-dimensions/ Last updated: 2026-09-28T13:25:24.000Z 有一次跟顧問討論 CDC,他建議:把現有的唯一鍵升成主鍵就好。我心裡浮起一個問題:那跟另外加一個流水號(serial)當主鍵,有什麼不同?對 CDC 來說,差在哪裡? 類似的對話,我在不同場合聽過好幾個版本: 「這張表有主鍵,接 CDC 沒問題。」 「主鍵是哪一欄?」 「會員編號。」 「會員編號會變嗎?」 「不會,那是系統發的號。」 一開始的設計看起來都沒問題。直到業務上需要合併會員:兩個會員帳號被認定是同一個人,其中一個會員編號被併進另一個。那個「系統發的、不會變的號」,變了。 這段對話的背景是 CDC:[〈數據中台 CDC 開了,資料就會同步嗎?〉](https://moradatajourney.com/data-platform-cdc-methods/)那篇談過,CDC 把來源系統的每一筆變更讀出來之後,要靠一把「鍵」把它套到目標端正確的那一列。 對話裡的兩個人都沒說錯。第一個人說的是**角色**:會員編號在資料庫裡被宣告成主鍵,這件事查得到。第二個人問的是**值會不會變**:這件事在 schema(資料庫的結構定義)上查不到,要問業務。兩句話講的是兩個不同的維度,卻被塞進同一個詞「主鍵」裡談,所以怎麼談都談不攏。 這篇把這兩個維度拆開。讀完之後,你應該能對任何一把鍵回答兩個問題:**它此刻認不認得準?明天還認不認得?** ### 一、兩件事:此刻認得準,明天還認得 #### 維度一:每一筆都有值,而且不重複 一把鍵要能認出一筆資料,最基本的條件是:拿這個值去找,只會找到一列。這需要兩件事同時成立——值不重複,而且每一筆都有值。 少了「每一筆都有值」會怎樣?資料庫的唯一約束(UNIQUE)管的是有值的那些列;至於 NULL,各家的規則不一樣: | 資料庫 | 唯一約束允許幾筆 NULL | | ---------- | --------------------------------------------- | | Informix | 最多一筆[1](#fn-1) | | SQL Server | 一筆[2](#fn-2) | | Oracle | 單欄可以有多筆 NULL;複合鍵裡全部欄位都是 NULL 的列一律通過[3](#fn-3) | | PostgreSQL | 預設可以多筆;加上 NULLS NOT DISTINCT 才限制成一筆[4](#fn-4) | 就算只允許一筆,問題也還在:NULL 用 `=` 比對永遠不成立。CDC 事件帶著 NULL 回來找那一列,找不到。(那個 NULL 到底是「沒有」還是「還沒填」,是另一個問題,[〈資料庫用空白代替 NULL 會發生什麼事?〉](https://moradatajourney.com/data-platform-blank-not-null/)那篇談過。) 資料庫理論裡有個現成的名詞叫「候選鍵」:能唯一認出每一列、而且沒有多餘欄位的欄位組合;主鍵是從候選鍵裡選出的一組。 但維度一我不用「候選鍵」這個名詞,直接寫成「**唯一+NOT NULL**」。原因出在理論本身:關聯式資料庫理論的奠基者 Codd 在 1971 年定義候選鍵時,只要求被選為主鍵的那一組欄位不可以是未定義值,其他欄位沒有這個要求[5](#fn-5)。照字面,允許 NULL 的候選鍵是存在的——但它不能拿來認出每一筆。 實務上的工具,挑鍵時要的正是這一條。Oracle 的補充記錄在沒有主鍵時,會去找「不可為空的唯一索引」[6](#fn-6);PostgreSQL 要指定一個唯一索引當作複製時識別列的依據,那個索引的欄位必須全部是 NOT NULL[7](#fn-7)。 #### 維度二:值會不會變 維度一只保證「此刻」。第二件事是:同一筆資料,明天還能用同一個值找到嗎? 這一點,Codd 自己在 1979 年就寫過。他指出由使用者決定、使用者控制的鍵,既然值是人決定的,就一定會被人改;他舉的例子是兩家公司合併,一部分員工編號因此被改掉[8](#fn-8)。把「公司合併」換成「會員合併」,就是開場那段對話。 Kimball 在 1998 年從資料倉儲的角度講了同一件事:來源系統的鍵,會依來源系統的需要被產生、改格式、更新、刪除、回收再利用[9](#fn-9)。 值一旦改變,開源的 CDC 工具 Debezium 不會把它當成一次更新,而是把改到主鍵的 UPDATE 拆成「舊鍵刪除」加上「新鍵新增」[10](#fn-10)。對下游來說,這是一個人消失、另一個人出現。 同樣是「會變」,變法不一樣。我把它分成三級: | 級 | 值怎麼變 | 變的時候看不看得到 | 例子 | | ------ | -------------- | ------------------------------------- | ---------- | | 不會變 | 系統產生,沒有人會去改 | — | 只給系統用的流水號 | | 會變,看得到 | 業務事件:更正、併號 | 看得到:那是一筆 UPDATE 或 DELETE,追得到,外鍵也擋得下 | 身分證號、會員編號 | | 會變,看不到 | 實體操作:更新時搬位置、重整 | 看不到:沒有任何一筆變更在記錄「位置換了」,空出來的位置還會被下一列拿去用 | rowid(第四節) | 第三級最危險:值變了,卻沒有任何東西告訴你。我用 PostgreSQL 內建的邏輯解碼實測過:VACUUM FULL 讓一列換了位置,交易日誌裡卻解不出任何一列的變更。 ![兩個維度的示意圖:由外往內一圈比一圈嚴,所有欄位、不重複、不重複加沒有 NULL、最裡面是主鍵;一條直線把每一圈都切成兩半,左邊是值不會變的系統發號,右邊是業務值或人會看會查的號碼,連主鍵那一圈也被切開](https://moradatajourney.com/content/images/2026/09/diagram-two-dimensions.png) 維度一是一層層收窄的集合:所有欄位組合裡,不重複的是一圈,不重複又沒有 NULL 的是更小一圈,主鍵是從裡面選出來的那一個。維度二是另一條軸——不管落在哪一圈,值都可能會變。 #### 值變了會怎樣:一次會員合併 回頭看開場那次合併。鍵的值一變,後果不必等到接 CDC 才看得到。我在本機 PostgreSQL 把它拆成幾步重演一次,每一步都先寫下預期,再跑查詢核對。 **步驟 0:起點。** 小明下過四張訂單,但被重複註冊成兩個會員編號;小華下過一張。 會員表: | 會員編號 | 姓名 | | ------- | -- | | 0012345 | 小明 | | 0098765 | 小明 | | 0023456 | 小華 | 訂單表: | 訂單編號 | 會員編號 | 日期 | | ---- | ------- | ----- | | 1 | 0012345 | 01-05 | | 2 | 0012345 | 03-10 | | 3 | 0098765 | 02-14 | | 4 | 0098765 | 04-01 | | 5 | 0023456 | 02-20 | 這時候用訂單表數人頭,會數出 3 人,但真實只有 2 人。這正是要合併的原因。 **步驟 1:合併。** 客服確認 0012345 和 0098765 是同一個人,保留 0012345,刪掉 0098765: ```sql DELETE FROM 會員表 WHERE 會員編號 = '0098765'; ``` 會員表剩下 0012345、0023456 兩列。訂單表沒有人動過,第 3、4 筆的會員編號仍然是 0098765。 **步驟 2:核對。** | 核對項目 | 預期 | 實際 | | ---------------- | -- | ----- | | 小明有幾張訂單 | 4 | **2** | | 5 筆訂單裡,對得到會員的有幾筆 | 5 | **3** | | 用訂單表數人頭 | 2 | **3** | 對不到會員的,正是第 3、4 筆:它們掛在 0098765 底下,而 0098765 已經不在會員表裡了。合併原本是要把人數修正成 2,結果人數沒修好,還讓小明一半的訂單紀錄找不到主人。整個過程沒有任何錯誤訊息。 **錯在哪一步?** 合併其實是兩個動作:刪掉 0098765,以及把掛在 0098765 底下的訂單改掛到 0012345。後面那個動作就是「鍵的值變了」:第 3、4 筆訂單的會員編號,要從 0098765 變成 0012345。步驟 1 只做了前一半。 **對照:訂單表有外鍵。** 起點完全相同,唯一的差別是訂單表宣告了「會員編號必須對得到會員表」。同一句 DELETE 會當場被擋下,資料庫回報 0098765 仍被訂單表參照(原始訊息:`violates foreign key constraint`)。資料庫逼你先處理掛在 0098765 底下的訂單。正確的處理是把第 3、4 筆改掛到 0012345(更新 2 列),再刪 0098765。再核對一次,小明 4 張訂單、數人頭 2 人,兩項都符合預期。 **但外鍵不保證資料是對的。** 它擋下的是「指向不存在的人」,不是「指向錯的人」。從同一個起點,我又試了三種做法,外鍵全部放行: | 做法 | 外鍵的反應 | 實跑結果 | | ----------------------------- | ---------------- | ---------------------- | | 把 0098765 的訂單誤掛到 0023456(小華) | 放行,因為 0023456 存在 | 小明 2 張、小華 3 張,兩個人的紀錄都錯 | | 為了讓 DELETE 過關,先刪掉 0098765 的訂單 | 放行 | 小明剩 2 張,另外兩筆訂單永遠消失 | | 外鍵宣告成 ON DELETE CASCADE | 不擋,還替你把訂單一起刪掉 | 訂單從 5 筆變 3 筆,沒有任何錯誤訊息 | 外鍵保證每一筆訂單都找得到一個會員。它不知道那是不是對的人,也不知道該不該刪。宣告成 `ON DELETE CASCADE` 時,它甚至會替你把紀錄刪掉。它能做的,是在錯誤發生的那一刻逼你停下來;停下來之後做得對不對,還是要靠核對。 **鍵的值變了,掛在它底下的歷史就斷了;沒有外鍵,斷了也沒有任何訊號。** 外鍵做的事,是讓「紀錄找不到主人」這一種錯在發生的那一刻被擋下來。只有這一種。 ### 二、主鍵(PK)是角色,代理鍵(Surrogate Key)是來源 到這裡,可以回頭看開場那段對話卡在哪裡。 「主鍵」「唯一鍵」說的是這把鍵的**角色**:資料庫上宣告了什麼。「自然鍵」「代理鍵」說的是值的**來源**: - **自然鍵**:值有業務意義,是人輸入或決定的,例如身分證號 - **代理鍵**:系統產生、本身沒有意義的號碼,例如流水號(serial) 這兩組分類互相獨立,四種組合都存在: | | 自然鍵 | 代理鍵 | | ----- | -------------- | -------------------- | | 擔任主鍵 | 會員表的主鍵=身分證號 | 會員表的主鍵=系統流水號 | | 不擔任主鍵 | 同一張表另設唯一鍵=身分證號 | 來源系統的流水號,帶進中台後成為一般欄位 | 維度一跟角色有關:主鍵天生就是唯一+NOT NULL,唯一鍵則要另外確認有沒有 NOT NULL。維度二跟角色無關,跟來源有關:一個被宣告成主鍵的身分證號,打錯字更正時照樣會變。 #### 代理鍵是相對的 這裡有三個容易踩的地方。 **第一,站在哪個系統看,答案不同。** 來源系統的流水號,在來源系統裡是代理鍵;帶到中台之後,它是外部系統給的號碼,會不會被回收、會不會被重發,中台都管不到。Kimball 把這種來源系統的鍵叫做 production key[9](#fn-9);在中台,它應該被當成自然鍵看待。 **第二,系統發的號,一旦有人在用,就不再是代理鍵。** Codd 1979 年描述的代理鍵有一個常被忽略的條件:使用者可以讓系統產生或刪除它,但控制不了它的值,**它的值也從不顯示給使用者**[8](#fn-8)。會員編號是系統發的,但它印在會員卡上、被客服唸出來、被拿去查詢——人開始依賴它,它就有了業務意義,也就會像業務值一樣被合併、被更正。 所以會員編號不是代理鍵。它是系統發號的自然鍵。 **第三,同樣叫代理鍵,代表的東西不一定一樣。** 會員主檔的代理鍵代表一個人;[SCD 那篇](https://moradatajourney.com/data-platform-scd/)談過的維度表 `customer_key`,代表的是這個人的一個版本——同一個人搬了家,就多一列、多一個 `customer_key`。兩者都是系統產生、沒有業務意義,但一個跟著人走,一個跟著版本走。 前兩點合起來,就是我主張中台兩把鍵都留的原因:代理鍵給系統之間 JOIN,自然鍵給人查詢和對帳。代理鍵對業務使用者沒有意義,本來就不該讓他們看見;自然鍵讓人看得懂,但不能當成系統內部的身分。 ### 三、判斷三問 遇到一把鍵,依序問三題: 1. **角色**:schema 上宣告成主鍵、唯一鍵,還是都沒有?唯一鍵的欄位是不是 NOT NULL? 2. **來源**:值是業務輸入,還是系統發號? 3. **有沒有人在用它**:人會不會看到、唸出、拿它查詢、要求更改?會的話,不論是誰產生的,都當自然鍵對待 第 1 題回答維度一,第 2、3 題回答維度二。 第 1 題查得到,但查得到的是**宣告**,不一定是**強制**。雲端資料倉儲就是例子:Snowflake、BigQuery 的主鍵都只宣告、不強制,BigQuery 的文件還提醒,約束被違反時,查詢可能回傳錯誤的結果[11](#fn-11)[12](#fn-12)。在這類環境裡,第 1 題要多問半句:宣告了,資料真的符合嗎? 第 2、3 題查不到,只能問人。這也是溝通時最好把三件事一起說的原因。與其說「這張表有主鍵」,不如說「會員表的主鍵是會員編號,系統發號,但會被合併」——角色、來源、有沒有人在用,一句話交代完。 ### 四、那 rowid 呢? 還有一種常被拿來頂替的東西:rowid。 rowid 不是鍵,是**位置**:這一列現在放在磁碟上的哪一頁、哪一格。各家叫法不同(Oracle 的 ROWID、PostgreSQL 的 ctid、Informix 的 rowid),講的是同一類東西。 用兩個維度看它:此刻,每一列的位置確實不重複,所以它分得開兩列;但位置會變,變的時候沒有任何紀錄,而且會被重用,也就是維度二的第三級。我在 PostgreSQL 跑了 4 步:寫入、更新、刪除後重整、再新增,看每一步 rowid 怎麼變。 | 步驟 | 小明 | 小華 | 小美 | 小強 | | -------------- | ----- | ----- | ----- | ----- | | 1\. 寫入三筆 | (0,1) | (0,2) | (0,3) | — | | 2\. 更新小明的城市 | (0,4) | (0,2) | (0,3) | — | | 3\. 刪除小華,重整整張表 | (0,2) | — | (0,1) | — | | 4\. 新增小強 | (0,2) | — | (0,1) | (0,3) | 位置 (0,1) 一開始是小明的,第三步之後變成小美的;位置 (0,3) 原本是小美的,第四步給了小強。如果下游記住的是「(0,1)」,它找到的會是那個位置上現在住的人。 (PostgreSQL 的 ctid 每次更新都會換位置,Informix 的 rowid 在一般更新下多半不變[13](#fn-13),兩者機制不同。這裡要示範的是「位置會被重用」這件事本身,不是數字。) PostgreSQL 的官方文件直接寫了:ctid 會因更新或 `VACUUM FULL` 而改變,不應當作列的識別碼,要用主鍵[14](#fn-14)。Informix 的文件也建議用主鍵,而不是倚賴 rowid[15](#fn-15)。 Codd 在 1970 年那篇奠定關聯模型的論文,開頭就主張:使用者不該需要知道資料在機器裡是怎麼組織的[16](#fn-16)。照這個原則看,rowid 恰恰就是「資料在機器裡怎麼組織」。拿它當身分,等於把邏輯上的「這是誰」綁在實體上的「放在哪」。 ![PostgreSQL 沙盒實跑四步的位置變化:小明更新後換位置,刪除小華並重整後位置 (0,1) 換成小美,新增小強拿到小美的舊位置;下游若記住小明在 (0,1),第二步之後找不到人,第三步之後改到小美](https://moradatajourney.com/content/images/2026/09/diagram-rowid-recycle.png) 同一個人會換位置,同一個位置會換人。拿位置當鍵的兩種壞法——一種找不到人,一種找到別人,而後者的筆數完全正確。 ### 五、代理鍵會不會比較慢? 先回答:**查詢不會,寫入會。** 一提到加一個流水號,常聽到兩種擔心:多一欄、多一個索引,會不會拖慢?整數鍵是不是一定比文字鍵快?我在本機的 PostgreSQL 16 把這兩件事分開量。 **寫入:多一個索引,就多付一份維護。** 中台兩把鍵都留,代理鍵就是多出來的那一個索引。一次寫入 100 萬筆: | 設計 | 寫入時間 | 表加索引的大小 | | ---------------- | ---------------- | -------------- | | 只有業務鍵(1 個索引) | 2.4~2.6 秒 | 80 MB | | 代理鍵+業務鍵唯一(2 個索引) | 3.6~3.7 秒(多四到五成) | 101 MB(多約四分之一) | 這裡量的是一次整批寫入,對應中台批次載入的情境;來源系統那種一筆一筆的交易寫入,多一個索引的比例會不同,這次沒有量。 **查詢:拿哪一種鍵來 JOIN,差別在寬度。** 主表 10 萬筆、明細表 100 萬筆,三種鍵的 JOIN 結果完全相同: | | 整數 | 單欄文字 | 三欄複合 | | ---------- | ------- | ----------- | ------------ | | 主表主鍵索引 | 2.16 MB | 3.03 MB | 5.82 MB | | 明細表外鍵索引 | 8.88 MB | 9.75 MB | 10.61 MB | | 全表 JOIN 彙總 | 259 ms | 283 ms(+9%) | 371 ms(+43%) | 走索引查單筆,三者都在 0.1 毫秒內。整數只比單欄文字快 9%;真正貴的是三欄複合,慢了 43%。 所以代理鍵的代價落在寫入那一側:多一個索引,批次載入慢四到五成,空間多約四分之一。換到的是維度二,也就是明天還認得。如果你的業務鍵是三四個欄位拼起來的,代理鍵還能在查詢上把那 43% 賺回來;如果業務鍵本來就是單欄,選代理鍵就是花寫入成本買穩定,不是為了速度。這些數字只代表這台機器、這個資料量,要看的是方向。另外,流水號和 UUID 都是代理鍵;UUID 比整數寬,這次的實測只量了整數。 寬度之外,複合鍵還有第二個代價。候選鍵的定義要求不能有多餘的欄位:拿掉任何一欄,就不再唯一[5](#fn-5)。這不只是理論上的整潔——鍵裡每多一個欄位,就多一個可能被更正的值,維度二的風險跟著變大。 ### 六、五種鍵的排序:兩個維度放在一起看 要靠一把鍵認人的地方,不管是 CDC 套用變更、中台的事實表 JOIN,還是 SCD 的版本表,要的都不只是此刻找得到那一列,還要在每一個時間點都找到同一列:維度一要過,維度二也要過。把兩個維度放在一起,就能把前面談過的五種鍵畫在同一張圖上。 ![五種鍵放在兩個維度的平面上:右上是代理鍵當主鍵,兩個維度都過;左上是業務值當主鍵、業務值當 NOT NULL 唯一鍵,值會變但看得到,以及 rowid,位置會變、沒有紀錄還會被重用;左下是允許 NULL 的唯一鍵,NULL 那筆從一開始就認不出人。橫軸分三級:變了看不到、會變看得到、不會變](https://moradatajourney.com/content/images/2026/09/diagram-key-ranking-v4.png) 五種鍵放到兩個維度上。前三名此刻都認得準,差別在值會不會變;紅色的兩個,一個認不出人,一個變了看不到,所以排在最後。 排序時先比值的來源,再比宣告的角色:同樣是主鍵,代理鍵排在業務值前面。 | 名次 | 鍵 | 此刻認得準? | 明天還認得? | 值一變,會斷在哪裡 | | -- | ----------------- | ------------------- | ---------------------------------- | --------------------------- | | 1 | 代理鍵當主鍵 | ✅ | ✅ 不會變 | 不會斷:值不會變 | | 2 | 業務值當主鍵 | ✅ | ⚠️ 會變,看得到:更正、合併是一筆 UPDATE 或 DELETE | 掛在舊值上的紀錄會斷;有外鍵時,「找不到主人」會被擋下 | | 3 | 業務值當 NOT NULL 唯一鍵 | ✅ | ⚠️ 同上 | 同上,但外鍵預設不參照它,要另外指定 | | 4 | 允許 NULL 的唯一鍵 | ❌ NULL 那筆用 \= 永遠對不到 | ⚠️ 同上 | NULL 那筆從一開始就認不出人 | | 5 | rowid | 只保證這一刻 | ❌ 會變、看不到,還會被重用 | 位置被重用,改到別人也沒有訊號 | 幾點說明: - **第 2 名排在第 3 名前面,不是因為主鍵的值比較不會變,而是主鍵預設就有保護**:來源端預設記下主鍵的舊值[7](#fn-7)、CDC 工具預設先找主鍵[6](#fn-6)、外鍵預設參照主鍵[17](#fn-17)。唯一鍵要另外設定,才有同樣的保護。 - **rowid 排最後**:它落在維度二的第三級。允許 NULL 的唯一鍵,有值的那些列至少認得準;rowid 連有值的列,明天都可能換人,而且換的時候沒有任何紀錄 - **第 1 名有前提:這個號碼只給系統用,不讓人看、不讓人查**。會員編號是系統發號,但印在會員卡上、被拿去查詢,所以屬於第 2 名。代理鍵也不是永遠不變:Codd 1979 有提到兩個資料庫合併時代理鍵可能要重發[8](#fn-8);但那是系統層級的一次性工程,不是日常業務裡的更正與合併 回到開頭顧問的建議。把現有的唯一鍵升成主鍵,改的是角色:CDC 工具會優先用它、外鍵會參照它,在排序表上從第 3 名升到第 2 名。但值還是同一個業務值,維度二沒有改變,更正和合併照樣會讓它變。要走到第 1 名,得另外加一個流水號,代價是第五節量到的寫入成本。兩個做法不是誰對誰錯,而是花多少成本、買到哪一個維度。 > **唯一+NOT NULL 保證此刻認得準,代理鍵(Surrogate Key)保證明天還認得。** 把這五種鍵真的接上 CDC 工具,會怎樣?[〈數據中台同一筆變更,該套到哪一列?〉](https://moradatajourney.com/data-platform-cdc-row-identity/)用開源的 Debezium 實跑:設定補齊之後,前三種鍵的同步結果都一致,差別只剩這篇講的這一層,也就是值會不會變。一張沒有主鍵的舊表值不值得補主鍵,也在那一篇。 --- **參考資料** 1. HCL Informix 文件,CREATE INDEX:「A column with a unique index can have, at most, one NULL value.」[https://informix.hcldoc.com/12.10/help/topic/com.ibm.sqls.doc/ids\_sqs\_0402.htm](https://informix.hcldoc.com/12.10/help/topic/com.ibm.sqls.doc/ids%5Fsqs%5F0402.htm?ref=moradatajourney.com) (查證日 2026-09-24) [↩](#fnref-1) 2. Microsoft 官方文件,Unique constraints and check constraints:唯一約束只允許一個 NULL 值。[https://learn.microsoft.com/en-us/sql/relational-databases/tables/unique-constraints-and-check-constraints](https://learn.microsoft.com/en-us/sql/relational-databases/tables/unique-constraints-and-check-constraints?ref=moradatajourney.com) (查證日 2026-09-24) [↩](#fnref-2) 3. Oracle 官方文件,constraint:單欄唯一鍵可以包含 NULL;複合唯一鍵中全部欄位皆為 NULL 的列一律滿足約束。[https://docs.oracle.com/en/database/oracle/oracle-database/19/sqlrf/constraint.html](https://docs.oracle.com/en/database/oracle/oracle-database/19/sqlrf/constraint.html?ref=moradatajourney.com) (查證日 2026-09-24) [↩](#fnref-3) 4. PostgreSQL 官方文件,Constraints:唯一性比較中兩個 null 預設不視為相等,因此可存進多列 null;可用 `NULLS NOT DISTINCT` 改變此行為。[https://www.postgresql.org/docs/current/ddl-constraints.html](https://www.postgresql.org/docs/current/ddl-constraints.html?ref=moradatajourney.com) (查證日 2026-09-24) [↩](#fnref-4) 5. E. F. Codd,〈Further Normalization of the Data Base Relational Model〉, IBM Research Report RJ909, 1971, §1.3:定義候選鍵,並說明主鍵的欄位不可為未定義值、其他欄位可以。(轉錄版)[https://thaumatorium.com/articles/the-papers-of-ef-the-coddfather-codd/1971b-further-normalization-of-the-data-base-relational-model/](https://thaumatorium.com/articles/the-papers-of-ef-the-coddfather-codd/1971b-further-normalization-of-the-data-base-relational-model/?ref=moradatajourney.com) (查證日 2026-09-24) [↩](#fnref-5) 6. Oracle 官方文件,Database-Level Supplemental Logging:無主鍵但有一個以上不可為空的唯一索引鍵時,會挑其中一個作為識別該列的依據。[https://docs.oracle.com/database/121/SUTIL/GUID-D2DDD67C-E1CC-45A6-A2A7-198E4C142FA3.htm](https://docs.oracle.com/database/121/SUTIL/GUID-D2DDD67C-E1CC-45A6-A2A7-198E4C142FA3.htm?ref=moradatajourney.com) (查證日 2026-09-19) [↩](#fnref-6) 7. PostgreSQL 官方文件,ALTER TABLE,REPLICA IDENTITY:預設(DEFAULT)記錄主鍵欄位的舊值;USING INDEX 指定的索引必須「unique, not partial, not deferrable, and include only columns marked NOT NULL」;「If this index is dropped, the behavior is the same as NOTHING」。[https://www.postgresql.org/docs/current/sql-altertable.html](https://www.postgresql.org/docs/current/sql-altertable.html?ref=moradatajourney.com) (查證日 2026-09-24) [↩](#fnref-7) 8. E. F. Codd,〈Extending the Database Relational Model to Capture More Meaning〉, ACM TODS 4(4), 1979, §4, pp. 409–410:使用者控制的鍵「must therefore be subject to change by them」(例:兩家公司合併後員工編號被改);系統指派的代理鍵,使用者「have no control over its value, nor is its value ever displayed to them」。他也承認「Actually, under the covers, such surrogates may have to be changed (e.g., when two previously independent databases are combined into one)」。Codd 在文中註明,此概念部分來自 Hall, Owlett & Todd(1976)〈Relations and entities〉。 [↩](#fnref-8) 9. Ralph Kimball,〈Surrogate Keys〉, Kimball Group, 1998-05-02:「Production keys such as product keys or customer keys are generated, formatted, updated, deleted, recycled, and reused according to the dictates of production.」[https://www.kimballgroup.com/1998/05/surrogate-keys/](https://www.kimballgroup.com/1998/05/surrogate-keys/?ref=moradatajourney.com) (查證日 2026-09-24) [↩](#fnref-9) 10. Debezium 官方文件,PostgreSQL connector:「When a key changes, Debezium outputs three events: a DELETE event and a tombstone event with the old key for the row, followed by an event with the new key for the row.」[https://debezium.io/documentation/reference/stable/connectors/postgresql.html](https://debezium.io/documentation/reference/stable/connectors/postgresql.html?ref=moradatajourney.com) (查證日 2026-09-24) [↩](#fnref-10) 11. Snowflake 官方文件,Overview of Constraints:一般資料表的 PRIMARY KEY、UNIQUE、FOREIGN KEY 為「Optional, not enforced」,NOT NULL 為「Optional, enforced」;hybrid table 例外。[https://docs.snowflake.com/en/sql-reference/constraints-overview](https://docs.snowflake.com/en/sql-reference/constraints-overview?ref=moradatajourney.com) (查證日 2026-09-24) [↩](#fnref-11) 12. Google Cloud 官方文件,BigQuery primary and foreign keys:「BigQuery doesn't enforce primary and foreign key constraints.」「Queries over tables with violated constraints might return incorrect results.」[https://docs.cloud.google.com/bigquery/docs/primary-foreign-keys](https://docs.cloud.google.com/bigquery/docs/primary-foreign-keys?ref=moradatajourney.com) (查證日 2026-09-24) [↩](#fnref-12) 13. HCL Informix 文件,Definition of Rowid/forward pointer:「Every data row in a nonfragmented table is uniquely identified by an unchanging rowid.」資料列變長、原頁放不下而搬家時,原位置留下指向新位置的 forward pointer。[https://help.hcl-software.com/hclinformix/1410/adr/ids\_adr\_0305.html](https://help.hcl-software.com/hclinformix/1410/adr/ids%5Fadr%5F0305.html?ref=moradatajourney.com) (查證日 2026-09-24) [↩](#fnref-13) 14. PostgreSQL 官方文件,System Columns:`ctid` 是該列版本在表中的實體位置;列被更新或被 `VACUUM FULL` 搬動時會改變,因此不應當作列的識別碼,應該用主鍵來識別邏輯上的列。[https://www.postgresql.org/docs/current/ddl-system-columns.html](https://www.postgresql.org/docs/current/ddl-system-columns.html?ref=moradatajourney.com) (查證日 2026-09-20) [↩](#fnref-14) 15. HCL Informix 文件,Using Rowids:文件建議使用主鍵作為存取方法,而不是倚賴 rowid 欄位。[https://help.hcl-software.com/hclinformix/1410/sqs/ids\_sqs\_1440.html](https://help.hcl-software.com/hclinformix/1410/sqs/ids%5Fsqs%5F1440.html?ref=moradatajourney.com) (查證日 2026-09-19) [↩](#fnref-15) 16. E. F. Codd,〈A Relational Model of Data for Large Shared Data Banks〉, CACM 13(6), 1970, p. 377 摘要:「Future users of large data banks must be protected from having to know how the data is organized in the machine (the internal representation).」[https://www.engineering.upenn.edu/\~zives/03f/cis550/codd.pdf](https://www.engineering.upenn.edu/~zives/03f/cis550/codd.pdf?ref=moradatajourney.com) (查證日 2026-09-24) [↩](#fnref-16) 17. PostgreSQL 官方文件,Constraints(Foreign Keys):「in absence of a column list the primary key of the referenced table is used as the referenced column(s).」[https://www.postgresql.org/docs/current/ddl-constraints.html](https://www.postgresql.org/docs/current/ddl-constraints.html?ref=moradatajourney.com) (查證日 2026-09-24;沙盒 `pk_prequel_checks.sql` C4 實跑相符) [↩](#fnref-17) --- **延伸閱讀** - [數據中台 CDC 開了,資料就會同步嗎?三種做法的機制,以及 Oracle 與 Informix 的現實選項](https://moradatajourney.com/data-platform-cdc-methods/) - [小明搬家了,去年的業績算台北還是台中?圖解數據中台的緩慢變動維度(SCD)](https://moradatajourney.com/data-platform-scd/) 如果你也走在自己的路上,歡迎訂閱《小穗步電子報》——我會把每一次的覺察與練習,寫成信寄給你。→ [訂閱小穗步電子報](https://moradatajourney.com/#/portal/signup) ### 數據中台 CDC 開了,資料就會同步嗎?三種做法的機制,以及 Oracle 與 Informix 的現實選項 URL: https://moradatajourney.com/data-platform-cdc-methods/ Last updated: 2026-09-20T07:47:43.000Z ### 三種做法的機制,以及 Oracle 與 Informix 的現實選項 AI 讓資料需求變了:要更即時、要更多來源、要更細的顆粒度。 過去的做法是每天晚上跑一次批次,把資料搬進資料倉儲。這個節奏現在不夠用;而為了不影響線上資料庫的效能,也不能單純把批次跑得更密。 於是方向轉成另一種:來源資料庫一有變動,資料倉儲就跟著改。這種技術叫 CDC(Change Data Capture,變更資料擷取)。 很多人以為**CDC 啟用了,資料就會同步**,但這句話是否成立,要根據資料現況架構來決定。 我自己也是為這件事思考了許久,才漸漸逐漸清晰,因此就把目前得到的想法,寫下來,跟大家一起交流。 CDC 確實會把來源系統裡發生的每一筆變更讀出來,一筆不漏。但「讀出來」跟「正確地放進目標端」是兩件事,中間隔著一個問題:**這筆變更,該套用到目標端的哪一列?** 回答這個問題的東西,就是資料庫的鍵(Key)。 這一篇先講前半段——CDC 怎麼把變更讀出來,三種做法各自的機制與代價,開源工具選了哪一種,以及 Oracle 和 Informix 這兩套在台灣核心系統裡最常見的資料庫,各自給了什麼選項。 ### 一、三種做法,三個攔截點 CDC 的全名是 Change Data Capture,中文常翻成「變更資料擷取」。它要做的事一句話講得完:**找出來源資料庫裡哪些資料變了,把變更送到另一個地方。[1](#fn-1)** 差別在於,你要站在哪裡取得資料變了的資訊。 ![三種 CDC 做法的攔截點對照:查詢法站在資料表外面定時撈、觸發器法站在應用程式寫入資料表的路徑上攔截、日誌法站在交易日誌旁邊讀。三欄各列出抓得到與抓不到的東西,底部指出真正的差別是「誰在保證它的正確」](https://moradatajourney.com/content/images/2026/09/diagram-three-methods.png) 同一筆資料變更,三種做法各自在不同的位置攔截——查詢法在資料表外面,觸發器法在寫入的路徑上,日誌法在資料庫自己的日誌裡。 ### 二、查詢法:站在表的外面,定時去問 這個做法你可能已經很熟了,只是它在你那裡叫別的名字。如果你聽過、或自己做過「每天晚上跑批次,把有異動的資料抓進資料倉儲」——**那就是這一種**。 不過有兩個容易混在一起的軸要分開:**「批次還是即時」講的是節奏,「怎麼知道哪些變了」講的是方法。** - 每晚把整張表重抓一次 → 那不是 CDC,是全量重載 - 每晚只抓有異動的那些 → **這才是查詢法** - 即時同步 → 通常指的是日誌法 同一種方法也可以跑不同節奏:查詢法每分鐘跑一次,就很接近即時;日誌法累積一批再套用,也可以做成批次。所以下次聽到「我們是批次」「我們要即時」,先問一句:那你怎麼知道哪些資料變了? 最直覺的做法。在來源表上找一個「最後更新時間」的欄位,定時去撈: ```sql SELECT * FROM 主檔 WHERE last_upd_time > '上次抓到這裡的時間'; ``` 每五分鐘跑一次,把這五分鐘內動過的列撈出來。只要那個欄位已經存在,就不用改資料庫、不用特殊權限,寫個排程就能上線——這是它唯一但很重要的優點。 它抓不到三種東西: **第一,刪除。** 一筆資料被刪掉之後,它不會留下一列告訴你「我被刪了」。你的查詢只看得到還在的資料,看不到消失的。想抓到刪除,只剩一條路:把整張表撈回來跟目標端比對——那已經不叫 CDC 了。 **第二,中間狀態。** 五分鐘抓一次,如果這五分鐘內同一筆資料改了三次,你只會看到最後一次的樣子。對「現在長什麼樣」的需求來說這沒差,對「這筆資料的變化過程」就全丟了。 **第三,沒有時間欄位的表。** 這是最現實的一個。跑了幾十年的系統裡,很多表根本沒有 `last_upd_time`。 就算有,還有一個更麻煩的問題:**那個欄位是應用程式在維護的,不是資料庫保證的。** 只要有人用 SQL 直接改了資料——維運修個資料、批次程式跑一段更新——那個欄位就不會動,而你的 CDC 永遠不會知道這筆資料變過。 換句話說,查詢法的正確性靠的是紀律,不是結構。 順帶一提:如果你現在用排程工具做增量抽取——每天定時跑一段 `WHERE last_upd > 上次的水位線`(也就是上次抓到哪個時間點)——**那就是查詢法**。你已經在做 CDC 了,只是沒人這樣叫它。 差別不在機制,在三件事:誰記住「上次抓到哪裡」、邊界條件誰處理、重跑會發生什麼。中間那一項最吃人——等號要不要含(`>` 還是 `>=`,差一筆或重一筆)、同一秒內寫進來的多筆資料(時間戳精度不夠就會漏),還有最陰險的一個:**交易還沒提交,但時間戳欄位的值已經寫好了**。你在那一刻撈,撈不到它;等它提交之後,它的時間戳已經小於你的水位線,於是再也撈不到了。 這方法也是我們將線上資料導入數據中台時,一開始想要做的作法,因為這方法複雜度低,但也才發現不是所有方法都能適用,技術的導入會受到原有資料架構的限制。 ### 三、觸發器法:站在寫入的路徑上 在來源表掛一個觸發器(trigger),每次有人 INSERT、UPDATE、DELETE,就順手往一張「變更記錄表」寫一筆。 它把查詢法的三個缺口都補上了:刪除抓得到、每一次變更都抓得到、不需要依賴應用程式維護的時間欄位。 代價也很直接: **它在寫入的路徑上。** 來源系統每寫一筆資料,資料庫要多做一次寫入。交易變長、鎖住資料的時間變長。平常感覺不出來,尖峰時段或批次作業的時候會。 **它要改來源資料庫的結構。** 加觸發器、加記錄表,都是對正式環境的結構變更。在受法規監理的產業裡,這件事的流程成本往往比技術成本高得多。 **最嚴重的一點:觸發器出錯,觸發它的那個寫入會跟著失敗。** Informix 的文件講得很直接:觸發器失敗時,資料庫會把觸發敘述與觸發器做的事一起回滾(roll back)[2](#fn-2)——對使用者來說,那就是「存不進去」。你的資料同步需求,變成了來源系統的營運風險。對一套二十四小時不能停的核心系統來說,這一條通常就足以否決這個方案。 你可能會想:另外兩種做法出錯,不也一樣有影響嗎? 差別在站的位置。**只有觸發器站在來源系統的寫入交易裡面。** 查詢法站在讀取端,它出錯是查詢失敗或變慢,來源系統照常寫入;日誌法讀的是已經寫完的日誌,它出錯是同步落後,來源系統也照常寫入。 另外兩種最壞的情況是「同步壞了」,觸發器法最壞的情況是「**來源系統壞了**」。 **為什麼要這樣設計:你在手工重建資料庫的日誌** 那張變更記錄表不是隨便記記就好,它要記六件事,每一件都有非它不可的理由。拿 SQL Server 內建 CDC 的「變更表」來對照會很清楚——那是同一件事的官方版本: | 變更記錄表要記什麼 | 為什麼非記不可 | SQL Server 的官方做法 | | ------------- | ------------------------- | --------------------------------------------- | | 操作類型 | 下游對新增、修改、刪除的處理完全不同 | \_\_$operation:1 刪除、2 新增、3 更新前、4 更新後 | | 先後順序 | 同一列被改了三次,套用順序錯了結果就錯 | \_\_$start\_lsn(交易編號)加上 \_\_$seqval(同一交易內的排序) | | 整列的值,不是只有變的欄位 | 下游可能還沒有這一列,只給變更欄位它拼不出完整的列 | 變更表的欄位鏡像來源表 | | 更新前的舊值 | 下游要靠舊值才知道「改的是哪一列」 | 一次更新拆成兩列:更新前一列、更新後一列 | | 哪些欄位變了 | 有些下游只關心特定欄位的變動 | \_\_$update\_mask 位元遮罩 | | 已經消費到哪裡 | 下游讀到哪、哪些可以清掉 | 依編號範圍查詢,加上清理工作(預設保留三天) | 你用觸發器手工做的那張表,微軟用讀日誌的方式幫你做好了,而且欄位設計幾乎一樣[3](#fn-3)。差別只有一個:**官方版站在日誌那一側,手工版站在寫入的路徑上。** ![同一個存檔動作的兩種站位:觸發器站在交易範圍裡面,它失敗會讓整筆交易回滾、使用者看到存檔失敗;讀日誌站在交易結束之後,它失敗只是同步落後,使用者完全無感](https://moradatajourney.com/content/images/2026/09/diagram-where-you-stand.png) 同一個存檔動作,觸發器站在交易裡面、讀日誌站在交易外面。平常看不出差別,出事的時候差別就是全部。 維護成本也有具體的長相:來源端加一個欄位,你要改四個地方——記錄表加欄位,三個觸發器各改一次。漏改一個,那個欄位的變更就永遠傳不到下游,**而且不會報錯**。 ### 四、日誌法:站在資料庫自己的日誌裡 資料庫本來就會把每一筆變更寫進交易日誌——Oracle 叫 redo log,Informix 叫 logical log,PostgreSQL 叫 WAL[4](#fn-4)。那份東西的原始用途是災難復原:機器掛了之後,資料庫靠它把沒寫完的交易重放一次。 日誌法的想法很簡單:**既然資料庫已經幫我們記好了,直接去讀那份記錄就好。** 它的好處是前兩種做法都給不了的: - **對來源系統幾乎零侵入**:不改表結構、不掛觸發器、不在寫入的路徑上。它讀的是資料庫已經寫好的檔案 - **刪除、每一次變更,全都抓得到**:因為日誌本來就要記錄這些,否則災難復原會不完整 - **抓得到「改之前的值」**:日誌裡不只有新的值,也有舊的值。這一點在下一篇會變成主角 代價有三個: - **要碰資料庫的日誌層**,需要 DBA 權限與額外設定,不是應用團隊自己就能開起來的 - **各家的日誌格式都不一樣**,而且是內部格式。換一套資料庫,等於換一套工具 - **日誌有保存期限**。管線停太久,需要的那段日誌已經被覆蓋掉,就只能重新做一次全量 ### 五、三種做法的對照 | | 查詢法 | 觸發器法 | 日誌法 | | -------------- | ---------------------------------- | ------------------------------ | ----------------------------------- | | 抓得到刪除嗎 | 抓不到 | 抓得到 | 抓得到 | | 抓得到中間狀態嗎 | 抓不到 | 抓得到 | 抓得到 | | 對來源系統的負擔 | 每次查詢都要掃描 | 每次寫入都多寫一筆 | 幾乎沒有 | | 要不要改來源結構 | 要有時間欄位 | 要加觸發器與記錄表 | 不改結構,但要設定 | | 延遲 | 看排程頻率 | 接近即時 | 接近即時 | | **建起來有多難** | **低**——寫個排程就能上線 | **中**——要設計記錄表、寫三個觸發器,而且動的是正式環境 | **高**——要 DBA 權限、要懂這套資料庫的日誌設定、要選一套工具 | | **長期維護的負擔** | **中**——邊界條件得自己一直顧(等號、同一秒多筆、未提交的交易) | **高**——來源加一個欄位,記錄表與三個觸發器都要跟著改 | **低**——多數雜事由工具處理,剩下日誌保存期與故障復原要顧 | | **出錯時最嚴重會怎樣** | 漏抓,而且不會有人發現 | **來源系統的寫入跟著失敗** | 同步落後;日誌被覆蓋就得重做全量 | | **誰在保證它的正確** | 應用程式的紀律 | 觸發器的邏輯 | 資料庫自己的日誌 | | **本質上靠什麼** | **紀律** | **一半結構、一半紀律** | **結構** | | **是不是資料庫原生功能** | 不是,用一般 SQL 自己拼 | 不是,用觸發器自己拼 | **是,各家都做成了正式功能** | 先看中間那兩列,它們的方向是相反的:**最容易開始的那一種,長期成本最高**。查詢法寫個排程就能上線,但那些邊界條件會一直回來找你;日誌法門檻最高——要權限、要懂日誌設定——可是建好之後,多數雜事是工具在做。 這張表的重點在下面那幾列。從上到下,正確性的保證從「人有沒有照規矩做」一路換成「資料庫本來就會做的事」;而最後一列說明了為什麼會這樣——**只有日誌法需要資料庫原生支援,也只有它被各家做成了正式功能**,另外兩種都是你用資料庫的一般能力自己拼出來的。 這也是我在其他題目上反覆遇到的同一件事:**能從結構裡取得的保證,就不要靠紀律去維持。** ### 順便把三個詞分開:目標、方法、工具 看完這三種做法,這裡順便把三個很容易混在一起的詞分開——很多討論之所以卡住,是因為把它們當成同一層的東西在比: | 層次 | 是什麼 | 情境 | | -- | -------- | ----------------------------------- | | 目標 | 你要解決的問題 | 哪些資料變了,怎麼正確送到另一邊 | | 方法 | 用什麼手法解決它 | 查詢法、觸發器法、日誌法 | | 工具 | 誰來執行 | Airflow(排程器)、Debezium、資料庫內建的 CDC 功能 | Airflow 那類排程工具**不是 CDC 工具**,它只負責「時間到了,執行這段程式」。真正在做 CDC 的,是你寫在裡面的那段 SQL。所以「用 Airflow 做增量抽取」與「用 Debezium 讀日誌」不是兩種工具之爭,是兩種**方法**之爭。 還有一個常見的誤會:**CDC 不等於即時**。即時是日誌法帶來的附加效果,不是 CDC 的定義。一天跑一次的查詢法,一樣是 CDC——它回答的是同一個問題:哪些資料變了。 ### 六、為什麼主流收斂到日誌法——以及它不是唯一答案 看完三種做法的對照,日誌法勝出好像是理所當然的。但我想把理由講清楚,因為它不是「比較新」或「比較潮」。 **前兩種做法的缺口是結構性的。** 查詢法看不到刪除,不是因為實作不夠好,是因為被刪掉的資料真的不在那裡了;觸發器法會影響來源系統,不是因為程式寫得爛,是因為它本來就站在寫入的路徑上。這兩個缺口,換人做、換語言寫、多給預算,都補不起來。 日誌法之所以能同時避開這兩個問題,是因為它站在一個特別的位置:**資料庫為了自己的可靠性,已經把所有變更都記下來了。** CDC 只是搭了這個便車。 不過我要誠實地講反面——**這不代表每張表都該用日誌法。** 一條 CDC 管線是一個要長期照顧的東西:日誌保存期要監控、來源端改結構要處理、故障之後要知道從哪裡接回去。這些維護成本是固定的,不會因為那張表只有五千筆資料就變少。 所以對那些**資料量小、變更不頻繁、可以忍受一天一次延遲**的表,每晚整批重抓一次,往往比維護一條 CDC 管線更划算——而且它天生沒有「接縫」問題,每次重抓都是完整的。 判斷的標準是這四個:表有多大、變更有多頻繁、能忍受多少延遲、有沒有人長期維護這條管線。**前三個是技術問題,第四個才是決定性的。** ### 七、開源套件選了哪一種,以及它用行為回答了我們的問題 現在最常被提到的開源 CDC 工具是 Debezium,它走的是日誌法。 但我想講的不是它選了哪一種,而是**它在一個特定情況下的行為**——那個行為,剛好直接回答了開場那個問題。 Debezium 的官方文件寫著:如果一張表沒有主鍵,連接器**不會發出 UPDATE 和 DELETE 事件,只發出新增事件**[5](#fn-5)。 不是效能比較差、不是需要額外設定,是**直接不發**。 你可以用 `message.key.columns` 這個設定,明確指定拿哪幾個欄位當作那張表的鍵,來繞過這個限制。但那個設定長這樣——`表名:欄位,欄位`,多張表用分號隔開[5](#fn-5)。表名可以用正則表達式一次涵蓋很多張表,但**欄位名必須一個一個寫出來**——也就是說,你得先知道每一張表該拿哪幾個欄位當鍵。而那,正是你原本想問工具的問題。 我第一次讀到這段的時候愣了一下,後來覺得這是我看過最誠實的設計決定。一個 UPDATE 事件的意思是「把目標端的某一列改成這樣」,一個 DELETE 事件的意思是「把目標端的某一列刪掉」。如果工具不知道是哪一列,它有兩個選擇:猜,或是不做。 Debezium 選了不做。 **所以「CDC 開了,資料就會同步嗎」這個問題,業界最成熟的開源工具已經用行為回答過了:不會。** 它甚至不會讓你走到出錯那一步,它會直接告訴你——這張表我不處理。 ### 八、Oracle 與 Informix:兩條路,同一個問題 我接觸到的醫療核心系統,原有資料庫多半是Oracle 與 Informix這兩套的其中一套。它們對 CDC 的態度差很多,值得並排看一次。 在看這兩家之前,先把格局講清楚:**三種做法是手法的分類,不是「每家資料庫提供三個選項」**。各家做成正式功能的原生 CDC,一律是日誌法——這是查得到的共同格局: | 資料庫 | 它的交易日誌叫什麼 | 原生的 CDC 怎麼做 | | ---------- | --------------- | ----------------------------------------------------------------- | | SQL Server | transaction log | 內建 CDC 功能,官方明講變更資料的來源就是交易日誌[3](#fn-3) | | Oracle | redo log | 原生 CDC 12c 起移除,官方指向 GoldenGate[6](#fn-6);開源路徑走 LogMiner[7](#fn-7) | | PostgreSQL | WAL | logical decoding 把 SQL 造成的修改串流給外部消費者[8](#fn-8) | | MySQL | binary log | binlog 記錄描述資料庫變更的事件,用於複製與還原[9](#fn-9) | | MariaDB | binary log | 同樣是 binlog;Debezium 為它另備一個獨立的連接器[10](#fn-10) | | Informix | logical log | CDC API 讀 logical log[11](#fn-11) | 反過來說,**查詢法與觸發器法,沒有任何一家把它們做成「CDC 功能」**。因為它們不需要資料庫提供什麼特別能力——一個時間欄位、一個觸發器,都是你自己就能做的事。所以更準確的講法是:只有日誌法需要資料庫原生支援,也只有它被各家做成了正式功能;另外兩種,是你用資料庫的一般能力自己拼出來的。 還有一個跨廠商的細節值得記著:SQL Server 把一次更新拆成「更新前」與「更新後」兩列[3](#fn-3),跟 Informix 的兩種更新記錄型別[12](#fn-12) **完全一樣**。不是誰抄誰,是日誌法都得解決同一個問題——下游必須知道「改之前長什麼樣」,才知道該改哪一列。 ![Oracle 與 Informix 的 CDC 路徑對照:Oracle 原生 CDC 在 12c 起不再包含、官方指向商用授權的 GoldenGate,開源走 LogMiner,前置設定叫 supplemental logging;Informix 內建 CDC API 讀 logical log、沒有主流開源連接器,前置設定叫 cdc_set_fullrowlogging。下半部是 Oracle 無主鍵時的三段式判斷:有主鍵記主鍵、只有唯一索引挑一個、兩者皆無就整列所有欄位都記](https://moradatajourney.com/content/images/2026/09/diagram-oracle-informix.png) 同樣是日誌法,Oracle 與 Informix 從「原生功能」到「前置設定」的路徑完全不同,但最後都走到同一個問題:沒有主鍵的時候怎麼辦。 | | Oracle | Informix | | --------- | ----------------------------------------------------------------------------- | ---------------------------------------------------- | | 原生 CDC 功能 | **12c 起不再包含**,官方明講已由 GoldenGate 取代[6](#fn-6) | 內建 Change Data Capture API,讀 logical log[11](#fn-11) | | 要另外付費嗎 | GoldenGate 是獨立授權的商用產品[6](#fn-6) | CDC API 是資料庫內建的功能 | | 開源路徑 | Debezium 的 Oracle 連接器(預設走 LogMiner,也支援 XStream 與 OpenLogReplicator)[7](#fn-7) | 沒有主流的開源連接器,多半自行開發或用第三方工具 | | 前置設定叫什麼 | supplemental logging(補充記錄)[13](#fn-13) | cdc\_set\_fullrowlogging()(全列記錄)[14](#fn-14) | | 改之前的值怎麼來 | 由 supplemental logging 的層級決定[13](#fn-13) | 記錄型別直接分成「更新前」與「更新後」兩種[12](#fn-12) | | 初始全量誰做 | 工具通常自帶 | **文件明講不提供,要自己做**[11](#fn-11) | 這張表裡我覺得最有意思的一格,是**沒有主鍵的時候,資料庫自己會怎麼辦**。 Oracle 的文件把它的判斷順序寫得很清楚[13](#fn-13): 1. **這張表有主鍵** → 就記主鍵欄位 2. **沒有主鍵,但有一個以上不可為空的唯一索引** → 挑其中一個唯一索引當作識別 3. **兩個都沒有** → 除了 LONG 和 LOB 這類大欄位以外,**整列的所有欄位都記下來** 第三段的意思值得停下來想一下:當 Oracle 找不到任何一把可靠的鑰匙時,它的選擇是**把整列都記下來**,用「所有欄位的值都一樣」來確認這是同一列。 這個選擇很貴——日誌量會膨脹,下游比對的時候沒有索引可用。但它換到一件事:**只要值對,就一定是對的那一列。** 還有一個細節:第二段那個「挑其中一個」,**文件沒有說是怎麼挑的**。有多個唯一索引的時候,選擇權在資料庫手上,不在你手上。我找不到任何公開文件說明這個規則。 這件事本身就是一個結論:**沒有寫在文件裡的行為,不能當成設計的依據。** 它今天可能挑索引 A,某次升版或索引重建之後可能挑 B,而你不會收到通知——你的下游程式如果假設了某一把鑰匙,那個假設隨時可能在你不知情的狀況下失效。 也因為這樣,Oracle 官方直接建議:使用這個功能時,**大部分的表都應該要有主鍵或唯一索引鍵**[13](#fn-13)。 我想強調的是最後這一點。這不是某個顧問的意見,也不是教科書的理想狀況——**是資料庫廠商在自己的文件裡,為了自己功能的正確性,請你把鍵補上。** ### 九、CDC 不負責的三件事 日誌法解決了「怎麼把變更讀出來」。但有三件事,它從一開始就沒有承諾要做。 ![CDC 管線圖:來源資料庫的交易日誌經 CDC 送到目標端,CDC 只負責中間那一段;兩端掛著三個缺口——開始之前的既有資料要自己做全量、開始之後的結構變更不會被捕捉、每一筆變更該落到哪一列取決於鍵](https://moradatajourney.com/content/images/2026/09/diagram-three-gaps.png) CDC 負責的是中間那一段;兩端還有三件事沒人接手——開始之前的既有資料、開始之後的結構變更,以及每一筆變更該落到哪一列。 ### 第一件:既有的那幾千萬筆資料 Informix 的 CDC API 文件講得很直接:它**只捕捉開始擷取之後發生的變更,不提供表內現有內容的快照**[11](#fn-11)。 意思是,完整的串接一定是兩段:先做一次全量複製,再從某個日誌位置接上增量。 而這兩段之間有一個接縫,那個接縫是很多人踩過的坑: - **接縫漏了**——全量拍完到開始監聽之間發生的變更沒被抓到。結果是目標端永遠少那幾筆,而且**不會有任何警訊**,因為之後的同步一切正常 - **接縫重了**——同一批變更被套用了兩次。這時候有沒有主鍵,結果天差地遠:**有主鍵的話重複套用是安全的**(同樣的更新做兩次,結果一樣);沒有主鍵的話,重複套用就是實實在在多出好幾列資料 第二點值得記下來,因為它把「要不要補主鍵」的理由從「怕改錯列」擴大到另一個層次:**一條不能安全重跑的管線,每一次故障復原都得靠人工判斷該從哪裡接回去。** 而故障一定會發生。 ### 第二件:開始之後的結構變更 同一份文件也寫了:**開始擷取之後的 schema 變更不會被捕捉**[11](#fn-11)。 來源端加了一個欄位、改了一個欄位的長度,管線不會自己知道。 這其實不是技術問題,是**責任歸屬**的問題:來源系統改結構的時候,下游要怎麼事前知道? 順帶一提,這件事各家處理的程度不同。SQL Server 的 CDC 有一套明確的策略:啟用 CDC **不會阻止你對來源表做結構變更**,但擷取程序會忽略那些「啟用當時沒被指定要擷取」的新欄位;被刪掉的欄位,之後的變更記錄補上 NULL;既有欄位改型別則會傳播到變更表。所有 DDL 事件另外記進一張歷史表,下游可以查[3](#fn-3)。 換句話說,**不是不能加欄位,是加了之後 CDC 不會自動跟上**——要讓新欄位進入同步,得為那張表另外建一個擷取設定(同一張表最多兩個,可以新舊並行一段時間再切換)[3](#fn-3)。代價是你仍然要有人去看、去決定什麼時候切。 Informix 的規則更嚴格,而且這一點是我查證之後才發現的:它的文件寫著,**擷取進行中的表,你去 ALTER 它會直接失敗**[11](#fn-11)。也就是說結構要改,得先停止擷取。好消息是停掉之後重新啟動,可以從當初停下來的那個日誌位置接續[11](#fn-11)。 同一個問題,兩家的處理方式剛好相反:SQL Server 讓你改、但同步不會跟上;Informix 不讓你改、逼你先停下來。**後者其實比較不容易悄悄出錯**——它會擋住你,而不是默默地漏掉那個欄位。不過這個嚴格在某些場合會變成難題:一套二十四小時不能停的系統,要先停止擷取才能改結構,而停機窗口正是這類系統最難排的東西。Informix 原生 CDC API 的這條規則,對它們來說是實際的限制。 理想的答案是上游宣告——改表之前先通報、把欄位清單當成一份雙方都認可的約定,改變之前要先協商。我同意這是對的方向,也必須誠實地說:**當來源是一套買來的商用套裝系統時,下游通常沒有立場要求對方宣告任何事。** 所以務實的做法是自己補一層:把來源的欄位清單納入版本控制,定期比對一次,有差異就跳出來。這一層靠的是紀律不是結構,但它至少把「悄悄地錯」變成「定期會有人發現」。 我們自己的串接又往前走了一步:**來源端的結構變化會被自動偵測,管線也跟著調整**,不必等人去比對。做到這一步,這件事就從紀律變回了結構——上面那一句「靠紀律」講的是最低標準,不是天花板。 ### 第三件:這筆變更該套到哪一列 這就是開場那個問題,也是下一篇的全部內容。 這裡先講一件容易被跳過的事:**CDC 交到你手上的,是來源表的原樣。** 表名還是來源系統的表名,欄位名還是那些看不懂的縮寫,一個實體的資料散在七八張表裡。它是一份忠實的複本——但複本不等於可以用。業務單位打開它,一個欄位都認不得。 **同步完成,跟資料可以用,中間還隔著整個建模的工作。** CDC 把水送到了,但廚房還沒開。 ### 十、CDC 是水龍頭,不是廚房 回到開場那個問題。 CDC 啟用了,代表的是:來源系統裡每一筆變更,都會被讀出來,一筆不漏。這件事它做得非常好,而且對來源系統幾乎沒有負擔。 它不代表的是:那些變更會正確地落到目標端該落的位置。 水龍頭打開了,水會流出來——這是 CDC 的承諾。水會流進哪個桶子、會不會倒進別人的桶子裡,它從來沒有承諾過。決定這件事的,是那張表有沒有一把穩定的鑰匙。 而 Oracle 在文件裡請你補上主鍵、Debezium 在沒有主鍵時乾脆不發事件——這兩件事其實在講同一句話,只是一個用建議的,一個用行動的。 最後說幾件這篇沒談、但你遲早會遇到的事: - **延遲到底多少**:文中只說「接近即時」。實際量級取決於工具、設定與來源端的交易量,從秒到分鐘都有可能,這篇不做數字宣稱。 - **管線壞了怎麼發現**:CDC 本身也是一套要被監控的系統。它停掉的時候目標端不會報錯,只會停止變新——這種「安靜的故障」需要另外設監控。 - **第二套來源系統接進來怎麼辦**:兩套系統對同一個實體用不同的鍵、事件順序也各走各的,那是整合層要解的題,不是 CDC 能解的。 - **非關聯式資料庫**:這篇談的是關聯式資料庫。MongoDB 的 change streams 是讓應用程式直接訂閱資料變更,底層讀的是它自己的操作日誌 oplog[15](#fn-15);原理相通(都是讀那份為了可靠性而本來就存在的記錄),但名詞、保證與限制都得另外談。 下一篇,我們來看那三種鑰匙:主鍵、唯一鍵、還有那個看起來能用、其實不能用的 rowid。它們在「同一筆變更該套到哪一列」這個問題上,差別到底在哪裡;以及一張沒有主鍵的舊表,到底值不值得花力氣把主鍵補上。 Oracle Database Concepts(online redo log 記錄資料檔的變更)[https://docs.oracle.com/en/database/oracle/oracle-database/19/cncpt/oracle-database-instance.html](https://docs.oracle.com/en/database/oracle/oracle-database/19/cncpt/oracle-database-instance.html?ref=moradatajourney.com); HCL Informix,Transaction logging(交易的記錄稱 log records,存放的空間稱 logical log)[https://help.hcl-software.com/hclinformix/15.0.0/sqt/ids\_sqt\_279.html](https://help.hcl-software.com/hclinformix/15.0.0/sqt/ids%5Fsqt%5F279.html?ref=moradatajourney.com); PostgreSQL,Write-Ahead Logging [https://www.postgresql.org/docs/current/wal-intro.html](https://www.postgresql.org/docs/current/wal-intro.html?ref=moradatajourney.com) (查證日 2026-09-20) --- **參考資料** 1. IBM,What Is Change Data Capture?:把 log-based、timestamp-based 與 trigger-based 列為最常見的幾種做法,並說明 timestamp-based 需要 schema 具備時間戳欄位、且在時間戳隨整列被刪除時捕捉不到刪除操作。[https://www.ibm.com/think/topics/change-data-capture](https://www.ibm.com/think/topics/change-data-capture?ref=moradatajourney.com) (查證日 2026-09-20) [↩](#fnref-1) 2. HCL Informix 文件,BEFORE 與 AFTER 觸發動作:在有交易記錄的資料庫中,觸發器失敗時,資料庫伺服器會回滾觸發敘述與觸發動作所做的變更。[https://help.hcl-software.com/hclinformix/1410/sqt/ids\_sqt\_530.html](https://help.hcl-software.com/hclinformix/1410/sqt/ids%5Fsqt%5F530.html?ref=moradatajourney.com) (查證日 2026-09-20) [↩](#fnref-2) 3. Microsoft 官方文件,SQL Server 的 change data capture:變更資料的來源是 SQL Server 的交易日誌;擷取程序讀取日誌,把變更寫進變更表。同一頁也說明啟用 CDC 不會阻止來源表做結構變更,以及新增欄位、刪除欄位、型別變更各自的處理方式。[https://learn.microsoft.com/en-us/sql/relational-databases/track-changes/about-change-data-capture-sql-server](https://learn.microsoft.com/en-us/sql/relational-databases/track-changes/about-change-data-capture-sql-server?ref=moradatajourney.com) (查證日 2026-09-20) [↩](#fnref-3) 4. 三家官方文件對交易日誌的定名與定義: [↩](#fnref-4) 5. Debezium 官方文件,PostgreSQL 連接器:表沒有主鍵時不發出 UPDATE/DELETE 事件,只發出新增事件;可用 `message.key.columns` 覆寫表的主鍵。[https://debezium.io/documentation/reference/stable/connectors/postgresql.html](https://debezium.io/documentation/reference/stable/connectors/postgresql.html?ref=moradatajourney.com) 該設定的格式為「完整表名:欄位,欄位」、多張表以分號分隔,見 Confluent 的 Debezium 連接器設定文件:[https://docs.confluent.io/kafka-connectors/debezium-mysql-source/current/mysql\_source\_connector\_config.html](https://docs.confluent.io/kafka-connectors/debezium-mysql-source/current/mysql%5Fsource%5Fconnector%5Fconfig.html?ref=moradatajourney.com) (查證日 2026-09-19) [↩](#fnref-5) 6. Oracle Database 12c 廢止功能文件,8.2.2 節:Oracle Change Data Capture 不包含在 12c 中,已由 Oracle GoldenGate 取代。[https://docs.oracle.com/database/121/UPGRD/deprecated.htm](https://docs.oracle.com/database/121/UPGRD/deprecated.htm?ref=moradatajourney.com) (查證日 2026-09-19) [↩](#fnref-6) 7. Debezium 官方文件,Oracle 連接器:可透過原生 LogMiner(預設)、XStream API 或 OpenLogReplicator 三種方式擷取變更。[https://debezium.io/documentation/reference/stable/connectors/oracle.html](https://debezium.io/documentation/reference/stable/connectors/oracle.html?ref=moradatajourney.com) (查證日 2026-09-20) [↩](#fnref-7) 8. PostgreSQL 官方文件,Logical Decoding:把經由 SQL 造成的修改串流給外部消費者;UPDATE 與 DELETE 的舊值是否可得,取決於該表的 REPLICA IDENTITY 設定。[https://www.postgresql.org/docs/current/logicaldecoding.html](https://www.postgresql.org/docs/current/logicaldecoding.html?ref=moradatajourney.com) (查證日 2026-09-20) [↩](#fnref-8) 9. MySQL 官方手冊,The Binary Log:binlog 包含描述資料庫變更的事件,用於複製與資料還原。[https://dev.mysql.com/doc/refman/8.4/en/binary-log.html](https://dev.mysql.com/doc/refman/8.4/en/binary-log.html?ref=moradatajourney.com) (查證日 2026-09-20) [↩](#fnref-9) 10. MariaDB 官方文件,Binary Log:binlog 記錄資料庫的所有變更,格式分為 statement、row 與 mixed 三種。Debezium 另備獨立的 MariaDB 連接器,讀 binlog 產生列層級的變更事件:[https://mariadb.com/kb/en/binary-log/](https://mariadb.com/kb/en/binary-log/?ref=moradatajourney.com) 、[https://debezium.io/documentation/reference/stable/connectors/mariadb.html](https://debezium.io/documentation/reference/stable/connectors/mariadb.html?ref=moradatajourney.com) (查證日 2026-09-20) [↩](#fnref-10) 11. HCL Informix 文件,Change Data Capture API:讀 logical log 並依序處理交易;不提供表內容的初始快照;資料庫必須啟用 logging;不捕捉表結構的變更或其他資料庫變更;**擷取進行中對該表執行 alter 會失敗**;停止擷取後重新啟動,可從停止時的 logical log 位置接續。[https://help.hcl-software.com/hclinformix/1410/cdc/ids\_cdc\_057.html](https://help.hcl-software.com/hclinformix/1410/cdc/ids%5Fcdc%5F057.html?ref=moradatajourney.com) (查證日 2026-09-19,ALTER 與重啟兩項 2026-09-20 補查) [↩](#fnref-11) 12. HCL Informix 文件,CDC 記錄格式:記錄型別包含 CDC\_REC\_UPDBEF(更新前的整列影像)與 CDC\_REC\_UPDAFT(更新後)。[https://help.hcl-software.com/hclinformix/1410/cdc/ids\_cdc\_029.html](https://help.hcl-software.com/hclinformix/1410/cdc/ids%5Fcdc%5F029.html?ref=moradatajourney.com)、[https://help.hcl-software.com/onedb/2.0.1/cdc/ids\_cdc\_040.html](https://help.hcl-software.com/onedb/2.0.1/cdc/ids%5Fcdc%5F040.html?ref=moradatajourney.com) (查證日 2026-09-19) [↩](#fnref-12) 13. Oracle 文件,Database-Level Supplemental Logging:無主鍵但有不可為空的唯一索引時,挑其中一個作為識別;兩者皆無時,除 LONG 與 LOB 外所有欄位都會被補充記錄;官方建議大部分表都應具備主鍵或唯一索引鍵。文件未說明多個唯一索引時的挑選規則。[https://docs.oracle.com/database/121/SUTIL/GUID-D2DDD67C-E1CC-45A6-A2A7-198E4C142FA3.htm](https://docs.oracle.com/database/121/SUTIL/GUID-D2DDD67C-E1CC-45A6-A2A7-198E4C142FA3.htm?ref=moradatajourney.com) (查證日 2026-09-19) [↩](#fnref-13) 14. HCL Informix 文件,`cdc_set_fullrowlogging()`:對要擷取的表啟用全列記錄,需以 informix 使用者執行。[https://help.hcl-software.com/hclinformix/1410/cdc/ids\_cdc\_059.html](https://help.hcl-software.com/hclinformix/1410/cdc/ids%5Fcdc%5F059.html?ref=moradatajourney.com) (查證日 2026-09-19) [↩](#fnref-14) 15. MongoDB 官方文件,Change Streams:讓應用程式取得即時的資料變更,不必自行 tail oplog(複本集的操作日誌)。[https://www.mongodb.com/docs/manual/changeStreams/](https://www.mongodb.com/docs/manual/changeStreams/?ref=moradatajourney.com) (查證日 2026-09-20) [↩](#fnref-15) --- **延伸閱讀** - [資料庫用空白代替 NULL 會發生什麼事?缺值檢查失效,以及數據中台對於「未知」的解法](https://moradatajourney.com/data-platform-blank-not-null/) - [為什麼資料庫裡會有 2899 年?一個假日期,和它離開系統之後的麻煩,數據中台能解這些麻煩?](https://moradatajourney.com/data-platform-sentinel-value/) 如果你也走在自己的路上,歡迎訂閱《小穗步電子報》——我會把每一次的覺察與練習,寫成信寄給你。→ [訂閱小穗步電子報](https://moradatajourney.com/#/portal/signup) ### 資料庫用空白代替 NULL 會發生什麼事?缺值檢查失效,以及數據中台對於「未知」的解法 URL: https://moradatajourney.com/data-platform-blank-not-null/ Last updated: 2026-09-12T13:30:44.000Z 有一份統計報表,分析男生女生的比例,同事 A 算的男生與女生比例合計是 92.38%,同事 B 算出來是 100%,誰是對的?直覺選 B,但 B 一定是對的嗎? ### 兩份報表,加起來對不上 年底要交一份客戶組成報告,其中一格是「女性客戶佔比」。兩個同事各自撈了一次。 A 同事分別數了男性和女性: | 性別 | 佔比 | | ------------- | ------ | | 女性(sex = '2') | 70.36% | | 男性(sex = '1') | 22.02% | | 合計 | 92.38% | 合計不是 100%。少了 7.6 個百分點。 B 同事的寫法不一樣。他想:不是男性就是女性,所以用「不是男性」來算女性佔比: ```sql SELECT COUNT(*) FROM customer WHERE sex <> '1'; ``` 算出來女性 77.98%,男性 22.02%,加起來剛好 100%。 兩份報表放在主管桌上。B 那份看起來比較乾淨——它加得起來。 A 同事不甘心。他想到的第一件事很合理:一定是有人沒填性別。於是他去查缺值: ```sql SELECT COUNT(*) FROM customer WHERE sex IS NULL; -- 回:0 ``` 零筆。他又打開資料品質工具,那一欄的完整度寫著:100%。 每一個檢查都說,這個欄位沒有缺值。 但那 7.6% 的人確實存在,而且確實不知道性別。他們只是沒有被記成 NULL——他們被記成了一個空白字元。 更麻煩的是:看起來比較乾淨的 B 那份報表,恰恰是錯得最深的那份。 ![兩份報表並排:A 同事的長條中女 70.36%、男 22.02%,中間 7.61% 是虛線缺口,合計 92.38%;B 同事用「不是男性」算女性,同一段 7.61% 被塗成紅色併進女性,合計剛好 100%](https://moradatajourney.com/content/images/2026/09/diagram-two-reports.png) A 報表男女加起來只有 92.38%,B 報表加起來剛好 100%——但加得起來的那份,是把不知道性別的人全部算成了女性。 ### 為什麼會有一套沒有 NULL 的系統 NULL 是資料庫裡表示「這一格沒有值」的專用標記。空白不一樣,空白是一個真的字元,就像你按了一下空白鍵——它是「有值,只是值長那樣」。 這套系統的欄位,幾乎一律設成了 NOT NULL:資料庫不允許這一格是空的。我一開始以為只是幾張表,實際查下去,是全系統的慣例。 一格不准是空的,那「不知道」要填什麼?只好為每一種型別發明一個代表沒有的值。日期欄位填一個不可能的日期(有興趣的人可以參考這篇文章[〈為什麼資料庫裡會有 2899 年?〉](https://moradatajourney.com/data-platform-sentinel-value/)),字串欄位填空白。 我沒有機會訪問當年的設計者,所以我不猜他們為什麼這麼做。但這樣做買到了什麼,是看得出來的。 在那個年代,程式是用嵌入式 SQL 寫的——SQL 直接寫在 COBOL 或 C 的程式裡。每從資料庫取一個可能是 NULL 的欄位,程式就得多準備一個「指示變數(indicator variable)」,專門用來接「這格是不是空的」這個訊號。漏了的話,輕則報錯,重則程式拿著一個不合法的值繼續算。一個欄位一個,幾千個欄位就是幾千個。 全系統禁止 NULL,這個成本就一次歸零:每一支程式都可以放心假設,取回來的每一格都有值。 這樣的做法在那個年代並不特別。COBOL 程式初始化一個變數,預設就是文字填空白、數字填 0;同時代的 IBM DB2,欄位設成 NOT NULL WITH DEFAULT 之後,沒給值的時候,固定長度的文字欄位會自動填空白、數字填 0。「空白和 0 代表沒有」,是那一整個年代的慣例,不是哪個團隊的怪癖。 跟 2899 這個哨兵值(拿一個特殊的值來代表「沒有」)一樣,這是一個工程上划算的決定,不是偷懶。它在那套系統裡運作得很好,到今天也是。 麻煩發生在資料離開那套系統、被拿去分析的時候。 ### 空白怎麼讓常見的缺值檢查一起失效 回到那個性別欄位。這是它實際的分布: | 值 | 意思 | 佔比 | | ---- | --- | ------ | | 2 | 女 | 70.36% | | 1 | 男 | 22.02% | | 空白 | 不知道 | 7.61% | | NULL | — | 0 筆 | 編碼 1 是男、2 是女,跟身分證字號第一碼的慣例一樣。空白佔了 7.61%——大約每 13 個人就有一個。 ### 每一種標準檢查都回報「完整」 平常我們怎麼檢查一個欄位有沒有缺值?大概三種做法: - 用 `WHERE sex IS NULL` 數缺值——回 0 - 比較 `COUNT(*)` 和 `COUNT(sex)`:後者只數不是 NULL 的列,兩個一樣大就代表沒有缺值——兩個一樣大 - 用資料品質工具或 BI 的欄位剖析,看「完整度」——100% 三種方法,三個「沒問題」。它們沒有壞,它們都在忠實地回答同一個問題:這一欄有沒有 NULL?答案是沒有。 嚴格說,有些工具會把長度為零的空字串也算成缺值;但一個空白字元,多半還是被當成有值。 問題是,那不是你想問的問題。你想問的是「有沒有人不知道性別」,而這套系統把「不知道」存成了一個不是 NULL 的東西。 一套 NOT NULL 全開的系統,會讓常見的缺值檢查同時失效。**你不是查不到問題,是被告知沒有問題。** 後者比前者危險。查不到,你還會繼續查;被告知沒有,你就不查了。 至於要怎麼把空白抓出來,那是另一個題目;這篇先把它造成的後果講清楚。 ### 三種女性佔比,全部算得出來,全部不同 那 7.61% 不會待在原地,它會跑進每一個用到這個欄位的數字裡。光是「女性佔比」這一格,就有三種算法: | 算法 | 女性佔比 | | ---------------------- | ------ | | 分母包含空白(女 ÷ 全部) | 70.36% | | 分母排除空白(女 ÷ 有填的) | 76.16% | | 用「不是男性」當女性(sex <> '1') | 77.98% | 最高和最低差了 7.6 個百分點。男女比也跟著從 1 : 3.19 變成 1 : 3.54。 前兩種是「分母怎麼選」的問題,只要講清楚,兩個都說得通。第三種不一樣,它不是規則不同,是算錯了。但它是三個裡面最容易被寫出來的那個——只要一個條件就寫完了。 ### 同一個條件,NULL 和空白錯在相反的方向 `sex <> '1'`(sex 不等於 1)這句話,想表達的是「不是男性」。 如果這個欄位沒有值就存成 NULL,會發生什麼事?我在[〈為什麼資料庫裡會有 2899 年?〉](https://moradatajourney.com/data-platform-sentinel-value/)講過 SQL 的三值邏輯:`NULL <> '1'` 的結果不是 TRUE 也不是 FALSE,是 UNKNOWN,而 WHERE 只留 TRUE。所以性別未知的那群人會**消失**——既不在男性裡,也不在「不是男性」裡。 如果沒有值就存成空白呢?空白是一個真的值,空白不等於 `'1'`,結果是 TRUE。所以他們會**被算進「不是男性」**——也就是被當成女性。 ![同一個條件 sex <> '1' 下的兩種欄位設計:設計一沒有值就存成 NULL,性別未知的 7.61% 被 WHERE 丟掉、從結果消失;設計二沒有值就存成空白,這 7.61% 被算進「不是男性」、當成女性。兩種錯方向相反,都不報錯](https://moradatajourney.com/content/images/2026/09/diagram-opposite-errors.png) 空白讓一群人被歸錯邊。 而空白這種錯更難發現,因為總數還是對的。這就是開頭 B 那份報表加得起來的原因:它沒有漏掉任何人,它只是把一群不知道性別的人,全部當成了女性。加得起來,不代表算對了。 ### 還有兩個會讓使用資料的人誤解的地方 - `GROUP BY sex` 會多出一組,名字是一片空白。前端顯示成一個空的格子,看的人通常以為是排版問題。 - 空白這個字元,在多數資料庫的預設排序裡排在數字前面。按性別排序的報表,第一列就是那群不知道性別的人。 ### 那在來源端改回 NULL 不就好了? 發現之後,最直覺的想法是回到源頭修掉: ```sql UPDATE customer SET sex = NULL WHERE TRIM(sex) = ''; ``` 這句不會成功。欄位是 NOT NULL,資料庫會直接擋下來——這一格在結構上就不允許放 NULL。 那把 NOT NULL 這條規定拿掉呢?技術上做得到,但你動的不是一個欄位,是一個全系統的前提。那套系統裡的每一支程式,都是在「這裡永遠有值」這個前提下寫出來的,它們從來不需要處理 NULL。這條規定一拿掉,就得確認每一支讀這個欄位的程式,遇到 NULL 時不會出錯。在一套跑了幾十年的系統裡,這個回歸測試的範圍,就是 2899 那篇說的「沒有人敢批」。 那從今天起,在輸入畫面把性別改成必填呢?這能擋住新進來的空白,但已經存在的那 7.61% 不會自己變回來。 有人會說,那在來源加一個 view,把空白轉掉就好。只有一套系統的話,確實可以。但當你有好幾套系統、好幾種「不知道」的寫法時,這條路能走多遠,是另一篇的題目。 來源放不回去,解法就只能往下游走。 ### 數據中台的做法:給「未知」一個名字 ### 不翻成 NULL,翻成「未知」 在 dim 層(數據中台整理好、要給人查的那一層)建一張代碼對照表,把來源的每一種寫法,對應成一個有名字的值: | 來源系統 | 欄位 | 來源值 | 代碼 | 名稱 | | ---- | --- | ---- | -- | -- | | 核心系統 | sex | 1 | M | 男 | | 核心系統 | sex | 2 | F | 女 | | 核心系統 | sex | (空白) | U | 未知 | dim 層的客戶資料就不再存 1、2、空白,而是存對照過的代碼和名稱: ```sql SELECT c.customer_id, COALESCE(m.code, 'U') AS gender_code, COALESCE(m.label, '未知') AS gender_label, CASE WHEN m.code IS NULL THEN 'Y' ELSE 'N' END AS is_unmapped FROM ods_customer c LEFT JOIN code_map m ON m.source_system = '核心系統' AND m.source_column = 'sex' AND m.source_value = COALESCE(NULLIF(TRIM(c.sex), ''), '(空白)'); ``` `COALESCE` 的意思是「前面是空的,就用後面這個」。空白會先被統一成 `(空白)` 這個明確的值,再去對照表查。對照表裡找不到的值,一樣歸成「未知」,但會被 `is_unmapped` 標出來——哪天冒出新寫法,檢查會亮燈,而不是被悄悄吞進「未知」。 ![代碼對照表的流程:來源 sex 欄位的 1、2、空白,經過對照表分別翻成 M 男、F 女、U 未知;對照表找不到的新寫法也一律歸為 U 未知](https://moradatajourney.com/content/images/2026/09/diagram-named-unknown.png) 來源的 1、2、空白,經過對照表變成男、女、未知。「未知」不再是一格空白,而是一個可以被數、被篩選、被討論的類別。 ### 為什麼這次不用 NULL 在[〈為什麼資料庫裡會有 2899 年?〉](https://moradatajourney.com/data-platform-sentinel-value/)那篇,日期欄位我選擇翻譯成 NULL;這一篇的性別欄位,翻譯成 NULL 反而會出錯。差別在於這一格要拿去做什麼。 失效日要拿來**算**:減法、比大小、判斷有沒有過期。假日期一被拿去算,就會算出幾百年,所以我讓它真的空。([Kimball 自己的範例](https://www.kimballgroup.com/2008/11/design-tip-107-using-the-sql-merge-statement-for-slowly-changing-dimension-processing/?ref=moradatajourney.com)用的是一個遠未來的日期,換來範圍條件比較好寫。兩種做法都有人用,差在你比較怕哪一種錯。) 性別要拿來**分類**:分組、計數、算佔比。一個分類要能被數,就得有名字。NULL 在分組裡雖然會自成一組,但只要碰到 `<>`、`NOT IN` 這類條件,它就會像前面那樣整群消失。 同一個「沒有」,在不同用途下有不同的正確答案。 資料倉儲領域最常被引用的 Kimball Group,在 2003 年的一篇設計建議([Design Tip #43](https://www.kimballgroup.com/2003/02/design-tip-43-dealing-with-nulls-in-the-dimensional-model/?ref=moradatajourney.com))裡就寫過兩件事。第一,維度的屬性(性別、地區這類描述性的欄位)不要放 NULL,改放「Unknown」「Not provided」這類有描述的字串,因為 NULL 在報表和下拉選單上只會顯示成一片空白。第二,事實表裡要拿來加總的數值,則要保留 NULL、不要填 0,因為加總和平均會正確略過 NULL。 第一點就是這一節的「未知」,第二點則提醒:數字欄位的「沒有」,不要用 0 代替。所以問題從來不是用不用 NULL——連 Kimball 都叫你別在維度裡放 NULL。**差別在於那個「沒有」,有沒有被取一個名字。** [Kimball 也提醒](https://www.kimballgroup.com/data-warehouse-business-intelligence-resources/kimball-techniques/dimensional-modeling-techniques/null-dimension-attribute/?ref=moradatajourney.com),「沒有」分兩種:一種是有答案、只是沒記錄(Unknown),一種是這一格本來就不適用(Not Applicable)。來源分得出這兩種,對照表就多一列;這套系統分不出來,所以只有一個「未知」。 ### 名字給出去之後,三件事變得不一樣 **一、報表加得起來,而且沒有人被歸錯邊。** | 性別 | 佔比 | | -- | ------ | | 女 | 70.36% | | 男 | 22.02% | | 未知 | 7.61% | 「未知」自己是一列,站在報表上,誰都看得見。 **二、「分母要不要含未知」從一個意外,變成一個選擇。** 以前那三種女性佔比,差別藏在 SQL 的寫法裡,寫的人自己可能都沒發現。現在「未知」是一個具名的類別,要不要放進分母,你得明確地決定,而且這個決定會寫在報表的定義裡。70.36% 和 76.16% 都可以是對的答案,只要說清楚是哪一種。77.98% 那種錯法則不會再發生——沒有人會把「未知」寫成「女」。 **三、缺值第一次變成一個量得到的指標。** 以前的品質報告寫著 100% 完整。現在你可以問:「未知」佔多少?這個月比上個月多還是少?新進來的資料裡還有沒有?這些問題以前不存在,因為工具告訴你沒有缺值。 ![三種應對方式比較表:照舊直接查來源,缺值檢查說 100% 完整、女性佔比有三個答案;在來源改回 NULL,被 NOT NULL 擋下、改不成;中台給「未知」一個名字,未知 7.61% 量得到、來源一行不動,代價是要有中台這一層](https://moradatajourney.com/content/images/2026/09/diagram-three-approaches.png) 三條路擺在一起:照舊會算錯,改來源改不成,中台讓「不知道」第一次被看見——代價是要有中台這一層。 ### 這一步和 2899 那篇的翻譯層,不是同一件事 2899 那篇的對照表,做的是「把約定寫下來」:2899 代表還沒結束,這件事原本只在程式碼裡,現在寫進了中台。 這一篇的對照表多做了一件事:給不知道一個名字。來源把「不知道」偽裝成一個看起來有值的空白;中台把它變回一個誠實的「未知」,放在大家看得到的地方。 ### 結語 回到開頭那兩份報表。B 那份看起來比較乾淨,因為它加得起來;A 那份看起來比較亂,因為它少了 7.6%。 但 A 那份才是誠實的那一份。它少掉的那 7.6%,就是這套系統裡不知道性別的人——它只是不知道該怎麼把他們講出來。 假日期、空白,都是同一種東西:一個偽裝成有值的「沒有」。它們在那套系統裡運作得很好,也不報錯,但它們讓外面的人和工具,把「不知道」誤認成「知道」。 > 假值假裝自己是真值;具名的「未知」誠實地說自己是未知。 如果讓 AI 來寫開頭那兩份報表,它看到 NOT NULL,會比 A 同事更早相信那個 100%。這條線,我留到之後專門寫一篇。 --- **延伸閱讀** - [為什麼資料庫裡會有 2899 年?一個假日期,和它離開系統之後的麻煩,數據中台能解這些麻煩?](https://moradatajourney.com/data-platform-sentinel-value/) - [小明搬家了,去年的業績算台北還是台中?圖解數據中台的緩慢變動維度(SCD)](https://moradatajourney.com/data-platform-scd/) 如果你也走在自己的路上,歡迎訂閱《小穗步電子報》——我會把每一次的覺察與練習,寫成信寄給你。→ [訂閱小穗步電子報](https://moradatajourney.com/#/portal/signup) ### 為什麼資料庫裡會有 2899 年?一個假日期,和它離開系統之後的麻煩,數據中台能解這些麻煩? URL: https://moradatajourney.com/data-platform-sentinel-value/ Last updated: 2026-09-05T05:53:18.000Z ### 資料庫歷史軌跡 寫上一篇文章的時候,我注意到一件事:很多資料庫會用 9999-12-31 這種不可能的未來日期,來表示「這筆還沒結束」。 再往下看才發現,資料庫裡的樣子其實是過往一層一層的技術疊出來的。沒有誰對誰錯,只是那些當年的做法,跟今天的工具不太合得來。 數據中台要怎麼設計,才能接住這些累積了幾十年的資料,讓後面的分析、報表、AI Agent 都用得下去? 這篇要想清楚的是:一個當年正確的設計,怎麼在資料跨出系統邊界的那一刻失去意義,以及數據中台這一層應該怎麼接。 有一套跑了幾十年的核心系統。它的主檔上有兩個欄位:`eff_dat`(生效日)和 `stop_dat`(失效日)。翻開資料,生效日各不相同,這很正常;但失效日全部長成同一個樣子: | eff\_dat | stop\_dat | | ---------- | ---------- | | 2019-03-01 | 2899-12-31 | | 2021-07-15 | 2899-12-31 | | 2024-11-02 | 2899-12-31 | 我第一次看到這類資料,皺了一下眉:為什麼不用 NULL?用一個未來的日期,不就等於說它還沒失效嗎? 而且如果有人把它當成真的日期去算使用期間,那不就失真了? 後來理解,這個值不是亂填的。它是一條**地平線**:一個你標得出座標、卻永遠走不到的點。挑一個保證比所有業務日期都晚的日期填進去,意思就是「這一筆還沒結束」。 這種「拿一個不可能的值來代表某種特殊狀態」的做法有個名字,叫**哨兵值**(sentinel value)——站在資料邊界上的哨兵。它比關聯式資料庫還老,早在穿孔卡的年代就在用了。後面我會交替用「地平線」和「哨兵值」,講的是同一件事。 而這個假日期要解決的問題,是 NULL。 NULL 是資料庫裡表示「這一格沒有值」的專用標記。它跟填 0、填空白不一樣——0 和空白都是「有值,只是值長那樣」,NULL 是明確地說「這裡什麼都沒有」。 ### 為什麼不乾脆用 NULL 「還沒失效」最直覺的寫法當然是 NULL——沒有失效日,就是沒有。問題出在 SQL 怎麼處理 NULL:`x < NULL` 的結果不是 TRUE 也不是 FALSE,是 UNKNOWN。而 WHERE 只留 TRUE。 所以只要用了 NULL,每一句查詢都得多帶一個分支: ```sql -- 用 NULL:每一句都要記得補後面這半段 AND (o.order_date < c.stop_dat OR c.stop_dat IS NULL) -- 用哨兵值:條件統一 AND o.order_date < c.stop_dat ``` 漏寫那個 `IS NULL` 會發生什麼事?**目前有效的那一列會整個消失在結果裡。** 不是報錯,是安靜地少一筆。 所以哨兵值買到的東西很明確:**每一句查詢都不必記得那件事。** 在一套有幾百張表、經手過幾十位工程師、跨越幾十年的系統裡,這個交換划算得不得了——它把「靠每個人記得」換成了「不必記得」。 如果你讀過上一篇的結尾,會發現這正是同一條原則:靠紀律不會成功,靠結構才會。**當年設計這兩個欄位的人,做的就是這件事。** 後來才明白,這不是壞設計,是那個年代的正確答案。當時對分析和應用的需求,也遠不像今天這麼強。 ### 其實這樣的設計還有幾個好處 - **排序和索引都成立**:所有真實日期都排在這個哨兵值前面,範圍查詢、`BETWEEN`、索引掃描全部正常運作。 - **人一眼就認得出來**:它長得就不像真的:2899-12-31,某個 99 年的最後一天。看到它你就知道「這不是到期日,是『沒有到期日』」——雖然這件事沒有寫在任何地方,靠的是看過的人自己會意。 ![時間軸上,真實的業務日期擠在最左邊一小段(大約 2000 到 2040 年),其餘一大段完全沒有資料,直到最右邊 2899-12-31 那條紅線。那條線是哨兵值,代表「還沒結束」,不是真的到期日](https://moradatajourney.com/content/images/2026/09/diagram-horizon.png) 真實的業務日期擠在左邊一小段,右邊那條線是哨兵值 2899-12-31——它不是到期日,是「沒有到期日」被硬塞進日期欄位之後的樣子。 ### 但這設計只有自己人看得懂 前面說「看到 2899 你就知道那不是真的到期日」——但這句話有個前提:**你得是看過的人。** 那這個約定到底寫在哪裡? - **不在 schema 裡。** 欄位型別就是 DATE,沒有任何地方標註「2899 代表還沒結束」 - **不在約束裡。** 沒有 CHECK、沒有外鍵,資料庫本身不知道這個值有特殊意思 - **不在資料字典裡。** 就算有字典,通常也只寫「eff\_dat:生效日期」 - 它寫在應用程式的程式碼裡,寫在幾支報表的 CASE WHEN 裡,寫在資深同事的腦袋裡 過去那套系統被設計出來的時候,**資料不會離開它**。查詢由它自己的程式發出,報表由它自己的模組印出。在那個世界裡,「約定寫在程式碼裡」就是最合理的地方——因為讀這份資料的,永遠只有這些程式。 換句話說:**約定的作用範圍,等於當時預期的讀者範圍。** 問題是讀者變了。 今天要讀這份資料的,還有數據中台的 ETL、BI 工具、資料科學家的 notebook,以及 AI Agent。這些讀者有一個共同點:**它們拿不到那份沒有被寫下來的知識。** > 約定只在寫下它的那套系統裡有效。跨出去一步,它就只是一個日期。 這也是為什麼「去問老員工」不會是解法。不是因為他們不願意講,而是**沒有人有辦法把所有約定講完**——它們散在幾十年、幾百張表裡,通常只有踩到的那一刻才會被想起來。 而且這件事只會越來越嚴重,因為讀者只會越來越多、越來越遠。二十年前那份資料的讀者是同一個機房裡的程式;今天它的讀者,可能是一個從來沒進過這棟樓的 Agent。 ![系統邊界左右對照:邊界之內,資料庫裡的 2899-12-31 加上程式碼裡的約定「2899 等於還沒結束」,讀出來是「這一筆還有效」;邊界之外只拿得到資料本身,約定拿不到,同一個值讀出來就變成「2899 年才到期」](https://moradatajourney.com/content/images/2026/09/diagram-scope.png) 系統邊界之內,約定由程式碼補上,一切正常;跨出邊界,讀者手上只剩一個日期。 ### 這樣的設計會發生怎樣的麻煩? 先講一件公道話:這套設計到今天還在正常運作。**在那套系統裡面**,每一句 SQL 都寫得對,每一張報表都跑得出來。 麻煩全部發生在資料離開那套系統的時候。 ### 一、凡是「算多久」的問題,答案不可信 哨兵值不是日期,但它長得像日期,所以它會被拿去算。 - 「這類項目平均有效多久?」→ 每一筆的結束日都是 2899,算出來全都是八百多年。平均值被這些列一拉,整個沒有意義。 - 「哪些快到期了?」→ 用 `stop_dat - CURRENT` 排序,那些「永遠有效」的列算出來是還有三十幾萬天,永遠排在最後面。這個結果剛好是對的,但它是**碰巧對**——換一個問法(例如「今年內到期的有幾個」)就開始出錯。 這一類最危險,因為**它不報錯**。數字跑得出來,格式正確,小數點後兩位,看起來就是一個答案。 ### 二、BI圖表和日期維度會爆炸 BI 工具處理日期時,常見的做法是依資料裡最早與最晚的日期建一張日期表。當最晚的日期是 2899,這張表要從最早一筆資料一路涵蓋到 2899——八百多年——而你真正需要的,可能只有最近五年。 折線圖也一樣:X 軸被兩端拉開,真實資料全部擠在中間很窄的一條。 ### 三、資料搬不出去(這一類會報錯,算是幸運的) 這是最具體的一種:**有些工具根本裝不下這兩個日期。** - pandas 的預設時間型別 `datetime64[ns]`,範圍是 1677-09-21 到 2262-04-11。2899 超出上界——**而且這個坑到今天還在**:在 pandas 2.3 上,單獨建一個 `Timestamp('2899-12-31')` 會成功(它會自動降到秒的解析度),但只要你把它讀成一欄資料,`to_datetime` 還是走 `datetime64[ns]`,直接丟 `OutOfBoundsDatetime`。**而「把資料讀成一欄」正是 ETL 每天在做的事。** - SQL Server 的 `smalldatetime`,範圍是 1900-01-01 到 2079-06-06。2899 塞不進去。 這一類反而該慶幸。它會爆、會停、會有人來查——比起上面那種安靜給你一個錯數字,會報錯的問題便宜太多了。 **錯誤的方向是不對稱的**:荒謬到一眼看穿的錯,是幸運的;看起來完全正常、只是意思已經不同的錯,才會活很久。 ### 四、兩套系統合不起來 真正卡住事情的是這一條。 另一套系統可能用 9999-12-31,可能用 NULL,也可能用別的值。當你想把兩邊的資料疊起來看——所謂「全機構一張表」——你會發現這件事在此之前**不是慢,是做不出來**。因為「還在有效中」這句話,在兩邊長得完全不一樣。 ### 五、看得懂它的,只有這套系統裡的人 新人接手,通常要踩過一次坑,才知道 2899 是什麼意思。 AI 更慘。你讓一個 Agent 去查資料,它看到 `stop_dat = 2899-12-31`,會照字面理解成「這筆到 2899 年才到期」。它不會皺眉,因為它沒有那個「這個值怪怪的」的直覺——**那個直覺是人待久了長出來的,從來沒有被寫進任何文件。** 這五件事的共同點是:**它們全都發生在那套系統的邊界之外。** 而這個約定,作用範圍就到邊界為止。 ### 順帶一提:這件事不只發生在日期欄位 如果你翻一下同一套系統的其他欄位,會看到字串欄位常常填著空白——不是 NULL,是一個真的空白字元。 那是同一個決定的另一種長相:**當一套系統把 NOT NULL 當成預設,它就得為每一種型別發明一個「代表沒有」的值。** 日期是假日期,字串是空白,數字可能是 0。 而空白比假日期更難抓,因為假日期長得很怪、會讓人皺眉,空白長得像正常資料。這個更大的題目我留到下一篇,這一篇先把日期講完。 ### 數據中台該怎麼應對與處理? **哨兵值是來源系統的實作細節,不該外洩到分析層。** 它跟資料庫用什麼字元集、主鍵是不是流水號一樣,屬於「那套系統怎麼把事情做出來」的細節。分析的人需要知道的是「這筆現在還有效嗎」,不需要知道那套系統用哪個假日期表示「有效中」。 我們舉例說明,假設小明是這套系統裡的一個客戶。他在主檔裡長這樣: | customer\_id | name | city | eff\_dat | stop\_dat | | ------------ | ---- | ---- | ---------- | ---------- | | C001 | 小明 | 台北 | 2019-03-01 | 2899-12-31 | 翻譯成人話:小明 2019 年入會,到現在還沒退。 現在有個分析師來問:**「小明的會員資格還有多久到期?」** 直接查來源,他會這樣寫: ```sql SELECT stop_dat - TODAY AS days_to_expiry FROM customer WHERE customer_id = 'C001'; -- 回:318,974 天,大約 873 年 ``` 不報錯,格式正確,數字很具體。而且如果報表上只顯示「到期倒數 318,974」,沒有單位、沒有上下文,多數人不會多看一眼。 接下來的五個步驟,就是要讓數據中台外面的人和工具,不必知道 2899 是什麼意思,也能把數字算對。 ![中台翻譯層的四欄流程:來源系統各自用 2899-12-31、9999-12-31、NULL 表示還沒結束;經過 ODS 營運資料儲存層原封不動照抄;再由哨兵值對照表翻譯、dim 維度層統一表示並加上 is_current 旗標;最後交付層包一層 view,分析師、BI 與 AI Agent 只看得到乾淨的答案](https://moradatajourney.com/content/images/2026/09/diagram-translation-layer.png) 多套來源、各自的哨兵值,經過對照表翻譯成統一表示,交付層再包一層 view,讓取數的人只看得到乾淨的答案。 ### 第一步:ODS 原封不動 ODS(Operational Data Store,營運資料儲存層)是中台最靠近來源的那一層。照抄,一個字都不要改。 理由不是懶,是**你必須留得住證據**。哪天報表對不起來要回頭追查,你得能證明「來源當初就長這樣」。如果在進門的時候就順手轉換掉,那條路就斷了。 轉換要做,但做在下一層。 **小明在這一步**:那一列原封不動抄進來,`stop_dat` 還是 2899-12-31。哪天有人回頭問「873 年是怎麼算出來的」,你翻得出來源當初就長這樣。 而且要能對得起來:ODS 裡 `stop_dat` 是 2899-12-31 的有幾列,dim 層 `valid_to` 是空的就該有幾列。留著不比對,出事的時候你只是多了一份一樣看不懂的資料。 ### 第二步:建一張對照表(這步是關鍵) 最直覺的做法是在 ETL 裡寫死判斷: ```sql CASE WHEN stop_dat = DATE '2899-12-31' THEN NULL ELSE stop_dat END ``` 能動,但它會害死你。因為半年後接第二套系統,那套用的是 9999-12-31;再半年第三套用 NULL 混著用。每接一套就回去改一次程式、改完要重測,而那些寫死的日期會散在幾十支腳本裡。 改成一張設定表: | 來源系統 | 表 | 欄位 | 哨兵值 | 代表意思 | | ----- | -------- | --------- | ---------- | ---- | | 核心系統 | customer | stop\_dat | 2899-12-31 | 還沒結束 | | 另一套系統 | member | valid\_to | 9999-12-31 | 還沒結束 | 轉換邏輯讀這張表,本身不認得任何特定日期。新系統接進來只要加幾列設定,**程式一行都不用改**。 **小明在這一步**:轉換程式並不認得 2899 這個日期,它是查到這張表的第一列,才知道該把它當成「還沒結束」。 注意這張表的粒度細到欄位,不是只到系統。因為在一套跑了幾十年的系統裡,同一個 2899 在 A 表可能是「這份合約沒有終止日」,在 B 表可能是「這個帳號還沒停用」——粒度粗一格,就會把兩件事混成一件。 還有一件事值得注意:**這張表跟型別無關。** 它記的是「哪個欄位的哪個值代表沒有」——日期只是最好講的例子,同一張表接得住字串、接得住數字。 這是同一條原則的又一次應用:**真相從可以驗證的結構裡取,不要靠人在程式裡記得。** 寫死的 CASE WHEN 是紀律,設定表是結構。 ### 第三步:dim 層統一表示 dim 層(dimension,維度層)是數據中台整理好、要給人查的那一層。對照表把各家哨兵翻譯完之後,數據中台自己只保留一種表示法,並且額外給一個 `is_current` 旗標。 分工很清楚:日期欄位負責回答「某個時間點的狀態」,旗標負責回答「現在」。後者是最高頻的問題,給它一個能直接建索引的布林值,比每次都做日期比對划算。 小明在 dim 層變成這樣: | customer\_key | customer\_id | name | valid\_from | valid\_to | is\_current | | ------------- | ------------ | ---- | ----------- | --------- | ----------- | | 1001 | C001 | 小明 | 2019-03-01 | (空) | Y | `valid_to` 是空的——不是 2899,是真的空。數據中台在這裡誠實地說了一句:這一筆沒有到期日。 你可能會想問:等一下,前面不是說 NULL 有三值邏輯的問題嗎?數據中台怎麼又用回 NULL 了? **因為條件變了。** 來源系統有幾百支程式在讀那張表,每一支都要記得補 `IS NULL` 那個分支——在那個條件下,用哨兵值划算。數據中台不一樣:讀 dim 層的不是幾百支程式,是一層 ETL(把資料從來源搬進數據中台、途中做整理的程式)加一層 view(一段存起來的查詢,別人查它就像查一張表),那個分支只要寫在那一層裡,寫一次,之後所有人都不會再碰到。 同一個取捨,在不同的約束下有不同的正確答案。**不是當年那些人錯了,是條件變了。** ### 第四步:交付層包一層 view 前面三步做完,數據中台裡面乾淨了,但取數的人還是可能繞過去直接查底層。 所以最後一哩是:**在交付層包一層 view,讓取數的人根本碰不到哨兵值。** 不是叫大家小心,是讓他們沒有機會接錯。 以小明為例,這層 view 長這樣: ```sql CREATE VIEW v_customer AS SELECT customer_id, name, valid_from, CASE WHEN valid_to IS NULL THEN NULL ELSE valid_to - TODAY END AS days_to_expiry, is_current FROM dim_customer; ``` 現在那位分析師再問一次「小明的會員資格還有多久到期?」——他查 `v_customer`,`days_to_expiry` 回來是空的。 **數據中台給的答案是「沒有到期日」。而「沒有到期日」比 873 年正確。** 這才是這一層真正的價值:它不是把資料變乾淨,是**把錯的答案變成沒有答案。** 拿到錯答案的人不會回頭查,沒有答案的人才會——而會回頭查的那個人,最後才做得出對的決策。 ### 第五步:讓中台自己找出你還不知道的哨兵值 哨兵值有一個統計上的指紋:**它會在同一個欄位裡出現異常多次。** 真實的生效日應該散在各個日期上,哨兵值卻會佔掉一大塊。 所以可以做一個檢查:掃每個日期欄位的值分布,只要某一個日期佔掉超過某個比例的列,就標記出來給人看一眼。 這招會幫你找到**你原本不知道存在的哨兵值**——那些沒有人告訴過你、只寫在某支舊程式裡的約定。門檻要用自己的資料去調,沒有通用的數字。 **小明在這一步**:就算沒有任何人告訴你 2899 是什麼意思,這個檢查也會把它挖出來——因為 customer 表裡有很高比例的列,`stop_dat` 都是同一天。真實的失效日不會這樣。 不過這個檢查給的是候選清單,不是判決書——有些高頻值本來就是合法的,最後還是要由懂那個欄位的人決定。 ### 五步走完,同一個問題 | 怎麼問「小明的會員資格還有多久到期?」 | 得到的答案 | | ------------------- | ----------------- | | 直接查來源 | 318,974 天,約 873 年 | | 數據中台的交付層 | 沒有到期日 | 前者不報錯,後者不好看。而後者是對的。 ### 如果源頭可以調整,還需要數據中台嗎? 你可能會問:既然來源端還在持續產生這種資料,為什麼不回去把來源改掉? 嗯,我一開始也是這樣想的——乾脆從源頭改掉算了。實際去理解之後才知道,改不動。 一套跑了幾十年的系統,動一個欄位的語意,牽動的回歸測試範圍大到沒有人敢批。 正因為改不動,**數據中台這層翻譯不是過渡方案,它是長期方案。** 它不會有拆掉的一天,它就是那套系統與外面世界之間的翻譯層。承認這件事,才會把它當成正式的東西來設計、來維護——而不是當成一個總有一天會清掉的權宜之計。 ### 有了數據中台統一標準後,從「做不出來」變成「做得出來」 前面那五步聽起來像工程整理——把髒東西清乾淨。但真正的重點是清乾淨之後**做得到的事**。這三件事在此之前不是慢,是根本沒有答案。 ### 先對一次帳:那五個麻煩,解掉了幾個 | 困擾與麻煩 | 數據中台能解決嗎? | | --------------- | ---------------------------------------------------- | | 一、「算多久」的答案不可信 | 解掉——交付層不會再給你一個假日期拿去算 | | 二、BI 日期維度被拉長 | 解掉——進 BI 的已經是翻譯過的值 | | 三、資料搬不出去(型別裝不下) | 解掉——極端值在中台這一層就被換掉了 | | 四、兩套系統合不起來 | 解掉——這正是那張對照表存在的理由 | | 五、只有自己人看得懂 | **只解一半**——中台把約定寫下來了,但只寫下它接進來的那些。沒接進中台的系統,約定還是在別人的腦袋裡 | 所以標題那個問號的答案是:**能,但範圍只到中台接得到的地方。** 中台不是把知識憑空變出來,它是把原本口耳相傳的東西,搬到一個機器讀得到的地方。 解掉之後呢?有三件原本做不到的事,變得做得到了。 ### 一、兩套系統第一次疊得起來 「全機構一張表」這種需求,通常會被當成整合工程的問題——接口、排程、對帳。但實際卡住它的,往往是更小的東西:**兩邊對「還在有效中」的寫法不一樣。** 哨兵值統一之後,兩套來源才第一次能放進同一個 WHERE 條件裡。這不是效能改善,是從「做不出來」變成「做得出來」。 ### 二、「有效期多長」這個問題第一次有答案 前面說過,這類問題原本算出來是八百多年。也就是說,**這個問題在此之前是沒有答案的**——不是答案不準,是根本問不了。 而它牽動的是一整類問題:平均有效期多長、什麼時候該續、哪些項目異常短命。這些是成效評估的基本盤。 ### 三、AI 取數變得可能 你讓一個 AI Agent 去查資料,它看到 `stop_dat = 2899-12-31`,會怎麼理解?照字面理解——這筆到 2899 年才到期。然後它會很有自信地把這個結論寫進答案裡,語氣通順、格式完美。 人類分析師不會犯這個錯。因為看過幾次之後,他會自動在心裡補一刀:「喔那個是無限大的意思。」 問題是——**那一刀從來沒有被寫下來過。** 它活在資深員工的腦袋裡,活在幾支舊程式的 CASE WHEN 裡,活在新人踩坑之後的口耳相傳裡。它從來不在 schema 裡,不在資料字典裡,不在任何 AI 讀得到的地方。 所以「讓 AI 直接查資料庫」這件事,卡住的往往不是模型不夠聰明,是**它拿不到那一刀**。 而數據中台做的事,說穿了就是:**把那一刀寫下來。** 寫成對照表、寫成統一的表示法、寫成交付層那個 view。寫下來之後,它才第一次同時被人和機器讀得到。 (有人會說,那把規則寫進 AI 的提示或 skill 裡不就好了?那確實比什麼都不寫好——它把隱性知識變成了顯性知識。但它是 context,不是約束:模型可能讀到,也可能沒讀到,而且它不會跟著資料走到別的工具去。這條線下一篇再談。) ### 結語 來源改不動,所以數據中台這一層做的不是補救歷史,是**止血**——每天新進來的資料,每天翻譯一次。 真正該帶走的不是「哨兵值不好」。哨兵值當年是對的,今天在那套系統裡也還是對的。該帶走的是這一句: > **約定只在寫下它的那套系統裡有效。** 寫完這篇之後,我心裡冒出一個問題:這種事,真的只發生在時間欄位嗎? 也想順便問你——**你的系統裡,有沒有這種「長得像資料的約定」?** 不一定是日期。可能是某個狀態碼,`9` 代表作廢;可能是某個代碼表,空白代表未分類;可能是某個數字欄位,`-1` 代表尚未計算。它們在系統裡都運作得很好,因為讀它們的程式知道規矩。 但只要哪天這份資料要被別人讀——被 BI 讀、被數據中台讀、被 AI 讀——那些規矩就得先被寫下來。 --- **延伸閱讀** - [小明搬家了,去年的業績算台北還是台中?圖解數據中台的緩慢變動維度(SCD)](https://moradatajourney.com/data-platform-scd/) - [直接撈線上資料庫不行嗎?OLTP 與 OLAP 的殘酷 SQL 對決](https://moradatajourney.com/data-platform-oltp-olap/) 如果你也走在自己的路上,歡迎訂閱《小穗步電子報》——我會把每一次的覺察與練習,寫成信寄給你。→ [訂閱小穗步電子報](https://moradatajourney.com/#/portal/signup) ### 小明搬家了,去年的業績算台北還是台中?圖解數據中台的緩慢變動維度(SCD) URL: https://moradatajourney.com/data-platform-scd/ Last updated: 2026-08-23T05:30:44.000Z 上一篇的最後,我留了一個問題: > 咖啡豆改了分類、客戶搬家換了城市,報表到底該看「當時」還是「現在」?線上資料庫系統會怎麼設計?如果沒有這樣的設計,數據中台有沒有辦法解? 這一篇就來回答這三題。而第三題的答案,可能跟你想的不一樣。 ### 答案要從業務問題找,不是從技術選項找 還記得那位在 2026 年 8 月買了兩包咖啡豆的小明嗎?他住台北。 2026 年 12 月,小明搬到台中,客服在系統裡把他的地址改掉了。 2027 年 1 月,老闆說:「把 2026 年 8 月的各城市銷售再調出來給我。」 **這筆 1,000 元,該算台北還是台中?** 先別急著找答案。兩個答案其實都對,端看這張報表要回答什麼問題: - 看「**當時**」(台北):這筆錢是台北的通路賺到的,要評估台北店的績效、要跟去年的報表對得起來,就得看當時。 - 看「**現在**」(台中):想知道「我現在的台中客戶群,累計貢獻了多少」,就得看現在。 **所以第一件事不是選技術,是先問清楚這張報表要回答哪一種問題。** 選錯了,SQL 寫得再漂亮,答案都是錯的。 而最可怕的情況還不是答錯——是**同一張報表,今年重跑跟去年不一樣,而且系統不會給你任何錯誤訊息**。去年結算完的數字,今年因為有人改了客戶主檔(就是存客戶基本資料的那張表,一個客戶一列)就悄悄變了。等到有人發現,通常已經是在會議室裡被問「這個數字為什麼跟上次不一樣」的時候。 ![同一筆訂單兩個答案的時間軸:2026 年 8 月小明在台北下單 1,000 元;12 月客服把客戶資料表的 city 從台北改成台中,欄位只有一格、舊值被覆蓋;隔年 1 月老闆要 8 月的各城市銷售。看「當時」算台北、看「現在」算台中,兩個答案都對——但如果 city 只有一格,永遠只拿得到後者](https://moradatajourney.com/content/images/2026/08/diagram-then-vs-now.png) 小明的訂單掛在 2026 年 8 月,但客戶主檔在 12 月被改成台中。同一句 SQL,看的是哪個版本,決定了這 1,000 元落在台北還是台中。 ### 線上系統怎麼做?它只留了一半,而且每張表留的還不一樣 線上交易系統(OLTP)的天性是**反映最新狀態**。`customers` 表裡的 `city` 欄位只有一格,客服一改,全世界看到的就都是台中——包括去年的報表。 但它會為一種情況破例。 上一篇談正規化時提過「訂單快照」:發票上的姓名、地址,訂單上的收件人、成交單價,這些欄位**在交易成立的當下就會被抄一份,存進交易表裡**。因為法規和對帳都不允許你把十年前發票上的名字,自動改成今天的名字。 這確實是一種歷史保存,是大部分線上系統原生就會做的。 **但關鍵在於:它只抄了自己需要的那幾欄。** - 發票要印的姓名、地址 → 會抄 - 成交當下的單價、折扣 → 會抄 - 客戶當時是不是金卡會員 → **不會抄** - 商品當時屬於哪個分類 → **不會抄** 為什麼?因為交易系統不需要知道會員等級或商品分類,就能完成一筆交易。它只對「把訂單正確地收下來、把錢正確地收到」負責。 **所以答案是:** **線上系統留了歷史,但只留它自己用得到的那部分。分析要用的歷史,它沒有義務幫你留。** 不過現實比這句話更複雜一點。 不是所有線上系統都只存「現在」。在受法規監理的產業裡(醫療、金融、保險、人資),主檔本身就常常帶著「生效日」與「失效日」——因為稽核要求你必須能回答「那一天,這筆資料被記錄成什麼」。這種設計有正式名稱,叫做**時態表**(temporal table,就是「帶時間版本的表」),SQL 標準裡本來就有。 更麻煩的是:**同一個資料庫裡,答案還可能不一樣。** 一套跑了幾十年的核心系統——不同年代建的表用了不同策略:有的什麼都沒留、有的做成帶生效日期的版本表。原因不難理解,它們是在不同的法規年代、由不同的人,一層一層蓋上去的。 所以真正的第一步不是選技術,是**逐表盤點**:這一張表到底留了什麼?這件事沒有捷徑。 這就是為什麼分析端需要自己的一套設計。 ### 數據中台的三種留法 在數據中台裡,「留住歷史」不是一招,而是三種不同的做法,各自對應不同的問題。(事實表、維度表這兩個名詞在[上一篇](https://moradatajourney.com/data-platform-star-schema/)有說明。) ### 做法一:在事實表裡凍結當下值 最直接的做法——把交易當下的值,複製一份存進事實表自己的欄位裡。 命名上通常會標明「這是當時的值」,例如 `name_at_order`、`category_at_order`、`unit_price_at_order`。 | 欄位 | 意思 | | ------------------- | ------------------ | | customer\_id | 這筆訂單是誰買的 | | city\_at\_order | **下單當時**他住哪 | | category\_at\_order | **下單當時**這個商品屬於什麼分類 | | amount | 金額 | 適合:屬於這筆交易本身、事後不該再變的屬性。 **優點**:查詢最簡單,連 JOIN 都不用,欄位就在事實表裡。 **限制也很明確**:你只能凍結**當初想到要凍結**的那幾欄。三年後老闆問「當時他是不是金卡會員」,而你當初沒抄這一欄——那就補不回來了,因為過去的等級已經被覆蓋掉了。 ### 做法二:讓維度表留住版本(SCD Type 2) 這是「緩慢變動維度」(Slowly Changing Dimension,簡稱 SCD)真正的主場。 教科書把這種「留版本」的做法編為 Type 2——編號的由來之後另寫一篇,這裡先知道它是最常用的一種就夠了。 所謂「緩慢變動」,指的就是**客戶、商品、門市這類主檔資料——它們會變,但變得不頻繁**。地址一年改一次、商品分類兩年調一次,跟每天幾千筆的訂單完全不同節奏。 做法是:**同一個小明,在維度表裡存成兩列。** | customer\_key | customer\_id | name | city | 生效日 | 失效日 | is\_current(現在用的) | | ------------- | ------------ | ---- | ---- | ---------- | ---------- | ----------------- | | 1001 | C001 | 小明 | 台北 | 2024-01-01 | 2026-12-31 | 否 | | 1042 | C001 | 小明 | 台中 | 2027-01-01 | 9999-12-31 | 是 | (失效日寫成 9999-12-31 是慣例,意思是「目前還沒失效」。有些工具改用空值表示同一件事,但那樣每一句查詢都得多寫一個判斷,漏寫就會少資料。) 注意這裡有兩種「編號」,它們的分工是整篇文章的技術核心: - **`customer_id`(C001)**:小明這個**人**。不管搬幾次家,永遠是 C001。 - **`customer_key`(1001 / 1042)**:小明的某一個**版本**。每搬一次家,就多一個新的 key。 因此在數據中台中,會將維度表轉換成類似**事實表存的資訊,多一個欄位 customer\_key,不是 customer\_id**。 小明 8 月下單時,系統掛上的是當時有效的版本 1001(台北)。之後他搬到台中、維度表多了一列 1042,但那筆 8 月的訂單仍然指著 1001——**它被永遠釘在「台北的小明」身上了**。 於是同一張維度表,可以回答兩種問題: ```sql -- 看「當時」:事實表本來就指著下單那一刻的版本,直接 JOIN 就對了 SELECT c.city, SUM(f.amount) AS total_sales FROM fact_sales f JOIN dim_customer c ON c.customer_key = f.customer_key WHERE f.date_key BETWEEN 20260801 AND 20260831 GROUP BY c.city; -- 結果:台北 1,000 ``` ```sql -- 看「現在」:先從當時的版本找到「這個人」,再跳到他目前有效的版本 SELECT cur.city, SUM(f.amount) AS total_sales FROM fact_sales f JOIN dim_customer c ON c.customer_key = f.customer_key -- 當時的小明 JOIN dim_customer cur ON cur.customer_id = c.customer_id -- 同一個人 AND cur.is_current = 1 -- 的現在版本 WHERE f.date_key BETWEEN 20260801 AND 20260831 GROUP BY cur.city; -- 結果:台中 1,000 ``` 同一份事實表、同一段期間,**差別只在 JOIN 到哪一個版本**。 這就是讓維度表留住版本的真正價值:它不是「幫你決定要看當時還是現在」,而是**讓你兩個都能答**。 咖啡豆改分類也是同一件事——`dim_product` 留兩個版本,去年的報表照樣算在「食品」,今年的算在「飲品沖泡」,兩邊都不會錯。 順帶提醒一個最容易踩的坑:**查歷史要用 customer\_key 接,不要用 customer\_id**。用 customer\_id 去接維度表,一筆訂單會對到小明的每一個版本——搬過五次家,1,000 元就被算成六次,而且報表照樣跑得出來,系統不會給你任何錯誤訊息。防守的方法不是叫大家小心,是在交付層包一層已經寫好 JOIN 的 view,讓人根本沒機會接錯。 ![SCD Type 2 維度表:同一個小明存成兩列,customer_key 1001 對應台北(2024-01-01 至 2026-12-31),1042 對應台中(2027-01-01 起)。事實表的訂單掛在版本 1001 上,所以看「當時」一步就到台北;看「現在」則先從版本跳回 customer_id C001,再跳到目前有效的版本 1042 得到台中](https://moradatajourney.com/content/images/2026/08/diagram-scd-type2.png) customer\_id 是人、customer\_key 是版本;訂單掛在版本上,所以歷史被釘住了。要看現在,只要從版本跳回人、再跳到目前有效的版本。 ### 做法三:快照事實表——沒有事件發生的東西怎麼辦? 前面兩種做法有一個共同前提:**有一筆交易可以掛**。訂單成立了,我們才有地方存「當時的城市」。 但有些數字,沒有任何事件發生,它自己也在變: - 今天倉庫裡還剩幾包咖啡豆 - 這個月底有多少人在職 - 現在有多少應收帳款還沒收回來 - 今天有多少病人住在院內 這些是**狀態**,不是事件。沒有一筆交易可以掛上去,所以只剩一個辦法:**定期拍照**。 這就是快照事實表(snapshot fact table)——每天(或每月底)把當下的狀態整批切一刀存下來: | snapshot\_date | product\_id | 庫存數量 | | -------------- | ----------- | ---- | | 2026-08-15 | P001 | 120 | | 2026-08-16 | P001 | 118 | | 2026-08-17 | P001 | 118 | 判斷要不要用快照,有一個很簡單的準則: **問題問的是「這段期間累積了多少」,還是「那個時間點剩下多少」?** - 累積了多少(賣了幾包、收了多少錢)→ 一般事實表加總就好 - 那個時間點剩多少(還剩幾包、有幾人在職)→ **只能靠快照** 因為「剩下多少」是無法用加總還原的。你把每天的進貨與出貨都加起來,得到的是流量,不是餘額——除非你有一個起點,而那個起點本身就是一張快照。 ### 三種做法怎麼選 先給一條判準,它能解掉最常見的猶豫:**這個值是「這件事的屬性」,還是「某個人、某個東西在某個時刻的屬性」?** - 成交單價、折扣、當時的稅率——**是這筆交易的屬性**。同一件商品,同一天賣給兩個人可以是不同價錢。這個值天生就屬於這筆交易,放進事實表不是重複,是它本來就該在那裡。 - 城市、會員等級、商品分類——**是某個人、某個東西在某個時刻的屬性**。它屬於小明,只是會隨時間變。這種交給維度表留版本,用編號釘住。 | 做法 | 解決什麼問題 | 查詢成本 | 沒做的話能補嗎 | | ------------- | ---------------------- | ------------- | -------------------- | | 事實表凍結欄位 | 屬於這筆交易本身、不該再變的屬性 | 最低(不用 JOIN) | 不能——當初沒抄的欄位,過去的值已經沒了 | | SCD Type 2 維度 | 主檔會變,而且「當時」與「現在」都要能查 | 中(多一次 JOIN) | 不能——只能從開始留版本的那天往後算 | | 快照事實表 | 沒有事件、只有狀態的數字(庫存、在職、餘額) | 中(資料量大,但查詢單純) | 不能——沒拍到的那天,就是永遠沒拍到 | 你可能已經注意到最後一欄的答案完全一樣。沒做的話能補嗎?不能。 ![三種留法的決策樹:先問有沒有一筆事件可以掛,沒有就用快照事實表;有的話再問這個值屬於這件事本身(用事實表凍結欄位)還是某個人、某個東西在某個時刻(用 SCD Type 2 維度)。三者共同的限制是都只能從開始留的那一天往後算](https://moradatajourney.com/content/images/2026/08/diagram-three-ways.png) 凍結欄位解「這筆交易本身的屬性」、SCD Type 2 解「主檔會變但兩邊都要查」、快照事實表解「沒有事件的狀態」;三者共同的限制是都只能從今天開始留。 ### 最誠實的一節:來源系統沒留歷史,中台救得回來嗎? 這是上一篇留下的第三個問題,也是最多人誤會的地方。 我先給結論: > **救不回來。中台不能無中生有。** 如果你的線上系統只存「現在」,那麼在你開始接資料之前,所有的變動都已經消失了。小明去年住哪、咖啡豆前年屬於哪個分類——那些值曾經存在於某一格欄位裡,但已經被新的值覆蓋掉,沒有留下任何痕跡。中台再厲害,也只能讀到「現在的那一格」。 **中台能做的,是從你開始接的那一天起,每天比對、每天留版本。** 也就是說:**歷史是從今天開始長出來的,不是從過去撈回來的。** 第一,**建中台的這一項效益,往往要等一年後才看得到**。你今天開始留版本,明年這個時候才會有一整年的歷史可以回溯。這也是為什麼「歷史管理」這個效益很難在專案簡報上打動人——它在提案當下完全看不出價值。 當然,也有例外,這裡誠實說明:如果來源系統剛好有異動記錄表(audit log)、有保留每日的完整備份、或應用程式有寫變更 log,那確實可以回頭重建一部分歷史。但這通常代價不低——要一天一天地還原比對,而且往往不完整(log 可能只記了部分欄位、備份可能只保留 30 天)。它是搶救方案,不是常態設計。 還有第四種例外,而且是最乾淨的一種:**如果來源系統本身就留了版本(也就是前面說的時態表),那歷史一直都在,不需要搶救。**但要小心,通常不會是所有的表都這樣——新舊夾雜的系統裡,不同維度的歷史深度並不一樣,而這件事從查詢結果上完全看不出來。這個坑值得單獨談,下一篇再說。 所以如果你正在評估要不要建數據中台,這一項的效益不要寫「報表會更快」——快,加機器就能解決。真正該寫的是:**明年這個時候,你能不能回答「我們去年做的那件事,到底有沒有效」。** 以電商銷售舉例,所有的成效評估都需要 before 和 after:改了商品分類、調了會員制度、換了做法,想知道有沒有用,你需要「改之前長什麼樣」——而那只存在於歷史裡。沒有留,這一類問題不是算得慢,是**永遠沒有答案**。在受監理的產業,這件事還有更硬的版本:稽核與評鑑會要你「說明這個數字當時是怎麼算的」,沒有歷史,連舉證都做不到。 而這是唯一一項加錢也買不回來的:報表慢可以加機器、規則亂可以加人整理,**去年的資料沒有留,多少預算都變不出來**。 ### 回到最開始的問題 小明搬家了,去年的業績算台北還是台中? **答案是:兩個都要能算。** 「看當時還是看現在」從來就不該是二選一的取捨——那是被系統的限制逼出來的假選擇。當維度表留住了版本,這個問題就從「你只能選一個」變成「你想看哪一個」。 這也是這個系列四篇文章的同一條主線:從正規化到星形架構、從 OLTP 到 OLAP,再到今天的緩慢變動維度——**數據中台的每一個設計,都是在把「資料管理者的方便」轉譯成「資料取用者的直覺」。** 說到底,SCD 做的事就是**用空間換追溯力**:多存幾列版本,換來的是這個——有一天兩張報表對不起來,你查得出到底是誰、在什麼時候、改了什麼。查得出原因,數字才敢拿來做決定。 而歷史,是這條路上唯一一項你不能事後補課的功課。 最後也想問問你:**你們公司的客戶主檔改了地址、商品換了分類之後,去年的報表數字會跟著變嗎?** 如果你不確定——那可能就是最值得回去查一下的事。歡迎留言或回信告訴我。 --- **延伸閱讀** - [直接撈線上資料庫不行嗎?OLTP 與 OLAP 的殘酷 SQL 對決](https://moradatajourney.com/data-platform-oltp-olap/) - [圖解事實表、維度表與星形架構:數據中台讓資料一目瞭然的設計](https://moradatajourney.com/data-platform-star-schema/) 如果你也走在自己的路上,歡迎訂閱《小穗步電子報》——我會把每一次的覺察與練習,寫成信寄給你。→ [訂閱小穗步電子報](https://moradatajourney.com/#/portal/signup) ### 直接撈線上資料庫不行嗎?OLTP 與 OLAP 的殘酷 SQL 對決 URL: https://moradatajourney.com/data-platform-oltp-olap/ Last updated: 2026-08-23T05:42:23.000Z 看完上一篇星形架構的優勢後,很多沒有開發過資料倉儲或數據中台的人可能會問: > 「我直接從現有的線上交易資料庫撈資料不行嗎?為什麼要這麼麻煩,重新建一套事實表和維度表?」 我在只有 OLTP 線上系統的架構下,肩負建立數據中台的任務。這類問題不斷被提起:我該怎麼視覺化地呈現與解釋?這個起心動念,讓我寫下這篇文章——讓兩種架構同台對決:老闆的同一個提問,各寫一段 SQL,看差在哪裡。 ### 比結構:蜘蛛網 vs. 星星狀 先看這兩種架構在資料庫裡長什麼樣子: - **OLTP(線上交易系統)**:為了確保每筆資料只存一次(正規化),資料表就像一張蜘蛛網,被拆得非常細碎。 - **OLAP(數據中台/分析系統)**:為了讓報表好查詢,資料表被重組成星形架構,所有分析角度都圍繞著中間的「事實表」。 ![同一筆訂單的兩種長相:OLTP 蜘蛛網八張表、橘色標出本次查詢的五張表路徑、灰虛線是其他關聯;OLAP 星形架構以銷售事實表為中心連接日期、客戶、商品維度](https://moradatajourney.com/content/images/2026/08/diagram-spider-vs-star-v3.png) 左邊蜘蛛網裡,橘色是「這一題」要走的五張表,灰虛線是下一題可能要走的其他路;右邊星星,數字在中間、分析角度圍在四周。 接著出題。這是一個每個月都會出現的真實商業提問: > 🎯 老闆的提問:「2026 年 8 月,每個城市、每個商品類別的銷售金額是多少?」 我們來看看,兩位選手分別要怎麼寫這段 SQL。 ### 選手一:星形架構的優雅解法(數據中台) 在數據中台中,事實表(Fact Table)與維度表(Dimension Table)已經預先整理好: - **銷售事實表(fact\_sales)**:已經算好 amount,並備妥關聯鑰匙。 - **日期維度(dim\_date)**:含有年份(year)與月份(month)。 - **客戶維度(dim\_customer)**:含有城市(city)。 - **商品維度(dim\_product)**:含有類別(category)。 還記得上一篇「小明買咖啡豆」的那筆訂單嗎?它在數據中台長這樣: **銷售事實表 fact\_sales**(一筆訂單=一列數字) | date\_id | customer\_id | product\_id | amount | | -------- | ------------ | ----------- | ------ | | 20260815 | C001 | P001 | 1000 | **客戶維度 dim\_customer** | customer\_id | name | city | | ------------ | ---- | ---- | | C001 | 小明 | 台北 | **商品維度 dim\_product** | product\_id | name | category | | ----------- | ---- | -------- | | P001 | 咖啡豆 | 食品 | **日期維度 dim\_date** | date\_id | year | month | | -------- | ---- | ----- | | 20260815 | 2026 | 8 | 💻 星形架構的 SQL 語法: ```sql SELECT c.city, p.category, SUM(f.amount) AS total_sales_amount FROM fact_sales f JOIN dim_date d ON f.date_id = d.date_id JOIN dim_customer c ON f.customer_id = c.customer_id JOIN dim_product p ON f.product_id = p.product_id WHERE d.year = 2026 AND d.month = 8 GROUP BY c.city, p.category ORDER BY c.city, p.category; ``` ✅ 一句話理解:從 fact\_sales 拿準備好的銷售金額,用三張維度表分別決定「時間、城市、商品類別」,然後直接加總。邏輯清晰,一目瞭然。 ### 選手二:直接查線上系統的硬派解法(OLTP) 線上交易系統為了維持資料的一致性,通常採用高度「正規化」的設計。同一筆訂單,被拆進五張表: - customers(客戶表) - products(商品表) - product\_categories(商品類別表,與商品分開) - orders(訂單主檔) - order\_items(訂單明細) 線上系統有些時候沒有直接存 amount,金額必須現場計算:數量(quantity)× 單價(unit\_price)。 小明那筆訂單,在線上系統裡長這樣: **customers(客戶表)** | customer\_id | name | city | | ------------ | ---- | ---- | | C001 | 小明 | 台北 | **orders(訂單主檔)** | order\_id | order\_date | status | customer\_id | | --------- | ----------- | ------ | ------------ | | O001 | 2026-08-15 | PAID | C001 | **order\_items(訂單明細)** | order\_id | product\_id | quantity | unit\_price | | --------- | ----------- | -------- | ----------- | | O001 | P001 | 2 | 500 | **products(商品表)** | product\_id | name | category\_id | | ----------- | ---- | ------------ | | P001 | 咖啡豆 | CAT1 | **product\_categories(商品類別表)** | category\_id | category\_name | | ------------ | -------------- | | CAT1 | 食品 | 💻 正規化資料庫的 SQL 語法: ```sql SELECT c.city, pc.category_name, SUM(oi.quantity * oi.unit_price) AS total_sales_amount FROM orders o JOIN customers c ON o.customer_id = c.customer_id JOIN order_items oi ON o.order_id = oi.order_id JOIN products p ON oi.product_id = p.product_id JOIN product_categories pc ON p.category_id = pc.category_id WHERE o.order_date >= DATE '2026-08-01' AND o.order_date < DATE '2026-09-01' AND o.status = 'PAID' GROUP BY c.city, pc.category_name ORDER BY c.city, pc.category_name; ``` 你發現了嗎?同一個問題,這個查詢要多做三件事: - 把五張表串起來(JOIN 四次) - 自己處理時間區間的過濾,還要記得排除未付款(status = 'PAID') - 在查詢的當下現場計算營收(quantity × unit\_price) 資深工程師看到這裡也許會說:「這段 SQL 我十分鐘就寫完了,哪裡複雜?」沒錯——複雜的從來不是寫一次,而是每張報表、每個 API 都重寫一次,而且各寫各的。 ![對決計分板:同一個老闆提問,星形架構 JOIN 三次且金額已算好,OLTP 要串五張表、現場計算金額並記得排除未付款](https://moradatajourney.com/content/images/2026/08/diagram-sql-showdown-v4.png) 同一個提問,兩邊在「串幾張表、金額怎麼來、過濾條件、業務規則」四個項目的比分。 ### 剛解題成功只是開端:老闆的下一個維度需求馬上就到 老闆看著報表說:「很好,那再加上『每個門市』。」 星形架構這邊,SQL 只改兩行——因為「門市」這個分析角度,早就是一張準備好的維度表(還記得上一篇星形圖裡的 dim\_store 台北信義店嗎): ```sql -- 原查詢只要加一個 JOIN、一個欄位 JOIN dim_store s ON f.store_id = s.store_id ... GROUP BY c.city, p.category, s.store_name ``` OLTP 這邊呢?先想清楚 store\_id 存在 orders 還是 order\_items、門市名稱要再 JOIN 哪張表,然後重寫查詢、重新測試。 如果你把查詢包成了 API,這就是再開發一個新 endpoint(API 底下的一條路徑,對應一種查法)—— 下週老闆說「改成看每週趨勢」「只看金卡會員」,每一句話,都是一個新的 endpoint。 ![一題一答 vs 一類題:左邊三個老闆需求各自變成一支新 API endpoint、各走一條蜘蛛網新路徑;右邊三個需求都指向同一顆星形架構,每次只換 GROUP BY](https://moradatajourney.com/content/images/2026/08/diagram-one-question-one-class-v3.png) 老闆每問一句,API 清單就長一支、蜘蛛網上多一條手刻的路;數據中台這邊,三個問題共用同一顆星,每次只是換一個 GROUP BY。 > API 一題一答;維度建模一次建好,老闆之後的每一次追問,都只是換一個 GROUP BY。星形架構回答的不是「這一題」,是「這一類題」。 ### 直接查線上資料庫的「五大災難」 小系統、臨時查詢直接查線上資料庫當然可以。但當企業規模變大、報表變多時,就會衍生以下痛點: 1. **JOIN 太多,查詢複雜易錯**:報表開發者必須非常熟悉訂單主檔、明細、客戶、商品表的關聯。少 JOIN 一張或條件寫錯,數據就全錯了。 2. **業務規則四處散落**:「銷售金額」到底怎麼算?要扣折扣嗎?含稅嗎?排除退貨嗎?退貨要扣在下單那個月,還是退貨那個月?這一整組「到底怎麼算」的規則,如果每張報表、每個 API 都自己寫一遍 SUM(quantity \* unit\_price),最後全公司的數據一定對不起來——財務和業務儀表板報出兩個數字,兩邊 SQL 都沒寫錯,只是各自解讀了一套規則。 3. **拖垮線上系統效能**:線上資料庫(OLTP)的主要任務是處理客人下單、付款、更新庫存。讓報表在上面跑大量複雜的彙整與運算,非常容易導致線上交易系統卡頓甚至當機。 4. **歷史分類規則難以追溯**:咖啡豆今天屬於「食品」,明天改分類到「飲品沖泡」。報表到底要看交易當時的分類,還是現在的?如果線上資料庫沒有設計歷史對應、又沒有數據中台的歷史維度設計,這根本無解。 5. **AI 與 API 開發困難**:當 AI 模型或 API 只是要調用一段簡單的銷售數據,背後卻得執行一大串複雜的 JOIN 和業務邏輯,既沒效率又難維護。 ### 查 secondary、包 API、建 view:三個聰明方案為什麼都差一步? 有經驗的工程師還會提出一個聰明的替代方案:「我查唯讀副本(read replica)就好了啊——或者我們公司已經做了 primary/secondary 讀寫分離,報表都查 secondary,不就不會拖垮線上系統了嗎?」 沒錯,副本確實解掉了第三個災難——分析負載不再打到線上主庫。但也只有這一項。副本上的資料仍然是那張蜘蛛網:JOIN 還是一樣多、業務規則還是散落在每張報表裡、歷史狀態還是無法追溯。Replica 複製的是資料,不是模型。 第二個方案更進一步:「那我把常用查詢包成 API,統一打在 secondary 上,業務規則不就集中了嗎?」——API 集中化的是程式碼,不是資料模型。每一個新的分析角度、每一次老闆改需求,都是一個新 endpoint,資料 API 團隊很快就會變成全公司取數的排隊窗口。 這裡的差別,其實是「什麼時候算」: | 差異點 | API(蓋在 OLTP 上) | 數據中台 | | -------- | ------------------------ | --------------------- | | 規則什麼時候套 | 查詢當下,每查一次算一次 | 排程時算好一次(常見 T+1),所有人共用 | | 查詢當下在做什麼 | 找表 → JOIN → 套規則 → 算金額,全包 | 挑維度 → 加總 | | 規則放在哪 | 各個 endpoint 的程式碼裡,各寫各的 | 事實表欄位裡(金額已算好),寫死一次 | API 把「算」這件事留在每一次查詢;數據中台把它提前到排程,一次算完給所有人用。 ![什麼時候算的一日對照:數據中台在凌晨 ETL 跑一次重活(串五張表、套規則、算好金額),白天 09:00/11:00/15:00 三次查詢都只是挑維度加總;直接查 OLTP+API 凌晨沒人先算,白天三次查詢各自整串重算一遍,全落在營業時間](https://moradatajourney.com/content/images/2026/08/diagram-when-computed-v2.png) 中台把最重的那一段(串表、套規則、算金額)挪到凌晨做一次,白天每次查詢都只剩加總;直接查 OLTP 則是每問一次就整串重算一次,而且全撞在掛號、批價正忙的時段。 第三個方案最接近答案:「我用 view 來撰寫,把 JOIN 和計算規則寫在裡面呢?」——view 確實把邏輯集中了,但每次查詢仍然要在線上引擎現場算那一串 JOIN;如果你的資料庫為了效能開始建 materialized view(把查詢結果先算好、存成實體表)、加排程刷新,恭喜,你已經在手工打造一座小型的數據中台了。 > Replica 解決「在哪裡查」,API 解決「誰來寫」,view 解決「寫在哪」——只有維度建模解決「還要再寫幾次」。 你會發現,這三個聰明的替代方案每多走一步,離數據中台就更近一步。差別只在,有沒有把它當成正式工程來蓋(版本控制、依賴管理、測試、歷史設計)。 問題從來不在 API 本身。對外交付數據,最後往往還是走 API——真正的差別在 API 蓋在哪裡。 蓋在 OLTP 蜘蛛網上,每個 endpoint 都要手刻一條 JOIN 路徑、規則各解讀各的;蓋在數據中台上,事實表與維度表已經備妥,endpoint 只剩下「組裝」——選維度、加總、輸出,又薄又快,全公司的算法還一致。 數據中台不是取代 API,是讓每一支 API 從手刻變組裝。 你們公司的報表現在是怎麼查的——直接查主庫、查讀寫分離的 secondary,還是已經有獨立的資料倉儲/數據中台?歡迎留言或回信告訴我,後續能寫文章回答大家的提問。 ### 總結:兩者的核心差異比較 | 面向 | 直接查線上資料庫(OLTP,正規化) | 星形架構(OLAP,事實表+維度表) | | ----------- | -------------------- | -------------------- | | 主要目的 | 支援交易系統,確保寫入與更新正確 | 支援分析與報表,確保查詢直覺快速 | | 查詢方式 | 大量交易表與細節表互相 JOIN | 單一事實表 JOIN 幾張維度表 | | 業務規則 | 寫在報表 SQL 裡,由開發者各自解讀 | 在數據中台/倉儲集中處理與定義 | | 指標計算 | 查詢時「現場」計算(如:數量 × 單價) | 事實表中通常已先「標準化」算好 | | 效能風險 | 跑大報表極易拖垮線上交易系統 | 分析負載與交易系統分離,互不干擾 | | 資料即時性 | 即時,查到的就是當下狀態 | 依排程批次更新(常見 T+1),略有延遲 | | 歷史管理 | 較難處理分類與主檔變更的問題 | 可利用「維度版本」輕鬆追溯歷史狀態 | | 供 AI/API 使用 | 架構極度複雜,容易導致規則不一致 | 架構穩定、語意清晰,隨取即用 | > 💡 一句話總結:事實表、維度表與星形架構的真正價值,就是把複雜的「清理、關聯、計算」工作在數據中台先做掉,讓後面的報表、API、AI 不用每次都從交易資料庫重新痛苦地拆解一次。 當然,數據中台也不是免費的午餐——要投入多少人力、什麼時候才值得建,是另一個完整的題目,之後再來談。 那咖啡豆改了分類、客戶搬家換了城市,報表到底該看「當時」還是「現在」?線上資料庫系統會怎麼設計?如果沒有這樣的設計,數據中台有沒有辦法解?下一篇,我們再來分析。 --- **延伸閱讀** - [小明搬家了,去年的業績算台北還是台中?圖解數據中台的緩慢變動維度(SCD)](https://moradatajourney.com/data-platform-scd/) - [圖解事實表、維度表與星形架構:數據中台讓資料一目瞭然的設計](https://moradatajourney.com/data-platform-star-schema/) 如果你也走在自己的路上,歡迎訂閱《小穗步電子報》——我會把每一次的覺察與練習,寫成信寄給你。→ [訂閱小穗步電子報](https://moradatajourney.com/#/portal/signup) ### 圖解事實表、維度表與星形架構:數據中台讓資料一目瞭然的設計 URL: https://moradatajourney.com/data-platform-star-schema/ Last updated: 2026-08-23T04:05:57.000Z 在[上一篇文章](https://moradatajourney.com/data-platform-normalization/)中,我們聊到了資料庫的「正規化」與「反正規化」,以及資料管理員與資料取用者之間的兩難。 為了讓資料取用者不用再跨越五六張表找資料,數據中台的架構設計難道只能沿用正規化與反正規化?還是有更好的做法? 2025年我開始教 Power BI 的時候,接觸到了「事實表(Fact Table)」與「維度表(Dimension Table)」的設計。這讓我非常好奇:這跟傳統的正規化與反正規化又有什麼不同? 這篇文章,就讓我們來拆解這些讓資料分析師愛不釋手的魔法。 ### 數據分析的兩大主角:事實表與維度表 ### 1\. 事實表(Fact Table):記錄「發生了什麼事」 事實表是分析模型中用來記錄「事件」或「數字指標」的表。它通常回答:發生了什麼事?發生在什麼時間?數量、金額、次數是多少? 簡單來說:**事實表 = 業務事件 + 可衡量數字。** 例如,小明 8 月 15 日在「台北信義店」買了 2 包咖啡豆,共 1,000 元——這筆訂單寫入「銷售事實表」會這樣呈現,包含業務計算需要加總計算的指標是「數量」與「金額」,而其他的 ID 則是拿來連到維度表的鑰匙(Key): | order\_id | date\_id | customer\_id | product\_id | store\_id | quantity | amount | | --------- | -------- | ------------ | ----------- | --------- | -------- | ------ | | O001 | 20260815 | C001 | P001 | S001 | 2 | 1000 | 表格裡的 ID 就是「鑰匙(Key)」的意思:兩張表只要共用同一個編號,就能接起來。拿著 `customer_id = C001` 到客戶維度表,找到編號相同的那一列,兩張表就對上了——像拿號碼牌領餐一樣,資料庫的 JOIN 做的就是這件事。 對照上面這一列:C001 查客戶維度表是小明、P001 查商品維度表是咖啡豆、S001 查門市維度表是台北信義店;quantity 是購買數量 2 包,amount 是總金額 1,000 元(2 包 × 單價 500 元)。 ### 2\. 維度表(Dimension Table):描述「事件的背景」 維度表是用來描述事實的背景資料。它通常回答:這是誰?什麼商品?哪一天?哪個地點? 簡單來說:**維度表 = 看資料的角度。** 例如: - **客戶維度表:** 告訴我們客戶的名字、性別、城市、會員等級。(C001 → 小明:台北、金卡會員) - **商品維度表:** 告訴我們商品的名稱、類別、品牌。(P001 → 咖啡豆,食品類) - **日期維度表:** 告訴我們某個日期對應的年份、月份、星期幾。(20260815 → 2026 年 8 月、星期六) 其中「日期維度」最常讓人疑惑:日期本身不就是資訊了嗎,為什麼還要一張表?因為分析常用的「年、季、月、星期幾、是否假日」,如果每次都讓每個人自己從日期推算,算法可能不一樣——光「第幾季」就有日曆年度和會計年度兩種算法。先算好、放進維度表,全公司查出來的答案就是同一個。 日期維度表實際長這樣(小明那筆 20260815 就落在第二列): | date\_id | 日期 | 年 | 月 | 星期幾 | 是否假日 | | -------- | ---------- | ---- | - | --- | ----- | | 20260814 | 2026-08-14 | 2026 | 8 | 星期五 | 否 | | 20260815 | 2026-08-15 | 2026 | 8 | 星期六 | 是 | | 20270101 | 2027-01-01 | 2027 | 1 | 星期五 | 是(元旦) | 所以像「假日銷售 vs 平日銷售」這種分析,JOIN 這張表就有現成的「是否假日」欄位,不用每次現場寫判斷式。 當你想要問:「今年每個城市的銷售金額是多少?」 你的資料來源就會是: - **銷售金額:** 來自「事實表」。(O001 的 1,000 元) - **今年:** 來自「日期維度」。(20260815 → 2026 年) - **城市:** 來自「客戶維度」或「門市維度」。(C001 → 小明住台北) 以小明那筆訂單來說:事實表拿出 1,000 元、日期維度認出「2026 年」、客戶維度認出「台北」——三個來源拼出答案的一列:**2026 年・台北・1,000 元**。 ![一個問題三個資料來源:今年來自日期維度、城市來自客戶或門市維度、銷售金額來自事實表,拼出答案的一列 2026 年台北 1,000 元](https://moradatajourney.com/content/images/2026/08/diagram-query-split-v2.png) ### 什麼是「星形架構」? 星形架構(Star Schema)就是**中間擺一張「事實表」,周圍連接著多張「維度表」**。因為它的關聯圖看起來就像一顆星星,因而得名。 ![星形架構:中間放銷售事實表,四周連接日期、客戶、商品、門市四張維度表,關聯圖像一顆星星](https://moradatajourney.com/content/images/2026/08/diagram-star-schema-v2.png) ### 等一下,事實表跟上一篇的「訂單明細表」是不是很像? 眼尖的你可能發現了:事實表裡也是一堆 ID 加上數量與金額,跟上一篇正規化拆出來的「訂單明細表」幾乎長得一模一樣,差別在哪? 先看正規化這邊。線上系統為了記錄交易細節,把小明這筆訂單拆成兩張表,並且記錄了單價與狀態: **表一:`orders` (訂單主檔)** 記錄這筆訂單是「誰、在什麼時候、哪家店」買的,以及「有沒有付款」。 | order\_id | order\_date | customer\_id | store\_id | status | | --------- | -------------- | ------------ | --------- | ------ | | **O001** | **2026-08-15** | **C001** | **S001** | paid | **表二:`order_items` (訂單明細)** 記錄這筆訂單「買了什麼、買幾個、當時單價多少」。 | order\_id | product\_id | quantity | unit\_price | | --------- | ----------- | -------- | ----------- | | **O001** | **P001** | **2** | **500** | 注意:這兩張表裡都沒有「城市」。S001 是哪個城市的店、小明住在哪個城市,要再連到「門市表」與「客戶表」才查得到——這就是待會對照表裡「繼續拆下去」的意思。 同一筆訂單,到了星形架構的事實表長這樣——金額已經算好(2 包 × 500 元 = 1,000 元),而且只留下已付款的訂單: | order\_id | date\_id | customer\_id | product\_id | store\_id | quantity | amount | | --------- | ------------ | ------------ | ----------- | --------- | -------- | ------ | | O001 | **20260815** | C001 | P001 | S001 | 2 | 1000 | 這樣設計的巨大優勢:團隊用 BI 拉資料時,再也不用去碰原始的 orders 和 order\_items,不用自己過濾出已付款(paid)的訂單,也不用擔心數量乘錯單價——因為數據中台的加工流程(實務上常用 dbt 這類工具)已經幫大家把資料「清洗乾淨、算出金額、並附上所有的維度鑰匙」了! | | 正規化的訂單明細表 | 星形架構的事實表 | | ---------- | ---------------- | ---------------- | | **為誰設計** | 系統寫入用:一筆一筆新增、修改 | 分析讀取用:整批加總、換角度切 | | **資料進去之後** | 會隨狀態更新(訂單改了就改) | 不再改動,事件一筆一筆往後追加 | | **連出去的表** | 繼續拆下去(客戶表再連到城市表) | 維度表刻意合成寬表,查詢一步到位 | ![訂單明細表與事實表對比:正規化世界查小明在哪個城市買要 JOIN 三次,星形架構的客戶維度一步到位](https://moradatajourney.com/content/images/2026/08/diagram-fact-vs-normalized-v3.png) 真正的差別在**兩張表身處的世界**。正規化的世界裡,訂單明細表連出去的每張表都會繼續拆,想查「小明在哪個城市買的」,要一路 JOIN 三張表;星形架構的世界裡,維度表刻意反正規化成寬表,城市、區域通通放進客戶維度,查詢一步到位。 等等,維度表這樣「合」,不會踩到上一篇說的反正規化的坑(資料重複、要自己維護一致性)嗎?會,但代價可控:維度表通常不大(幾千個客戶,對比幾百萬筆交易),而且由中台**統一維護一份**,不是讓每個報表各自合表、各自出錯——這正是把「合」放到對的位置的意思。 > 所以星形架構不是第三種新魔法,而是把上一篇的兩難各放到對的位置:**中間的事實表保持「拆」的細緻——每筆事件只存一次;四周的維度表選擇「合」的方便——描述資料一張裝齊。** 這也正面回答了開頭的問題:數據中台不必在正規化與反正規化之間二選一。 ### 數據中台的分層設計:五層架構 那實務上,資料會直接從來源系統一步跳進星形架構嗎?不會。一個成熟的數據中台,會把資料分層加工,每一層只負責一件事: ![數據中台的五層設計:stage 原始保留層、int 標準化層、dim 維度層、fact 事實層、mart 應用市集層](https://moradatajourney.com/content/images/2026/08/diagram-five-layers-v2.png) 1. **`stage_` 原始保留層:** 保留來源系統的資料原貌(如原始訂單 O001,狀態欄還是原始的 paid)。 2. **`int_` 標準化層:** 統一語意與規則,讓全公司說同一種話(例如把狀態 paid 統一成「已付款」)。 3. **`dim_` 維度層:** 存放看資料的角度(如 `dim_customer`:小明、台北、金卡)。 4. **`fact_` 事實層:** 存放訂單事件與金額,並連動維度的 Key(如 `fact_sales`:O001,2 包、1,000 元)。 5. **`mart_` 應用市集層:** 提供給報表、API、AI 靈活使用的寬表或資料產品(如「城市 × 月份銷售」寬表)。 細心的你可能注意到:上一篇聊的「快照」去哪了?快照進了中台之後要怎麼設計——歷史版本怎麼留、每天的狀態怎麼存——資訊量值得專文一篇,我們另開一篇好好講。 ### 一句話總結:這些名詞到底差在哪? 這套「事實表+維度表」的家,傳統上叫 **資料倉儲(Data Warehouse)**;**數據中台**則是在資料倉儲的基礎上,把資料當成全公司共用的產品來經營的一整套做法。本文談的模型設計兩者通用,所以下表把它們寫在一起。 | 名稱 | 它在回答什麼? | 常見位置 | 特性 | | -------- | ------------ | ------------- | ------------ | | **正規化** | 資料要不要拆乾淨? | 線上交易系統 (OLTP) | 減少重複,重視一致性 | | **反正規化** | 資料要不要合起來方便查? | 報表層、Mart、寬表 | 查詢方便,可能有重複 | | **事實表** | 發生了什麼?數字是多少? | 資料倉儲/ 數據中台 | 存事件與指標 | | **維度表** | 從哪些角度分析? | 資料倉儲/ 數據中台 | 存描述與分類 | | **星形架構** | 事實與維度怎麼組? | BI、資料倉儲分析層 | 好查詢、好理解、好做報表 | > 💡 **核心觀念:** 現在我們知道星形架構很適合做報表,但一定有人會問:**「我直接從現在的線上系統撈資料不行嗎?為什麼要這麼麻煩再建一套數據中台和星形架構?」**下一篇,我們再來分析這件事情。 --- **延伸閱讀** - [建置數據中台不是把工具串成平台就好!從資料庫的「正規化」看資料取用的兩難](https://moradatajourney.com/data-platform-normalization/) 如果你也走在自己的路上,歡迎訂閱《小穗步電子報》——我會把每一次的覺察與練習,寫成信寄給你。→ [訂閱小穗步電子報](https://moradatajourney.com/#/portal/signup) ### 建置數據中台不是把工具串成平台就好!從資料庫的「正規化」看資料取用的兩難 URL: https://moradatajourney.com/data-platform-normalization/ Last updated: 2026-08-15T17:48:41.000Z 「數據中台的資料庫,難道就只是把線上資料庫複製一份而已嗎?把工具串成平台就好?」 很多人以為,建置數據中台只是運用開源工具把平台架起來,或者做做資料清理。但中台真正在做的事,是**用硬碟空間,換掉使用者腦中的表結構知識**——讓取數的人不必先搞懂五六張表怎麼串,才拿得到他要的那一行資料。 每家公司的數據中台,只要用一樣的工具就能建立起來嗎?並沒有那麼簡單。數據中台的建立,必須根據企業資料的現況設計。其實這就跟人生的很多選擇一樣:**沒有最好的選擇,只有最合適的選擇。** 在建置的過程中,我們面臨很多選擇題,甚至是申論題: - 數據中台要自建還是買軟體? - 數據中台硬碟要使用 SSD 還是 NAS? - 資料的拋轉,要採用「源頭一變動中台就更新」,還是「每 15 分鐘大量批次轉換」即可? 這些題目都沒有標準答案,得先把資料現況摸清楚,才知道哪個工具適合。為了摸清楚,我花了很多時間泡在線上資料庫裡,也因此開啟了我的資料庫打怪之旅。 這才發現,資料庫的設計挺有趣的。原來,**資料庫的「正規化」,和統計學上的「正規化」完全是兩回事。** ### 什麼是資料庫的「正規化」? 簡單來說,**把資料拆開,讓每筆資料只存一次,減少重複與不一致**,這就是正規化(Normalization)。 我們來看一個電商訂單資料的例子。如果我們把所有資訊塞在一起,會長這樣: | 訂單編號 | 客戶姓名 | 客戶電話 | 商品名稱 | 商品價格 | | ---- | ---- | ------- | ---- | ---- | | O001 | 王小明 | 0912xxx | 滑鼠 | 500 | | O002 | 王小明 | 0912xxx | 鍵盤 | 1200 | 你會發現「王小明」和他的「電話」重複出現了。如果王小明換了電話,系統裡很多筆資料都要跟著改,非常容易漏掉。 這時候,透過「正規化」,我們會把這張大表拆成幾張小表: **客戶表:** | 客戶ID | 姓名 | 電話 | | ---- | --- | ------- | | C001 | 王小明 | 0912xxx | **商品表:** | 商品ID | 商品名稱 | 價格 | | ---- | ---- | ---- | | P001 | 滑鼠 | 500 | | P002 | 鍵盤 | 1200 | **訂單表 與 訂單明細表:** | 訂單ID | 客戶ID | | ---- | ---- | | O001 | C001 | | O002 | C001 | | 訂單ID | 商品ID | 數量 | | ---- | ---- | -- | | O001 | P001 | 1 | | O002 | P002 | 1 | - **優點:** 資料乾淨、不容易發生前後矛盾。 - **缺點:** 查詢資料時非常辛苦,常常要 `JOIN` 很多張表。寫到這裡,就特別能理解寫 SQL 同仁的辛苦。 ### 那「反正規化」又是什麼? 反過來,**故意把一些資料合在一起、重複存,讓查詢更快、更直覺**,這就是反正規化(Denormalization)。 例如老闆每天看報表,只想知道誰買了什麼、花了多少錢: | 訂單ID | 客戶姓名 | 商品名稱 | 金額 | | ---- | ---- | ---- | --- | | O001 | 王小明 | 滑鼠 | 500 | 「客戶姓名」明明可以從客戶表裡 `JOIN` 出來。但如果這張報表每天要被查詢幾千次,系統就會選擇在訂單報表裡「直接存入」客戶姓名與商品名稱,把每次查詢都得重算一次的 `JOIN` 省下來。 同一份資料,在這兩種設計下會長成不同的形狀: ![同一份資料的兩個方向:正規化把訂單大表拆成客戶表、商品表、訂單表、訂單明細表;反正規化把它們合成報表寬表](https://moradatajourney.com/content/images/2026/08/diagram-normalization.png) 拆開好管理,合起來好查詢——同一份資料的兩個方向 > **一句話理解兩者差異:** > **正規化:** 像整理倉庫,每個東西分門別類放在固定位置。**反正規化:** 像把常用工具直接放在辦公桌上,雖然有時會佔空間或重複買,但是方便拿! ### 只有這兩種選擇嗎?時間點的魔法:「快照」設計 除了正規化與反正規化,其實還有許多因地制宜的設計。有些資料我們**不想反映最新狀態,而是要保留「當下發生時」的狀態**,這通常被稱為歷史快照(Historical Snapshot)、交易快照或時間點資料保存。 這樣的資料就像是**拍照**。 - **客戶主檔** 是「現在本人長什麼樣」。 - **訂單快照** 則是「當時交易現場拍下來的照片」。 人可以改名、換地址、換電話,但你**不能把十年前發票上的名字,自動改成今天的名字。** 所以這類資訊必須留在自己的資料表裡,不能因為客戶主檔更新了,就把這筆訂單當時的名稱覆蓋掉。 ### 資料管理者 vs. 資料取用者的兩難 世界上有最好的資料庫設計,能讓每個場景都完美使用嗎?並沒有。這也是為什麼除了線上交易資料庫外,很多公司都會建立專屬的「數據中台」或分析資料庫。 - 如果我是**倉庫管理者**,我會喜歡「正規化」,東西好管不重複。 - 但如果我是**每天取用資料的人**,我會希望資料「好拿」。就像家裡要喝水、辦公室也要喝水,我就會在兩個地方都放一個水杯,而不是只買一個水杯,每天帶著它來回奔跑。 對於資料取用者來說,要查一筆資料得跨越五六張表,無疑是一場災難。多放一個水杯,多花的是空間;省下來的,是每天來回奔跑的時間。這就是開頭說的那句話:數據中台用空間,換掉使用者腦中的表結構知識。 所以真正要決定的,從來不是哪種設計比較好,而是這份資料被拿來做什麼: ![決策樹:資料經常被修改選正規化、經常被查詢選反正規化、要保留當時的樣子選快照,各自標示代價](https://moradatajourney.com/content/images/2026/08/diagram-decision.png) 先問這份資料被拿來做什麼,再決定怎麼設計 難道數據中台的架構設計,只能在正規化與反正規化之間妥協嗎?有沒有更好的做法? --- **延伸閱讀** - [數據平台之資料管道的演化:從 ETL 到 MDS,如何應用於醫療數據?](https://moradatajourney.com/evolution-of-data-pipelines-in-data-platforms/) - [【建立數據平台 ing】小穗步覆盤 #01](https://moradatajourney.com/data-platform-building-review-01/) 如果你也走在自己的路上,歡迎訂閱《小穗步電子報》——我會把每一次的覺察與練習,寫成信寄給你。→ [訂閱小穗步電子報](https://moradatajourney.com/#/portal/signup) ### 玩皮克敏你會先看攻略,還是先自己摸索?皮克敏教我的 AI 使用時機 URL: https://moradatajourney.com/pikmin-ai-timing/ Last updated: 2026-08-09T12:59:48.000Z 問 AI,拿到的是結果;自己拆解,拿到的是「我知道我是怎麼走到這裡的」。 弟弟把手機轉過來給我看:「妳不知道有蘑菇地圖嗎?」 這一週父親節難得回高雄,我和弟弟一起研究皮克敏怎麼玩,才知道玩家之間流傳著「蘑菇地圖」和「花朵開花地圖」這些祕笈。我剛開始玩的時候,一天三次的蘑菇任務總是打不到,所以看到這些地圖的當下,真有種如獲至寶的興奮。 但興奮之後,心裡卻冒出一絲捨不得。因為在還沒有攻略的日子裡,我其實已經靠自己摸出一套訣竅: 1. **觀察**:蘑菇消失後,我先計時看它多久會再出現。 2. **規律**:我發現是 5 分鐘,還蠻準的。 3. **應用**:每次想打蘑菇,就先掃一輪場上的蘑菇,挑剩餘時間最短的那顆——假設它還剩 1 分鐘消失,我就在 6 分鐘後狂按探險。 雖然不是每次都搶得到,但慢慢也上手了,一天三次的任務基本沒問題。回頭看才發現,這不就是我工作裡最熟悉的節奏嗎——觀察、找規律、驗證。只是這一次,這塊肌肉是在遊戲裡動起來的。 所以當弟弟給我蘑菇地圖時,我心裡想的是:如果一開始玩皮克敏就拿到這張地圖,我還有機會用自己的觀察力與實驗精神,找到屬於自己的規律嗎? 這讓我聯想到 AI。攻略和 AI 其實很像:**攻略給你答案,摸索給你能力。**問 AI,拿到的是結果;自己拆解,拿到的是「我知道我是怎麼走到這裡的」。 當我遇到困難時,是該先問 AI,還是先用自己原有的能力,觀察現況、拆解問題、找出規律?看別人給的方法當然快很多,但自己摸索過再回頭看,我能清楚看見從 A 點到 B 點的路上,自己動用了哪些能力——這跟照著攻略執行,是完全不同的感受。 用 AI 也是同樣的體會。AI 可以加速我原本就會做的事;但對還不上手的事,我不一定每次都要先問 AI,而是先讓自己冷靜想過,讓思考有機會長出來,再用 AI 來對答案。這樣做,原本的能力會繼續被使用,過程中發現缺口,也能即時補強。 我期待 AI 是「賦能」的工具,而不只是放大器。**放大器,是把你原本會的事做得更快;賦能,是讓你多出一種原本沒有的能力,跨出舒適圈。**在這個過程裡,AI 是陪我成長的角色。 如果要把這篇濃縮成一條原則,我會這樣說: > **熟的事,先用 AI 加速;不熟的事,先讓自己想,再用 AI 對答案。** 這是「小穗步玩皮克敏」的第一篇。皮克敏是款很有趣的遊戲,裡面藏著不少商業設計,之後想邊玩邊拆解,一篇一篇記下來。 #小穗步玩皮克敏 #邊玩邊分析心理機制 #邊玩邊反思 ![皮克敏 Bloom 探險頁面:全台地圖與一天三次的蘑菇挑戰](https://moradatajourney.com/content/images/2026/08/pikmin-mushroom-challenge.jpg) 如果你也走在自己的路上,歡迎訂閱《小穗步電子報》——我會把每一次的覺察與練習,寫成信寄給你。→ [訂閱小穗步電子報](https://moradatajourney.com/#/portal/signup) ### 寫作的快與慢:與 AI 協作蓋一條寫作流水線,但留下自己的靈魂 URL: https://moradatajourney.com/ai-writing-pipeline/ Last updated: 2026-08-02T12:49:14.000Z 參加 #2026GenAI 年會後,我最大的體悟是:與其追求開發更多軟體或儀表板,不如回到原點——從「自己的痛點」著手。唯有如此,AI 才能真正成為得力助手。 2026GenAI 年會上 Peggy 的故事就是最好的證明。她為視障媽媽打造了專屬的 AI Agent,不僅減輕了自己的照護負擔,也成功提升了媽媽的生活自主性。這顆「用 AI 解決真實需求」的種子,就此在我心中發芽。 然而我也發現,「痛點」往往要在心真正靜下來時,才會清晰浮現。如果只是順著慣性過日子,它很容易就會被庸碌的生活給掩蓋。 趁著面對 Fable 使用截止日期帶來的現實感,也趁著這趟台東之旅給予的沉澱空間,我不得不去正視內心的渴望:透過寫作沉澱自己所學,一直是我真正想做的事。只是,它總在日常的工作與家庭瑣事中被一再耽擱。理智上,我知道 AI 絕對能幫上忙;但在決定借助 AI 之前,我心底其實還有另一個聲音在拉扯。 ### 最怕的不是AI寫不好,是怕AI把我淹沒了 會想找 AI 一起寫作,其實一開始最怕的,不是它寫不好,而是它把我寫沒了。 我很清楚自己要的是什麼:把寫作裡那些「壞摩擦」磨掉——打字、排版、從一張白紙重來。 但我也很怕,一旦交給 AI,那些「好摩擦」——思考、判斷、取捨,還有我說話的方式,會一起被它抹平成一種誰都可以的、平均的聲音。 ### 先畫一條界線:鋼材我出,磨刀石AI扛 所以我做的第一件事,不是叫AI幫我寫,而是先畫一條分界線。 體驗、觀點、比喻,這些是「鋼材」,只能由我出;流程、結構、品質檢查,這些是「磨刀石」,交給AI扛。沒有時間打字,就用錄音的方式先進行第一步輸出。 這樣一來,AI幫我省了力氣,卻動不了我的聲音——因為聲音這件事,我從一開始就沒有讓渡出去。 ### 如何與AI打造一個MVP寫作的工作流 現在與AI協作,習慣先建立一個名為 `background.txt` 的檔案。我會一股腦地把當下的想法、背景、情境與目標全部打進去,讓 Claude 去思考如何拆解成我需要的內容;若有需要確認或提問的地方,它再回頭與我對齊。 但這一次與 AI 協作,和以往最大的不同在於,我引入了「四象限分析法」(周哈里窗思維)。 我從自己的角度出發,去檢視每一次的提問與協作,究竟有沒有讓我的「已知變大,未知變小」? 以我這次開發寫作工作流其中一個步驟為例,這四個象限的盤點: - **【我知道,自己已知】**從衡量(儀表板)→節奏(熱力圖)→生產(萬能寫作法)的閉環成形且都被真實資料/實跑驗證;資安邊界每次 push 實測有效 - **【我知道,自己不知道】**排程實際運行的穩定性、自然搜尋的參與度(Engaged)爬升曲線,以及萬能寫作法在處理長篇逐字稿時的表現——這些都必須等下次有真實案例時才能知道了。 - **【我不知道,自己知道】(AI 幫我照亮的隱性知識)**AI 提醒我,其實我的口述本身就帶有結構、跨平台的導流本來就在做、而過去累積 8 年的內容本就是一座寶礦。這趟協作,幫我把三件「早就在做卻沒顯性化」的事變成了具體工具。 - **【我不知道,自己不知道】(協作中湧現的未知與副作用)**我發現當 AI 在下主題標籤時,容易滑回原有的任務框架(雖然已用雙錨定壓住,但長文可能再犯);另外,儀表板數字可能帶來的「為指標而寫作」的副作用,目前還沒遇到反制手段。 同時,這也是一個全新的切角(AI與我)——在協作過程中,去看 AI 照亮了哪些我自己沒注意到的地方,將我的「隱性知識」湧現出來。 透過這種方式,我不僅能看到自己的前進,也能看到 AI 的前進。這正是與 AI 協作最迷人的地方:**你參與了所有的細節,而不只是看到最終成果。** 每一次的碰撞,都在修正我與 AI 的溝通方式。 ![單主體×雙主體四象限框架圖解:看見知識如何長大](https://moradatajourney.com/content/images/2026/08/ai-writing-quadrant-framework.jpg) ### 別再問「產得多不多」,要問「方向對不對」 但這趟協作真正讓我停下來思考的,是另一個根本問題:**我到底該用什麼,來判斷這個寫作工作流有沒有做對?** 我寫了更多文章就是好嗎?這些文章有達到我要的效果嗎?讀者看到了,真的學得走嗎? 一開始我以為,AI 幫我產出得更多、更快,就是成功。 後來我才想清楚,產得多不等於變更好——真正該問的,是方向有沒有往我要的地方走。 於是,我們一起做了一個儀表板,把數據攤開來看,而且刻意隱藏了「瀏覽數(Page Views)」。因為瀏覽數容易被網路機器人灌水,看起來很熱鬧,本質卻是空的;我只認那些「真的停下來閱讀(停留時間)」的人。 ![小穗步 Outcome 儀表板:以 engaged sessions 為主指標](https://moradatajourney.com/content/images/2026/08/outcome-dashboard.png) 當數據真正攤開後,我才驚覺一個殘酷的現實:在 2026 年,我竟然忙到一篇文章都沒寫!前陣子的台東之旅,居然是我 2026 年的第一篇文章。 ![歷年發文節奏熱力圖:2026 年上半年是空白的](https://moradatajourney.com/content/images/2026/08/posting-heatmap.png) 這背後當然有很多原因,但最大的痛點在於:**寫文章的「靜摩擦力」太大了。** 過去要從無到有產出一篇文章,耗費的力氣極其驚人。這也是為什麼這陣子,我想透過新的軟體與 AI 工具,為自己打造一條順暢的工作流。 而且,數據也推翻了許多我過去「想當然耳」的猜測。 原來,那些安安靜靜、透過搜尋被讀到的文章,讀者的停留時間反而最長;原來我以為只是隨手寫寫的閱讀筆記,正不斷被人在搜尋引擎中一次次點擊進來。 ![內容排行:以 engaged 排序,安靜被搜尋讀到的文章停留最久](https://moradatajourney.com/content/images/2026/08/content-ranking.png) 在這段彙整的過程中,我得到了最大的鼓勵與收穫——部落格下方竟然有讀者在 Power BI 的教學文章下留言,由衷地說「她學到了」。這對我而言,是千金不換的感動。 ![讀者在 Power BI 教學文下的留言:我學到了](https://moradatajourney.com/content/images/2026/08/reader-comment.png) 這件事教會我的,不只是關於部落格經營。它提醒了我:**人在忙著產出的時候,最容易忘記回頭問自己一句——我真的有幫助到人,還是只是文章數量變多而已?我是在前進,還是在原地踏步?** ### AI 的時代下,要走得更像自己 寫到這裡,我想把這份體會,收回到我這一年一直在練習的人生課題上。 我今年 45 歲了。我開始相信,45 到 55 歲也許正是人生最精彩的「黃金十年」。把真心想做的事一件一件實現,把方向顧好、把自己的聲音守住;至於剩下的繁瑣力氣,就交給對的工具幫我省下來。 有些事,現在不做,以後大概就沒有那個體力和心情去做了。 所以,就從這條寫作流水線開始吧。 現在,我與 AI 協力打造出了一個最適合自己的工作流: > **人錄音口述** →**語音轉文字** →**Claude AI 搭配萬能寫作法架構初稿(或者)**→ **匯入 Heptabase** → **人在 Heptabase 中梳理脈絡與文字** →**插入圖表與拼貼視覺**→ **發布至部落格。** 因為這條流水線,原本我寫一篇深度貼文需要耗費 3-5 天,現在竟然在 1 天內就能流暢完成。這樣的體驗真的很棒。 但,因為變快了,所以我就必須產生更多文章嗎? 不。這條流水線的誕生,不是為了讓我寫得更多,而是為了讓我有空間,走得更像自己。 ![寫作流水線八步驟圖解:從錄音口述到發布,流程交給 AI、靈魂留給自己](https://moradatajourney.com/content/images/2026/08/writing-pipeline-infographic.jpg) 流程可以交給 AI 加速,我要留下更多體驗與紀錄,做關鍵的判斷與思考。 #小穗步小日子 #小穗步學AI 如果你也走在自己的路上,歡迎訂閱《小穗步電子報》——我會把每一次的覺察與練習,寫成信寄給你。→ [訂閱小穗步電子報](https://moradatajourney.com/#/portal/signup) ### 45。穗 |轉場練習:不再當最佳捕手,練習站上自己人生的投手丘,練習拾回選擇權 URL: https://moradatajourney.com/forty-five-years/ Last updated: 2026-08-02T06:47:26.000Z Hi,我今年 45 囉,你今年過得好嗎?時間過得真快,寫這份生日禮物已經持續了八年。今年迎來45歲,人生應該有百分之九十九的機會,已經走過了一半。 小時候的人生是用「往前數」的,現在看待時間的切角,卻漸漸變成了「倒數」。雖然頭腦依舊清楚,覺得自己還能無止盡地學習與衝刺,但身體已經慢慢發出訊號——它正處於中年階段,如果不好好保養,將會出現斷層式的下降。看著孩子今年已經高出我一顆頭,這些種種都在提醒著我:是時候用不同的角度來過一生了,不能再用年輕的視角盲目前進,是該調整心態、調整步調了。 既然感受到人生有限,更要選擇自己想做、想吃、想玩的。以前總是為了照顧其他人而顧全大局,配合家人選他們愛的蛋糕口味,總是為了「皆大歡喜」而委屈自己。但在中年,我發現了自己的反抗,也渴望為自己的人生多活一些。 去年生日在平日,一個人去找了小麥菓子點了單人份自己喜歡口味的小戚風蛋糕;離開時再帶走一個大家都喜歡的口味回家慶生。今年的生日剛好在假日,看著老公想要一起慶生的心意,我不再執著於獨自慶祝,但「選擇自己愛吃的蛋糕」是底線——我挑了自己愛的抹茶蛋糕。 ![獨享的抹茶千層蛋糕與生日蠟燭](https://moradatajourney.com/content/images/2026/08/45-matcha-cake.jpg) 雖然我知道這個抹茶蛋糕只有我一個人會吃,所以我買了切片,打算一家人一起慶生,蛋糕則由我獨享。今年第一次嘗試時,家人因為只有切片而不在意慶生時間,甚至讓我生了悶氣。起初我懊惱著自己為什麼不明講,反而讓生日留下了不完美,但「不害怕衝突、面對、接受並處理」,也是我今年必須學習的課題。我很開心自己跨出了這一步,也因此意外收穫了不一樣的生日。今年的生日禮物,除了我請孩子寫了一張卡片給我外,竟然有【每天晚上煮飯後有人主動幫忙洗碗】的禮物,這份大禮真是意外又實用。 ![孩子手寫的生日快樂卡片](https://moradatajourney.com/content/images/2026/08/45-birthday-card.jpg) 回過頭來,我要怎樣調整工作步調?從小到大的貼心,幫助我走到了今天,但也因為這份「貼心」,讓我好像永遠只是職場上的「最佳捕手」,始終沒有機會站上投手丘。面對「數據中台為什麼推得這麼慢」的質疑,我深刻體認到:一個團隊要確認、面對並釐清累積數十年的資料結構已屬不易,對內更需要推廣數據文化與概念。很多時候,當認知跟不上時,工具是無法發揮助益的。今年度讓我深刻感受到——做再多,如果沒有對焦願景,終究只是枉然。 雖然有點小失落,但經過這一個星期的沉澱,我有了截然不同的心境。 接下來的生活,我決定以「自己」為主。對工作,清楚承諾、確認目標、如實前進,不再無限補位,這是保護自己,也是保護團隊保有能量去展現成果。對自己,把經驗沉澱成可以帶走的作品、方法與信任。對人生,優先保留健康、家庭與時間,其他都是次要的。 **未來不希望自己做的三件事:** - **一、不再無限以工作為首要:** 過去習慣在晚上與放假時處理工作,單純只是為了讓團隊運作更順暢,卻忽略了好好善待自己。 - **二、不再以別人為首要,留時間給自己:** 過去總是把夥伴、家庭、孩子放在第一位,忘了留時間給自己。雖然今年有所改善,開始運動、下廚吃健康飲食,但與 Sharon 一對一對話後,Sharon 在工作之餘,也安排追星,我發現自己其實還能給自己更多 Me Time,我現在的生活是被自己侷限住的,不是外人。 - **三、不再以成就為首,而是問自己想體驗怎樣的人生:** 與在 Anthropic 的 Sharon 一對一交流時,我發現自己口是心非,甚至開口詢問海外職缺的可能性。這究竟是為了想去國外生活的孩子問的?還是為了不服輸的自己問的?這明明與我的生活目標相違背,內心的思考正在打架。我應該是「為了想要的生活去打造工作」,而不是「為了工作讓生活無限配合」。 ![轉場練習:從既有的角色走向自己選擇的道路(AI 插畫)](https://moradatajourney.com/content/images/2026/08/45-transition-illustration.jpg) 回首過去,30歲階段帶著孩子早療的生活,讓我深刻體驗到孩子的訓練是自己的事情,旁人雖能給予階段性資源,但主線的陪伴依然在父母身上。心裡既渴望保有自己的人生,想繼續在職場上發揮與陪伴孩子的責任下,有沒有可能在兩者間找到平衡、實踐不同的工作與生活模式?從現在開始,我想展開這樣的嘗試與體驗。 謝謝老公與小兒子一起過生日,希望46歲時的我,還能持續寫下我的嘗試與體驗,能每年有時間寫下送給自己的生日禮物,也是一種幸福。 #迎向46 #與自己對話#生日快樂 --- **四十五歲的轉場練習:把接了半生的球暫時放下,練習握球、站上投手丘,投出自己選擇的下一球。** ### 歷年送給自己的生日禮物: [44 。穗| 慢一點,感受生活細節,進行第二人生的探索](https://moradatajourney.com/forty-four-years/) [43 。穗| 照顧自己的心,無須成為別人的意義,專注綻放自己的樣子](https://moradatajourney.com/forty-three-years/) [四十二。穗| 練習用「收穫心態」欣賞進步的自己,拓展自己更多潛能](https://moradatajourney.com/forty-two-years/) [四十一。穗| 「是的,這就是我」,讓我更了解我自己](https://moradatajourney.com/forty-one-years/) [四十。穗|40不惑?](https://moradatajourney.com/40-years/) [三九。穗|喔,原來這就是我](https://moradatajourney.com/thirty-nine/) [37。穗|從辛苦,到漸漸感到滿足](https://moradatajourney.com/thirty-seven/) 如果你也走在自己的轉場路上,歡迎訂閱《小穗步電子報》——我會把每一次的覺察與練習,寫成信寄給你。→ [訂閱小穗步電子報](https://moradatajourney.com/#/portal/signup) ### 【台東之旅:工作放手練習,人生下半場的勇敢起飛與慢活練習】 URL: https://moradatajourney.com/2026-taitung-journey/ Last updated: 2026-07-16T17:48:20.000Z ## 把快轉鍵暫停,換上台東的慢時區 這次的台東之旅,與其說是一場放鬆的假期,不如說是我為自己安排的一場「人生與職場的壓力測試」。 第一天清晨 6 點多起床,我們跳上計程車趕往火車站。這是一個無比正確的決定,保留了全家人的體力,準備迎接東台灣的陽光。這次選擇搭乘 EMU3000 新自強號直達台東,4 個小時的車程雖然有些搖晃,但也讓我有了沉澱心思的空檔。 ## 大自然的啟示:清澈與渾濁的內心之海 去程平靜無波的海是台東藍;回程是颱風前夕有很多長浪的時候,海水是很渾濁的。 這讓我體驗到一件事:大自然跟人生一樣,當你靜下心來之後,就會很清澈地呈現出自然的光彩;但當你越急躁,心中的那個湖水就會變得渾濁,什麼都看不清楚。所以遇到重要困難的時候,或許就是需要靜下心來,自己才會看得更清楚、更明白。 ![](https://moradatajourney.com/content/images/wp/2026/07/image-1024x665.png) 台東藍 vs 颱風前夕海面 ## 鹿野高台:勇敢起飛,擁抱黃金十年 抵達台東後,趁著颱風尚未發威,我們騎著機車直奔鹿野高台。一開始風勢稍大,我們抱著「既來之則安之」的心情,在遼闊的中央山脈環繞下無壓力地等待。最終,看著熱氣球順利升空,尤其是今年的主角「吉伊卡哇」,看著它打入熱空氣時臉紅紅的溫暖模樣,真的太療癒了!謝謝弟弟跟大兒子幫我拍了好多可愛的照片。 ![](https://moradatajourney.com/content/images/wp/2026/07/image-1.png) 這次最讓我意外的,是老公竟然主動看上了「飛行傘」,還帶著小兒子一起體驗,雖然這項體驗要價不斐(飛行 2,700 元+攝影 400 元,一人 3,100 元,兩人共花費 6,200 元且需付現),但看著他們勇敢往前跑起飛,中央山脈、蘭嶼與綠島一覽無遺,下來後直呼風景太美。 下來後老公還跟我分享,他覺得有些事情就是需要花錢體驗,覺得這筆飛行傘的錢花得非常有價值。也發現現在不做,以後可能就沒體力或沒意願去做了。雖然我今年 45 歲,步入中年,但我深刻覺得,45 到 55 歲才是我人生的「黃金十年」。我應該好好把握,去嘗試更多工作以外的人生體驗。這是這趟旅行中,我收穫最多的一件事。 ![](https://moradatajourney.com/content/images/wp/2026/07/img-ce8f616996b4.jpg) 飛行傘體驗 ## 鸞山森林博物館:布農族的部落體驗 第二天的重頭戲,是我們提前預約的「[鸞山森林博物館](http://www.forestculturemuseum.com.tw/?ref=moradatajourney.com)」(每人 600 元,鸞山派出所集合)。從省道切入產業道路,柏油路變成狹窄的石子路,中途在中繼站「會走路的樹」歇腳;隨著海拔爬升,回頭俯瞰中央山脈的壯闊,讓人心曠神怡。 ![](https://moradatajourney.com/content/images/wp/2026/07/img-4e823dbb57cb.jpg) 這裡的體驗非常原始且震撼: **迎賓烤山豬肉**:用竹籤串著生肉在炭火上慢慢烤 15 分鐘,雖然被煙燻得淚流滿面,但孩子們體驗到了最純粹的野炊樂趣,配上一小杯小米酒,風味絕佳。 ![](https://moradatajourney.com/content/images/wp/2026/07/img-6836a2909845.jpg) **祭拜儀式**:這是我活到 45 歲,第一次走進檳榔攤!跟店家說我需要的是祭祀用的檳榔,她從冰箱中拿了一包檳榔,一包50,分不清楚貴還便宜的我,但心意已到,當天帶著米酒,誠心地向山林致意。 ![](https://moradatajourney.com/content/images/wp/2026/07/img-2c792bbc06c7.png) **爬樹體驗**:高度約有三、四層樓,竟然有三種不同難度的路線。我、小兒子和弟弟選擇了挑戰較大的困難路線;老公則為了陪大兒子選了中等路線。讓我驕傲的是,大兒子這次勇敢挑戰了自己,沒有選擇最輕鬆的小路。**一線天考驗**:通道極窄,必須有技巧地側身才能通過。這也提醒了我:想走更遠的路,平時的體力與健康真的要維持好! ![](https://moradatajourney.com/content/images/wp/2026/07/img-c0bfb5dca538.jpg) 🍽️ **部落午餐**:中餐不提供免洗餐具(可現場租借環保餐具)。菜色極度豐富:烤雞,窯烤山豬肉、竹筍、好吃的辣椒、小米粽、桂竹筍、鳳梨蔭瓜炒苦瓜。最讓我驚豔的炸物是「山茼蒿包金針菇」和「炸南瓜絲與甘梅粉」。吃飽後還體驗了純手工的「打麻糬」,從生糯米打到 Q 彈,真的非常耗費體力,但配上花生粉的滋味實在太美妙了。 ![](https://moradatajourney.com/content/images/wp/2026/07/img-0ed9750b212a.jpg) ## 台東市區的慢活與在地美味 回到市區,我們品嚐了台東的在地美味: [**榕樹下米苔目*小滿雨生**](https://www.google.com/maps/place/%E6%A6%95%E6%A8%B9%E4%B8%8B%E7%B1%B3%E8%8B%94%E7%9B%AE%2A%E5%B0%8F%E6%BB%BF%E9%9B%A8%E7%94%9F/@22.7627763,121.1491431,17z/data=!3m1!4b1!4m6!3m5!1s0x346fb93ef2535d8d:0x3b9802e4a5f6051b!8m2!3d22.7627763!4d121.1491431!16s%2Fg%2F1tdpcyz2!18m1!1e1?entry=ttu&g%5Fep=EgoyMDI2MDcwOC4wIKXMDSoASAFQAw%3D%3D&ref=moradatajourney.com) 第一次吃到灑滿成功港柴魚片的米苔目,看著柴魚片在湯頭上跳舞,香氣完全融入高湯。喜歡烏醋的我,也特地看了店內使用的是「屏東萬津烏醋」,味道極好! **炸鬼頭刀與嘉蘭天空桑椹汁**:鬼頭刀肉汁飽滿,獨特的口感完全不輸澳洲炸魚柳;期間限定的桑椹汁超級濃郁,強烈推薦! **211 餐盤的堅持**:身為實踐 211 飲食法的人,我特地點了一盤花椰菜佐胡麻醬。吃得出來店家是用黑芝麻比例偏高的自家調配醬汁,非常用心。 ![](https://moradatajourney.com/content/images/wp/2026/07/img-2dffd9439ec5.jpg) **榕樹下米苔目*小滿雨生** [**關山豆漿店-中山店**](https://www.google.com/maps/place/%E9%97%9C%E5%B1%B1%E8%B1%86%E6%BC%BF%E5%BA%97-%E4%B8%AD%E5%B1%B1%E5%BA%97/@22.7538422,121.1468034,17z/data=!3m1!4b1!4m6!3m5!1s0x346fb9bef8bc4ee3:0x15ed34627a8c8cf3!8m2!3d22.7538422!4d121.1493783!16s%2Fg%2F11s9lq1k%5Fm?authuser=0&entry=ttu&g%5Fep=EgoyMDI2MDcwOC4wIKXMDSoASAFQAw%3D%3D&ref=moradatajourney.com): 位在中央市場裡面,價位和高雄相比偏高,但我喜歡中央市場已經現作好的餐點和老麵包子,包子料很真實,包了小地瓜的地瓜饅頭,很適合趕行程時,快速撈上幾顆,前往下一個行程。 ![](https://moradatajourney.com/content/images/wp/2026/07/image-2.png) [**葉式海鮮中央市場店**](https://www.google.com/maps/place/%E4%B8%AD%E5%A4%AE%E5%B8%82%E5%A0%B4%E8%91%89%E6%B0%8F%E6%B5%B7%E9%AE%AEYeh%E2%80%98s+Fish/@22.7533356,121.1469179,17z/data=!3m1!4b1!4m6!3m5!1s0x346fb9f656fc61b1:0x4bbc97e3bd8b53aa!8m2!3d22.7533356!4d121.1494928!16s%2Fg%2F11stqt5dzt?authuser=0&entry=ttu&g%5Fep=EgoyMDI2MDcwOC4wIKXMDSoASAFQAw%3D%3D&ref=moradatajourney.com): 這次體驗了中央市場店的葉式海鮮,因為在市場中,所以大家都是外帶,比較適合當地人前往,不適合觀光客買好當場吃,所以如果是想好好慢慢享用葉式海鮮,還是建議到[總店](https://www.google.com/maps/place/%E8%91%89%E6%B0%8F%E6%B5%B7%E9%AE%AE+Yeh%E2%80%98s+Fish/@22.7533352,121.139193,15z/data=!4m10!1m2!2m1!1z6JGJ5rCP5rW36a6uWWVo4oCYcyBGaXNo!3m6!1s0x346fb99b8b36ea33:0xedd37aa7cdac7e2e!8m2!3d22.7603241!4d121.1566218!15sChjokYnmsI%5Fmtbfprq5ZZWjigJhzIEZpc2haGyIZ6JGJIOawjyDmtbfprq4geWVoIHMgZmlzaJIBCmZpc2hfc3RvcmXgAQA!16s%2Fg%2F11n%5Fxsfss%5F?authuser=0&entry=ttu&g%5Fep=EgoyMDI2MDcwOC4wIKXMDSoASAFQAw%3D%3D&ref=moradatajourney.com)(台東市強國街211號),但中央市場的好處就是離住的地方近,我還是很滿足地吃了兩顆干貝,好鮮甜。 ![](https://moradatajourney.com/content/images/wp/2026/07/img-8ed3a738ec2d.jpg) [**寶桑豆花**](https://www.google.com/maps/place/%E5%8F%B0%E6%9D%B1%E5%8F%A4%E6%97%A9%E5%91%B3%E5%AF%B6%E6%A1%91%E8%B1%86%E8%8A%B1/@22.7516013,121.1500543,17z/data=!3m1!4b1!4m6!3m5!1s0x346fb9388cf7a3ed:0xcdaa7f47a157e512!8m2!3d22.7516013!4d121.1526292!16s%2Fg%2F1tczy7yx?authuser=0&entry=ttu&g%5Fep=EgoyMDI2MDcwOC4wIKXMDSoASAFQAw%3D%3D&ref=moradatajourney.com):夏天消暑的首選,點上大碗綜合豆花,配上細冰糖水,也有豆漿的選擇,很滿足。 ## 台東博覽會:慢下來,聽聽內心的聲音 第三天,我們決定不去需要長途騎車的原生植物園,改留在市區逛「[台東博覽會](https://taitungexpo2026.com.tw/?ref=moradatajourney.com)」。 這裡的策展讓我流連忘返,雖然時間有限只有逛了四個免費的展館,但我覺得超值得。 在「活的學校」展區,就像是一場台東城市走讀的縮影。其中最觸動我的核心理念就是「慢下來」,踩踏地板觸發的海浪聲、火車聲,甚至是第一聲心跳聲,都強烈觸動了我。透過一個一個的提問(靈魂拷問),發現自己的急躁,很多事情是看不見盡頭的,我又願意花多少時間積累與等待? ![](https://moradatajourney.com/content/images/wp/2026/07/image-3.png) 「烤什麼東東」展區則充滿了童趣,小兒子甚至拿著透明小卡對著我說「烤媽媽」,惹得大家哈哈大笑,但這是有形的展覽,周末還有互動的展覽,透過民間參與主題展活動,透過團體的引導,聽到獨特的聲音在台東,在網頁頁面都有活動的相關報名資訊唷。 ![](https://moradatajourney.com/content/images/wp/2026/07/image-4.png) 在「未來人孵化器」展區,展示了雖然台東少子化,每間國小人數都不多,怎樣善用資源一起把教育作好,教育主題也蘊含很多台東的特色,有台東運動的體驗和鬼頭刀的廚藝設計,展館中也有設計闖關任務,完成任務竟然有一個未來人的鑰匙圈,很可愛,我挑選了包含「勇氣」特質的鑰匙圈——我期許自己,有勇氣好好享受人生下半場。 ![](https://moradatajourney.com/content/images/wp/2026/07/image-5-1024x679.png) 把握最後的時光,我們體驗了「Walk-in 熱氣球」的科技展覽,對於還沒實際搭乘熱氣球升空體驗的老公來說,這裡的視角轉換與吊籃操作體驗非常逼真,還推薦我一定要去體驗,但還是比不上實際熱氣球的繫流體驗。 ## 第一次的光雕演唱會:熱氣球+無人機+煙火 三重饗宴 第二天晚餐後,我們到國際地標看光雕演唱會。這是我第一次參加類似這樣的活動,人真的很多,也蠻難找到好位置的。第一次看到熱氣球、無人機再搭配煙火,真的很驚豔!不過也有點恐慌——第一次看到煙火直接打在自己的正上方,落下來的時候很怕砸到自己身上,就知道那距離有多近了,但一切真的很漂亮。 小孩坐在草地上,我跟老公以散步的方式欣賞音樂會,一邊走一邊聽,一邊看國際地標旁邊的海,覺得海好美。在夜空下聽著李傑聖唱媲美演唱會等級的五首歌,很享受。晚上我們漫步到國際地標欣賞光雕音樂會。熱氣球、無人機與正上方綻放的煙火交織,搭配媲美演唱會等級的歌聲,海風拂來,無比享受。 這晚還有一個意外收穫:我發現大兒子長大了。他變得很懂事,可以自己去問路、找廁所。雖然找完廁所後因為人太多一度找不到路回來,但我們之前有約定好,如果找不到人就直接去機車停車位那邊集合——他真的自己找到了停車位。真的長大了,我應該用不同的角度來作陪伴。 ![](https://moradatajourney.com/content/images/wp/2026/07/image-6-1024x576.png) ## 職場壓力測試:從「負責人」退居「建構舞台者」的放手哲學 這趟旅程,是我今年以來第一次請滿三天假出遊。出發前,我心裡其實有很多放不下。 但這三天,我把三個重中之重的關鍵專案,分別交給了兩位團隊夥伴。這三件事,過去一年陪著他們走一起走過。 這不只是一次休假,更是我對自己工作能不能放下的「壓力測試」。我越來越清晰地意識到,我不能也不喜歡永遠站在前方當個發號施令的「負責人」,我更應該成為一名「建構舞台者」——觀察每個團隊成員的特質,挑選有學習動機、目標導向的人,提供舞台讓他們領頭討論。雖然過程中會看到他們的從執行者要到帶領者的跳脫舒適圈的不適,但他們不抗拒,隨之而來的是他們能力上的躍遷。原來,這就是「先培育,再放手」的滋味。我對這次的測試結果感到滿意,因為訊息上都有同步一些進度與回覆,因此在旅途中也能放鬆的享受台東之旅。 ![](https://moradatajourney.com/content/images/wp/2026/07/img-09a324a54930.png) ## 結語:愛的牽引與小穗步的持續前行 這趟旅程,有太多值得感謝的人,除了能讓我放心玩的團隊夥伴。 感謝貼心的神隊友弟弟,一路上充滿禮貌地向商家道謝,也引領兩個孩子在旅行中的學習。還有因為小孩行程我們需要提早回台中,弟弟主動提說要當我們的前導車,讓我們在很趕的時間下抵達火車站,與帶行李到火車站減輕了我們負重,能更快到火車站。(這麼棒的貼心特質,又會煮飯,喜歡旅遊,能和他一起生活的女孩應該會很幸福) ![](https://moradatajourney.com/content/images/wp/2026/07/image-7.png) 感謝我的孩子們。回程火車上我極度不舒服、頭痛想吐,平時被我照顧的大兒子,下車時竟然主動伸出手牽著我、護著我出站。他真的長大了。 最後,謝謝我最愛的老公。無論是騎機車時將我護在中間那個順位,還是在我不舒服時的悉心照顧,甚至不忘叮嚀兒子們:「我最愛的是媽媽,所以你們要好好照顧媽媽。」 ![](https://moradatajourney.com/content/images/wp/2026/07/image-8.png) **沒有放不下的事情,只有需要想勇敢嘗試的體驗規劃**。接下來的日子,我會帶著這些寶貴的回憶與勇氣,邁開我的「小穗步」,繼續迎向人生下半場的各種挑戰! 還有很多沒有看到的台東博覽會展覽和美食,就流到下次再到台東到訪囉,或許下次去就是我獨自旅遊時? ![](https://moradatajourney.com/content/images/wp/2026/07/image-9.png) > 💡 **小穗步的乘車 Tip**:前一晚一定要睡飽,車上盡量閉目養神少看手機。若想看海,去程買右手邊、回程買前進方向的左手邊,就能將台東藍盡收眼底。 ## 📍 行程資訊懶人包(2026-07 資訊,價格以現場為準) **🚆 交通** - EMU3000 新自強號:台中直達台東約 4 小時;看海座位——去程右手邊、回程前進方向左手邊 - 市區代步:租機車,網路租車較便宜,一天約350元;鹿野高台、鸞山來回各約 70~90 公里 **🏨 住宿** - [碄艍 LinJyu 民宿](https://maps.app.goo.gl/U7A2xdgaRpc16YaTA?g%5Fst=il&ref=moradatajourney.com):四人房+雙人房一晚約 4000 元左右,有陽台、電子鎖,下次首選 **🎈 活動** - 鹿野高台飛行傘一趟 2,700 元+攝影 400 元,**只收現金** - [鸞山森林博物館](http://www.forestculturemuseum.com.tw/?ref=moradatajourney.com):600 元/人,一日遊需提前預約,鸞山派出所集合;轎車為上山極限,附窯烤午餐(禁免洗餐具)與打麻糬體驗 - [台東博覽會](https://taitungexpo2026.com.tw/?ref=moradatajourney.com):主場館「活的學校」「烤什麼東東」「未來人孵化器」「Walk-in 熱氣球」等,記得每個頁面都點入,有很多免費的體驗活動。 - 熱氣球光雕演唱會:熱氣球×無人機×煙火,建議提早卡位 **🍜 美食** - [榕樹下米苔目*小滿雨生](https://www.google.com/maps/place/%E6%A6%95%E6%A8%B9%E4%B8%8B%E7%B1%B3%E8%8B%94%E7%9B%AE%2A%E5%B0%8F%E6%BB%BF%E9%9B%A8%E7%94%9F/@22.7627763,121.1491431,17z/data=!3m1!4b1!4m6!3m5!1s0x346fb93ef2535d8d:0x3b9802e4a5f6051b!8m2!3d22.7627763!4d121.1491431!16s%2Fg%2F1tdpcyz2!18m1!1e1?entry=ttu&g%5Fep=EgoyMDI2MDcwOC4wIKXMDSoASAFQAw%3D%3D&ref=moradatajourney.com):炸鬼頭刀、現刨柴魚米苔目、嘉蘭天空桑椹汁(期間限定) - 鐵花小路炸豬排店:一份 400 多元,在地人也來吃,可能最近豬肉漲價,價位偏高。 - 農會伴手禮:回程前補貨的好選擇 - [**關山豆漿店-中山店**](https://www.google.com/maps/place/%E9%97%9C%E5%B1%B1%E8%B1%86%E6%BC%BF%E5%BA%97-%E4%B8%AD%E5%B1%B1%E5%BA%97/@22.7538422,121.1468034,17z/data=!3m1!4b1!4m6!3m5!1s0x346fb9bef8bc4ee3:0x15ed34627a8c8cf3!8m2!3d22.7538422!4d121.1493783!16s%2Fg%2F11s9lq1k%5Fm?authuser=0&entry=ttu&g%5Fep=EgoyMDI2MDcwOC4wIKXMDSoASAFQAw%3D%3D&ref=moradatajourney.com): 很適合趕行程時,快速撈上幾顆包子與早餐選擇,前往下一個行程。 - [**葉式海鮮**](https://www.google.com/maps/place/%E8%91%89%E6%B0%8F%E6%B5%B7%E9%AE%AE+Yeh%E2%80%98s+Fish/@22.7533352,121.139193,15z/data=!4m10!1m2!2m1!1z6JGJ5rCP5rW36a6uWWVo4oCYcyBGaXNo!3m6!1s0x346fb99b8b36ea33:0xedd37aa7cdac7e2e!8m2!3d22.7603241!4d121.1566218!15sChjokYnmsI%5Fmtbfprq5ZZWjigJhzIEZpc2haGyIZ6JGJIOawjyDmtbfprq4geWVoIHMgZmlzaJIBCmZpc2hfc3RvcmXgAQA!16s%2Fg%2F11n%5Fxsfss%5F?authuser=0&entry=ttu&g%5Fep=EgoyMDI2MDcwOC4wIKXMDSoASAFQAw%3D%3D&ref=moradatajourney.com)[總店](https://www.google.com/maps/place/%E8%91%89%E6%B0%8F%E6%B5%B7%E9%AE%AE+Yeh%E2%80%98s+Fish/@22.7533352,121.139193,15z/data=!4m10!1m2!2m1!1z6JGJ5rCP5rW36a6uWWVo4oCYcyBGaXNo!3m6!1s0x346fb99b8b36ea33:0xedd37aa7cdac7e2e!8m2!3d22.7603241!4d121.1566218!15sChjokYnmsI%5Fmtbfprq5ZZWjigJhzIEZpc2haGyIZ6JGJIOawjyDmtbfprq4geWVoIHMgZmlzaJIBCmZpc2hfc3RvcmXgAQA!16s%2Fg%2F11n%5Fxsfss%5F?authuser=0&entry=ttu&g%5Fep=EgoyMDI2MDcwOC4wIKXMDSoASAFQAw%3D%3D&ref=moradatajourney.com)(台東市強國街211號),但中央市場的好處就是離住的地方近,我還是很滿足地吃了兩顆干貝,好鮮甜。 - [**寶桑豆花**](https://www.google.com/maps/place/%E5%8F%B0%E6%9D%B1%E5%8F%A4%E6%97%A9%E5%91%B3%E5%AF%B6%E6%A1%91%E8%B1%86%E8%8A%B1/@22.7516013,121.1500543,17z/data=!3m1!4b1!4m6!3m5!1s0x346fb9388cf7a3ed:0xcdaa7f47a157e512!8m2!3d22.7516013!4d121.1526292!16s%2Fg%2F1tczy7yx?authuser=0&entry=ttu&g%5Fep=EgoyMDI2MDcwOC4wIKXMDSoASAFQAw%3D%3D&ref=moradatajourney.com):夏天消暑的首選,點上大碗綜合豆花,配上細冰糖水,也有豆漿的選擇,很滿足。 - [阿鋐炸雞](https://www.google.com/maps/place/%E9%98%BF%E9%8B%90%E7%82%B8%E9%9B%9E-%E6%AD%A3%E6%B0%A3%E5%BA%97/@22.7521644,121.1329201,15z/data=!4m10!1m2!2m1!1z5Y-w5p2x6Zi%5F6YuQ54K46Zue!3m6!1s0x346fb93e996fb09f:0x937ebbb7ce82f048!8m2!3d22.7521644!4d121.1519745!15sChLlj7DmnbHpmL%5Fpi5Dngrjpm55aGCIW5Y-w5p2xIOmYvyDpi5Ag54K4IOmbnpIBFmZyaWVkX2NoaWNrZW5fdGFrZWF3YXngAQA!16s%2Fg%2F1tl0v2h4?authuser=0&entry=ttu&g%5Fep=EgoyMDI2MDcwOC4wIKXMDSoASAFQAw%3D%3D&ref=moradatajourney.com):鮮嫩多汁,醃料吃起來有特製中藥香味,我覺得比肯德基好吃,下次到台東會想回味的餐點之一。 - [隱山茶道](https://www.google.com/maps/place/%E9%9A%B1%E5%B1%B1%E8%8C%B6%E9%81%93%E7%B8%BD%E5%BA%97/@22.7522345,121.1472311,17z/data=!3m1!4b1!4m6!3m5!1s0x346fb93e9a6aa851:0xefe737f984f49c9a!8m2!3d22.7522346!4d121.152102!16s%2Fg%2F11gbqgp%5Fwh?authuser=0&entry=ttu&g%5Fep=EgoyMDI2MDcwOC4wIKXMDSoASAFQAw%3D%3D&ref=moradatajourney.com): 台東在地飲料店,喜歡紅烏龍和洛神花茶無糖也很好喝,水果系列的飲品也很推薦。 旅途規劃 - 下次台東深度旅遊參考:[zztaitung](https://www.zztaitung.com/3543/rice-noodle?ref=moradatajourney.com) ### 《過度付出》讀後心得 | 什麼是真正的愛自己?──將注意力從別人的人生,移回到你自己的人生上 URL: https://moradatajourney.com/books-over-giving/ Last updated: 2026-07-16T17:48:26.000Z 最近我聽了一本暫時改變我行為的書《過度付出》。書中提到三種類型的過度付出者: 1. 主動接手工作者 2. 優先照顧他人情緒者 3. 家庭事務全包者 我發現自己雖然沒有「三合一全包」,但主動接手工作者 0.7、優先照顧他人情緒者 0.6、家庭事務全包者 0.5。當下我就能感受到內心的疲憊。同一天又聽到蔡璧名教授過世的消息,更是震驚與感慨,閱讀到這邊,你也好像文字中的描述,先給自己大大的擁抱,你覺察到這件事情了。 ![](https://moradatajourney.com/content/images/wp/2025/10/img-e7e19deb3f3c.png) 聽到《過度付出》這本書,讓我行為起了漣漪,要不然過往覺得接下來就三天連假的我,不會選擇前一天排休。排休我想給自己獨處的時間,要好好的陪伴自己。 #### 覺察到過度努力的我的下一步?急性反應的排休 排休這動作,我想讓自己的心理有這個意識,「世界沒有我,照樣可以運作得很好。」 排休這一天我怎樣過,沒想到身體疲累到腦中切換到獨處放假模式,我竟然睡了一個早上,下午竟然不自覺開啟了工作,原來工作已經變成一種習慣,自己會自動導航到工作模式,覺察到這行為好有趣,笑了一聲,立馬關閉了工作導航模式。 開起了音樂,發現一個人獨處好開心,不用擔心老公喜不喜歡聽我挑選的音樂,開啟 Heptabase 自由書寫想記錄自己為何會想排休的動機。 因為有很多念頭不寫下來就忘了,而自己最近發現閱讀過去的寫下的文字,有時反而能給現在的自己更多的力量與陪伴現在的自己,因為文字可以讓自己具象的呈現成長的自己。 有人會好奇問接下來就連假了,就可以休息了阿,而且有人跟我分享,放假前一天的上班日是大家最放鬆的時候,比較沒有壓力,但是休假是不一樣的感覺,上班其他人可以很自由找到你,打個電話就能找到我,走到我位置就能找到我。雖然排休還是會打 line 找我討論工作,但是不用接辦公室電話就很棒了。那下班時間哩,小孩也會想跟你聊天講話,看小孩作業等,認真盤點自己獨處的時間,除了排休,還真的很少有那麼長的時間可以陪伴自己。 今天排休,自己有覺察到,自己不喜歡被打斷,超級喜歡長時間專注做一件事情的自己,真的很開心,好想找回這樣開心的自己。 看著行事曆,有著多多的會議和工作待辦清單,小孩定期看診與鑑定,還有其他會議準備要插進來。但卻沒有空下時間,給自己做自己想做的事情。接下來想要改變,把工作必須要做的也放在行事曆上,要不然只是會被更多的會議與討論填滿。 排休一天是刺激過後的急性反應,要怎樣落實在生活中,這樣才是真正善用自已的「樂於付出」的天賦,而不是讓天賦火力全開,變成「過度付出」,而讓自己感受到耗盡的感覺。聽到宇哲老師說的一句話很受用,「放手不是靠想通,而是要靠您的行為去鬆開它。」 ![](https://moradatajourney.com/content/images/wp/2025/10/image-6.png) #### 那我要靠怎樣具體的行為來鬆動「過度付出」這件事情。 聽到書中有些具體步驟,我想寫下提醒自己,也分享給有需要的人。 1. **停止用耗損來證明自己的價值**:您不需要藉由不斷地付出與承擔來換取存在的意義或證明自己有價值。 2. **自我覺察是第一步**:覺察是所有調整的開端。您必須真正看見,原來自己一直將別人的需求放在自己的需求前面。唯有看見了,您才能將自己往更前面放一點。 3. **釐清界線 (Establish Boundaries)**:很多人誤以為界線是冷血無情。然而,真正的界線是幫助您搞清楚這是誰的情緒、誰的問題、誰的責任,將責任放回正確的位置。 關閉自動接球系統:#高功能共依存者 最容易將別人的失功能或問題自動視為自己的責任。界線的作用正是要關掉這種「自動接球」的系統。 界線給予您選擇權:當您確認某件事不是您的責任時,您就可以選擇要不要幫忙。這樣,您才能將注意力從別人的人生,移回到您自己的人生上。 #### 那要怎樣進行自我覺察? 1. **24小時覺察**:給自己一天的時間,去覺察您在什麼時候又很想要出手幫忙。您只需要看見這個意念或念頭。一旦您看見了,您才能停下來,擁有選擇權。 2. **練習不反應的安靜狀態**:試著在混亂當中,留下一小段不動作、不反應的安靜狀態,即使只有一兩分鐘也很好。 #高功能共依存者 最害怕的其實不是混亂,而是在混亂當中他沒有反應。 您要試著去感受這種安靜、沉默帶給您的不舒服感,甚至可以寫下來,探討不舒服的原因。 這樣練習的關鍵在於感受與體驗:就算我不插手,世界也沒有立刻塌掉。 當您慢慢練習不再把所有事情都背負在自己身上後,您的內心會漸漸變得安靜,人際關係也會更清晰,因為誰的責任會回到誰身上。 #### 後記 今天的急性排休真的對我很有幫助,讓我看見許多慣性與潛藏的信念。原來我內心其實害怕混亂不出手後會變得更糟的狀態產生。 **小穗步別擔心——就算你不插手,世界還是會好好運轉的。** 我想持續練習,不再把所有事情都扛在自己肩上,也練習不對每件事都有反應,晚個2-3分鐘就是很棒的開始。 最後,聽到書中一句很貼心的話: > 「過度付出,並不是人格缺陷,而是曾經保護我、幫助我成長的一種特質。現在的我,只需要覺察這個特質已經變得耗損,然後慢慢一次次調整,才能走向更充實有餘裕的生活。」 「樂於付出」仍然是很美好的天賦,只需要加上一點覺察,學會不必對所有事都反應,容許一點混亂,劃出自己舒服的界線,這份天賦就能成為剛剛好的力量,帶我前進。 這本《過度付出》真是一本讀心書,好觸動我。推薦給你,也分享給需要的你。 #小穗步自我覺察 #小穗步自由書寫 #小穗步閱讀與實踐 ### 《非群是種天賦》讀後心得: 在群體期待中重新聽見自己 URL: https://moradatajourney.com/read-the-gift-of-not-belonging/ Last updated: 2026-07-16T17:20:34.000Z ``` 你是否有過這樣的經驗?內向的人覺得你不像內向者,外向的人又說你太安靜——那麼,不屬於任何一邊的你,該如何在群體社會中找到自己的位置? ``` 美國精神科醫師 [**拉米・卡明斯基(Rami Kaminski)**](https://www.instagram.com/ramikaminskimd/?ref=moradatajourney.com),在行醫 40 年的經驗中,發現除了內向(Introvert)與外向(Extrovert),還有第三種人:**Otrovert**。 這群人擅長一對一的深度交流,卻在大型聚會後感到耗竭;他們不是害羞,也不是社交焦慮,而是更喜歡**深度連結而非群體喧囂**。 作者於是創造了這個新詞—— > **Otrovert**,來自西班牙文 *otro*(他者)與 *vert*(方向), > 代表「看向不同方向的人」。 ![](https://moradatajourney.com/content/images/wp/2025/10/image-1024x769.png) --- ### 這本書在說什麼 書中首次完整描繪了「Otrovert」的心理特質與天賦。他們擁有獨立與原創的思維,像愛因斯坦這樣的典型 Otrovert(O人)人,能深刻連結他人,又保持思考的自由。 作者透過多個心理諮商案例說明:當你理解並接納自己是 O人時,就能找到讓特質發揮力量的行動方向。而父母若能覺察孩子也屬於 O 人,更能理解他們獨特的節奏與需求,那是一種更溫柔的愛。作者在書中附上問卷,能夠快速地檢測自己 O 人的特質。 --- ### 被看見的瞬間 閱讀這本書時,我在許多段落都感到被理解。 我長期困惑:為什麼我在 1 對 1 的對話裡充滿熱情,但大型聚會結束後,卻常感到後悔與疲憊?過去我以為那是「社交力不足」。透過書中的描述,我才明白,這正是 **Otrovert** 的特質——能量來自深層交流,而非人群的熱鬧。 書末附有一份測驗;我的結果落在 **Otrovert 與群體傾向** 的中間光譜。原來,不是我「不會社交」,而是我的指南針指向了不同方向。也因此,藉著與書中內容激發而出的提問,我開始梳理自己隱藏的信念與日常實踐;以下是我的一些發現,想和大家分享。 ![](https://moradatajourney.com/content/images/wp/2025/10/image-4.png) --- ### 反思一:從群體的回音中,聽見自己 我們不是不知道自己想做什麼,而是太習慣活在他人的回音裡。 群體生活的軌道,常把我們推往「應該」的方向。 > 「多數人一生都活在社會的要求與期待之下, > 因而背負著滿滿的遺憾。」 這句話深深觸動我。而 O 人提醒我:**與其尋求歸屬,不如尋找共鳴。**當我能區分「別人要的」與「我真正需要的」,生活便開始變得輕盈。 --- ### 我的練習:留一段「屬於自己」的時間 即使白天被工作與群體包圍,晚上進入家庭節奏,盡可能安排留下一小段「自我時間」。我打開 Heptabase,沒有力氣打字時就用語音記錄。 那不是逃避,而是一種重整。讓自己從群體的期待中抽離,重新聽見內在的聲音。有時我在日記裡寫下提問: > 「當我說『我應該做這件事』時, > 那個『應該』是誰的聲音?」 這些提問,就像黑暗中的小燈,慢慢照亮我真正想前往的方向。 ![](https://moradatajourney.com/content/images/wp/2025/10/image-1-1024x683.png) --- ### 反思二:允許自己「不是別人期望的樣子」,仍覺得值得 我具有高共感特質,很容易察覺別人對我的期待,也常責怪自己沒達成那些期待。 直到讀到書中這句話: > 「多數人一生都活在社會的要求與期待之下。」 我才明白:自己太依賴「被肯定」來證明價值。 就像我錄製 Power BI 教學影片的經驗,主題是「如何安裝 Power BI」,這是個基礎影片,不會帶來流量。但我知道,這是同仁們最常卡關的第一步。幫他們跨過去,就是有意義的事。 影片上架後,果然觀看數不高,但我清楚:**我為什麼而做。**這份清楚,讓我覺得值得。 --- ### 反思三:我一直堅持的,其實是能力 書中有一個個案說:「我什麼都不擅長,我是個怪胎。」醫師回答她:「妳很擅長待在床上。」那並非嘲諷,而是一種看見。他讓她明白——即使是被誤解的習慣,也可能藏著堅持的力量。讀到這裡時,我被深深觸動。 ![](https://moradatajourney.com/content/images/wp/2025/10/image-2-1024x644.png) 我開始反思:我有哪些「堅持」,被我誤會成「不夠好」? 回望過去,我發現自己常忽略那些已經做得很好的地方。例如 ICD 專案時,我能端到端承擔(End-to-End Ownership);在健保申報中,我願意 Pair 工作並整合全局。但在與夥伴 1-1 的對談中,雖然夥伴稱讚我的作法,但我發現我常常脫口而出,「沒有拉,我沒有動作做什麼啦。」 後來我才明白,這是一種信念—— > 「只有親手完成,才算真正有價值。」 它看似負責,其實限制了我。我太執著於「執行」,而忽略「策動」的力量。於是我開始放手,讓團隊中維運細心的夥伴接手部分工作,練習信任,也練習賦能。最近,我才感受到,「堅持」與「放手」,其實都能是能力的展現。 --- ### 後記:用自由書寫與兩個小練習,靠近更真實的自己 在小金魚的「日更30創作營」裡,因為認識了寫寫文字,我也因此接觸到了《非群是種天賦》這本書。身為一個喜歡心理學、也習慣從文字中探索自己的讀者,拿到書的那一刻,我就感到莫名的喜悅——封面那行文字,彷彿直接對我說話。 這一次,**我不只「看完」一本書,而是嘗試與書展開對話**。我運用了瓦基課程中教的 **HQ&A 提問法**,一邊畫下讓我共鳴的句子,一邊寫下自己的提問,再透過 ChatGPT 進行反思與回答。 那幾個夜晚,我就坐在書桌前,靜靜地回想、書寫——在文字之間,我看見了過去的自己,也看見了正在改變的自己。 這個過程讓我意識到:我長期被「只有親手完成才有價值」的信念綁住。而當我在獨處時,用書寫把它照出來,它就開始鬆動了。 有時,我們需要面對的,不是明顯的缺點,而是那些**卡在中間、看似幫助我們前進,卻無形中阻礙天賦的信念。**透過覺察與自由書寫,我一步步鬆開那份執著,也慢慢靠近那個更自在、更強大的自己。 閱讀這本書之後,我想嘗試兩個練習,我們一起動手做做看。 1.**能量盤點**:本週列 3 場互動,標註「+ / – / 0」能量變化與原因。 2.**社交減法**:下週主動取消一個「只為迎合」的聚會,用那段時間做能量補充。 --- ### 《非群是種天賦》推薦給這樣的你 📘 給父母: 如果你的孩子不喜歡參加聚會,或許具有 O人特質。 試著讀這本書。你或許會用新的角度,看見他的天賦。 📘 給似乎在內向與外向光譜之間的你: 如果別人說你不像內向,也不像外向, 這本書能讓你第一次,感受到被理解的溫度。 [#天下讀者俱樂部](https://www.facebook.com/hashtag/%E5%A4%A9%E4%B8%8B%E8%AE%80%E8%80%85%E4%BF%B1%E6%A8%82%E9%83%A8?%5F%5Fcft%5F%5F[0]=AZVAJE5gpd5dSUa2LZbJqvACU4qPYZf3-o7S6iZFWEcOmty-lq6FDv63lhVi%5F5OlO9O9hqJnVCT0H2sSzqDTac1l7CFzNt-OnClylEvfmwWaxtIW4HkMPvmv4Bk37yUFOWN29w9wDQNpYSIzXaMJ02Ut829pDnNTS6bnMxQ9Rq4uCQ&%5F%5Ftn%5F%5F=%2ANK-R) 若轉貼,請標註出處與作者-小穗步 相片出處:天下文化 購書管道 1.[天下](https://shop.cwbook.com.tw/SalePage/Index/11060510?ref=moradatajourney.com) 2.[kobo](https://www.kobo.com/tw/zh/ebook/BJauXPaX0j-KqGHSJwviYw?sId=62ddc38f-3f93-46e5-a209-b7caecab0524&ssId=P7dQ2agiLiU4%5Fv7GuoTCj&cPos=1&ref=moradatajourney.com) 3.[博客來](https://www.books.com.tw/products/0011031197?sloc=main&ref=moradatajourney.com) ### 44 。穗| 慢一點,感受生活細節,進行第二人生的探索 URL: https://moradatajourney.com/forty-four-years/ Last updated: 2026-07-16T17:20:35.000Z Hi, 我今年 44囉,你今年過的好嗎? 今年,有一句話一直在我心中迴盪——像一面鏡子, 提醒我審視每一個當下,並溫柔地接納過去的每一個自己。 ``` 現在的生活,是過去的選擇。 現在的選擇,是未來的樣子。 先接受現在的樣子,才能與自己拉近距離,擁有新的可能。 ``` ## **過去,走在別人的跑道上** 年輕的時候,我害怕與別人不一樣 大家讀書,我也讀書;大家選擇電機,我也選電機;大家念博士,我也念博士。 我習慣走在人潮裡,沿著既定的軌跡向前。 然而,人生的轉彎總是悄悄發生—— 我離開了電機,踏上統計之路; 我離開學術,走進業界; 2020 年,我裸辭一年,才發現自己喜歡教書; 2021,我選擇進入醫療業,有了今天的生活。 夜深人靜、有些不如意時,也曾想過如果當初做了不同的選擇,會不會更好。 如今的我,雖然生活不完美,卻藏著許多微小的幸福——和小孩在路上一起搞笑、全家人圍坐餐桌共享美食、與老公手牽手散步。這些溫暖的時刻,有時會被工作快節奏掩蓋,但現在的我,想好好將它們收藏,細細回味。 ## **身體的提醒與生命的啟發** 過去一年,我送走了公公。看著父母與婆婆在 65~70 歲時體力明顯下滑,我深刻明白——有些地方,不能等「以後」再去。 我開始更珍惜現在,也提醒自己與老公:**健康第一**。 44 歲的我,也切身感受到身體的變化。近距離寫子彈筆記時,戴上眼鏡反而覺得吃力,那一刻,我笑了——今年,我正式邁入「老花」的年紀。老化與慢性病的距離,好像正一點一滴地靠近。 ## **死亡的禮物** 六月底浩克漫遊的浩一老師離世,讓我感受到,一個人精彩的活著與紀錄著,即使離開到另一個世界,仍然對現在的人帶來不同的感悟,這是我覺得最強的影響力。 謝謝浩一老師留下很多場演講,留下很多一本本的好書,潛移默化的改變了我,**我不想只是會工作,我想成為一個會生活、能自己帶給自己幸福的人。** 我很喜歡他的一句話,也成為我中年的提醒: ``` 過去,是跑在別人畫好的跑道上; 現在,要畫一條屬於自己的跑道。 ``` ![](https://moradatajourney.com/content/images/wp/2025/08/image-1024x505.png) 喜歡這個溫柔提醒,好好選擇 ## **過第二人生,需要練習** 我想做更多嘗試——去吃想吃的、玩想玩的,用「玩的角度」去過一生。 有了這個念頭後,我的行為開始出現微小的改變。 以前的我很省,捨不得花錢,因為上有老、下有小。**現在,我學會不再壓抑,而是去挖掘自己真正的喜好。** 我開始多聽自己的聲音。**想嘗試,就買一點,不必多買,只要當下想吃的那份就好。** 像這次難得到中興大學出差,結束後,我打開手機搜尋附近的甜點店,意外遇見了「[桃橙](https://www.facebook.com/lafeuilleorange.tw/?locale=zh%5FTW)」。它隱身在老宅之中,如果沒有特別留意,很容易就錯過。 我愛上了他們的小山園抹茶紅豆小圓法——抹茶生巧克力片的濃郁香氣,包裹在我最愛的 Q 彈麵包體裡,每一口都是滿滿的幸福。 ![](https://moradatajourney.com/content/images/wp/2025/08/image-1-edited.png) 如果我一味省錢,就無法品嘗到美味的餐點。想到曾經做麵包的自己,如今這個階段,也許更適合先去嘗試、品味那些自己覺得好吃的品項。未來若真有開店的機會,也能帶著屬於自己的獨特味道。 在當下,有能力、有胃口去品嘗想吃的美食,本身就是一種幸福。 ## **慶生,放假沉澱** 今年的生日,我特意排了休假,找了一個喜歡的空間,買了一個小蛋糕,先為自己慶生。 我帶著《無路之路》這本書——雖然一直沒有動筆寫下心得,但書中的許多文字,正悄悄在我心中發酵。閱讀時,我感受到他人生活中那些因改變而綻放的風景,也因此,開始嘗試在自己的生活裡,做一些改變。 ![](https://moradatajourney.com/content/images/wp/2025/08/image-2-768x1024.png) 謝謝老公,為了讓我留下深刻的回憶,特地和孩子一起設計了慶生方案,竟然知道我喜歡看書,其中一個生日方案竟然是買書紅包,最終我選擇全家一起去看《超人》,拍下了許多有趣又溫暖的照片。 ![](https://moradatajourney.com/content/images/wp/2025/08/image-3-768x1024.png) 小孩與老公設計的慶生方案 ## **規劃更多「當下的旅行」** 八月,我優先安排老公最想去的馬祖之行,趁著有體力多走走看看,也靜下心問自己:還有什麼想做的事?想吃的美食?想看的風景?想遇見的人? 過去的我太在意別人與社會的標準,不知不覺忽略了自己,彷彿成了「熟悉的陌生人」。 現在,我想過濾外界的聲音,多聆聽自己的心。 ## **後記:** 慢一點,過第二人生 一年又過去了,離死亡又近一步,雖然時間像漏斗般越來越少,但因為限制反而讓我想放慢步調,多和自己的對話,細細品味生活細節。不要再只追求效率與速成。 慢一點,感受生活細節,進行第二人生的探索,是我44歲想送自己的一份禮物。 **健康、幸福、快樂——簡單卻不易做到,但我願意開始改變。** 生日,成了我與自己對話的儀式。 **44 歲的我,不再急著奔跑,不再只沿著別人的跑道前進。** **我願意慢下來,去畫一條屬於自己的路,去嚐喜歡的味道,去看想看的風景,去成為那個能自己帶給自己幸福的人。** 44,開始踏入第二人生練習與嘗試 。 2025 年的父親節,大家正熱烈研究著今天才發布的 GPT-5,而我刻意留下一段時間,靜下心來寫生日文。能活著,能寫下那些藏在心底的文字,沒有讓它們被忙碌掩蓋,真好。 ![](https://moradatajourney.com/content/images/wp/2025/08/image-5-768x1024.png) #迎向45 #與自己對話 #生日快樂 #### 歷年送給自己的生日禮物: [43 。穗| 照顧自己的心,無須成為別人的意義,專注綻放自己的樣子](https://moradatajourney.com/forty-three-years/) [四十二。穗| 練習用「收穫心態」欣賞進步的自己,拓展自己更多潛能](https://moradatajourney.com/forty-two-years/) [四十一。穗| 「是的,這就是我」,讓我更了解我自己](https://moradatajourney.com/forty-one-years/) [四十。穗|40不惑?](https://moradatajourney.com/40-years/) [三九。穗|喔,原來這就是我](https://moradatajourney.com/thirty-nine/) [37。穗|從辛苦,到漸漸感到滿足](https://moradatajourney.com/thirty-seven/) ### Heptabase 最新功能與 GPTs 反思小幫手 使用心得記錄-2025 W23 URL: https://moradatajourney.com/daily-reflection-2025w23/ Last updated: 2026-07-16T17:48:26.000Z ``` 過往因為忙碌的藉口,沒有時間進行反思,運用好的工具,降低紀錄的負擔與更容易進行反思,2025 W23先有開始的行動。 ``` ▋**從筆記工具到人生管理的夥伴** #Heptabase 從單純的筆記軟體出發,逐漸成為我管理生活與工作的實用工具。不論是工作上的任務,還是個人想完成的目標,盡可能都優先採用 Heptabase 有系統地梳理與追蹤,工具本身只是輔助,重點在於如何設計出符合自己節奏的使用方式,讓工具與我的工作與生活自然融合,進而產生實質效益。 ▋**#Inbox 功能:處理任務更高效** 今天 Heptabase 推出了全新的 Inbox 功能,讓我驚喜不已。這個功能能夠將相似或相關的待辦事項集中整理,方便我一次性處理。 例如,今天下午我打算整理近期撰寫的文章並發佈到不同平台,於是我就把這些相關任務一併放入 Inbox。這解決了我以往需要在各張卡片中翻找之前寫過的內容的困擾,也讓同質性工作的處理更同步、更順暢。 ![](https://moradatajourney.com/content/images/wp/2025/06/image1-1-1024x296.png) **Inbox 功能** --- ▋**#手機語音錄音:隨時隨地記錄想法與情緒** 最近我特別喜歡使用語音錄音功能。在過去做間歇式筆記時,常因為會議或家庭活動而無法即時打字。現在,只要我腦中浮現想法或完成一段內容,就能馬上透過語音記錄下來,連同當下的情緒與感受一併保存。雖然我用語音講,文具不一定那麼順暢,有時語音輸出沒有那麼準確,但現在我能跟不精確相處,有時間我就將人名進行調整,也不要求一定要以繁體中文呈現,因為重點是紀錄隨時隨地的想法,而不是正確。如果想聽聽自己當下的語調與情緒,這段錄音還能重複撥放。更能表達與呈現當下的感受與情緒。 ![](https://moradatajourney.com/content/images/wp/2025/06/image2-1.png) 我一天的語音紀錄 透過這樣的方式,我發現會議與溝通往往是我一天中最消耗能量的時段,而與孩子睡前的聊天則是我最放鬆、能量最充沛的時候,甚至常有「笑果」出現。 --- 我也因此建立了一個 GPTs 小幫手,協助我彙整每天的語音紀錄,分析哪些活動讓我充滿能量,哪些則讓我疲憊。這樣的反思幫助我思考如何運用工具來減少能量消耗,同時保留那些讓我充電的時光。 ![](https://moradatajourney.com/content/images/wp/2025/06/image3-1-1024x510.png) 我建立的 GPTs 反思小幫手 ![](https://moradatajourney.com/content/images/wp/2025/06/image4-1.png) 透過 AI 的強項,進行主題式反思 ![](https://moradatajourney.com/content/images/wp/2025/06/image5-1.png) 喜歡 GPT 每天或每周給我的生活小智慧,讓我充滿能量 ▋**#觀察產品進化:建立與使用者對話的節奏** 在長期使用 Heptabase 的過程中,我不只獲得實用的幫助,更像是與這個產品一起經歷成長。我觀察到每次更新都穩健踏實,總能精準對應到我當下的需求,讓我感覺這個工具真的「懂我」。 這也讓我重新思考我們與工具的關係:不是站在監督者的位置,去挑剔它的不足;而是以「夥伴」的角度,去探索它能如何在生活與工作中協助我。這樣的心態不僅讓我對新功能充滿好奇,也打開了我對各種新工具的接受度。唯有這樣,工具才有機會真正成為我的助力,而不是負擔。 我因此更期待未來的數據平台,也能走向「對人有感、對人有幫助」的路線,不只是冷冰冰的資訊收集工具。 --- #小穗步覺察與反思 #小穗步喜歡Heptabase #小穗步觀察產品的演進 ### 【生成式AI2025年會】心得 : 用 AI 打造工作與學習新日常 URL: https://moradatajourney.com/genai2025/ Last updated: 2026-07-16T17:48:27.000Z ``` 聚焦於三個 AI 應用觀念與三個實踐行動,強調從流程拆解、文件撰寫與行政痛點出發,讓 AI 成為工作與學習的日常工具。 ``` 與其說這是一場年會,不如說是一場展示「如何以 AI 打造工作與學習新日常」的精彩 Show。每位講師皆傾囊相授,分享自身如何在工作、學習,以及個人與企業流程中導入 AI,激發了我極大的啟發與反思。 我想先與大家分享在本次年會中,我深刻吸收的兩個核心觀念 **▋名詞只是結果,動詞才是你真正該鍛鍊的肌肉。——91APP** [**李昆謀**](https://www.facebook.com/91app.happylee?%5F%5Fcft%5F%5F[0]=AZUEZIX5w1jvbsXeugp70kpyk-32zpCZJFYu6RktI81xZRxdYuY8W58MbDDCB3rv9B18b%5FEm1GCsee3FUGAz9knPQcT-Cbxrwin6XgaLKI5BpoV-n955Selh0MFTQ6Mf-%5FFAasG5SMqYy%5FI-tF6PYFUzeNr0sur%5FsA7aeGf0ONsUlg&%5F%5Ftn%5F%5F=-]K-R) **Happy 的啟發** **▋專注於「動詞」,掌握跨平台的 AI 通用概念與溝通能力,才是學習重點。——設計師陳志信的分享** --- 【三個 AI 關鍵觀念 × 三個行動方向】 在這場會議中,我獲得三個可以跨越軟體、橫通場景的生成式AI通用觀念,也梳理出我接下來要著力鍛鍊的三個方向: --- ▋ **1.關鍵起點:從大量重複的行政手工工作與高價值的交集點,開始導入 AI** AI 導入的最佳起點,是從高頻、重複、非專業的人工作業著手,這些地方正是人力摩擦最小的切口。面對新技術,我們常急於比較工具優劣,卻忽略了關鍵問題——「這是技術是否能融入了我的工作流程,解決我們的痛點」 ![](https://moradatajourney.com/content/images/wp/2025/06/image1-1024x541.png) **91APP 分享** 91APP 在零售商品上架頁面,導入 AI 有效減少大量人力支出;而 Peggy 分享 NGO 場域中繁瑣匯款與核銷作業來回溝通的痛點,成功開發出多個 AI 工具,展現非工程師也能透過 AI 學習如何寫程式,進而提升效率。 ![](https://moradatajourney.com/content/images/wp/2025/06/image2-1024x574.png) Peggy 分享尚未導入 AI 時,需來回溝通的困擾 Peggy 問卷分享引起我的注意,一般人對於在本業導入 AI 常有抗拒,原因多與「已習慣的流程與自身專案剝奪感」有關。反而在面對自己不擅長的領域,如行政庶務、美術設計時,更願意擁抱 AI。找到「每個人願意雙手迎接 AI 的切面」,正是 AI 轉型成功的關鍵。 ![](https://moradatajourney.com/content/images/wp/2025/06/image3.png) Peggy 分享 --- **▋ 2.關鍵行動:拆解流程,精準定義 AI 解題的問題空間** AI 能否發揮效益,關鍵不在工具本身,而在於流程的拆解與目標的明確。91APP 的實例中,透過流程解構,建構出「效率是目標、AI 是手段」的邏輯架構,再根據 AI 覆蓋率與預測準確度指標,精準分類 AI 擅長解決的問題。 ![](https://moradatajourney.com/content/images/wp/2025/06/image4-1024x600.png) 91APP分享 ![](https://moradatajourney.com/content/images/wp/2025/06/image5-1024x621.png) 91APP分享 ![](https://moradatajourney.com/content/images/wp/2025/06/image6.png) 91APP分享 Peggy 也以紅綠燈法則提出評估標準:當技術與溝通評估雙雙亮綠燈時,正是非程式背景者導入 AI 的最佳起點。這種思維,讓我理解「AI 不只是自動化工具,更是設計思考的一部分」。 ![](https://moradatajourney.com/content/images/wp/2025/06/image7-1024x553.png) Peggy 分享 --- **▋ 3.關鍵溝通:AI 與人需在同一頻道對話,資料與邏輯要共同理解** AI 導入後,溝通模式也需要轉型。[**#91APP**](https://www.facebook.com/hashtag/91app?%5F%5Feep%5F%5F=6&%5F%5Fcft%5F%5F[0]=AZUEZIX5w1jvbsXeugp70kpyk-32zpCZJFYu6RktI81xZRxdYuY8W58MbDDCB3rv9B18b%5FEm1GCsee3FUGAz9knPQcT-Cbxrwin6XgaLKI5BpoV-n955Selh0MFTQ6Mf-%5FFAasG5SMqYy%5FI-tF6PYFUzeNr0sur%5FsA7aeGf0ONsUlg&%5F%5Ftn%5F%5F=%2ANK-R) 在軟體開發導入 AI 的過程中,運用 [**#ARC42**](https://www.facebook.com/hashtag/arc42?%5F%5Feep%5F%5F=6&%5F%5Fcft%5F%5F[0]=AZUEZIX5w1jvbsXeugp70kpyk-32zpCZJFYu6RktI81xZRxdYuY8W58MbDDCB3rv9B18b%5FEm1GCsee3FUGAz9knPQcT-Cbxrwin6XgaLKI5BpoV-n955Selh0MFTQ6Mf-%5FFAasG5SMqYy%5FI-tF6PYFUzeNr0sur%5FsA7aeGf0ONsUlg&%5F%5Ftn%5F%5F=%2ANK-R) 軟體架構,建立人與 AI 都能理解的格式與文件架構,避免因語意理解或記憶長度問題導致的「雞同鴨講」,只要在請AI重看一次文件,大家就都能在同一個頻道上。 ![](https://moradatajourney.com/content/images/wp/2025/06/image8-1024x559.png) 91APP 分享 這樣的思維也體現在設計師陳志信的動畫分享中。他試圖讓動畫中的狗轉向右邊吠叫,試了許多方法,最終利用右邊出現的鳳梨作為場景提示,成功導引動作。**兩個案例都指向同一件事——建立「人與 AI 共享的參照點」,是未來人機協作的基礎。** ![](https://moradatajourney.com/content/images/wp/2025/06/image9.png) 導演 陳志信分享 ![](https://moradatajourney.com/content/images/wp/2025/06/image10.png) 導演陳志信分享 --- **知道上面的關鍵心法後,我要怎樣進行AI肌肉的鍛鍊?** **▋ 行動1:從寫文件開始,打造 AI 看得懂的規格** 今年我負責推動數據中台,但以目前有限人力,我已無法單靠自己學習所有能力與完成所有 RPD 文件的撰寫。因此,我將嘗試採用「團隊 + AI 協作」的方式共創RPD(需求規格文件) ,將 RPD 放上 Git 做版控,並挑選 ARC42 中最必要的架構優先導入。 過去被忽略的文件,在 AI 時代變得極其重要。一份 AI 看得懂的規格文件,不只利於協作,更能自動生成測試範例與程式碼。在AI時代,我深刻體會到:「花時間寫好文件,真的值得!」 ![](https://moradatajourney.com/content/images/wp/2025/06/image11.png) 保哥 will FB 截圖 --- **▋ 行動2:從行政痛點開始,融入流程、以 AI 為同伴** 我會從行政與報表流程中的人工作業痛點切入,嘗試導入 AI,不再強求他人學習與配合,而是先從自己改變,主動融合場景與流程——這正是志祺七七帶給我的另一種觀點。 ![](https://moradatajourney.com/content/images/wp/2025/06/image12-1024x347.png) 志祺七七分享 91APP 的電商流程中有個「神奇小按鈕」自動生成賣場規格,那麼在醫療產業中,我們是否也能找到屬於我們的「神奇小按鈕」的應用場景與位置? ![](https://moradatajourney.com/content/images/wp/2025/06/image13-1024x768.jpg) 91APP分享 **▋ 行動3:陪伴小孩用 AI 學習** 海馬9歲就開始寫程式,現在才11歲就能與 AI 合作產生網站。當天立馬將海馬介紹給愛打遊戲,寫程式的小兒子,希望能透過找到志同道合的學習夥伴,孩子能夠學習如何運用 AI 拓展自己的學習邊界,根據自己的能力進行學習。 ![](https://moradatajourney.com/content/images/wp/2025/06/image14-576x1024.jpg) 與海馬父子請益 --- **【未來前進方向:你正處在哪個 AI 階段?】** **▍只開發 AI 產品** **▍用 AI 開發產品** **▍用 AI 開發 AI 產品** 你現在正處於哪個階段呢?我,年會充飽電準備好邁向第二階段:「用 AI 開發數據平台」。 如果你也對「用 AI 開發 AI 產品」感興趣,誠摯推薦回看 GenAI 的分享回放。透過聆聽與自己領域相關的案例,除了91APP 的系列分享,Peggy 精彩分享, 也有AI 自動化應用、Vibe coding、AI 影像創作等其他主題,相信你也能從中獲得啟發,找到下一步的行動方向。 強烈推薦沒有參加的朋友可以購買 [**#GAI2025**](https://www.facebook.com/hashtag/gai2025?%5F%5Feep%5F%5F=6&%5F%5Fcft%5F%5F[0]=AZUEZIX5w1jvbsXeugp70kpyk-32zpCZJFYu6RktI81xZRxdYuY8W58MbDDCB3rv9B18b%5FEm1GCsee3FUGAz9knPQcT-Cbxrwin6XgaLKI5BpoV-n955Selh0MFTQ6Mf-%5FFAasG5SMqYy%5FI-tF6PYFUzeNr0sur%5FsA7aeGf0ONsUlg&%5F%5Ftn%5F%5F=%2ANK-R) 年會回放影片。 連結:[**https://pse.is/GAI2025**](https://pse.is/GAI2025?ref=moradatajourney.com) [**#GAI2025**](https://www.facebook.com/hashtag/gai2025?%5F%5Feep%5F%5F=6&%5F%5Fcft%5F%5F[0]=AZWrQCpnuB%5FyXE8NlFEGfShfimW7S%5F7r79HG%5FFcxR7fRzGjSC6MJOQTxJz0zTCzy2QKZlJOD5BTlWiPiqLC01AE-znqG5hxwM0kl5izs6Ru882VQ-FSMiNBr1FQ43c1ZTmqaKoKeAPwOYMSQUDArrC9cGePXPRShU5bbgHPZYcwNLmwPh91%5FzUAPgI7Of0vLzOXCW2XCROoLKVFbl%5F9Lv5mG&%5F%5Ftn%5F%5F=%2ANK-R) 【實體參加年會的意外收穫】 實體參加年會真的更棒!除了精彩的內容外,「人與人的交流與火花」更是我意想不到的收穫。 這次我告訴自己要往前踏出一步,主動找我想對話語表達感謝的人,進行交流。超開心巧遇 [**小金魚的人生實驗島**](https://www.facebook.com/smallgoldfishblog?%5F%5Fcft%5F%5F[0]=AZUEZIX5w1jvbsXeugp70kpyk-32zpCZJFYu6RktI81xZRxdYuY8W58MbDDCB3rv9B18b%5FEm1GCsee3FUGAz9knPQcT-Cbxrwin6XgaLKI5BpoV-n955Selh0MFTQ6Mf-%5FFAasG5SMqYy%5FI-tF6PYFUzeNr0sur%5FsA7aeGf0ONsUlg&%5F%5Ftn%5F%5F=-]K-R)小金魚、 91APP 的夥伴進行深度交流與海馬爸爸請益關於親子程式教學的經驗。 特別開心遇見我的偶像 —— [**李柏鋒**](https://www.facebook.com/firefly88?%5F%5Fcft%5F%5F[0]=AZUEZIX5w1jvbsXeugp70kpyk-32zpCZJFYu6RktI81xZRxdYuY8W58MbDDCB3rv9B18b%5FEm1GCsee3FUGAz9knPQcT-Cbxrwin6XgaLKI5BpoV-n955Selh0MFTQ6Mf-%5FFAasG5SMqYy%5FI-tF6PYFUzeNr0sur%5FsA7aeGf0ONsUlg&%5F%5Ftn%5F%5F=-]K-R)鋒哥,感謝鋒哥分享 Notebook LLM 的心法,受益良多!也當面分享在上完鋒哥《人生理財八堂課》後,我實際去實踐課堂中的內容,獲得了許多收穫。這門課對我人生規劃的幫助非常大,能當面感謝真的很棒。 謝謝 [**Brenda Chang**](https://www.facebook.com/brenda.chang.54?%5F%5Fcft%5F%5F[0]=AZUEZIX5w1jvbsXeugp70kpyk-32zpCZJFYu6RktI81xZRxdYuY8W58MbDDCB3rv9B18b%5FEm1GCsee3FUGAz9knPQcT-Cbxrwin6XgaLKI5BpoV-n955Selh0MFTQ6Mf-%5FFAasG5SMqYy%5FI-tF6PYFUzeNr0sur%5FsA7aeGf0ONsUlg&%5F%5Ftn%5F%5F=-]K-R) 一同學習,討論出不一樣的火花,還有幫我用影像留下美好的回憶。 [**#小穗步持續學習**](https://www.facebook.com/hashtag/%E5%B0%8F%E7%A9%97%E6%AD%A5%E6%8C%81%E7%BA%8C%E5%AD%B8%E7%BF%92?%5F%5Feep%5F%5F=6&%5F%5Fcft%5F%5F[0]=AZUEZIX5w1jvbsXeugp70kpyk-32zpCZJFYu6RktI81xZRxdYuY8W58MbDDCB3rv9B18b%5FEm1GCsee3FUGAz9knPQcT-Cbxrwin6XgaLKI5BpoV-n955Selh0MFTQ6Mf-%5FFAasG5SMqYy%5FI-tF6PYFUzeNr0sur%5FsA7aeGf0ONsUlg&%5F%5Ftn%5F%5F=%2ANK-R) [**#小穗步覺察與反思練習**](https://www.facebook.com/hashtag/%E5%B0%8F%E7%A9%97%E6%AD%A5%E8%A6%BA%E5%AF%9F%E8%88%87%E5%8F%8D%E6%80%9D%E7%B7%B4%E7%BF%92?%5F%5Feep%5F%5F=6&%5F%5Fcft%5F%5F[0]=AZUEZIX5w1jvbsXeugp70kpyk-32zpCZJFYu6RktI81xZRxdYuY8W58MbDDCB3rv9B18b%5FEm1GCsee3FUGAz9knPQcT-Cbxrwin6XgaLKI5BpoV-n955Selh0MFTQ6Mf-%5FFAasG5SMqYy%5FI-tF6PYFUzeNr0sur%5FsA7aeGf0ONsUlg&%5F%5Ftn%5F%5F=%2ANK-R) ![](https://moradatajourney.com/content/images/wp/2025/06/image15-576x1024.jpg) 小穗步與鋒哥合照 ![](https://moradatajourney.com/content/images/wp/2025/06/image16-576x1024.jpg) 與 91APP 夥伴交流 ![](https://moradatajourney.com/content/images/wp/2025/06/image17.png) 小穗步與小金魚合照 ### 《反思筆記》讀後心得:七大反思技巧發現人生新路徑 URL: https://moradatajourney.com/meaning-note/ Last updated: 2026-07-16T17:20:36.000Z ``` 反思是一種與自己對話的過程,透過文字化,接收內在訊息、傾聽內在聲音,最終找到一條自己認同的人生新路徑。 ``` ![](https://moradatajourney.com/content/images/wp/2025/05/image-10-1024x574.png) ### 為何你的目標總是卡關? 你是否也常常每年都立下相同的目標,卻總是無法實現?本書作者山田智惠也曾困在這樣的循環中長達六年。然而,透過反思筆記,讓她發現人生的不同可能性,現在的她是[DAIJOBU股份有限公司](https://meaningnote.jp/?ref=moradatajourney.com)董事長,目前致力推廣反思的概念與實踐方法。 ### 借鏡:山田智惠如何用反思翻轉人生 2009年,受雷曼兄弟事件影響,父親營運的公司破產,全家失業。人生遭逢重創的她,從2010年開始透過寫筆記回顧過去,進而轉變人生。她不僅重返職場,並迅速成為上市公司社群媒體部總經理,同時擔任外商創投公司董事,更出版了日本第一本關於Instagram行銷的書籍。 ![](https://moradatajourney.com/content/images/wp/2025/05/image-1-1024x508.png) 作者山田智惠\[ [The meaning note 網站](https://meaningnote.jp/?ref=moradatajourney.com)\] ### 我也曾經困在「自我鞭策」的輪迴 我想讀這本書,是因為我想擺脫習慣性自我鞭策,學會真正的自我理解。過去,我將「反思」等同於「自我反省」,總是聚焦於自己做錯的地方,然後努力優化和改善。這種模式雖然短期內讓我進步,但長期下來卻帶來了強烈的副作用:因為總是盯著自己的缺點,習慣性地自我鞭策,——永無止盡的「還不夠好」。 直到2019年,我開始手寫子彈筆記,每日記錄「肯定+感謝」三件事,才漸漸鬆動這種內在苛責的潛意識。 一直到讀完這本《反思筆記》後,我才發現: - **反思不是修Bug**,**而是透過反思讀取人生說明書**,看懂自己的情緒、行為脈絡,再決定下一步。 - 真正的重點不在「糾錯」,而在於**找資源、挖優勢**,讓未來的自己走得更從容。 ### 書中七大反思技巧× 我的三大啟發 ##### 1.**七大反思技巧:一張可複製的流程圖** 本書提出反思的七大技巧,是一套可實踐、可複製的系統流程: 1. **區分主觀念頭與可行動步驟**:專注於自己能改變的部分。 2. **賦予事件意義**:不只紀錄,更要挖掘從中獲得的成長。 3. **篩選重要事件**:聚焦於真正關鍵的事。 4. **關聯事件與分析脈絡**:找出具體可行的下一步。 5. **抽象化統整特色與教訓**:提煉更高層次的理解。 6. **具體化為行動方案**:轉化為明確、可執行的計畫。 7. **換副濾鏡看待事件**:從不同角度重新覺察自己。 第一次看到那麼完整全面的反思流程讓我意識到,我過去的反思往往只停在前三步,忽略了事件關聯、抽象化與具體化的重要性。書中也提到,作者因為一句「我也可以將行銷經驗寫成書嗎?」這個與職場夥伴的對話,轉換了看待自己的濾鏡,開啟了出書的可能性,進而改變一生。 ![](https://moradatajourney.com/content/images/wp/2025/05/image-2.png) 反思筆記書七大反思技巧 ### 2.透過反思筆記,**覺察與接受自己的限制,找到最適合發揮的路徑** 透過閱讀《反思筆記》,我對反思的理解有了根本性的轉變。現在,我認為反思不再只是檢視錯誤,而是重新回顧發生在自己身上的故事,從這些故事引發的情緒與行為中,更加深入地認識自己。**透過持續收集「自己的人生說明書」,我可以更清楚地引領自己未來的人生道路。** 這種轉變的觀察,剛好來自一個訪談的啟發。我聽到周慕姿心理師訪問黃昭瑛(Yuki)的過程中,一段內容反覆地觸動我:Yuki 擔任總經理期間卻能拒絕應酬,而她拒絕的原因竟然是基於筆記生活下的情緒反應,對自己性格的深刻了解和現實需求,而非外在社會期待。 而Yuki 決定並非來自突發奇想,而是來自於她詳細記錄生活事件後,所累積的對自我的深刻認識,更了解自己的侷限與接受,轉向擁抱限制,才能設計出優勢場域。 ![](https://moradatajourney.com/content/images/wp/2025/05/image-4.png) 每周回顧,從具體事件萃取抽象化過程 從Yuki的案例,讓我更具體了解如何從每日具體事件的紀錄,到抽象化的統整,最後產出具體的行動實踐,是一層一層抽象化的過程,並且每一層抽象化需要專注的面向很不同,作者也在書中清楚說明每個階段應該注意的面向,詳細地羅列出來,書中也搭配過往學員的案例,讓我們能更具體的根據自己的生活與事件,進行文字化書寫。 ![](https://moradatajourney.com/content/images/wp/2025/05/image-5.png) 三階段抽象化演變過程 #### 3.**目標是一個持續找尋的過程,目標不是靶心,而是探測器** 作者也曾年復一年重複寫下同樣的目標,卻始終無法實現。她試過顯化夢想板,效果有限,才開始思考是否有更有效的方式,進而發展出書中的反思法,也讓她蛻變為作家與企業領導者。 我曾陷入「學英文」這個目標的重複困境,總是無法真正推進。到了 2025 年,我決定改變方向,設定了「製作 30 支 Power BI 小短片」作為新目標。這個目標結合了我的教學經驗與公司實際需求,也讓我產生了真心想嘗試的動力。 透過每日回顧與傾聽內在聲音,我學會辨識自己的特質,也更清楚什麼樣的行動能引發真正的投入與興趣。其實,拍攝 Power BI 影片,並不是當初熱衷於教 Python AI數據分析的我,會想到去做的事,但這正是自我探索後嘗試的新方向。 ![](https://moradatajourney.com/content/images/wp/2025/05/image-6.png) 反思漸進式,由淺入深,由葉到根 ### 結語:3 步啟動紀錄-反思-行動飛輪 **紀錄**是鋪軌,**反思**是換軌,**行動**是前進。沒有反思的換軌(換濾鏡)的過程,不斷行動只是思考與行為模式的不斷的重複。紀錄、反思與行動是一個循環的過程,缺一不可。透過作者的七技巧與3種回顧模式([線上可以直接下載練習](https://www.books.com.tw/products/0011014579?srsltid=AfmBOopou8tnZYfONYoUh-FXHwOkCK-2U%5FCyQaRL4pZDdCItoq1VFdoE&ref=moradatajourney.com)),書中作者將輔導學員的個案,實際進行拆解說明,讓大家可以根據範例看著練習操作。 ![](https://moradatajourney.com/content/images/wp/2025/05/image-7.png) **紀錄**是鋪軌,**反思**是換軌,**行動**是前進 讓我們跟著作者設計的流程,透過每日回顧紀錄,就像練肌肉一樣微量訓練,每周回顧,發覺重要的事物,每月回顧,找回自信的時間。我的 Heptabase 頁面也改好了,等待嘗試一陣子再跟大家實踐後的結果,希望透過反思,看到人生更多可能性。 ![](https://moradatajourney.com/content/images/wp/2025/05/image-8.png) 我的 Heptabase 每日日誌模板 其他參考資料: 1\. [Obsidian視覺化週復盤全攻略 | 6步驟用Obsidian Excalidraw 進行視覺化週復盤,找出生活與工作中的關鍵連結](https://www.youtube.com/watch?v=vUbdFWb%5FCrk&ref=moradatajourney.com) 2.[好書推薦|我們到底在反思什麼?7個簡單技巧+3種回顧表格,陪我走過15年!](https://www.youtube.com/watch?v=QNv4E-2ZQd4&ref=moradatajourney.com) #小穗步閱讀 #2025第一本 #小穗步覺察與反思練習 ### 如何把 Power BI 報表內容,快速同步到 PowerPoint,不必再截圖! URL: https://moradatajourney.com/powerbi-export-to-powerpoint/ Last updated: 2026-07-19T09:02:47.000Z `透過即時互動圖表,讓你的簡報說服力 Level Up!` ![](https://moradatajourney.com/content/images/wp/2025/04/blog1.png) ### 🧩學員的截圖需求 上週有使用者來電諮詢:「過去使用 Tableau 時,可以將圖表下載成圖片,再複製到開會簡報中;現在改用 Power BI,要怎麼才能把圖表放進投影片呢?」 使用 Power BI 匯出 PowerPoint 是許多分析師或行政單位最常遇到的簡報需求——開會報告時總是得不斷截圖,還會因為圖片解析度不夠高,讓圖表顯得模糊、不清楚。 老實說,我以前也是這樣操作的。每次都要下載、截圖、貼上,結果還常被反應圖表不夠清楚。直到這次接到使用者的提問,我才發現:**原來 Power BI 不用截圖,也能將報表內容直接嵌入 PowerPoint!** 現在,只要你擁有 Power BI Pro 或Power BI Premium的帳號,就能輕鬆地將報表同步到簡報中。不只畫質清晰,還可以在簡報裡直接與圖表互動,根據想表達的重點動態展示資料,從此告別模糊的靜態圖表,講出一份有說服力的好故事。 插入 Power BI 圖表到Power Point的兩種方式,分別是「整頁報表」為單位匯入 Power Point與以「單一圖表」為單位匯入 Power Point。 **在使用這兩個方法之前,首將 Power BI Desktop 的儀表板發佈至 Power BI Service 。** ![](https://moradatajourney.com/content/images/wp/2025/04/image-13-1024x560.png) ![](https://moradatajourney.com/content/images/wp/2025/04/image-21-1024x465.png) ### 🧩插入 Power BI 圖表到Power Point的兩種方式 ### 1️⃣ 以「整頁報表」為單位匯入 Power Point 1.選取畫面上的「**匯出 > PowerPoint**」。 ![](https://moradatajourney.com/content/images/wp/2025/04/image-14-1024x537.png) 2.跳出提示視窗後,選擇「內嵌即時資料」,點選「**複製連結**」。 ![](https://moradatajourney.com/content/images/wp/2025/04/image-2-1024x686.png) 3.開啟 PowerPoint,點選「常用」中的「增益集」,開啟 **Microsoft Power BI**。 ![](https://moradatajourney.com/content/images/wp/2025/04/image-3-1024x245.png) 4.貼上剛剛複製的連結 ![](https://moradatajourney.com/content/images/wp/2025/04/image-4-1024x580.png) 5.選擇左下方「即時資料」,即可在 PowerPoint 呈現具互動性頁面。 ![](https://moradatajourney.com/content/images/wp/2025/04/image-16.png) ### 2️⃣ 以「單一圖表」為單位匯入 Power Point 1.在報表中選取欲插入的圖表,點選右上角「…」> 選擇「**共用**」。 ![](https://moradatajourney.com/content/images/wp/2025/04/image-19.png) 2.在「共用」選單中選擇「**連結至此視覺效果**」。 ![](https://moradatajourney.com/content/images/wp/2025/04/image-18.png) 3.開啟 PowerPoint,開啟 Power BI 增益集,點選Microsoft Power BI 的圖示 ![](https://moradatajourney.com/content/images/wp/2025/04/image-8-1024x245.png) 4.貼上剛剛複製的連結,選擇左下方「即時資料」,即可在簡報中呈現單一互動圖表。 ![](https://moradatajourney.com/content/images/wp/2025/04/image-9-1024x580.png) 5.選擇左下方「即時資料」,即可在簡報中呈現單一互動圖表。 ![](https://moradatajourney.com/content/images/wp/2025/04/image-20-1024x562.png) ## 🧩 選擇適合的圖表呈現方式 - **\[即時資料\]**:保留互動功能,還原完整的圖表操作體驗。 - **\[快照集\]**:僅限具有 Power BI 權限的使用者可見靜態影像。未授權者可申請存取權限。 - **\[公用快照集\]**:所有觀看簡報者都能看到靜態圖表,不受 Power BI 權限限制。 ![](https://moradatajourney.com/content/images/wp/2025/04/image-11.png) 如果報表需要會議前臨時要調整,也不再手忙腳亂了,只要在PowerPoint 中按下重新整理,就可以很優雅地完成囉,突然間覺得如果很常需要做報告的,花小錢省時間挺值得的。 ![](https://moradatajourney.com/content/images/wp/2025/04/image-12.png) ## 🎯 總結:不再截圖,讓簡報更專業! PowerPoint 現在支援同時嵌入即時互動圖表與靜態圖表,這設計真的太貼心了! 報告當下使用即時互動模式,只要滑鼠移動到圖表上的數值點,就能顯示詳細資訊;報告結束後,則可轉換為 Snapshot 靜態圖,方便保存每次的歷史紀錄。 透過 Power BI 與 PowerPoint 的整合,你不僅能提升報告效率,更能用動態數據說出精彩故事。根據簡報情境,靈活選擇插入方式,讓你的簡報更有深度、更具說服力! `👉 如果你有想問但還沒找到答案的問題, 👉 歡迎到這裡提問:`[小穗步學PowerBI 你問我寫](https://docs.google.com/forms/d/e/1FAIpQLSevbHehoR9WD1pSANXthFayeN%5F7ShQuRkktcELsaygHm%5F4SPw/viewform?usp=header&ref=moradatajourney.com) `你問的,也許會是下一篇的主題!` `👉 想收到下一篇?可以追蹤我:`[FB小穗步](https://www.facebook.com/MoraDataThinking/) `喜歡這篇的話,也歡迎留言「我學到了」, 這些字,是我持續寫下去的動力🧡` #小穗步PowerBI教學 #小穗步PowerBI小祕方 --- #### 早期讀者留言(來自舊站) > 「我學到了」 —— 楊咪咪,2026-01-02 ### 2024|承擔不是現在能做到,而是願意讓自己做到 URL: https://moradatajourney.com/2024-reflection/ Last updated: 2026-07-16T17:20:37.000Z 2024 年,正式步入「三明治時期」,面臨照顧家人與工作管理的雙重挑戰。回顧這一年,我想對自己說一聲:「你很棒,能一步一步走到現在,準備迎接 2025 年,真的很不容易。」 這一年,我深刻感受到楊士毅在《#沒有門檻的幸福》一書中提到的一句話:**「承擔不是我現在做得到,而是我願意讓自己做得到。」** 這句話讓我明白:**承擔的力量來自於不抗拒,願意接受。** 當我選擇接受時,內心便多了一份力量,讓我產生願意嘗試的動力。而正是這份動力,幫助我在執行的過程中,發現那些隱藏在自己身上、原本未曾察覺的潛能與特質。 透過覆盤與反思,我逐漸萃取出這一年學到的經驗,也梳理出對 2025 年的期望與調整方向。這些點滴累積,彷彿是一份歲末禮物,送給努力前行的自己。 ### **今年有哪些事情很好?** #### ✦勇敢發聲 2024 年,我發現自己變得更加勇敢,能夠做自己,並且勇於發聲與擁抱改變。過去的我總是敏感細膩,對別人的情緒非常在意。每當我想提出自己的想法時,內心總是反覆盤旋:「我該說嗎?說了會怎樣?」過多的考慮讓我傾向選擇沉默。 今年中,我注意到一個應該被重視的專案被忽略了。經過[猶豫了一周](https://www.facebook.com/mora.chen.1/posts/pfbid0HgmEFnYwgzqhz8hLq2jYfrD98XFxQ5RVeR4x3xxCtavJV7uUthhedyHQxgP94zW8l?%5F%5Ftn%5F%5F=%2CO),我鼓起勇氣提出自己的觀察,並勇敢承接下來。感謝年末主管給我的回饋,他肯定了我能夠將跨團隊的成員集合起來,逐步推進專案的完成。 同時,感謝業務單位給予我正向的評價,他們提到我以系統性的方法改變了專案推進的模式: - 從過往單點需求的執行方式,轉為 **專案統籌式推進**,改善了單點溝通不足與資料串接斷鏈的問題。 - 團隊夥伴也反饋說,我總能迅速定位專案的需求,並快速推動進展。 在接下這個專案前,我一度感到焦慮不安,不斷思考:「如果我接下這件事,我能獲得什麼經驗?」最終,我選擇勇敢接受,並因此體會到跨團隊專案運營的獨特挑戰與價值。同時也發現,當前的團隊執行力很強,但缺乏一個能統整全局的角色。 這次經歷讓我意識到:接受與嘗試是打開可能性的關鍵,而每個猶豫不決的當下,或許都隱藏著一份成長的禮物。 感謝團隊的回饋,讓我發現自己未曾察覺的特質——如水般靈活,總能發現哪裡有坑洞並主動補位。然而,我也明白,這種能力不能濫用,更需要謹慎運用,才能發揮最大的價值。 未來,**我希望自己不僅能如水般補位,更能如雪般穩定,沿著屬於自己的坡道,小步前進,逐漸滾動出獨一無二的形狀。** #### ✦勇敢說暫停 今年度暫停了已經教了6年的 [Python AI 資料分析](https://www.facebook.com/mora.chen.1/posts/pfbid02fuSbKHAUrbuXV4Dsn9o89if75VGhz5LDyAvTAa1xqNpK4HMaAUdW8TC7TzHWJcNil?%5F%5Fcft%5F%5F[0]=AZUZWsHV5sW0q8z1H-7fP90MSe-Hsdk-1QIzcnzUyP7NVneFFASdrdrsITFi77YYsT8cq3ihcC4M%5FDhVoHwjeFshZ8yr-Vl7VpLgYZ0tljX5Qw1WoqJdcHmpIekqvajoLOU&%5F%5Ftn%5F%5F=%2CO%2CP-R),一開始放不下,因為它是我本業外的重要收入來源,同時也是我投資自己再學習的基金。雖然重要但是時間無法自行掌控,每年的行事曆,有些周末就會被固定下來,可以安排運用的時間就會變少。時間是一個稀缺的資產,我想多練習周末多休息,周末多閱讀,周末多寫作,更學著怎樣過生活。想了很久的念頭,在2024年勇敢做了暫停,謝謝六年的經驗,讓我知道我喜歡教學。 ![](https://moradatajourney.com/content/images/wp/2025/01/image0105-1-274x300.png) #### ✦勇敢接觸寫作與不同圈層的人- 小金魚30天日更營 [暫停有了餘韻,才能與不同圈層的人相遇](https://www.facebook.com/mora.chen.1/posts/pfbid0dXwtQ7DHddCpgy5udex1wwtGh5wGYxgPZn4jk7KzUUfk1Pnf5CDe8wYnb5AfrVEQl?%5F%5Fcft%5F%5F[0]=AZUISvqoVK%5FzSksrzC-s44sB85Cz5q2Y0fxtsyutZmEda3YBKBlqt-NzGehqTbLzxKdgkBufSnMUl1xkRWF6xC%5F8Wg1Op%5FgQS4uNiI2C5005JK9C0cQzIVHPyvqHenGSXDIjIti23OTcXaW4i5w58c24vB%5FzSn8JoDouu-Quqjr9Edi58MK-x3FNDxTJs-E6ZQk&%5F%5Ftn%5F%5F=%2CO%2CP-R)。當周末的時間能自由安排與運用時,我發現自己有機會與不同圈層的人相遇。潛水觀察「小金魚」已久的我,終於在 11 月報名了 30 天日更營。結果,我真的完成了 30 篇文章!這段過程讓我更加了解自己:**我喜歡寫作,喜歡透過鍵盤將心中的想法化為文字,也喜歡透過文字與自己對話,陪伴自己。** 剛開始寫作時,我感到害羞,甚至有種被掏空的感覺。但我始終記得自己的寫作初衷:**為了陪伴自己,成為一個真誠的朋友,而不是為了營造特定的人設。** 隨著 30 天的練習,這份害羞逐漸消散,就像雲霧般慢慢散開。我漸漸習慣透過文字與人群接觸,這種轉變讓我更自在,也更堅定了寫作對我的意義。 經歷了這次挑戰後,我也發現:**日更的模式對我來說輸出量太大,不太適合自己。** 寫作應該是有節奏而不是為了完成數量而壓榨靈感。 因此,2025 年,我希望轉為 **主題式寫作** 的模式:有意識地將工作中的學習與心得記錄下來,沉澱思考後再進行輸出。這樣的方式不僅符合我的節奏,也能讓每篇文章更有價值。 ![](https://moradatajourney.com/content/images/wp/2025/01/image0105-2-1024x683.png) #### ✦勇敢挑戰 今年度接下數據平台建置這件事情,年初資深同仁都不看好,但是身為數據使用者的我,深知數據平台的重要性。雖然有一定難度,[Q3串接成功串出一條數據資料流](https://www.facebook.com/mora.chen.1/posts/pfbid02pyceoGCS4XpYQAsCQ9oaojcReBs5sFQeCtB1Y59rAUV448Z7WuTALa7EGweQHaVFl?%5F%5Fcft%5F%5F[0]=AZVKdOPdgGur5EK05sqsDmMp1wjv3hUmNY5HFWYNdyBZi4mp9dpOBv3ImAp2ol9r3dsxwV8KlTFvEe8PXcQ%5Fx28wYrQMLtF1QMr6AnBRkH-TZ4Qy%5FRCicvalfdJh9KTMkp4&%5F%5Ftn%5F%5F=%2CO%2CP-R)。也發現了這條線中,採用 Airflow 進行 EL ,以目前團隊組成很難維運與規模化,所以又花了半年進行 CDC 導入的評估與準備,原本以為這樣的動作太慢的,在DBT社群與其他人討論後發現,其實透過半年的時間進行討論能決議出 [CDC 的方向](https://www.facebook.com/mora.chen.1/posts/pfbid02rsosUzN8dJS4V1JLFBNiWFwbvn9Bh8mzJpAGcUQhqaqfoT2eCkjst4SbVQFRn5hDl?%5F%5Fcft%5F%5F[0]=AZUWhcBqKdKE33SW2jN9M3Uy2K-iCEIvZWCNtc8HPrG8MHUPwFykl897VrpnclCUZEzJoeXJiMEaKFQttbtzsirK2eVVsdKDyFdTdZenmsDxNSpz5eKhPJwQ%5Fe62T9E4d2U&%5F%5Ftn%5F%5F=%2CO%2CP-R),已經是很大的前進了,在其他公司可能需要更久才能推動成功,社群夥伴也給我回饋我們目前的規劃在醫療領域中算是走在蠻前面的,非常謝謝社群夥伴的回饋,聽到後大大降低自己的焦慮。 數據平台是一種長期的專案,要能持續下去,需要策略的搭配與推廣。2025持續挑戰,[我不是要建立數據中台,而是要透過資料傳遞臨床價值](https://www.facebook.com/mora.chen.1/posts/pfbid023ZaSNMPJZGVJHxJ79ezZdn6uL74H272P1FuyCsRL2n41k92e7WY2DRDLaGj286mKl?%5F%5Fcft%5F%5F[0]=AZWM-pwhliVETHa1xPCRUWa47Q8UCWGChz-JoWtsoycq4PIbt3ElzJusnru4Zc0bG1AUL8i-D9h6FLrRwmB7kv88783mg6wqjqzaILrCTagWDD8Np8J6mpM7jCKrgqsEP11czV-j3cbaVQVxaqA6kajA85i-PbHZau96sjs6GM6UbCjpkDxrWtcRRHC8yYOC%5FJ8&%5F%5Ftn%5F%5F=%2CO%2CP-R)。 ![](https://moradatajourney.com/content/images/wp/2025/01/image0105-3-1024x571.png) #### ✦練習獨處的生活: 2024年,意外有5天的獨自生活的機會,進行獨處練習,平常都跟家人出遊,已經有10年沒獨自和朋友出遊,這次的員工旅遊和同事過夜出遊,第一次到[阿里山](https://www.facebook.com/mora.chen.1/posts/pfbid02EqCYTKUSrBk6pY5mYDA6EEHhuhrBT2VHyxLJQmncpByLbR4G5XKyC4SQCyYtHthMl?%5F%5Fcft%5F%5F[0]=AZW6%5FxO9yBTwsVbUNIUViRPTFpoRTXCnbONuZeAEBlTmfwKlU6cV8CDi5-drP0GlymNbF4iBXcX1idI9ppTERvSkRZh8a2S%5F8KqfT%5FHPzyQ9JFMWKxLkK5TN9NQIWmo5NMA3wL7r3JpgfdmBTd2p140rTJmD9H4VhcfqyNXZjJIq%5Fg&%5F%5Ftn%5F%5F=%2CO%2CP-R)。 ![](https://moradatajourney.com/content/images/wp/2025/01/image0105-4-768x1024.png) ### **今年有哪些事情不好?** #### **✦ 停止了超慢跑的習慣** 今年,我的超慢跑運動習慣中斷了。好不容易養成的運動規律,卻發現停止比我想像中容易,而重新養成卻並不簡單。 **為什麼會停止?** 主要原因是中午的時間,我總是想先把工作做一個段落再休息,結果運動時間往往被壓縮甚至取代。這提醒我,**如果健康是第一要務,那麼我需要優先安排規律的運動時間,工作應該在運動後再進行,而不是相反。** #### **✦ 睡眠時間需要調整** 今年日更那段時間,常常因為專注輸出而晚睡。這種短期衝刺模式對健康並不友好,讓我明白:**長久的穩定習慣比短暫的高效輸出更重要。** 未來我要以「細水長流」的態度來調整作息,早睡早起。 #### **✦ 健檢後的追蹤未做好** 雖然醫院提供了定期健檢,但我忽略了後續的回診與追蹤。感謝年底好友的提醒,讓我意識到這是一件重要卻被輕忽的事情。 未來,我必須將回診與追蹤列為健康計畫中的關鍵步驟,不僅是完成健檢,更要真正了解和跟進健康數據,確保問題能及早處理。 把健康放在第一位。重要的事情要重複三遍:**健康第一,健康第一,健康第一!** ### 閱讀與反思:書與電影帶來的啟發 紀錄有趣的事情,可以抓出自己每年讀書的數量,加上實體書,就大約15本左右,但和2023年相比,2024年輸出書籍心得篇數比較少,2024多了具體的實踐,今年對我影響最深的兩本書與兩個電影。 #### **影響最深的兩本書** ##### ✦ 《一如既往》 摩根·豪瑟(Morgan Housel)的這本書,每一章的故事與結論都讓我重新審視自己:**什麼事情是不變的?而不是一味追求那些不斷改變的事物。** 2024 年是大語言模型(LLM)技術爆發的一年,OpenAI 的 ChatGPT 技術幾乎每隔一段時間就有重大進展。每次新技術出現時,我都會焦慮地問自己:「我要追嗎?如果只是追趕,我又能做什麼?」 這樣的問題重複出現後,我靜下心問自己:「**有什麼事情,能符合我的特質與能力,並讓我穩定且長期地投入下去?**」經過 2024 年的反思,我發現 **數據平台** 恰好符合我的特質與能力,而這也將是我穩定且長期努力的方向。 ##### ✦ 《買回我的時間》 這本書讓我反思:[讓我發現我會覺得累? 是因為我做了一些我不是很喜歡做的事情嗎?](https://www.facebook.com/mora.chen.1/posts/pfbid0oimowJgvGoDiUdLZrVYCyPh4KGvFdBhKsR7XCCiNiprkc2DyxEkLJg4YjDBFGEHyl?%5F%5Fcft%5F%5F[0]=AZVrFpzv%5FkkJCG4IAQ-xq51tnHIhcp0-DYgX9a5kfVF1I94VKnAF7%5Fib7FEmdFM4ujuIvJ7UEFzsEPZGifRNkG9Yf8FUf-QC2h1wEE976gVMIMiXjKR7bdIdaGjWbMsDfZQfxvBOSqbLRafc-yaito6Kwp%5F18qZXOOjRzUILkCapY1Emp372pjBJ38nYbJQCbbU&%5F%5Ftn%5F%5F=%2CO%2CP-R)而這些不喜歡的感覺,卻長期被我忽略,因為我總是用以怎樣做事情能夠推進,但我很少問自己喜歡不喜歡,但身體很誠實,不喜歡的事情就很容易用拖延來呈現,但我還鞭策自己怎麼一直拖延,原來拖延是一個訊息,讓我發現我的時間花在很容易消耗我能量的事情上面。這本書直指核心,讓我看到這件事情。不是努力工作,更要學會享受生活,勇敢探索更多可能性,[運用DRIP 留時間做能讓自己充滿精力的事情](https://www.facebook.com/mora.chen.1/posts/pfbid02YbpFytubsUF41T2sKZSV7ZCJmNPWkRsaJmEG6Gssmhw9CbXuqYHAjdEqq7SENQYWl?%5F%5Fcft%5F%5F[0]=AZVSMe8TDihxz53D%5F6QQA7kq8wm0UAswK5DQnHapbbjWI-XL7x%5F2nb5y0Cv2UM3T0BVgSyjUQmylDn2n5ZzX71CvABoSbupCVYn-0w98MX9d6Sa7wOCLQ9mjLrsgZehP25yrkXsHRRAnVFiAaPEcx7XoAs7RYUAJCDsGkxOUIxP%5FAwRth6x9cryPxlWhG4CSLUQ&%5F%5Ftn%5F%5F=%2CO%2CP-R),把時間買回來後,用來創造更豐富的人生! ![](https://moradatajourney.com/content/images/wp/2025/01/image0105-5.png) #### **影響最深的兩部電影:**看劇走一段別人的人生,回想自己又該怎樣好好的過我這一生? ##### ✦ [《我的完美日常》](https://www.facebook.com/MoraDataThinking/posts/pfbid0jw9gp2zqocAFPxyBMyRuQjE7e9SQNkRN4LTZ2vMfTd5oKEzjS4aGKyCAoEEFYPmNl?%5F%5Fcft%5F%5F[0]=AZVtn5KCdlutEzY2Z1L6Y%5FH0O0SDDyw6wepadvR8KkyB7IB6q9Zm2K4Ap33LVKBvy8yH-KAZHlgXIi8BhkyAX4TAO7BkAtIyVGIkCjTuCJE6ojLQIrxKKrzpzRrp79wxDh9PfNKXMSoFvE6cNfEgjnrtH4MeRqSU3vlLfb-LzGeODItWF0iVqXErzhYrhhIJIms&%5F%5Ftn%5F%5F=%2CO%2CP-R) 這部電影讓我對「穩定且純粹的日子」充滿嚮往,因為這樣的生活讓人感到安全與踏實。電影中的一句話:「下次是下次,現在是現在」,深深打動了我。它提醒我:專注於當下的美好,而非為未來的規劃而忽略現在。 每個人都可以選擇屬於自己的完美日常,但關鍵在於是否願意做出這樣的選擇。對我而言,這部電影是一次深刻的提醒:**用心體驗當下,才能活出真正的幸福。** ##### ✦ [《交換禮物》](https://www.facebook.com/MoraDataThinking/posts/pfbid02Mf5qwpBxzV3gFNqCT8YF1k8jZUuJV5oGcBkkinvBnH45RWQwjr1EFrgUNwRqwnsXl?%5F%5Fcft%5F%5F[0]=AZXjvwR3-1xROr-5I7KfAO-jruL%5FpHjbB-VYHJaPY8LcbnT%5FYLx2pJhzAbr7EC2pmStDL7XJjns5v38TaHHfGs1gKWYbPS4MVzv3g4c0ZouZ%5FF5atuhFPH-fTtMztZdvUwKdt-MMPBvBef5DhKRRM2bs7h9EcODd7khSdXuwJkpuaB9EYYJyUpBuJYdmhWaLLW4&%5F%5Ftn%5F%5F=%2CO%2CP-R) 這部電影讓我交換到 **愛、寬容與陪伴**。我反思到,完成一件事情時,我常思考如何做得更好。這種思維雖然能推動進步,但也容易陷入自責,因為總覺得自己可以做得更好。 電影教會我,**寬容地對待自己,放下自責,才能帶來真正的滿足感**。自責只會阻隔我們,讓我們無法覺察自己的真正需求。反之,寬容能讓我們更接近內心的渴望。 隨著父母逐漸老去,我也開始感受到自己的身體不再如從前般充滿活力。在陪伴家中長輩時,我明白了: **陪伴不是強加「最正確」或「最好的方式」,而是以真心的陪伴,單純地在一起即可。陪伴家人如此,陪伴自己亦然。** ![](https://moradatajourney.com/content/images/wp/2025/01/image0105-6-576x1024.png) ### 輸出| 發現超慢跑聽的 podcast 竟然是我主要輸出的重要來源 今年在小穗步 FB 的輸出因為參與了 11 月 30 天日更活動,覆盤時發現竟然累積了 **145 篇**!其中約有 50% 的內容,來自於我在慢跑時聆聽的 Podcast 和閱讀的啟發,並將它們轉化為文字進行分享。這個比例比我原先想像的還要高。 看到這個統計數據,讓我對自己的輸出有了新的目標。2025 年,我希望能創作 **20 篇主題式輸出**,以一種符合自然步調的方式,長期累積並沉澱更多有價值的內容。 ### 持續累積家人回憶: ✦2月九份,可愛的家四人旅行,旅行也需要趁早,當時的我們還沒想到,後面的月份陸續迎接我們的是各自家庭的照顧議題。 ✦8月與小弟,到台東三天的小旅行,第一次夜騎到鹿野高台,搭乘熱氣球,台東好美好悠閒。 ![](https://moradatajourney.com/content/images/wp/2025/01/image0105-7-768x1024.png) ✦[9月搭乘最美公車865 臨上梨山](https://www.facebook.com/mora.chen.1/posts/pfbid04WqbY8BRk15qYBcivwN9Y5GCo6NiWBABfYcQYt9b4TZoYEDibukxxetTqerRiGRFl?%5F%5Fcft%5F%5F[0]=AZV1vOVuPVmyx7vrrZ7Za1vCvO%5FwCAOOwGk6gL62NTytc3juJfX0Uj7x64uXD9EH1UqZnzi2cF3mwoEsntn-rtTLn3bIxgAvxt0jvRkmf9S-S6ORy0-KgMBmZqfU%5FtDSftU&%5F%5Ftn%5F%5F=%2CO%2CP-R),難忘梨山眺望群山美景、滿天星空與甜中帶酸,有Q勁的水蜜桃 ![](https://moradatajourney.com/content/images/wp/2025/01/image0105-8-768x1024.png) ✦**12月**[**與老二來場嘉義一日遊**](https://www.facebook.com/hashtag/%E8%88%87%E8%80%81%E4%BA%8C%E4%BE%86%E5%A0%B4%E5%98%89%E7%BE%A9%E4%B8%80%E6%97%A5%E9%81%8A?%5F%5Feep%5F%5F=6&%5F%5Fcft%5F%5F[0]=AZXDE3kL42UTRW8GYuX2oh2ndjCpphYHMDDy1RUbyLjQGws5SSGzVajHYDRzZzW9pGQA6XoH8Bc36oOgKW82dDJrCLED1lyv1l7S7CuaaFJs8-QfQVIX7VZBFrFh9EPnDAs33egOJteBUJ6RPjAPyw7PIy-%5FLVroUxNR76ipKZryD6inkIgZhNK-QRd26jsnrZs&%5F%5Ftn%5F%5F=%2ANK-R)**,單獨小約會,累積親子存摺。** ✦2024年,兩個小男孩身高已經超越我了,也能獨自騎腳踏車到處玩了,2024年[**腳踏車隊今天成軍**](https://www.facebook.com/mora.chen.1/posts/pfbid03MTNuqsP6fbKgva3R9Kd3bzQoCY2UJHnAFU8VZwf9izzLeQJ7oPdcKyaGUB3MBCml?%5F%5Fcft%5F%5F[0]=AZVl80JlZdWMiJZ-14ZvJ3QBNL80zPR7DP1qEaaqwhJYXVqaSvtpAXgXWJxc-5MAlNjkKqKMy9Y7O4CTa5vv7onO6Fo3fhQNR8lXKZB0teo1pH1G43ZS8JumGy6AI49Is3%5F%5FkXZ94RZwdu7mpmjop5q4Qsy07v6u4RlWtNfxRD4ExQ&%5F%5Ftn%5F%5F=%2CO%2CP-R)**,**我們很喜歡騎腳踏車這個速度遊玩,有運動,速度也不慢。[**潭雅神**](https://www.facebook.com/mora.chen.1/posts/pfbid0R46sjbBxZSb3GiQSjPK2C1iCXdogGrQp3eGVYb1hmU98huLvBymDSKLJ2SjDURYkl?%5F%5Fcft%5F%5F[0]=AZX9BGlTnfT0FiWsETRHwm1UbetqLWqknjF31gv0mdRs9mLfuADfKFAQDJuW8F806oWSYn8hvNDLwcacmC2mwyNROC-4qCOFyFPzY8fJgFh9zrC-tYI1s8-to7r6fwqzzmM8dECx0nAsn3AES22Bnh3fFOkkS7kwGpeElGQZzJlzwSw2LAKTc2mNDpnyAlUVdIc&%5F%5Ftn%5F%5F=%2CO%2CP-R)[來回24公里成功](https://www.facebook.com/mora.chen.1/posts/pfbid0R46sjbBxZSb3GiQSjPK2C1iCXdogGrQp3eGVYb1hmU98huLvBymDSKLJ2SjDURYkl?%5F%5Fcft%5F%5F[0]=AZX9BGlTnfT0FiWsETRHwm1UbetqLWqknjF31gv0mdRs9mLfuADfKFAQDJuW8F806oWSYn8hvNDLwcacmC2mwyNROC-4qCOFyFPzY8fJgFh9zrC-tYI1s8-to7r6fwqzzmM8dECx0nAsn3AES22Bnh3fFOkkS7kwGpeElGQZzJlzwSw2LAKTc2mNDpnyAlUVdIc&%5F%5Ftn%5F%5F=%2CO%2CP-R),[228 后里鐵馬行16公里鐵腿行](https://www.facebook.com/mora.chen.1/posts/pfbid0DjkSWnsYu4Nhrpk4D1deKqy94LVSq64oMBpEz3BkhAE2KkCKhsf1rVE35vScawyJl?%5F%5Fcft%5F%5F[0]=AZU2AFnM9hWSyVaGdN87c-0T%5FSRVeSD1-oAJlejNc639xOQJdYmlH%5FLl1l-eqifEahBVg%5FekjapKLTIVBek93eKiOpxEH6hS87B3a5mKz8nJuNa%5FB-ahUPp56KiLKGHzSeO0t237aT8wxoCDpfu8B%5FUYaqa1uQqtO9r-Tmq5yFieQs3u8kVULA-R5GWM0HNMCVY&%5F%5Ftn%5F%5F=%2CO%2CP-R),[高雄youbike](https://www.facebook.com/mora.chen.1/posts/pfbid02am5a4Mb6iJox15jswvaKuHugjzHi8px3H9iXfSWWX9rTJcBBSP5z7fNAhi4Wpt87l?%5F%5Fcft%5F%5F[0]=AZUodbjM9zDge6IHtc%5FdQy2fuYDSVDBzz1lzkv2ZxpsbPHjmdhT6fmbdzx86LFu5ezAV6vuPl6ll0E9eO0eTdiwNgkHxhBCNgy2DSaS8qydLrCVb9rQTFbAXqaMM0Y-nHhiKVkAPHIEMY7LKeRMxcbqrH38yTL4fBL4AFnCRUnLmBA&%5F%5Ftn%5F%5F=%2CO%2CP-R)天從科工館站騎到鳳山車站。 ### **感謝當下,珍愛家人** 回首40餘年,那些小時候渴望長大的日子、年輕時奮力衝刺的歲月,以及生孩子時努力打拼的時光,都在記憶中留下深刻的痕跡。如今,**回頭看過往,我第一次真正感受到現在的自己是幸福的。** 我有一個懂我的老公,總是無條件支持我的決定;孩子們也漸漸展現出各自獨特的樣子:老大有他自己的執著與特性,老二調皮又貼心。在寫下這段文字的此刻,原本說要陪我一起跨年的他,卻已經在我身後熟睡了。這樣的瞬間,讓我倍感溫暖。 現在我慢慢明白,**平靜的心境與有餘裕的狀態,就是幸福。而能在當下感受到幸福感,便是 2024 年最珍貴的禮物。** ![](https://moradatajourney.com/content/images/wp/2025/01/image0105-9.png) ## **如果明年是最後一年,我會怎樣過這接下來的一年?** 今年送走公公,家裡的爸媽年過70後,身體很明顯有很大的變化,自己也感受到前更年期的狀態,年底看了交換禮物的電影,更是讓我思考,人生只有一次,我要怎樣過我的人生? 賺很多錢的人生? 我不想只有賺錢沒有生活 只有工作的人生? 我不想只有工作的人生 **我要怎樣過我的人生? 要回答這個問題,我需要認識自己,我是誰?** 我是一個內向又堅定的人,我熱愛我的家人,也喜歡工作。以前的我常常因為工作而忽略健康與周末有時時間就留給工作。 ✦ 我想要多留一些時間給自己,給家人。2024年最後一天問孩子,「如果媽媽有多的時間,你想要我陪你做什麼?」 孩子馬上就說,「陪我打球。」很容易實現,但卻被我忽略了。陪伴長輩也做了一些調整,現在的我回高雄時,都回娘家睡,就是多陪伴家裡的長輩,讓自己少點遺憾。 ✦ 我想要留下一些足跡能影響人事物。如果只剩下一年,不需多,一個人,一件事就足夠。最近發現一位有潛力的夥伴,是我最想要看到她成功。如果只能選擇一件事,我會持續的寫作,把做數據平台的事情寫下來,還有這一生我思考的面向與體悟。 ### **我的2025目標是什麼?** 2025年,我想成為一個 **有餘裕,對自己人生更有選擇權** 的人。面對未來的每個挑戰,我希望能平靜地應對,檢視每一個選擇與決定,並問自己:「這是否讓我更接近我想成為的樣子?」同時,我將更關注內心的感受與在意的事物,努力活出最理想的自己。 #### ✦ **有更多時間陪伴重要的人** 健康始終是最重要的基石。我要早睡、定期回診追蹤,將健康放在首位,確保有更多精力陪伴生命中最重要的人,珍惜每一段親密的時光。 #### ✦ **在數據平台持續深耕,創造價值** 我的目標是以數據價值為核心,進行系統性的策略規劃,將學習與實踐結合。同時,我也將同步探索 **LLM(大語言模型)新技術** 的應用場景,為未來的數據平台注入更多可能性與創新性。 #### ✦ **持續書寫與分享,累積價值** 將自己的感受與學習過程記錄下來,目標完成 **20篇主題式文章**,發布在[小穗步網站](https://moradatajourney.com/category/ai-ds/)上。這不僅是分享經驗,更是讓知識沉澱與累積的過程。去年立下的願望,今年就讓它變為現實吧! ### **感謝每年的自己,預留時間覆盤** 回顧過去,感謝每一年的自己都預留時間進行年度覆盤。透過書寫,我更清晰地看見自己的進步與堅持: - 2024年專注於累積家庭回憶,這份努力仍在持續進行中。 - 每一次覆盤,幫助我對焦自己的價值觀,檢視行為與決定是否符合理想與信念。 在這條人生路上,我選擇穩步前行,不急躁、不慌亂。用 **小穗步** 的精神慢慢改變自己,穩定而堅定地向著更好的自己邁進。 2025,讓我們一起活出想成為的樣子。 ### 數據平台之資料管道的演化:從 ETL 到 MDS,如何應用於醫療數據? URL: https://moradatajourney.com/evolution-of-data-pipelines-in-data-platforms/ Last updated: 2026-07-19T05:22:11.000Z 最近為了準備醫院指標平台所需的資料倉儲,我盤點目前醫院內各式各樣報表的產生方式,發現與我十幾年前使用的資料處理流程架構相同,仍以 ETL 處理為主。 過去,數位化資料量不大,主要依賴 ETL 方式處理的資料管道仍能靠人力來完成。但隨著數據量的迅速增長,物物數位化之後,報表需求如雪片般飛來。 接到打造資料倉儲的任務後,一個問題一直在我心中盤旋:「**如何建立一個能夠適應未來變化的資料架構,能夠高效、可靠且可重複地為企業提供數據,並且同時符合當前的需求,進而發揮效益?如果能回推出適用場景的效益,才有機會爭取資源。**」 為了回答自己心中的疑問,在如何建造資料管道前,需了解當前建立資料管道的方式有哪些種類,以及特性,與適應場景。經過盤點後,我才發現現代資料管道已經發生了很大的變化,而 ETL 只是早期資料管道的一種方式。 ## **什麼是資料管道?** 資料管道就是「將數據從一個系統移動到另一個系統的自動化流程,並在此過程中轉換數據,將準備好供業務使用,由業務單位來發揮數據的價值」。 ![](https://moradatajourney.com/content/images/wp/2024/09/image1-1024x598.png) 資料管道就像一條長長的石油油管,將原油從內陸的油田輸送到海邊的港口。這個過程中,資料就像原油一樣,從企業內部各個系統中提取(如油田中的原油),經過資料管道的傳輸過程(即油管),在傳輸過程中,需要確保數據(油品)的品質,傳輸過程中要如何清理與保存,最後到達數據中台或資料倉庫(就像原油到達港口)。 在這個過程中,資料管道需要具備足夠的容量和效率,確保資料能夠源源不斷、平穩流動,就像油管需要能夠處理大量原油的輸送一樣。 ## **資料管道的演化?** 由上面原油的例子可以看出,資料管道需要4個步驟有,擷取(Extration),載入(Load),清理(Clean and Normalize)與轉換(Transformation),很多人會將清理與轉換結合在同一個步驟中,統稱為轉換(Transformation)。 這四大步驟,缺一不可,會根據不同的現況與情境,調整四大步驟執行的順序,因此產生不同的資料管道,資料管道架構可以分為兩大種類, ETL與 MDS。 ![](https://moradatajourney.com/content/images/wp/2024/09/image2-1024x347.png) ### **ETL** ETL是擷取(Extration),轉換(Transformation)與載入(Load)三個步驟的組合,早在 1970 年代,ETL 已經在數據整合和資料倉儲領域中被廣泛應用。[比爾·英蒙(Bill Inmon)](https://www.linkedin.com/in/billinmon?ref=moradatajourney.com)和拉爾夫·金巴爾(Ralph Kimball)等資料倉儲先驅者推廣了 ETL,使其成為資料倉儲和數據處理的重要工具。 ETL 透過從來源系統中擷取資料,對其進行轉換,然後將結果載入資料倉儲,以便進行後續分析。這種由上而下的設計方式,尤其在硬體儲存成本較高的過去,是當時主流的方法。 從商業需求出發,逐步回推所需的資料,但其最大的缺點,相似的處理流程,會在不同任務中重複出現,程式碼很難管理與維護。例如,醫院每天大量病患就診,醫院需要定期生成報告來分析各科室的病患數量,就有一隻程式與排程獨立處理。下一個任務是糖尿病病患檢驗結果數據呈現,就需要另一隻程式與排程獨立處理。 ### ETL的優點: 1. **節省儲存空間**:ETL 優勢在於,它可以在數據進入資料倉儲之前進行去重、過濾和精簡,確保只保存關鍵數據,減少儲存空間的浪費。在過去硬體儲存有限的情況下,這樣的設計受到青睞。 2. **需求產出快速**:當有明確的專案需求時,ETL 允許快速依照需求進行數據擷取和處理。現有的 ETL 工具如 Informatica、Talend 等,能夠加速數據管道的開發,縮短需求到結果的時間,**對於中小型數據集的運行較為順暢。** 3. **高度耦合的數據**:由於 ETL 是針對具體需求來設計和處理數據,因此產出的數據高度符合特定目的,這樣的耦合性確保資料集能夠精確地支持需求,不容易因修改一部分導致另一部分數據的崩潰,也就是不會改A壞B。 ### ETL的缺點: 1. **資料難以重複使用**:高度耦合的數據設計往往意味著其針對特定需求優化,這導致在其他情境下難以重複使用。要實現數據的靈活應用,需要在耦合性和重複使用性之間取得平衡。 2. **難以管理與維護**:由於追求快速實現需求,ETL 流程中的程式碼經常是臨時修補和複製貼上的結果。隨著時間推移,這會導致程式碼碎片化、重複性高,並且變得難以維護。這種技術債在大型數據項目中尤為明顯,當需求變更或系統擴展時,維護成本顯著上升**。** 3. **可擴展性低**: 隨著數據量增加,ETL 的批次處理方式可能無法及時響應實時需求,尤其是在需要處理多個數據來源的大型數據環境下。 4. **數據治理與合規挑戰**: ETL 沒有自帶的數據治理功能,這使得對敏感數據的處理、數據保留策略以及數據隱私的管理變得複雜,增加了遵循合規法規的難度。 隨著雲端運算和大數據技術的發展,ETL 的傳統方式面臨挑戰,ELT(提取、載入、轉換)逐漸成為替代方案。 ### MDS(Modern Data Stack) 隨著技術的進步與ETL 擴展性上的瓶頸,MDS(Modern Data Stack)概念應運而生。MDS 像堆積木一樣,將現代數據處理的技術堆疊,涵蓋數據的收集、儲存、轉換、分析與可視化等多個階段。MDS 具有高度的模組化和靈活性,企業可以根據需求選擇不同的工具和服務來構建專屬的數據管道架構。這種架構讓數據團隊能夠快速應對業務變化,並減少技術負擔。 我一直在想「為什麼需要MDS這個名詞產生,而不是單純描述從 ETL 到 ELT 而已?」 發現要從 ETL演化到 ELT的過程中,需要很多相對應的軟體或架構來輔助進行,才有可能實現 ELT的流程。最近使用 dbt 時候超有感,如果沒有 bdt 類似轉換的框架,單存用 python 來進行資料清理時,是很難實現出 ELT 的想法,下圖是Modern Data Stack 常見的組成與對應的軟體。 --- ![](https://moradatajourney.com/content/images/wp/2024/09/image3-1024x494.png) Modern Data Stack 的組成與對應的軟體\[圖片來源:[ Qlik](https://www.qlik.com/us/data-integration/modern-data-stack?ref=moradatajourney.com)\] ### MDS 的優點: 1. **可擴展性(Scalability)**: MDS 的其中一個主要優點是其高度的可擴展性。傳統的數據處理工具和架構往往難以應對數據量快速增長的需求,但 MDS 可以輕鬆擴展,無論是在處理更大規模的數據集還是應對更多的數據源。雖然目前醫療資料,受限法規以地端為主,當法規能允許上雲端時,MDS 架構可以快速遷移到雲端基礎設施(如 AWS、GCP、Azure)結合使用,使得 MDS 的擴展能力極為靈活。 2. **多樣化的數據來源整合**: MDS 支持從多種數據來源擷取數據,這些來源可以包括結構化數據(例如 SQL 資料庫)、半結構化數據(例如 JSON、XML)和非結構化數據(例如文件、圖片、音頻等)。這讓企業能夠整合來自不同平台、應用和數據源的資訊,進一步提升數據分析的全面性。 3. **資料容易管理與維護**:運用工具如 dbt(data building tool),能夠追蹤上下游的數據流程,並提供版本控制和可追溯性功能。這使得數據團隊能夠更靈活地管理數據表的變更,並降低維護成本。 4. **資料能重複使用**: dbt 允許數據進行階段性拆解和處理,這大大提高了數據的重複使用率。例如,已經整理好的 APP 使用者資料可以用作多種分析需求,不必每次都從頭進行處理。 ### MDS 的缺點: 1. **資料儲存空間需求大,成本提高**:由於所有數據都需要先載入資料倉儲,這會增加存儲需求,特別是在處理大規模未結構化數據時,存儲成本會顯著提高。 2. **初始開發時間較長**:MDS 的建設需要先打好架構,這意味著在開始時可能會花費較長的時間進行數據的基礎設施建設。為了讓業務層更快體驗到數據的價值,數據團隊可以設計階段性的小型專案,以實現漸進式的價值交付。 3. **技術門檻較高**:MDS 的導入需要具備深厚技術背景的數據架構師與工程師,並且要根據企業的具體需求進行定制化設計。工具如 dbt 雖然能提供優秀的數據管理功能,但仍需團隊成員具備相關技術經驗,才能充分發揮其價值。 ### MDS(Modern Data Stack)常見的四種類型架構: 在現代數據堆疊(MDS)中,常見的數據處理架構主要有三種類型:**Batch ETL**、**CDC**、**Streaming** 和 **Streaming+CDC**。這些架構根據不同的數據處理需求和應用場景進行選擇和部署,以下針對醫療場景為例,讓大家能夠更能具體了解這四種架構的不同。 ![](https://moradatajourney.com/content/images/wp/2024/09/image4-1024x571.png) MDS(Modern Data Stack)常見的四種類型架構 小穗步製圖 #### 1\. **Batch ETL**: **Batch ETL 是一種批次數據處理架構。數據定期從來源系統提取出來,然後經過清洗與轉換,最後將處理後的數據載入到資料倉儲中。**這個過程通常會結合 DBT(Data Build Tool)等工具來進行數據轉換,並將整理好的數據提供給後續的分析、報表生成或機器學習模型訓練。 - **醫療場景**:在醫療系統中,Batch ETL 可以用於定期匯總醫院各科室的病患數據,如每日/每月匯總門診病人數、病房使用率、手術記錄等。這些數據在每日/每月結束後,會被批次載入資料倉儲中,然後進行清洗和轉換,以便生成報告或進行病患數量的趨勢分析。此外,這些數據還可以用來訓練醫療預測模型,從而幫助醫院進行未來的資源配置規劃。 - **優點**:批次處理可以一次性處理大量數據,對於不需要即時結果的應用非常高效。 - **缺點**:由於是定期處理,無法即時反映數據變化,例如無法在手術進行過程中即時更新相關數據。 #### 2\. **CDC(數據變更捕捉)**: **CDC(Change Data Capture)是一種即時數據變更捕捉架構。該技術能夠監控資料庫中的資料表變化,並自動捕捉新增、更新或刪除操作。**CDC 會將這些變更記錄下來,並即時傳遞給下游系統或應用程式,從而實現數據的自動同步。CDC 通常與串流平台(如 Kafka)相結合,將捕捉到的變更轉換為即時訊息流,以便進行後續的處理或應用。 - **醫療場景**:在醫療系統中,CDC 可以用於實時同步患者的病歷數據。當患者的病歷更新,例如新的檢驗結果、治療方案或生命體徵數據(如心率、血壓)進行變動時,CDC 會自動捕捉這些變化,並將其即時推送到電子病歷系統(EMR)或其他相關應用。這樣,醫護人員能夠在不需要手動查詢的情況下,立即查看最新的數據,從而做出快速、準確的診療決策。相比傳統的方式,系統需要不斷地透過 API 主動詢問數據是否有變化,CDC 省去了這個步驟,減少了系統負擔,同時提升了數據更新的效率和即時性。 - **優點**:CDC 能夠實時捕捉資料庫中的變更,並自動將數據傳遞到下游系統,保證數據的一致性和即時性。這種架構非常適合需要快速同步數據的場景,尤其是在醫療系統中,能夠確保關鍵數據的即時更新。 - **缺點**:CDC 架構的實施對基礎設施有較高要求,尤其在數據變更頻繁的情況下,會增加系統的處理負擔。此外,CDC 主要用於資料庫數據的同步,對於非資料庫數據(如 IoT 數據流)處理能力有限。 #### 3\. Streaming**(流處理架構)**: **Streaming 是一種實時處理數據的架構,適合應對高頻率、持續生成的數據流。它根據不同的需求,能夠將實時數據直接傳遞給相應的應用系統或數據分析平台。**例如,當有 IoT 設備需要將感測數據傳遞給即時分析系統時,Kafka 會將這些數據以訊息的形式傳輸給消費者。這些數據可以用於即時決策(例如 AI 和機器學習的即時模型推論),或傳入資料湖或資料倉儲中,進行後續的視覺化分析和報告生成。 - **醫療場景**:在急診室或重症監護室,IoT 設備會持續監測患者的生命體徵(如心率、血氧濃度、血壓等),這些設備會將實時數據通過 **Kafka 等串流平台傳輸到醫療系統**。假設某位患者的心率突然異常升高,Streaming 處理架構可以將這個數據即時推送給醫護人員的電腦或通訊軟體,幫助他們即時做出診療決策。與此同時,這些實時數據也可以直接傳輸到醫院的資料倉儲中,供後續的數據分析和報告生成。 - **優點**:能夠即時處理數據,滿足高頻率數據應用需求。 - **缺點**:實時處理系統複雜度較高,對於不需要即時結果的場景可能資源浪費較大。 #### 4\. Streaming **\+ CDC(流處理 + 數據變更捕捉)**: Streaming + CDC 是結合了流式處理與數據庫同步的架構。除了處理 IoT 等設備產生的即時數據外,還能夠捕捉來自資料庫的變更事件,並將這些變更即時傳輸到下游系統中。透過 CDC(Change Data Capture)技術,資料庫中的新增、更新或刪除操作會即時被捕捉並轉換為訊息流,傳遞至 Kafka 進行後續處理。這種架構可以確保不同數據來源的即時同步和一致性。 - **醫療場景**:Streaming + CDC 可以應用在醫院的電子病歷系統(EMR)中。當患者的病歷數據(例如實驗室檢驗結果或藥物處方)被更新時,CDC 技術會自動捕捉這些變更,並即時推送到其他相關系統,如醫護人員的監控系統或分析平台。當患者的檢驗結果有異常,醫護人員會立刻收到通知,而不需要通過輪詢系統或等待報告生成。這樣的架構保證了數據在不同系統之間的即時同步和高效傳遞。 - **優點**:能夠即時同步來自資料庫和其他數據源的變化,適合需要保持數據一致性且需即時更新的應用。 - **缺點**:系統設計與維護難度較高,對基礎架構的要求較高。 ### 如何選擇最合適的資料管道架構? ![](https://moradatajourney.com/content/images/wp/2024/09/image5-1024x377.png) **根據當前需求與未來的擴展性選擇最合適的資料管道架構。**隨著少子化問題加劇,未來人力資源將大幅減少,這使得資料架構必須能夠提高自動化和資料共享性。傳統的 ETL 流程已經無法滿足這種需求,因為它依賴批次處理,無法靈活應對即時數據的變動和報表的動態需求。 考慮了現有的技術選擇後,我問自己:「**如何建立一個能夠適應未來變化的資料架構,能夠高效、可靠且可重複地為企業提供數據,並且同時符合當前的需求,進而發揮效益?」**首先,**資料需要具備可重複使用的特性**,並且能夠在不同系統之間高效流轉。因此,考量現在的資料庫結構,我的首選技術是 **dbt**,因為它可以高效地管理數據轉換過程,並且提供強大的數據依賴追蹤功能,這對於高耦合的數據管道尤為重要。 接下來,需要決定使用 **Batch ETL**、**Streaming**、**Streaming + CDC** 還是 **CDC**? 為了不影響線上的資料庫效能,目前團隊使用 Airflow 將線上資料庫進行備份,但Airflow 是排程工具,在實際應用在資料管道中遇到了三個主要問題: 1. 當資料變動時,異動時間無法自動更新,這導致下游數據不同步。 2. 上游資料表的資料被刪除後,下游資料表無法即時感知這些變化,數據一致性受到影響。 3. 資料遺漏的情況時有發生,這讓我無法保證數據的完整性。 為了應對這些挑戰,我發現僅使用 Airflow 是不夠的,要確保數據的一致性和準確性,**CDC**(Change Data Capture)變成了必需品。通過 CDC,夠即時捕捉資料庫中的變更,確保數據在上下游之間的同步和一致。 將心中所想落成文字後,我更確認當前的策略是須將把 ETL 轉換成 MDS 架構,以 **CDC** 為核心,確保數據在資料庫變更時的即時同步,採用 dbt 來降低處理資料流的人力,並同時提高資料品質。且隨著需求的變化,醫療穿戴裝置使用越普及,並配合政策「在宅老化」的發展下,逐步引入 **Streaming** 處理技術,這樣的選擇不僅解決了當前數據流中的問題,還為未來擴展奠定了良好的基礎。 以下是我目前整理出來, MDS 不同資料框架下所用到的工具與適用的醫療場景。 | 架構 | 醫療場景 | 即時性 | 軟硬體成本 | 人力成本 | 使用到的工具 | | ------------- | ----------------------------------------------------------------------------- | ------------------------------------ | ------------------------------ | ----------------------------- | -------------------------------------------------- | | ETL | 客製化**處理非即時性的統計數據。**從多個系統中批次提取病患數據,進行清洗和轉換後載入資料倉儲,如病患病歷、手術紀錄和檢驗結果的匯總。 | **低**,因為是批次處理,無法即時反映數據 | **相對較低**,依賴 ETL 工具和資料倉儲,但不涉及即時 | **成本高**,需要數據工程師進行客製化處理,寫入資料倉儲 | ETL 工具(如 Talend、Informatica)、SQL、資料倉儲系統 | | Batch ETL | **自動化處理非即時性的統計數據。**如:病患數據的批次處理,報告生成與分析,例如:每日門診病人數匯總 | **低**,因為是批次處理,無法即時反映數據 | 相對較低,批次處理對基礎設施需求 | 中等,需要數據工程師進行定期批次處理與 | DBT、SQL、資料倉儲系統(如 BigQuery、Snowflake) | | CDC | **自動化處理具有即時性的資料,於多處同時呈現與同步。**如:電子病歷系統(EMR)中的資料庫數據變更同步,如**檢驗報告更新、藥物處方同步到藥局系統** | **中等**,能夠即時同步資料庫變更,但無法處理 IoT 等非資料庫數據 | 中等,專注於資料庫變更捕捉,基礎設施要求 | 中等,需數據庫和 CDC 工具的管理與維護 | DBT,CDC 工具(如 Debezium), 資料庫 | | Streaming | **自動化**處理需即時處理的數據,**於**多處進行即時處理。如:IoT 設備的實時數據監控,如 ICU 病患的生命體徵監測(心率、血壓、血氧濃度等) | **高**,能夠即時處理並傳遞數據 | **成本較高**,需支持實時流處理及高頻數據傳輸 | **高**,需具備流處理技術的數據工程師團隊進行維護 | Kafka、IoT 設備、Streaming 平台(如 Flink、Spark Streaming) | | Streaming+CDC | **自動化**能即時處理各種類型資料的同步性,**於**多處應用。如:同時監控 IoT 設備數據和資料庫變更,例如**實時同步病患生命體徵和檢驗結果** | **高**,能夠即時同步 IoT 數據和資料庫 | **成本較高**,既需處理流數據也需實時同步資料庫 | **高**,需具備流處理和資料庫同步技術的團隊維護 | Kafka、DBT、CDC 工具(如 Debezium)、Streaming | 資料管道的特性分析 希望這篇的內容,能對你有所幫助,看完後你覺得你的公司適合哪樣的資料管道? 歡迎跟我分享與一起學習討論。Email: suipichen@gmail.com #數據中台 #資料管道 ### 【建立數據平台 ing】小穗步覆盤 #01 URL: https://moradatajourney.com/data-platform-building-review-01/ Last updated: 2026-07-19T05:22:11.000Z 透過覆盤,讓我們有機會遇到更好的自己 ![](https://moradatajourney.com/content/images/wp/2024/08/image_20240811-1024x573.png) ## 這週完成 這週與團隊合作完成了最小MVP ,完成一隻指標的資料提供。 將原始數據資料,透過 #Airflow 落到資料倉儲中,經過 #dbt 轉換清理後,再透過 airflow 提供到指標平台的資料庫,讓指標平台串接使用,雖然累但是很開心。 ![](https://moradatajourney.com/content/images/wp/2024/08/image_test-1024x393.png) 這半年來的新技術dbt、airflow 與資料庫中數據的特性理解與應用,總算迎來了第一階段小成果。 未來還有200多隻指標的資料要提供,**心裡思考如何設計能提高維運的效率?如何能儘量共用?如何讓使用者自己拉去需有的資料?** 最終目的是從資料找到能真正輔助決策的關鍵,更好的管理,輔助LLM相關應用的資料串接,發揮資料的價值,是我時時放在心中思考的點。 ## 這週好的地方 準備資料給特定系統使用,需要符合特定的格式,需再特定時間完成,這週就是不斷溝通的過程。 自己好的地方,**確認最小需完成的項目與不斷主動與廠商溝**通,那邊一定要配合?那邊是有彈性?那邊能降低資料倉儲中客製化的比例?提高後續資料的共用性。 自己第二個好的地方,**善用提問,讓團隊能給建議協助**。現在執行的方法我們能在期限內達成?],夥伴就會思考現在的作法有沒有需要調整的地方,我喜歡自己卸下一定要給答案的角色,希望自己能越來越善用提問。 團隊好的地方,**主動詢問有沒有需要幫忙的地**方,內心超開心高興,雖然工作時程短,一開始團隊認為是無法達成的短期目標,最後齊心完成,意外激發出團隊的向心力。 ## 可以更好的地方 這週為了在時效內完成,考量夥伴要請假的時間,熬夜寫程式。 年紀有了果真不能熬夜,隔天立馬沒精神,無法思考,週末身體反撲,鼻痛又再發作,只好大睡特睡捕回來,一定要記錄下來,**提醒自己提早交付或者溝通出合理的繳付時間,達成不熬夜目標。** ## 下一步行動 這次建立 資料倉儲,採用對我來說dbt 與airflow 框架,對團隊來說是陌生的,很多事情必須先由核心成員打頭陣,先產生基礎流程,夥伴才能有跡可循近來協助進行。 接下來要**拆解出來這次的工作流程,建立出工作流程步驟**,後續要持續優化這流程,盤點出儘量能自動化的地方,讓大家能在人力有限下,協作完成這個大工程。 這次MVP達成過程中,因為更瞭解資料特性後,catch data change ( #CDC)變成必需品了,**如何能跨部門與上下溝通,成功導入工具**,達成這目標,是下一個挑戰。 ## 其他【持續練習放鬆】 達成挑戰前,還是要有適度放鬆,謝謝老公提議週末逛了#總站夜市,#大地商場 的烤香魚特餐好吃😋,小孩套圈圈100元,四瓶戰利品,大家都心滿意足。 你也有用過 dbt 建立數據中台的經驗,歡迎來信交流。suipichen@gmail.com #小穗步工作記錄 #小穗步覆盤 #小穗步反思 #資料倉儲 #數據中台 ### 43 。穗| 照顧自己的心,無須成為別人的意義,專注綻放自己的樣子 URL: https://moradatajourney.com/forty-three-years/ Last updated: 2026-07-16T17:20:39.000Z 以反思為題的生日禮物, 就像是規劃一場定期的旅行, 只是旅行的目的地是自己。 愛上持續自我對話的儀式!! 謝謝今年的你沒有忘記送出這份禮物。 Hi, 我今年 43 囉,你今年過的好嗎? 過往,我一直被一個提問卡住,**「自己做的事情有沒有意義?**」,每次做選擇時,都會問自己這個問題,但從來沒有答案。 最近聽到國際剪紙藝術家楊士毅的專訪,分享他的著作《#沒有門檻的幸福》 這本書,聽到一段很觸動我的文字,「**不需要成為別人身邊的意義,只要綻放出自己的樣子就可以了。**」 曾寶儀專訪楊士毅的兩集內容,我反覆聽了多次,寫這篇生日文時,才發現我反覆聆聽的原因,這段話和我藏在我內心深處的提問 「自己做的事情有沒有意義?」 是相衝突的。 這段文字溫暖了我也解開我心中的疑問,我們不需追求意義,我們活著就是很棒的意義,我只需要成為我自己,我只需要專注綻放自己就可以了。我不需要自責自己,每次反問自己「自己做的事情有沒有意義?」 這段話變成一顆種子,慢慢發芽,鬆動了自己隱藏在心中很久的執念,開始練習放下,做出改變,**無須成為別人的意義,專注綻放自己的樣子。** ![](https://moradatajourney.com/content/images/wp/2024/07/image_modified.png) 另一個自我好奇的提問,「**為什麼我一直追求別人的肯定,在意別人的眼光?**」似乎跟小時候的成長經驗有關,小時候因為努力讀書,曾感受到,接受到別人肯定後的成就感。」但這樣的思維好像不是適用在工作上。 最近聽到薩古魯(Sadhguru)是這樣回答這個問題的:「**重點不是你做出多麼棒的產品,而是當你所做的對他人有用時,他們就會感受到其美妙。如果你的工作是你自身喜悅的表達,那麼,你工作的時間可以是你生命中最美好的時刻。**」 「陳穗碧,為什麼你要追求別人的肯定? 你無法控制別人要不要給你肯定,就像你買 OpenAI 服務一樣,因為你感受到有用,所以你願意花錢訂閱。工作上也是如此阿,你應該追求的是,如何設計出一個對人有用的產品。同時建立好的溝通渠道,讓別人能感受到有用,要不然,再好的東西到不了至別人身邊,只是你自己的創作故事,跟別人沒有連結。」 寫下這段文字後,我應該做出些改變。今年我必須參加很多會議,明顯感受到自己開發的時間與團隊共創的時間變少了,參加幾場會議後發現,我大概理解組織內部運作,同一種性質的會議,我不需要一直參加了。我想把會議與出差的時間減少一些,保留時間,**把心力放到產品上,去設計我做的東西能讓別人感受到有用的,有價值的,把使用者放在心上去設計產品,當它們感受到美妙的時刻,加薪是隨之而來結果產物,而不是我要追求的目標。** ![](https://moradatajourney.com/content/images/wp/2024/07/image-2-modified.png) ## **這一生,我要成為怎樣的人?** 要綻放自己的樣子,但「什麼才叫做自己的樣子?」最近我很喜歡「成為」這個詞,「成為」是描述朝往那個方向前進。我的現況並沒有達到,但是我有嚮往的方向。現在的我想**成為對自己誠實與行動讓自己少點遺憾的人。** 在最近的書寫中,發現透過書寫文字,漸漸地看到自己隱藏在表層的自己,但仍不容易撥開。 今年生日遇到颱風來襲,沒有生日晚餐,謝謝老公,幫我準備了生日蛋糕,我知道老公和小孩努力營造生日的氣氛,但是我卻一點都沒有高興的感覺,唱生日快樂歌的同時,我竟然流下些許眼淚。我知道我有情緒在心裡,漠視這些情緒的存在,當天晚上仍把明天工作的項目展開做好明天工作的準備。 ![](https://moradatajourney.com/content/images/wp/2024/07/image_flipped.png) 睡前跟老公聊天提到,疫情前一起吃飯與彼此交換食材的前同事,肺癌轉移到腦部,已經無法言語了,當天我回顧著前同事Line訊息,發現自己忙著工作和家庭,傳給同事說「等疫情好一點,約吃飯唷。」這句話已經無法實現了,自己有著滿滿的遺憾。 老公說:「我老婆怎麼那麼感性,因為同事的事情而傷心。」 我淡淡地說,「除了同事,還有擔心娘家的媽媽。最近媽媽身體不太好,以前常常被媽媽念不要太常喝冰的我,曾經對這樣的話語嫌囉嗦,但是今年生日,媽媽連跟我說生日快樂的動力都沒有,讓我很失落。」這失落被我習慣性忽略隱藏住,但是身體卻不自主用落淚表達。 最近我才慢慢接受老化不能掌控的現況,媽媽因為停藥類固醇後,影響內分泌,讓生活沒有了動機與食慾,希望時間能快快讓媽媽身體代謝掉藥物的影響,結婚10幾年,結婚多久就有多久沒有回娘家睡了,前同事的遺憾,今天想到為了讓我後續不要有遺憾,之後回高雄就讓自己多回娘家睡,多陪媽媽聊聊天。 謝謝老公,抱著流淚的我跟我說:「沒關係,我在」。老公不會寫卡片,但他無意間給了我最好的生日禮物。 一直都知道自己有些事情不願意面對,自己對自己不夠誠實,大腦欺騙自己,習慣性隱藏這些事情對自己的影響,好像沒有發生這些事情,不想起就代表我夠堅強可以面對,其實心裡藏了遺憾,謝謝與肯定自己在生日晚上練習誠實面對自己的遺憾,誠實面對自己的失落,嘗試著跟老公說出來。 為了不讓遺憾蔓延,這周末過去看前同事,事前擔心她想要我們去看她嗎? 但我多慮了,雖然她無法正確表達,但在門口時她就看到我們,很開心的迎接我們,我緊緊握住她的手,她有力的回應握住我,跟她說我們來了,也跟她同步我們的近況,謝謝前同事,因為她讓我想把自己所學貢獻在醫療上,讓我看見我一直以來幫助別人的初心。 這個誠實面對自己的過程,不容易,需要刻意讓自己保留時間,與自己對話。我希望未來的自己,能夠對自己更誠實,讓心指引我前進,讓人生的遺憾能夠少一點。這樣哪一個時間點離開人世,人生能少點遺憾。 **後記: 我願意的開關,只有自己能啟動。** 陳穗碧這三個字,我不知道為什麼很少說出口,反而喜歡用 Mora 來介紹自己,但我想要慢慢練習,喚自己的名字,跟自己對話。 「陳穗碧,今年正式進入到三明治世代,工作上的責任也變大,我知道你辛苦,雖然案子困難超過自己的能力,因為有這些挑戰,不斷刺激讓自己長大。過往迎向挑戰,一次一次的突破,才慢慢讓自己有了自信,這不是你想要的嗎? 工作時,你為了讓團隊有向心力,嘗試各種做法,團隊好現在能一起執行同一個專案了,現在的工作,能幫助到人的前進成長,是你心裡想要做的事情啊。雖然不容易,但我知道你是願意接下來的,就跟結婚一樣,明明知道結婚後的辛苦,但我願意後才能經歷到人生不同的風景。迎向挑戰嘗試吧,不要讓人生留下遺憾。」 今年兩個孩子身高都超越我了,持續去體驗人生吧,我的目的地不在他處,就在心裡,照顧自己的心,無須成為別人的意義,專注綻放自己的樣子。 ![](https://moradatajourney.com/content/images/wp/2024/07/S__224149509.jpg) #與自己對話 #認識自己是一輩子的事 #生日快樂 #### 歷年送給自己的生日禮物: [四十二。穗| 練習用「收穫心態」欣賞進步的自己,拓展自己更多潛能](https://moradatajourney.com/forty-two-years/) [四十一。穗| 「是的,這就是我」,讓我更了解我自己](https://moradatajourney.com/forty-one-years/) [四十。穗|40不惑?](https://moradatajourney.com/40-years/) [三九。穗|喔,原來這就是我](https://moradatajourney.com/thirty-nine/) [37。穗|從辛苦,到漸漸感到滿足](https://moradatajourney.com/thirty-seven/) ### 如何與團隊對齊專案價值? |小穗步分享#7 URL: https://moradatajourney.com/newsletter-7-align-project-value/ Last updated: 2026-07-16T17:20:40.000Z 透過價值探索與對齊工作坊,發現大家對於專案價值的一致性差異,來自於背景知識不同、專案熟悉度與視角不同。 今年對我來說是一個很大的挑戰,帶領一個數據 team 建立數據平台,經過6個月,發現這個任務很不簡單,團隊原來自於不同的部門,專案推動上感受到瓶頸,推動的速度沒有想我像中的快,觀察下來發現今年的任務有三大挑戰。 **第一個挑戰在讓團隊的大家可以順暢協作。**團隊中習慣獨立工作的人,如何將自己的工作流程拆解出來,能拆解拆細,大家才能進到協作的狀態,組合成團隊讓大家可以一起協作。 **第二個挑戰在於確認專案價值與執行優先序。**專案來源多元,不同主管對於專案價值重要性不同,有多個專案進來的時候,我要如何確認價值與優先順序進行? 而不是某某主管說要做就等於重要。 **第三個挑戰在於如何讓專案如期如質的完成。**執行一個大專案或多個專案時,怎樣彙整資訊,知道整體的範疇,讓專案能如期如質的完成。 最近嘗試[專案管理工具ClickUp](https://moradatajourney.com/newsletter-6-howto-find-good-pmtool/),主要是處理第三個挑戰,透過好的專案管理工具,讓自己可以快速彙整專案資訊,當有需要的時候,可以快速點選。盤點完後,才赫然發現到自己的專案量與多元性,已經超過團隊負荷。 今年自己在向上管理上,改變作法與新嘗試,會把自己的觀想和想法,寫信給主管進行交流。有次接到主管的回信,**「專案管理其實不是在管理專案,而是在塑造團隊,把人心凝聚起來並且讓大家有崇高的使命感,往往可以讓團隊發揮出超乎常人的能力,這就是高水準的PM/SM要去達成的。」**看到這句話,高興主管有很有遠見,另一頭擔憂起來,人心是最難改變的,挑戰很大,同時現在公司沒有這樣的角色,我不可能等到那個角色來,現在的我可以怎樣做? ## 專案價值探索與對齊工作坊 或許是這封信給我的靈感,人心凝聚很難,但我能先讓團隊間能了解專案的價值。會想這樣做是因為發現,當團隊有重要任務要執行時,夥伴有它的優先序,但我有我的優先序,我發現優先序的判斷是有衝突的。 ### 優先序的不同,造成行動上的差異 今年接了新的團隊,新的夥伴也將報表與儀表版業務帶進來團隊中,我知道她的辛苦,窗口直接找,業務範圍很廣(幾乎院內的所有單位都碰過了),性質也不同,有時來報表諮詢,有時來報表異常通知。當團隊有重要任務要執行時,發現執行優先序的判斷是有衝突的。觀察到這這件事情,有口頭提醒重要的事情要先完成,但效果有限。 ### 當觀念改變,行為才會改變 腦中一直盤巡好奇自己為什麼想要舉辦這個工作坊,而不是把時間拿來管理與追蹤。前幾天於黃國珍老師未來閱讀雙素養 podcast 專訪《成為企劃人》的作者李惠貞老師,她提到「當觀念改變,行為才會改變。」 這句話點醒了我,**也覺察到自己內心傾向以彼此透明,雙方都了解對方的觀念時,溝通上才會漸漸有交集,雙方說的話才能進到彼此的心中,**這個觀點潛藏在我的心中,所以才會舉辦專案價值探索與對齊工作坊。 ## 如何對齊團隊的專案價值? ![](https://moradatajourney.com/content/images/wp/2024/07/image01-3-1024x571.png) ### 1.同步目前專案的列表 首先,請團隊列出手上的專案進行對焦,發現團隊對於**專案的定義** 是不一樣的。有些夥伴以**工作項目為主來定義專案**,維護程式碼的品質,數據諮商在伙伴中心是專案,但在我心中可能是某一個專案的工作步驟之一,這是這個工作坊的意外收穫。 ### 2.寫下與分享不同視角下的專案價值判斷 這次工作坊階段性目標是讓大家彼此知道每個人專案判斷的優先序,以及嘗試用不同視角來觀察。每個人寫下自己的專案價值判斷,再切換到團隊主管視角,再接換到高層視角。每個人都寫下來,然後一一的分享,這樣的排序的原因和看法。 ### 三種因素影響專案價值的判斷 果真每個人的優先序差異很大,聽完大家分享後,發現三種因素會影響專案價值的判斷: 1. **專案理解程度不同** 每天晨會會同步 a 做了哪一個專案,b 完成了什麼,有些人執行工作項目前會問這項任務的重要性與為什麼這樣做?有些人會直接接下工作直接做,少了為什麼的詢問,專案理解程度上就產生落差,因而對於專案價值上的判斷就無法掌握。這個發現,因此我筆記上寫下接下來的行動,**以後團隊時間,我要花時間說明專案的整個脈絡,主動講執行的為什麼,以及影響的範圍,不能只講工作項目,要讓大家有越接近的專案理解程度,來提升大家對於專案價值判斷的理解。** 2. **負責專案不同** 通常自己做的專案價值越高,未來如果是大團隊的專案,我要讓大家都能一起協作,降低落差。今年數據平台的目標,我要讓大家都能一起進來協作。 3. **視角與高度不同** 工作坊中透過轉換三個不同視角,從自己出發,從團隊出發,從高層長官的角度出發將專案優先序排序,沒有放在一起不知道,排在一起後發現**價值排序逆轉**的現象。以自己角度價值排在最後的專案,從團隊與高層長官的視角這些壓後的專案進行排到最前面了。透過切換視角的練習,團隊竟然覺察到「**專案價值判斷的落差」**到這件事情了。在工作坊中補足了各專案脈絡,降低專案理解的落差,說明團隊未來長期目標與方向是建立數據平台。 ![](https://moradatajourney.com/content/images/wp/2024/07/image02.png) ### 3.工作坊回顧 夥伴分享雖然她手上有很多原本的工作項目,但她提出她的想法,也想參與數據平台的建設,建議我們可以先啟動,她可以安排自己的工作,固定時間做團隊認為重要的專案,很感謝她的提議,接下來就會朝這個方向前進與進行。 ![](https://moradatajourney.com/content/images/wp/2024/07/image03.png) ![](https://moradatajourney.com/content/images/wp/2024/07/image04.png) ![](https://moradatajourney.com/content/images/wp/2024/07/image05-1024x264.png) > 專案價值就是方向,當專案價值一致,團隊工作執行方向越一致,才會越有力量。 寫下這篇工作坊的回顧,剛好看到李慧貞老師分享《創造力的修行》\[1\]書中的一段話 > **「我們做任何一件事的態度,就是我們做每一件事的態度。認真對待你做的每一個選擇、你採取的每一個行動、你說的每一個字。目標是把你的生命活成一股藝術的力量。」** 謝謝這段話讓我充滿力量,這工作坊不是誰交代我做的,而是從一個觀察中發現疑問開始,並且以它來引導一場通往發現的冒險。 謝謝大家給我的反饋,讓我感受到冒險後的美好。工作坊真心話後,是另一個挑戰的開始。 希望你從這週的分享帶走一些對你有用的資訊。祝你有個美好的一週! **你很好,你很棒了,不要苛責自己,活成你想成為的自己就很棒了。** 小穗步 參考資料: \[1\]《創造力的修行》,里克.魯賓(Rick Rubin)著,杜蘊慈譯,大塊文化 ### 如何找到適合自己的專案管理工具?|小穗步分享 #6 URL: https://moradatajourney.com/newsletter-6-howto-find-good-pmtool/ Last updated: 2026-07-16T17:20:40.000Z 以賦能為思考點來選擇工具,而不是成本和功能 ### 為什麼我突然會專案管理工具有興趣? 我一直嘗試怎麼樣的專案管理流程比較適合自己,公司使用 Trello 進行專案管理,雖然容易上手,但用了三年發現很容易只看到項目的細項,但無法看到全局。主要關注在細節任務有沒有解決,但反而忽略了寫好的系統上線後,去追蹤真的有創造價值與傳遞價值。 工作上我需要定期週報、定期月報、定期季報年報的我,不同會議場合所認定的價值不同,定期週報偏向事情有沒有如期進行,定期月報與季報評估專案方向與公司的一致性,需要快速呈現目前進度,年報以闡述整年度專案所產生的價值。 過去專案數量不多,使用 Trello 搭配Excel 和 PPT還能撐得住,今年自己有大數據平台新技術需要研究,去實作,更沒有時間花在專案管理上了,除了自己主責的專案,也有額外需要配合執行的任務,我必須要借助工具提升自己專案上的掌握度。一直都感受到專案管理上有困難需要解決,但這周以前沒有積極行動的改變,直到我這周參加拉麵社的社群分享會,聽到資深PM 對於專案管理價值的闡述,讓我印象深刻,讓我感受到專案管理的價值。 ### 專案管理的價值是什麼? > ***用 20% 的時間處理不斷重複發生的事情,發生 80% 的效益。*** > > ***用 80% 的時間處理臨時突發狀況,發生 20% 的效益,就是這 20% 讓你突出。*** > > ***—— 陳展儀 Kay*** 聽到這句話的時候,我瞬間定住,我問我自己 「我現在做的事情,有產生80%的效益嗎?」 「我用的多少時間,去產生80%的效益?」 現在專案工具的選擇主要考量成本,採用各種工具輔助,Trello 看流程,Miro 激發思考白板彙整,google docs , google excel 彙整資料,因此工作細項紀錄沒有整體性,很難追蹤現況,更重要的是,這次專案執行經驗與成果,很難累積下來。 ### 如何找到適合自己的專案管理工具? 被 Kay 打動的我立刻嘗試了 Monday 專案管理工具,發現現在的專案管理工具很多,每個專案管理的理念訴求不同,商業模式也不同,我該怎樣選擇。看了一下網路上的彙整文章,[12個專案管理工具推薦,團隊&遠距工作管理必備軟體!【2024】](https://sislin.me/project-management-tool/?ref=moradatajourney.com)。目前嘗試了使用 Trello, Monday, Clickup 各有不同需求。 | | [Trello](https://trello.com/zh-Hant?ref=moradatajourney.com) | [Monday](https://monday.com/lang/zh-tw/work-management?ref=moradatajourney.com) | [Clickup](https://clickup.com/?ref=moradatajourney.com) | | ----------- | --------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------- | | 願景 | 以 Broad 為主的專案管理方式 | 以全局的角度為主專案管理方式,如期達成 | 以價值Goal 為主的專案管理方式,如期達到產生價值。 | | slogan | 隨時隨地管理團地的專案Trello 將您的所有任務、團隊成員和工具整合在一起 | 賦能團隊共同完成更多任務 | One app to replace them allClickUp 如何讓您的工作日變得更好,無論您是個人貢獻者、高階主管還是介於兩者之間的任何人。 | | 定價 | [Free $0](https://trello.com/pricing?ref=moradatajourney.com)Standard $5preminum $10企業: | [Free $0 ](https://monday.com/lang/zh-tw/work-management/pricing?ref=moradatajourney.com)basic $9standard $12profession: $19企業 | [Free $0](https://clickup.com/pricing?ref=moradatajourney.com)Unlimited $7Business $12企業 | | AI 服務 | | | 額外 $5 | | 訪客機制 | 訂閱後無訪客限制 | 1個帳號代表4個訪客 | 不同訂閱方式與參與人數訪客人數不同 | | Target user | 團隊成員 | 團隊成員 | 團隊成員**、個人貢獻者、高階主管** | 小穗步彙整 ## 以賦能為思考點來選擇工具,而不是成本和功能 這幾年發現自己使用工具思維有蠻大的改變,以前以成本和功能面為主要的考量,當然成本還是會比較一下,但我更在意**這個工具能不能幫上我,解決我現在在的問題。**這也是受到瓦基分析[如何評估Heptabase適用性](https://readingoutpost.com/is-heptabase-better/?ref=moradatajourney.com)的啟發。 我當初購買Heptabase 是想要提升思考能力,讓自己有空間能做資料終整的解釋和思考。 現階段我如何選專案管理工具? 為了避免陷入功能比較的選擇困難,因為每家每一個方案提供的功能都不同,用這樣的角度進行評估,很容易造成選擇了一個工具,但最後卻不能解決問題的窘境。 所以我決定以需求出發,我靜下心想後,我有三大需求: - **可看到專案的全局工作流,專案目前進度與可能風險,如期完成。** - **留下每個專案執行的足跡(workflow),後續進行專案盤點,優化執行專案的 workflow,持續優化。** - **能夠讓我能不斷對齊專案的目標和厲害關係人的期望,創造出價值。** 發現雖然 Trello 是最便宜的,但嘗試了一下,Trello不能符合我的需求,我需要能全局看到所有專案的進度,但Trello 主推以看板的方式來看到工作流,但無法直觀的檢視全專案的工作流,需要刻意特別整理。 Monday 畫面上最直覺,也是讓我決定要開始使用專案管理工具,但是實際使用後,發現白板的功能後續將要被移出了,這樣我就無法在同一個介面,檢視到所有專案的文件,加上使用的最低人數,必須三個人。但是必須說**Monday dashboard 的設計是最直覺的,我只是增加一些卡片上,把一些狀態隨意地放上去,系統竟然會自動計算風險等級呈現在上面**,後續也想把這個概念,放到 ClickUp 中。 ![](https://moradatajourney.com/content/images/wp/2024/05/image-2-1024x569.png) Monday全專案的 Dashboard 初版 現階段 ClickUp 是現階段最能滿足我需求的工具,我可以先試用很多功能,再決定要不要升級,以及不管升級了,也能使用訪客制度,團隊與主管能檢視我目前整理的現況,開心自己在這兩天,彙整出專案進度工作流初版。 ![](https://moradatajourney.com/content/images/wp/2024/05/image-3-1024x476.png) 彙整出專案進度工作流初版 ![](https://moradatajourney.com/content/images/wp/2024/05/image-4-1024x386.png) ClickUp Dashboard 可以彙整個專案的進度 ## 下一步行動 接下來將 Clickup 落在我的日常中,現階段以自己使用為主,團隊與主管以訪客來進行檢視,一個月後來評估使用的結果,是否能滿足我第一個需求。趁著 Monday 試用期學習專案管理的知識和訣竅。 **技術與專案管理分不開,要有好的專案成果,必須要有好的執行力。要有好的執行力,必須有好的專案管理能力打好基礎。**希望能有一天感受到 kay 的這句話。 > ***用 20% 的時間處理不斷重複發生的事情,發生 80% 的效益。*** > > ***用 80% 的時間處理臨時突發狀況,發生 20% 的效益,就是這 20% 讓你突出。*** > > ***—— 陳展儀 Kay*** 希望你從這週的分享帶走一些對你有用的資訊。祝你有個美好的一週! 小穗步 2024/05/12 ### 後記: 1.這周很忙碌,原本想休息一周不寫電子周報,但是很想把這周的嘗試記錄下來,同時也觀察到自己,在寫電子報時很容易進入心流狀態,不是工作,但做得很開心。原來我在寫週報時,我很容易進入心流。 2.好喜歡在 Heptabase 寫文,因為架構具一致性,可以快速貼到Wordpress。 ### 「第二曲線」:開啟職涯新想像的契機|小穗步分享#5 URL: https://moradatajourney.com/newsletter-5-second-curve/ Last updated: 2026-07-16T17:20:41.000Z 聽[大人學 podcast 訪談老查](https://podcasts.apple.com/us/podcast/%E6%95%B8%E4%BD%8D%E9%81%8A%E7%89%A7%E8%AA%8C-sp5-%E9%9D%A2%E5%B0%8D%E9%A3%9F%E4%B9%8B%E7%84%A1%E5%91%B3-%E6%A3%84%E4%B9%8B%E5%8F%AF%E6%83%9C%E7%9A%84%E8%81%B7%E6%B6%AF%E4%B8%8B%E5%8D%8A%E5%A0%B4-%E4%B8%AD%E7%94%9F%E4%BB%A3%E7%9A%84%E4%BD%A0%E8%A9%B2%E5%A6%82%E4%BD%95%E9%96%8B%E5%95%9F%E7%AC%AC%E4%BA%8C%E6%9B%B2%E7%B7%9A-%E4%B8%AD%E5%B9%B4%E7%B4%9A%E5%AF%A6%E7%BF%92%E7%94%9F-%E8%80%81%E6%9F%A5-%E5%B0%88%E8%A8%AA/id1452688611?i=1000653378705&ref=moradatajourney.com)的時候,一直縈繞在我腦中的是已經有個肯定回答的問題**「你有想過你會工作到什麼時後?」**,因為孩子的關係,這個答案我是沒有懸念的,一直做到不能做為止,但聽完老查的分享,我追問我自己 > **「一直做到不能做為止?真的嗎?」** > > **「我只有一直工作的選項,有沒有不同的人生和工作搭配的可能性?」** > > **「如果一直工作下去,我要以怎樣的形式持續工作?」**。 **第二曲線讓我對於職涯開啟新的想像** 第二曲線(The Second Curve)是英國第一所管理學院-倫敦商學院共同創辦人查爾斯.韓第(Charles Handy)在1980年代所提出的「第二曲線」,藉以說明組織得在第一項優勢還在高峰時,找到另外一條出路,讓組織在向下墜落之前,得找到第二個成長動能。韓第認為第二曲線也可以應用在個人身上。一個人在一家公司工作一輩子的情況,也愈來愈少見。愈來愈多人在第一份職涯進入高原期之後,另覓新工作,開創自己的第二曲線。 ![](https://moradatajourney.com/content/images/wp/2024/05/image.png) 第二曲線示意圖\[1\] **老查嘗試將第二曲線套用在人生職涯** 老查(李全興)曾任職於雅虎奇摩、博客來、遠傳、康泰納仕等多家企業的高階經理人。一記健康警鐘迫使他短暫休息,意外開啟了第二曲線的探索之旅,並嘗試成為自由工作者。 因為好奇年輕人的想法,老查嘗試了出租大叔的諮詢,並因疫情意外成為YouTuber,開始經營說書頻道。雖然頻道經營兩年未成功,但他掌握了選書、撰寫說書內容和順序的技巧,並習慣了在麥克風前表達。因此後續在商業思維邀請開啟商業書籍的線上課程,沒有任何的猶豫,因為很多能力已經具備了。 **人生之路就是不同體驗的累績** 老查的第二曲線實踐,讓我看到每一個嘗試與挑戰,都不會白費,因為人生之路就是不同體驗的累績推疊出來的。每個嘗試都是一個點,沒有白費,每個點不管成功或失敗,你都會在某些能力增加或經驗值增加,回過頭來看,這些點就會串接起來,變成你的人生曲線,雖然有高有低,卻是有你獨特生命經驗的。老查特別提到**,第二職涯需要規劃,不可能是第一的直線延伸。** # **身為中年職涯人士的反思與下一步行動** 那剛好是中年的我,面對AI技術變化快速,商業競爭激烈的狀態下,我該做什麼、能做什麼、想做些什麼,「我的第二曲線在哪裡?」,或許就是我現在就該著手開始思考的事。 因為孩子的緣故,我知道自己對於財務有著不安全感,理解商業運作的我,深刻知道不會有一間公司會一直聘任某一個人,我腦中很早就沒有會在一家公司永遠待下去的想法,每個時刻都必須要有備案,聽完後覺得**第二曲線的概念就是考量風險後,一種備案的概念**。讓自己在最有餘裕的時候,先做好累積。 我目前處於第一曲線的平原期,最近開始嘗試以電子報等方式探索新興興趣領域,希望自己能保持穩定的節奏累積成果。 透過記錄與輸出,探索出自己有興趣領域,以及參加相關課程或活動,一直追蹤小金魚如何經營電子報與經營社群與向瓦基學習卡片盒筆記法,如何能穩定地透過有系統的閱讀,產生出屬於自己獨特的觀點,同步觀察並好奇像老查一樣已經踏上第二曲線的實踐者。希望這些小穗步的嘗試,讓自己更了解自己,持續體驗人生可能的風景。 ![](https://moradatajourney.com/content/images/wp/2024/05/image-1.png) 如何啟動第二曲線\[1\] 希望你從這週的分享帶走一些對你有用的資訊。祝你有個美好的一週! 2024/05/05 資料來源: 1.[開展職涯第二曲線,下半場必須主動蛻變 – 我在「104高年級『突圍』講座」的分享](https://vocus.cc/article/64507a7bfd897800018b02a8?fbclid=IwZXh0bgNhZW0CMTAAAR16OouA8OE3bBgJOxMI5o9nAirWqicdsd37%5FVf%5FgoUFPNJeN4wh7GAS0LM%5Faem%5FAQQvYCuRDTRIjEVtGGHDvXHtkp8N7jgaHS2PshBQMH3m3wbN2IPR7t6-z2B7A9L966pzf55ZAq-4NX-M8l2E1Vn%5F&ref=moradatajourney.com) ### In-Context Learning prompt 技巧,能提高LLM 回答的準確性?|小穗步分享 #4 URL: https://moradatajourney.com/newsletter-4-icl-1/ Last updated: 2026-07-16T17:48:27.000Z Hi, 我是小穗步。 在上次分享的論文,[凸顯透過 in-context Learning 與 LLM 模型的互動方式,能提升病程紀錄撰寫的正確性](https://moradatajourney.com/newsletter-3-llm/),引起我對於 ICL 的好奇心,什麼是 ICL 以及這樣的方法真的能提高 LLM回答的正確性? 這周為了多了解 in-context Learning 定義與能力,閱讀了 2023 年 Google 發表的一篇論文,《[Larger language models do in-context learning differently](https://arxiv.org/abs/2303.03846?ref=moradatajourney.com)**》**,讓我們站在前人肩膀上,優化自己的系統,走在遇見更好自己的道路上。 ## 什麼是 in-context Learning ? In-Context Learning(ICL)是一種學習方法,根據 prompt 給出一個或多個例子,LLM大語言模型理解後,然後直接產生回答。在這種學習方式中,模型使用預先訓練的知識來解釋prompt的上下文,然後生成與該上下文相關的信息。ICL不需要模型參數的額外更新或訓練,也就是模型是凍結的(frozen LLM),利用模型的現有能力來解決新問題。 這種方式類似於人類學習新事物的方式,根據先前的經驗和知識,來幫助理解新的情境,進而掌握新的知識。 LLM 就像是訓練有素的廚師,已經學會各種食材的特性、風味與烹煮方式,當客人點菜(prompt 上下文),客人不需要教廚師如何做這些菜,廚師只需要喚醒多年的經驗與技巧,透過客人點的菜單,就能用以有的知識來準備食物,產生出菜餚(answer)。 李宏毅老師對於 in-context- learning 有更生活化的比喻,我們都有經歷過聯考或會考,每個回答前都會有範例\[1\],就是對應到 prompt 的上下文,你可以想像 LLM 就是一個訓練有素的考生,當閱讀考題本上的範例後,後面的題目就難不倒它了。 ![](https://moradatajourney.com/content/images/wp/2024/04/image-4-1024x531.png) ## LLM 真的能從 prompt 的範例中,學習到你提供的訊息? 在 Google 這篇論文裡,做了兩個有趣的實驗,實證出 LLM 模型真的能學習到 prompt 範例中的特性,取了四個大型語言模型,PaLM\[3\]、Codex、InstructGPT與GPT3,每個模型都各取三個不同參數量的模型,測試在不同領域的LLM 模型,不同參數量下,prompt 中範例的錯誤比例,對於準確度的影響。 ![](https://moradatajourney.com/content/images/wp/2024/04/image-5.png) LLM 模型真的能學習到 prompt 範例中的特性 上圖呈現了四個模型,x橫軸代表prompt中呈現多少比例的錯誤範例,注意是錯誤的。在PaLM、Codex與InstructGPT 三個模型中,當錯誤例子的比例越多時,準確度會大幅下降。從這個例子看來,參數量越大的模型,in-context-learning的影響會越大,**代表參數量越大的模型,in-context-learning 應用在未曾看過的資料上,學習能力是更好的。** 另一個實驗,把 LLM 模型應用在分類模型上,給一串向量數字,對應一組答案,然後讓LLM 進行分類預測。 ![](https://moradatajourney.com/content/images/wp/2024/04/image-6.png) 給一串向量數字,對應一組答案的資料組合 下圖X軸為分類模型辨識的數量,Y軸是準確度,當分類辨識數量變多的時候,LLM 模型的辨識準確度會下降,比較特別是當分類辨識數量為64 類型時,LLM 模型竟然和專門做分類的SVM 模型一樣好,看到這數據有點吃驚,通用模型竟然可以跟專門模型能達到一樣的效果。LLM 模型除了拿來做文章的摘要總結等用途,只要 **in-context-learning** 技巧做得好,就像是一個多功能的分類器隨身(我覺得還有很多其他的隱形能力等待挖掘)。 ![](https://moradatajourney.com/content/images/wp/2024/04/image-7.png) 不同參數量的模型與不同分類模型的辨識數量下,模型準確度的變化 覺得太驚訝了,所以立馬把論文以 gpt-4-turbo-2024-04-09 進行測試,分別測試三個情境,第一個情境是 prompt 中沒有任何例子;第二個情境是prompt 中包含一個例子(One shot);第三個情境把論文上\[2\]所有的結果共32個例子都放上去(Few shot)。 用第一個情境測試**零示例學習(Zero-Shot Learning)**,這個例子代表目前的LLM,當背景知識不夠時,不足以讓 LLM 模型回答出結果。 ![](https://moradatajourney.com/content/images/wp/2024/04/image-8-1024x275.png) 第二個情境測試**單一示例提示(One-Shot Prompting)**,給一個例子,LLM 模型學得很快,就能根據給的例子,猜測出你希望它回答問題的類型與格式。 ![](https://moradatajourney.com/content/images/wp/2024/04/image-9.png) 第三個情境測試**少示例提示(Few-Shot Prompting)**,LLM 就能根據所有例子裏面,輸入的數據向量,進行運算,然後輸出和論文一樣的結果。 ![](https://moradatajourney.com/content/images/wp/2024/04/image-10.png) ![](https://moradatajourney.com/content/images/wp/2024/04/image-11.png) 我們已經看到ICL模型的神奇力量了,今天示範了**零示例學習(Zero-Shot Learning)與少示例提示(Few-Shot Prompting),還有**那些方法,可以召喚出**In-Context Learning**的能力? ## 閱讀後的下一步 閱讀了這篇文章號,之後每次下 prompt 都會有意識在 prompt 中添加例子,讓模型能更了解我們需要它執行任務的輸入與輸出,應該會讓模型產出的結果,更接近我們想要呈現的答案。 當然 In-Context Learning 舉例的技巧各有獨自的巧妙,每個召喚方法,在後續的電子報中在持續分享,例如**思維鏈提示(Chain of Thought Prompting)、提示工程(Prompt Engineering)、提示鏈接(Prompt Chaining)、上下文窗口操作(Context Window Manipulation)與元提示(Meta-Prompting)等技巧。** 希望你從這週的分享帶走一些對你有用的資訊。祝你有個美好的一週! 小穗步 2023/04/28 參考資料與說明: \[1\][【生成式AI】Finetuning vs. Prompting:對於大型語言模型的不同期待所衍生的兩類使用方式 (2/3)](https://www.youtube.com/watch?v=aZ%5FjXZvxyVg&ref=moradatajourney.com) \[2\][Larger language models do in-context learning differently(2023/google)](https://arxiv.org/abs/2303.03846?ref=moradatajourney.com) \[3\]PaLM(Pathways Language Model)是由Google Research開發的大型語言模型。這個模型的特點是使用了一種稱為Pathways的新型系統架構,允許模型在不同的任務、語言和模態間進行更靈活的應用和擴展。 ### 小穗步分享#3|運用 LLM 輔助病程紀錄撰寫的正確性優於人類 URL: https://moradatajourney.com/newsletter-3-llm/ Last updated: 2026-07-16T17:48:27.000Z Hi, 我是小穗步。 每周一篇醫療AI論文,讓我們站在前人肩膀上,優化自己的系統,走在遇見更好自己的道路上。 ## 一篇醫療論文摘要與心得 我是 ChatGPT 的重度使用者,因為對自己很有幫助,所以推理到將 LLM 模型運用至醫療場域,協助醫師輔助病歷的撰寫與檢視應該有很大的幫助,但這只是我的推測。今天看到了一篇2024年2月發表在 nature medicine 的論文,《[**Adapted large language models can outperform medical experts in clinical text summarization**](https://www.nature.com/articles/s41591-024-02855-5?ref=moradatajourney.com#ref-CR91)**》 它的標題吸引了我的目光。這周小穗步就跟大家分享這篇論文,讓 LLM 導入輔助病歷的撰寫,有了第一步的實證研究來佐證。** **這篇論文透過一個嚴謹的架構,來說明LLM 模型的能力,**研究運用公開資料集,採用6種模型(4個開源,兩個非開源)與2種方法,測試放射科報告、病人問答病人健康問題與病程紀錄(progress note)四種任務上,以正確性,完整性與簡潔性三個面向切入,比較專業醫師與 LLM 模型效果上的差異。 ![](https://moradatajourney.com/content/images/wp/2024/04/image-1024x248.png) 在病程記錄(progress notes)任務中,GPT-4與醫學專家相比,在正確性(correctness)方面GPT-4表現出顯著優勢,而在完整性(completeness)和簡潔性(conciseness)方面,兩者差異不大。在安全性分析中,GPT-4與醫學專家都會面臨安全性的挑戰,這篇研究中,GPT-4的錯誤率稍低於人類的錯誤。 目前最佳模型為非開源模型(GPT-4),透過上下文學習(ICL)使用少量範例進行調整,證明了對特定任務和領域的適應有比較好的表現。導入LLM可能會減輕文檔負擔,進而減少臨床醫生的壓力並改善病人護理,未來的研究將需在臨床環境中進行前瞻性研究來測試這一假設。 ![](https://moradatajourney.com/content/images/wp/2024/04/image-1-1024x281.png) - 不同開源語言模型在不同適應策略下對臨床文本摘要任務的性能評估,平均而言,QLoRA比 ICL 來的好。其中**FLAN-T5 + QLoRA** 在使用 QLoRA 適應策略時,在BLEU指標上有顯著提升,這表明 QLoRA 對於某些模型和任務可能更為適合。 ![](https://moradatajourney.com/content/images/wp/2024/04/image-2-1024x222.png) - 這張圖表展示了不同數量的範例如何影響各個模型在不同醫學文本處理任務(例如 Open-i、MIMIC-CXR、MIMIC-III、Patient questions、Progress notes 和 Dialogue)上的性能。**x軸**:表示在模型提供的上下文中包括的範例數量。通過這些曲線,我們可以看到模型性能隨著提供給模型的上下文範例數量的增加而如何變化。GPT4 的效果最好,一般而言例子越多,效果越好。 ![](https://moradatajourney.com/content/images/wp/2024/04/image-3.png) 展示了閱讀者對於人類與GPT-4生成的臨床文檔的偏好,特別是在完整性(Completeness)、正確性(Correctness)、以及簡潔性(Conciseness)這三個層面。1500筆資料,僅在少數情況下 (19%) 首選醫學專家摘要,大型語言模型在臨床文本摘要中的表現可以超越醫學專家,在大多數情況下,LLMs 的摘要被認為與醫學專家的摘要相當(45%)或更優秀(36%) 對於放射學報告,人類和GPT-4之間的偏好似乎很接近,GPT-4完整性較高,正確性也高一些些,但在簡潔性上,人類的簡潔性較好。 病人問答上,在完整性上人類和 GPT-4 差不多,在正確性上也差異不大,簡潔性上也差不多。 病程報告上,GTP4的正確性明顯優於人類,正確性上差不多,簡潔性上也差異不大。 ## 閱讀後的下一步 雖然後續還需要前瞻性的臨床研究來證實LLM 的實際臨床效益,但是這篇論文打了一個好的基礎,讓我們知道目前做法的方式是正確的,運用最佳模型為非開源模型(GPT-4),透過上下文學習(ICL)使用少量範例進行調整,證明了對特定任務和領域的適應有比較好的表現。 同時文中提到護理師的文件記錄職責可能會佔用其 60% 的時間,並帶來相當大的工作壓力,目前病歷小助手的使用最多的就是一位特定的專科護理師,下周訪談也會看一下導入病歷小助手,對她在撰寫病歷的時間有沒有減少,以及還有那些地方用起來卡卡的,可以改善的地方。 希望你從這週的分享帶走一些對你有用的資訊。祝你有個美好的一週! 小穗步 2023/04/14 #第3次發刊 ### 小穗步分享#2|如何透過「三心二一」走過憂鬱症的流沙 URL: https://moradatajourney.com/newsletter-2-depression/ Last updated: 2026-07-16T17:48:28.000Z Hi, 我是小穗步。 每周一篇 podcast 心得,一則好書金句與一個自我提問,讓我們透過聆聽與閱讀,走在遇見更好自己的道路上。 ## 一篇 podcast 心得 小穗步聽[《牽手就不放手》專訪陳良基前部長與她的夫人,如何透過「三心二一」走過憂鬱症的流沙](https://podcasts.apple.com/tw/podcast/%E6%9B%BE%E5%AF%B6%E5%84%80%E7%9A%84%E4%BA%BA%E7%94%9F%E8%97%8F%E5%AF%B6%E5%9C%96/id1625222138?i=1000650818118&ref=moradatajourney.com) 憂鬱症有多容易出現?憂鬱症被稱為「21世紀的黑死病」,根據世界衛生組織(World Health Organization, WHO)統計,全球每8人就有一個人罹患精神相關疾病,而台灣至少有200萬個家庭深陷憂鬱流沙中。 聽到專訪中,部長提到他在16樓的陽台緊緊抓住夫子的手時,感受的到當時的那種絕望。因為經歷過,所以撰寫了《牽手就不放手》這本書,是要讓大家對於憂鬱症的前期改變有所警覺,以及讓大眾理解憂鬱症是可以好的。 **壓力大開始悶悶不樂** 夫人提到跟部長說,壓力很大時。一開始部長淡淡的說就「壓力大,就不要做。」,但有些事情似乎不是不要做那麼簡單。 **失眠 是一個很重要觸發點** 通常因為壓力大,或長期事情無法解決時,容易導致睡眠的障礙,而容易失眠,當長期失眠後變得很容易疲累。很容易進到下一個階段。 **原本會做的事情,都不會做了** 聽到部長自己陪伴夫人走過的經驗時,因為理工人的解決問題的性格,夫人把生活中不會做的事情羅列下來,當事情累積到22件時,事後回過頭來看,部長有點懊悔這個重大的警訊竟然忽略了,原本會做的事情,都不會做了,這不是偷懶與逃避,而是一種求救訊號。 專訪中,部長與夫人特別提到,憂鬱症服藥需要長時間用藥才能發會藥效,當覺得吃了藥沒有效果時,要特別關注服藥者的心情,因為當事人是比誰都想要好起來的。 憂鬱症時期,當事者與陪伴者都是辛苦的,兩方都要陪伴自己熬過去,鼓勵自己。書中分享當下次有親友得到憂鬱症時,你也可以跟他們這樣說:「多休息,我來陪你坐坐,或是陪你走走,傾聽你的心聲。」以及**透過陪伴,重新建立憂鬱症患者的生活節奏。這路或許很漫長但會好的。** 陳良基部長在書中分享陪伴憂鬱症患者的原則:三心二一。 **「三心」指的是:信心、愛心、耐心。**憂鬱症可以痊癒,但必須相信醫學、相信陪伴。而在陪伴憂鬱症患者也需要以強大的愛心和耐心來支持, **「二一」則是一起改變和一起救援。**\[1\] 小穗步陪伴過憂鬱症的家人,也自己走過來過,雖然身陷憂鬱流沙中時,真的很辛苦,只要有信心,用愛心陪伴,有耐心的服藥,憂鬱症真的會好。 ## 一則好書金句 [《牽手就不放手》](https://www.books.com.tw/products/0010974163?sloc=main&ref=moradatajourney.com)陳良基夫人在書中提到「**如果說人生是一場長途跋涉的旅程,我們都是背著沉重行囊的旅人,走過的歲月都是行囊的重量,本以為行囊裡面的東西都是必須的,從來沒想過要整理它,但其實肩上揹著的往往是過重的行李。」\[3\]** ## 聽完後,引發的行動 自己人生與陪伴小孩道路上,發現自己一直背著過重的行李。以前總是埋著頭衝,總想著有怎樣的方式,能夠安排時間去梳理過去,看自己的背包有多重。**發現定期書寫是一個很好梳理過去的方式**,透過文字與紀錄,描繪問題,描述心情,找到穩定心情的下一步,那些該放下,那些該調整。 ## 一個自我提問 > **「我現在身上背的行李很重嗎?」**如果會,我可以暫時放下行李,讓自己先恢復體力陪伴自己,你有選擇權,選擇要不要背上,或者有人能一起背。 參考文獻: - 1.[李玟輕生促使陳良基出書!他公開伴妻走過憂鬱谷「三心二一」原則](https://www.gvm.com.tw/article/108291?ref=moradatajourney.com) - [2.從16樓陽台跳下去那一刻,我在想什麼?前科技部長陳良基妻子告白:朋友眼中的人生勝利組,為何62歲重度憂鬱](https://www.businesstoday.com.tw/article/category/183029/post/202312110029/?ref=moradatajourney.com) - [《牽手就不放手》](https://www.books.com.tw/products/0010974163?sloc=main&ref=moradatajourney.com) - [閱讀人專題讀書會《牽手就不放手》連線專訪 陳良基、王素梅夫婦](https://www.youtube.com/watch?v=peYKn6l9jR0&t=1s&ref=moradatajourney.com) 希望你從這週的分享帶走一些對你有用的資訊。祝你有個美好的一週! 小穗步 2024/04/07 #2 ### 小穗步分享#1|如何進行人才梯隊培育與幸福人生的關鍵 URL: https://moradatajourney.com/newsletter-1-happy-life/ Last updated: 2026-07-16T17:48:28.000Z Hi, 我是小穗步。 每周一篇 podcast 心得,一則好書金句與一個自我提問,讓我們透過聆聽與閱讀,走在遇見更好自己的道路上。 ## 一篇 podcast 心得 小穗步聽[玉山銀行怎樣進行 人才梯隊培育?我第一次聽到『希望工程師』](https://podcasts.apple.com/tw/podcast/%E8%AB%8B%E8%81%BD-%E5%93%88%E4%BD%9B%E7%AE%A1%E7%90%86%E5%AD%B8/id1577152234?i=1000650100895&ref=moradatajourney.com) 昨天開會的時候有聽到一個關鍵字少子化人力短缺的趨勢,因為這個觸發,讓我今天的超慢跑選擇了 哈佛商業評論訪問了 玉山銀行的黃男州董事長,他們聊到了在企業中怎麼樣培養人才這件事情。 待過幾家公司我發現培養人才這件事情並不是每間公司都會做的一件事,因為這是需要有 長期思維,需要抵抗 成本為上的思維,以及如何經營人與人之間關係,才會決定做人才培訓梯隊這件事情。培養人才不是嘴巴說說,玉山銀行在10年的長期培育實踐下,產生自己的獨特的作法。 ##### **三代一起梯隊培訓制度** 成本考量下,高層進行培訓,是常見的作法,然而我第一次聽到三代一起培訓時,驚呆了,是怎樣的想法採用這個架構,目的在於決策思考的經驗傳承與新舊時代的碰撞交流,當一起聚會討論事項時,你可以貼身觀察高層是怎樣進行決策思考的,有些事情當你先知道了,面對未來的挑戰時,會激發出更多不同的想法。 ##### **假投票,先聽少數想法,先聽最接近未來一代的想法** 通常很多會議,都是上面決策,沒想到玉山銀行裡面,竟然三代一起進行假投票,聽聽大家的意見,且票票等值。在會議時,會先聆聽下面的想法,免得高層說了某個方向後,內心的小想法就消失了。投票完成後,會優先聆聽少數方案的想法,聽聽擔憂的點,聽聽優點,或許會碰撞出更好的方案,不一定是原先的 A,B,C 方案。原來玉山銀行的信用卡,也是透過三代討論投票,思考後做的決定。 ##### **營造希望工程師與高層的接觸機會** 希望工程師我第一次聽到這名詞,就是培養未來的明日之星,不是高階經理人,而是有潛力的課長等級的人,這是我第一個驚訝。第二個驚訝,希望工程詩竟然可以跟高階主管出去歐洲不同地方旅遊,營造與高層創辦人,董事長,總經理透過旅遊的方式,更能了解彼此。這真是個好方法,活動和旅遊是人最放鬆的時刻,也是最真實的時刻,更容易拉近彼此距離的時刻。 ##### **策略思維培育** 玉山銀行定期會跟顧問合作,學習策略思維,第一次聽到對於未來的某個議題,策略規劃是有步驟可以讓你的策略做的更緊密,更有想法的。這是我今天聽到最有收穫的地方: 1為什麼這個議題重要? 2你發現的問題是真的嗎? 3你這個問題的根源是什麼? 4如果上面三個問題都是『是的』,那接下來你要繼續問。 5你有怎樣的策略? 6在這個策略之下,你要用怎樣的路徑來解決? 7你有怎樣的選擇? 8你真正的執行計劃是什麼? 玉山銀行進行策略規劃,好幾個團隊進行了205 天,讓我很有感觸。現在提倡敏捷的時代,好像先做出來就對了,隱含思考與策略規劃,是不重要的。覺得有些可惜,如果**策略規劃能跟敏捷的概念並行**,會是一個更好的執行方式。我想把策略思考,一步一步放到工作與生活的想法中,慢慢實踐。 這集太精彩了,大推!!!音頻[網址](https://podcasts.apple.com/tw/podcast/%E8%AB%8B%E8%81%BD-%E5%93%88%E4%BD%9B%E7%AE%A1%E7%90%86%E5%AD%B8/id1577152234?i=1000650100895&ref=moradatajourney.com)。 ## 聽完後,引發的行動 我目前人才培育的方式,**就是抓來我旁邊,告訴他我每一個動作的背後想法原因,並透過1-1來深入交流一本書的想法與啟發。這個新作法是黃仁勳演講給我的啟發,【把你的思考過程分享給周圍的人】**,這周聽完這音頻,發現這是我現階段我的範圍內,能培養人才的方式之一,我希望自己能持續下去,擴大下去。 ## 一則好書金句 - 《一如既往》的作者摩根.豪瑟(Morgan Housel) 在書中提到有次九十八歲的蒙格被問到一個問題:「你看起來非常快樂又滿足。讓你擁有幸福人生的祕訣是什麼?」 - 蒙格回答:**「幸福人生的第一守則就是降低期望。如果你的期望不切實際,一生注定悲慘不已。你應該抱持合理的期望,並全盤接受人生的際遇,無論是好是壞,因為任何事情多少都有個限度。」** - 《一如既往》這本書我超愛,在變動的世界中,找到蘊含不變的原則,其中設定合理的期望,是讓自己能快樂滿足的關鍵,細細想,我發現自己曾經用上這個法則,用在老大陪伴上面,當我設定了對孩子合理的期待,我和孩子才都會開心地繼續努力與生活。 - 但是我沒有把這件事情挖掘出來把它變成【觀點】與應用在後續的人生中當作提醒,當自己感受到不滿足時,我是不是設定了不合理的期待?要通往幸福的路上,我要適當管理與設定我的期望。 ## 一個自我提問 > **當感受到自己覺得不滿足時,問自己「我設定的期待合理嗎?」** 按下這封信送出鍵那一刻,還是有點猶豫,有沒有要修改的?大家看到會有怎樣的反應?不內心小劇場了,先送出再調整,小穗步至少起步了。 小穗步 2024/03/31 ### 2023 勇敢|用拓展舒適圈 取代跨出舒適圈 URL: https://moradatajourney.com/2023-reflection/ Last updated: 2026-07-16T17:20:43.000Z 2022年底,我寫下完成韓國醫療品質研討會英文口報的目標,從一開始的擔心與害怕,到最後完成了,這個階段性小成功,**讓我體驗到主動拓展舒適圈有著強大的力量,用「拓展」這個循序漸進的動詞,以原本的範圍為根基,慢慢地往外擴展,讓我更有勇氣去突破和嘗試。**希望能帶著這樣的小成功經驗,也能持續使用在未來。 今年沒有寫下要讀12本書的這種願望,但意外買了二手電子書,隨手帶著走的特性,碎片的時間就拿起來閱讀,沒想到意外達成去年的目標,讀了9本書。但回顧後發現讀書心得反而寫得比2022少,我希望2024年的自己,能用輸出來記錄人生。 ### **2023有哪些事情做得很好?** #### 健康第一 1. [我要求自己把假放完,陪家人和陪伴自己,從放一天開始。](https://www.facebook.com/mora.chen.1/posts/pfbid0eg2jjRP8ZQ7tdqytw1pfyc6QoTHfXqxy4wh7JVa8W4k8bjMf8HV1oxvbyugurLfGl?%5F%5Fcft%5F%5F[0]=AZW%5F1fkr1kVBmIhAlJdv3OSAGn8dHoEj%5Fp3KS1d-loG8cfBEJSi12zt1NH%5FUZ3yB5bYQZavCBYSjbl-Dbn-e7o25srM7NRs76-nLH%5FWO7zzpOJrZ9X7NIGaAa5IzkEaXFSaP5td7X6hGiVIqFSTmfL629jZcg7%5FkE5tHKVPCQr491A&%5F%5Ftn%5F%5F=%2CO%2CP-R)練習休息好重要,以前總是把自己逼很緊,一個小片刻的休息,都被我視為浪費時間,但是現在才知道被我誤解為浪費的時間,是一份好珍貴的禮物。因為有這些留白,讓我的人生有了節奏,專心工作與休息。 2. 持續超慢跑,找到最佳超慢跑的時間: 工作日的中午,對我來說是最適合的時間,持2023年持續跑,不知不覺累積 300多公里,等於8場馬拉松了阿,小步累積真的超有力量,持續聽,聽完寫podcast 分享,不知不覺也寫了88篇。 #### 家人: 持續透過旅行與陪伴累積美好回憶 1. [【跟著孩子一起參訪高職,讓自己能和孩子討論他的選擇】](https://www.facebook.com/mora.chen.1/posts/pfbid0Sg2zZ46XuCKrGyxGfVCcyU7bMT3QeD265HT2DiQ2q2PvY4VdEuJzjN3zHFVRYqYBl?%5F%5Fcft%5F%5F[0]=AZVrgN-WI-yIKe54qCZRkXDIbtmuTbJrIZrkrrz3XzgKIFGhUnA-2QHTeDgNZEy7Z9i9muTmRv4xkEOFXWoOxqyK3ouIsmg9pEL%5FL2GxsaTIhH7IklEwAuKCIutaf548WrqHQhHsm2hMt%5Fa6Q4Zy7VmUSKEah9duPQKZCvBpGf77gw&%5F%5Ftn%5F%5F=%2CO%2CP-R) 2. 持續訓練孩子,生活的能力,[週末一如往常的備菜和練習,今天孩子給我驚喜回饋,也提醒我,幸好沒因孩子的能力不夠,澆熄孩子想出國的夢想。](https://www.facebook.com/mora.chen.1/posts/pfbid02H3yDWxrvfCBfX1KyFgghwFn3fd9mSHseXewo5RTsi6zibNP2ma3W2k9HgzfWt1wUl?%5F%5Fcft%5F%5F[0]=AZXSGm6Flf1%5Fj5aOy3LfDcj5kykf68TqgwQk4QP-PLU6CwWREGxmxmib2vt3S3IH9Rw10QmAKlFm%5FLtHFztHNnAKosYvl-xdI6xveqhKrrgXNKNRmK6uj6PpbNj23DmS2FdahCLy7u1Ww%5FgM4YRyiA-8j-RWUI3t%5FqD2%5FPTLjnuOhA&%5F%5Ftn%5F%5F=%2CO%2CP-R) 3. 帶著孩子去[韓國體驗不同的文化](https://www.facebook.com/mora.chen.1/posts/pfbid02SX5WFyfkW1B1sk4aXDNV4evNWgyVUJNQErGJm1Y2o93ceNHxEKWwJvjQFb3gnEUyl),[帶著孩子寫下人生第一張國外的明信片給自己](https://www.facebook.com/mora.chen.1/posts/pfbid029ERLjHSu92Pj5rhEW5HSzgV6bj5BwZDu3kUhM2iyRLXSwfzGF4XnwLH4ZxEreu2yl)。 4. 帶孩子探詢台中市場,[建國市場](https://www.facebook.com/mora.chen.1/posts/pfbid02BiMoGQBrjJsBVUDvh1EatXtb6uuYrbkspfNcndLMEyifzvXDnAK3fNrUe4Edrsiol)。 5. 帶著家人國內旅遊,台東,九份,[日月潭](https://www.facebook.com/mora.chen.1/posts/pfbid03412uq3tphVZmTvJtaw3EtgyDNrPSMh86THSqKmaxKMpHUDSreywz77JjmeB8QCaAl)騎腳踏車環半湖。 #### 財務: 2022設定好定期定額後,2023年的我對於財務好像沒有特別規劃,希望明年的自己能多花點時間在財務上,至少要做到每個月的財務覆盤分析。 #### 工作: 1. 成功挑戰[完成IsQua 國際研討會口頭報告](https://www.facebook.com/mora.chen.1/posts/pfbid0CCY6w9SyXEXCjphaHgZfgGRmT6UaXhJHuCpdekcXJYqNXFhJyVtwqqeZzmPvw2Awl),跨出舒適圈,跟成長痛好像,雖不舒服,**但看到自己慢慢的探索自己的能力,逐漸開展自己的潛能,看到自己慢慢練習往不完美主義靠近,用正向鼓勵取代自責,講完的當下,沒有ARR,只想好好的擁抱自己,你做到了,我真的很棒。** ![](https://moradatajourney.com/content/images/wp/2024/02/image1-1024x768.png) 難忘的一幕,用全英文回答外國人提問的自己 1. 健保申報導入逆向工程,讓每次指標的估算越來越穩定。謝謝合作夥伴,讓我們獲得肯定。 ![](https://moradatajourney.com/content/images/wp/2024/02/image2.png) 1. 帶領夥伴,從資工領域逐漸踏入數據工程領域中,意外培養出一位數據工程師。 #### 志業,推動數據思維: 1. 教授工研院 [python 資料分析實戰課程](https://www.facebook.com/mora.chen.1/posts/pfbid0cioYgYBrcV3Gqy4jpKX1aW6gLBZ2zhEDiTTatrT6yH5nQBSY7GHQwQXLY4TRvpCKl?%5F%5Fcft%5F%5F[0]=AZWHZwbeX44MSOiitKq1eiM39PyEw9THGyDXwsp6GTmgZfaUb64Rg4IvBWKkZ-f5NCjaNZ3PHQsHgOhlhxsE0UEP85eY9ad1rqXTJ4cXGllw1hlrLWoI2J2aY%5F7IunZ7AVw&%5F%5Ftn%5F%5F=%2CO%2CP-R),嘗試把 ChatGPT 導入課程中,教學員如何善用 ChatGPT 來學習資料分析。 2. 分享自己記帳的經驗,[分享主題是用記帳理順生活,建立財富任性的基礎](https://www.facebook.com/mora.chen.1/posts/pfbid0j7nTRbRUms4jZHoPbqeg24hCtHyrHCDmDx8HPdeQUwkBkyFk8pdBnwZMDhz8ULhBl?%5F%5Fcft%5F%5F[0]=AZXF3MkOusG4aivUMbF91z5K9HY3FvHm1ZV8Txk8jJyH1eXkUY1vInF02o4m0BikjhcmsxNYLgn-7wL9Z3Ke0NS0u3y7uG3Vv3og5IMNtIS3qX6OXI%5F6akj6X8LgUoMBMvx60vJoj265sBm4O89a3gGq8AQuz3ulxBtCCQ5Y5sn6%5Fg&%5F%5Ftn%5F%5F=%2CO%2CP-R)。 3. 在彰師大演講,分享醫療AI的前世今生與 ChatGPT 將會帶來的改變 4. 輔導一位學員找到數據相關工作,不求回報的付出而得到真誠的回饋,真的很美好,謝謝學員的回饋,讓我更有力量持續做下去。 ![](https://moradatajourney.com/content/images/wp/2024/02/image7-1024x252.png) 學員的回饋 ### 2023閱讀那些好書? 1. [《成為自由人》](https://www.facebook.com/mora.chen.1/posts/pfbid02vPppjWQRvdoCrmtWzzX9uPZ37PSbzY1auAkiT252o8QG3EkC5ra7y951ancDmgWUl)讓我學到原來自由的定義很寬廣,不單純只是財務的自由,可以推廣至人生的自由,「獨立自主,追求真實;不懂、不會、不知道的事,坦誠且自在;想做的事,應該做的事,有能力實踐;做時間的主人;有自我充實成長的餘韻,工作和生活沒有分別,每一刻都是我之為我的展現;保有童心,擁抱未知;不被外在左右價值和自信;以創作作為生命的養份;享受每一天。」 2. 閱讀《[重啟人生](https://www.facebook.com/mora.chen.1/posts/pfbid02934avCxLbFHCbh35h8TethTaT7y6FJgrNa21gSXhFwfMyNJAhyjCZA52M5ajWmKhl?%5F%5Fcft%5F%5F[0]=AZW%5FqhHhcVu2VWLRQUdl6IHxK9r2P9nhdmyXD65dXRNqC%5FqXaKItFux4ixtIsg4Gs-Zzg9xWCr7wGr1UJN39zqikK9rxx0m3wCnv%5FwLrlXZcuEWazn6zRFa7p60LOipRjsGPD1J9-eLVYYRCpJAIIQxy9KUOAktC-UBp1oDgrnspzw&%5F%5Ftn%5F%5F=%2CO%2CP-R)》書中說的,願望清單,不能只是加,也需要減,其實這樣的概念也用於代辦清單和工作任務上,希望能透過減法思維,找到對我來說重要的事項,好好的享受,好好地完成。 3. 《放手去活-領導大師葛史密斯活出無悔人生的教練課》的作者葛史密斯,他是財星五百大企業CEO的教練,這本書把過往葛史密觀察到的執行長對話紀錄下來,以及他是如何引導CEO,在高度忙碌的狀態下,依舊能活出無悔的人生。書中對我最受用的是,讓我學到如何好好的運用提問的,每天覆盤對焦,讓行動,抱負,渴望能有更高的一致性,是否持續走在想成為自己的路上。書中對於能力有著獨特的見解,希望在未來的路上,能以不同的視角來觀察自己,更認識自己。 4. 《[我可能錯了](https://www.facebook.com/search/top?q=%E6%88%91%E5%8F%AF%E8%83%BD%E9%8C%AF%E4%BA%86)》 一位金融金童,出家後17年還俗後,寫下的類自傳,在17年的修行中,對受用的一句話「我可能錯了」,不是指責我們的不好,而是開啟你不被原本的想法限制住,讓你可以跳脫自己思考框架的魔法,在工作和陪伴孩子成長的路上,對我幫助很大。 5. 《[踏實感的練習](https://www.facebook.com/MoraDataThinking/posts/pfbid0j3XeQokB83U1uC5oTnPGVYeAswEkF8dUEFFjskStagkmPQe4Vp4goqAWcFWzMBwwl?%5F%5Fcft%5F%5F[0]=AZURL4nVVjWJi6M5Lh0PRFBDGh2dtSkKrI2I5CY31%5F8cb9lzhHLee5WyIGuSjf8hI6n%5F3HYingW--E0ikMb3izhgRVVnzbCg3n1Qb-pRppzngCRp1Zsu71lkkAEu7U8gQFRyUIxFdkZ7a8QfuMX%5FZG-4YPS8c7QLZsQ-K7xnGh8NH0DalVXsHPvJaefNFCEF2r8&%5F%5Ftn%5F%5F=%2CO%2CP-R)》書中提到溫柔提醒,「我不一定非得要做些什麼,才能避免成功離自己越來越遠,避免讓自己虛度光陰。重點不在成功與虛度的人生啊,而是有快樂與滿足的人生。 6. 《越工作越自由》我今年最喜歡的一本與工作有關的書籍,作者用『探索值』得角度來看職涯,我覺得這很重要,因為探索是一個從自己出發的一個主動的詞,當工作上的事情能從自己的調度來思考規劃,會收穫到最多,感受到最多的成就感。工作與自由乍看衝突,透過正確的心態,能夠讓自已的人生越過越自由與豐盛,「自由,並不是被動地擺脫限制,而是具有能力,主動地去實現自己想做的事。」,這本書的想法在我腦袋裡持續發酵,所以當要接2024的工作上新任務時,我沒有太多的猶豫,因為這個機會有著很多的探索值。 7. 今年讀了兩本財務的書,《持續買進》的作者,透過很多歷史數據做研究,發現持續買進是一個好的策略,比等低點在買進,有著更好的投報率,因為這本書的數據佐證,今年就持續進行買進,而不是等低點找買點,發現這樣的方式,很適合自己喜歡節奏的個性。只需要設定好,其餘時間讓自己平常時間能專注在自己的本業上面。 8. 《致富心態》書裡提到一個概念很重要,那就是理財的重點不在於你賺多少錢,而是你的儲蓄率。當你能給一套存錢計畫幾年或幾十年的時間成長,複利就會發揮最好的效果。複利效應也適用在職業生涯與人際關係發展。書裡提到最溫柔的提醒,在工作生涯的每個時間點,力求『每年有足夠金額的存款』、『足夠的自由時光』、『不過多的通勤時間』,與『至少足夠的家庭生活時間等目標』,就會讓自己堅守一套計畫的機率增加,而且避免因為哪一天其中某件事情落在光譜極端時感到後悔。 9. 《寫作課:陳雪給創作者的12道心法》這本書讓我理解一位長期寫作者,如何建立自己的心態和節奏,讓自己能夠持續寫作下去的心態與方法。其中讓我很有感的一句話『紀律聽來無趣,但建立之後,卻會讓人有一種安全感,因為你知道,養成了好的習慣,有助於在意外或低潮來臨時,幫助你安全度過難關。』這樣的安全感,我在超慢跑中得到了,希望也能透過這樣的方式,在寫作中也找到屬於自己的節奏感。 ![](https://moradatajourney.com/content/images/wp/2024/02/image5-1024x682.png) ### 2023,有哪些可以做得更好? - 要多注意『健康』這件事情,2023年最難忘的就是得到50肩,手痛到舉不起來,影響到生活,晚上睡覺時會痛醒,那一陣子的睡眠品質超差的,以為常跑復健就能有好轉,但是每次復健師的手法都不同,發現了復健師不是我,他不知道我的極限在哪,有一天復健師弄超過我的極限時,自此我就在家復健了。 - 在家復健後,發現這樣每天往極限外推一小步,才是最適合我的復健方式,才是能長久進行下去方式,過了3個月後,我發現手漸漸不會痛了,也發現這樣的方式,用在學習上突破上很適合,小碎步的拓展舒適圈,而不是想邁開大步的跨出舒適圈。 - 我希望2024年我能除了超慢跑外,多嘗試一項身體舒展的運動,瑜珈或其他的。 ### 2023,我學到什麼? - **建立信任的關鍵,是有一顆想幫助別人真誠的心,做好每件小事** - 回顧過去這一年在工作上,我接下別人不願意做的事情,到年底回過頭來看,做出超出原本主管期待的結果。我做對了哪些事情? - 我知道我不是只做交辦的事情的人,因為工作多年發現,只做交辦的事情,並不能達到背後的目標。所以過去一年中,我一直在思考,對接業務單位還需要什麼?我可以多做什麼?讓這個業務單位能達到她的目標? - 因為這樣提問的引導,讓我願意做一些雜事,只為了體驗業務單位工作上的繁瑣,**透過執行這個關鍵步驟,讓我能來回的確認與好奇整個流程**,挖掘到表面事務下沒有說出口的需求,因此有機會一步一步累積小成功,最後得到信任。這一年我學到最多的,就是**如何得到信任這件事情,「就是在一個時間區間內,真誠的把一件事情做好,這件事是真的對方需要的。」** - 雖然2024年初因為組織變動,好不容易建立好信任的窗口,調到其他單位,剛知道這消息時,立刻感受到自己有著滿滿的失落,好不容易累積了信任,了解了業務,漸漸有能力想要跟她分享,未來的可能規劃。 - 失落之後平復心情後的自己,跟自己說,你已經做很棒了,也謝謝窗口,有過去一年的共事,讓我學到如何累積信任這件事情,已經是個很大的禮物了,新的窗口,就當作再次嘗試我今年學習到的,是否能持續發揮效益吧。 - **凝聚團隊的關鍵,要透明化需求與業務單位的困境,不斷溝通願景,具象化成功後對業務單位的幫助以及對公司的效益** - 夥伴跟我一樣是因為 AI 進到這個工作場域,臨時接到上頭的新任務需求,大家都是會有焦慮的,我能感受到夥伴一開始的抗拒。但是為了生存下去,我必須穩定團隊,沒有辦法想太多,就是我自己帶頭做,一起看著複雜的規則,一起挖掘需求,一起帶著夥伴開會,一起面對業務單位對於數據上的疑慮,我們怎樣一步一步的查核。除了這個,我開始嘗試做透明化這件事情,每一個需求,每一個主管的回饋,每一句來自於業務單位的鼓勵,我都如實的回饋,讓夥伴能感受到她開發的東西,實質上到底幫助了誰,帶來哪些效益。 - 非常謝謝主管們的提醒,效益這件事情,有時候窗口不會主動與你分享,因為開發好後,大家都慣性的往下一個工作執行下去,**今年讓我學到開口問好奇一下這個關鍵步驟**,通常有了信任後,她也會很開心的與你分享,因為這個功能開發,對她而言帶來的好處,我發現這是在甲方工作中,很開心的一部份,實際的幫助很具體明確。 - **了解自己是超重要的一件事情,知道自己的需要,自己才能滿足自己,讓自己感受到快樂** - 2023年是GenAI 爆發的一年,以前的我看到新技術,很焦慮怕自己跟不上,總是馬上跟上,今年我刻意讓自己慢下來,盡量只學我現在就用的到東西,先穩穩地把手上的事情先做好。2023因為了解自己,我拒絕了一個AI比賽,因為我知道在那個時間,我必須要先陪伴孩子做出升學的選擇,**曾經在我腦海中的視為原則的判斷「機會來了就要緊緊抓住的想法」,這幾年有點鬆動了,現在的我會根據自己的現況與需要來做判斷,而不是把這些想法,當作不能改變的教條來遵循。** - 能做出這些選擇,就是我發現我漸漸在日常生活中的覺察中,發現我喜歡什麼,我需要甚麼,而不是符合社會的期待。最近看到一個句子很有感,忘了在哪個影片看到的, > I am NOT what I THINK I AM, > I am NOT what YOU THINK I AM, > I am what I THINK YOU THINK I AM. 超有感覺的一句話,**我不是我認為的我,我是我認為你認為的我。** - 我是一個很高敏的人,我很容易感受到別人的期待,不知不覺把自己捏成社會與他人期待的樣子,我所認為你覺得我應該成為的樣子,這樣子活了40歲後,發現滿足了別人後,自己並不一定快樂。**反而這幾年,一直問自己需要什麼? 知道自己需要彈性,給自己彈性,知道自己需要寫文字,就讓自己有時間寫日記,為什麼以前的我都知道別人喜歡什麼,而忽略了自己喜歡什麼?也發現當自己快樂了,也才有能力把快樂帶給別人。** #### 在新的一年怎樣的生活是能讓在未來遇見更好的自己? 我超喜歡曾寶儀的一本書,《人生最大的成就,是成為你自己》。**2023年,我很明顯能感受到自己的快樂,來自於生活的節奏感和家庭的穩定性。**在未來的一年,我希望自己能一樣的放完所有假,一樣的持續寫作,希望自己能透過授權和培養夥伴,讓自己生活與工作上能更有餘裕,這樣的餘裕我想用來思考,幫助他人與寫作上。 有了這些餘裕我要多陪伴小孩講話,陪伴小孩這件事情,過去的一年,老公做得比我還好,未來我想多花一點時間陪小孩講話,發現跟他們講話很有趣,也有很多歡笑。家庭有笑聲,我發現會讓我內心很平靜快樂。 #### **想對2023年的自己說的一段話:** - 我想對2023年的自己說,「**持續保持著幫助人的初衷,做事情符合自己的個性,讓自己順著自己的步調前進,我不需要像某一個成功人物,我只需要活得像自己**。」 - 我記得跟主管1-1過程中,主管跟我分享:「如果那個領域有我想要的,我會努力去爭取下來。」這句話一直在我心裡發酵,這句話符合我的性格嗎? - 回過頭來看,或許在主管的眼中,我好像有全局觀,但是我其實沒有,**我只是秉持著我的初衷,想要幫助別人的真誠,技術要能幫上別人,才能稱作厲害的技術。**這是我對夥伴說的話,也是我一直對自己說的話。 #### 後記:2024 我來了,維持幫助別人的初衷,用文字持續記錄2024年帶給我的人生體驗 過往我偏向紀錄生活中的反思,今年我想練習傾聽自己的內心,透過留白,透過冥想,讓自己的思緒能流動起來,捕抓行為背後下面我的需求與渴望,如果我都不知道自己的需求在哪,又怎樣能滿足自己,讓自己感受到快樂。 ![](https://moradatajourney.com/content/images/wp/2024/02/image6.jpg) 2024 子彈筆記的封面 同時我想把2024年的我工作上的體驗、感受與過程,能記錄下來,嘗試使用瓦基課程教的卡片盒筆記法,把建構大數據平台的經驗紀錄下來,也能累積出自己的見解與想法,透過文字跟大家分享,更期許自己,我依舊能保持我的初衷,在自己能力的範圍內,幫助他人,利益共享,達到雙贏。 ### 四十二。穗| 練習用「收穫心態」欣賞進步的自己,拓展自己更多潛能 URL: https://moradatajourney.com/forty-two-years/ Last updated: 2026-07-16T17:48:28.000Z ``` 以反思為題的生日禮物, 就像是規劃一場定期的旅行, 只是旅行的目的地是自己。 愛上持續自我對話的儀式!! 謝謝今年的你沒有忘記送出這份禮物。 ``` Hi, 我今年 42囉,你今年過的好嗎? 今年的生日很特別,因為小孩不舒服需要住院,第一次在醫院慶生,接下來又要忙著國外演講的準備事宜,我知道自己一直處在很緊繃的狀態,覺察到當下的自己,所以那時候的我對自己說,每年要送給自己的生日禮物-寫給自己內在小孩的信,我想就等到國外發表初體驗回國後吧。今天就是發表後回國的隔天,也是我今天最重要要做的事情。 ![](https://moradatajourney.com/content/images/wp/2023/09/image-edited.png) 醫院慶生初體驗,最好之後不要再體驗到 有次有位跟我很要好的朋友,在談話中對我說 :「**我一直都很欣賞你的自我覺察敏銳度。**」這是我第一次收到這樣形容詞來描述我。因此我開始慢慢觀察自己,我真的有嗎? 我都怎樣運用這項能力? 不斷覺察自己後才發覺到,**這項能力其實帶給我一些困擾,因為我發現我的覺察力,用在自己身上,很容易看到自己的不足**。例如,在每一次的會議後,都會看著自己是不是做得不夠好,要怎樣調整可以更好? 後來才發現自己從小到大都用「落差心態」來鞭策自己進步,這心態一開始會讓自己進步,但好像有點卡卡的,這樣心態來推進自己進步,好像會有後繼無力的感覺,也觀察到自己的心情開心不起來。這一年,我慢慢練習將覺察力用另一個角度,練習用「收穫心態」欣賞進步的自己,這是我觀察到我這一年的進步與不一樣。 ### 開始思考,目標背後的目的 |用目的取代目標,讓自己慢慢擺脫達成的0與1思維 這個點,我發現是讓我從「落差心態」轉成「收穫心態」很重要的關鍵。出國前的一個星期,是我準備國際研討會焦慮的最高峰,雖然在工作上每天的晨會,因為刻意隱藏,夥伴應該感受不太出來,但回到家時,卻隱藏不住。 在國際研討會上發表,是我2023年的一個目標。我似乎有一個很理想的想像(不切實際的目標),就是我能在台上像外國母語人士般,侃侃而談,順利對談,但這個理想的想像,是現階段的我無法達到,當自知與這個理想的目標有落差時,讓我陷入焦慮。當有天,我從[獨角獸的靈感圖書館](https://podcasts.apple.com/tw/podcast/ic%E4%B9%8B%E9%9F%B3-%E7%8D%A8%E8%A7%92%E7%8D%B8%E7%9A%84%E9%9D%88%E6%84%9F%E5%9C%96%E6%9B%B8%E9%A4%A8/id1679903563?ref=moradatajourney.com)的音頻節目中,發現自己又陷入達到目標的陷阱中。我反問我自己,「**在設立目標的當下,我的目的是什麼? 」**,我好像在每次設立目標時,從來沒有用這樣的角度來思考。因此,常常很容易讓自己陷入,有達成和沒有達成,來斷定自己是否成功的標準。 那天中午聽完音頻後,回到工作位置上,我問我自己我為什麼要參加這場 ISQua 國際研討會[1](#d3e070dc-eeeb-446d-ab53-07a9fa88b0d4)? 這醫療研討會根本不是我一個技術人,適合去的場子。細細深思後,原來這個目標的背後,我隱藏了很多目的,**第一,我想讓自己跳出舒適圈,探索人生更多的可能性。**真的想面對,英文這個大魔王。也想讓孩子也有機會接觸國外的環境,畢竟老大有個執念,想要到世界不同的國家,在我還能帶他出去多看看時,多讓兩個孩子習得一些能力。 或許就是這些隱藏的目的, 2023年初的過年,當大家都在過年的氛圍中,而我竟然是把握過年的黃金時間,利用幾天時間,撰寫投稿的內容,投出的當下,我應該就跨出我的舒適圈了,而不是站上國際舞台完成演說的這瞬間。 ![](https://moradatajourney.com/content/images/wp/2023/09/image-1-1024x526.png) 最後,義無反顧的將 AI 導入健檢這主題,在這個研討會上呈現的隱藏目的。因為我發現在醫療體系,醫師們都重視治療的成效,怎樣治療最有效,怎樣的治療能讓病人好起來,這議題很有貢獻,也很重要。但我不是醫療體系的人,想從原本健康的人,看健檢這件事情,健檢不是例行公事,而是一個人後續生活品質重要的關鍵點,如能提早發現,可以減少後續很多的治療成本與生活上的改變與辛苦。 這次演講,我原本要放入一張投影片,主題是「為什麼一個數據科學家要在醫療領域研討會給這場演講? 」,因為我知道 AI與數據的能力的特性,在於微小變化的觀察與偵測比人細微,或許AI不會100%正確,但AI的確能在眾多正常影像中,在肺結節與肋骨重疊的地方,給醫師一些溫馨提醒。 雖然我現在發展的 AI 已經無法幫上前同事,能在每年健檢的胸部x光影像中,及早一點知道肺癌或微小 nodule 的異常影像,但我知道這是模組是有機會在未來, 幫上某一個人的。 發表完後,有台灣其他的醫院,詢問這個健檢系統的成熟度,後續可以觀摩或技轉嗎? 雖然我的英文口語表達可以更好,但我很開心,我想我已經達到我做這件事情,背後的目的了。 ### 更如實的呈現自己| 慢慢地收起自己的好強 從小,我向來報喜不報憂,因為我知道大家喜歡聽到成功故事,不喜歡看到失敗。但我發現這樣的自己很容易內傷。過去這一年,我透過書寫,慢慢地調整自己的心態,每天在 FB 就單純紀錄自己的學習與領悟,雖然很小的行動,但是我發現自己慢慢地改變,從一開始再意讚數,但因著生活軌跡紀錄與音頻聽候反思紀錄,我發現自己因為這些單純的紀錄行動,慢慢地敢嘗試呈現自己的脆弱,慢慢地收起自己的好強。 這一次出國,在旅程的中途,也讓孩子與老公看到真實的自己,以前的我練習講稿,一定是找一個地方偷偷的練習,這一次我在民宿中,在孩子面前練習,在老公面前練習。孩子童言童語的說:「媽媽又在念經了。」,我帶點正式的口吻跟孩子說:「 媽媽很重視這一次的演講,我英文沒有像外國人一樣流利,我必須要不斷練習,才能順利講完。」我跟孩子說你們先睡,媽媽再練習一下再睡。 後續旅途中,孩子突然跟我說:「媽媽感覺很努力的準備這一次的演講。」我發現自己如實的呈現努力的過程,能讓孩子與自己更貼近,也讓孩子了解學習的真實樣態,不是只有成功光鮮亮麗的一面。謝謝老公跟孩子提起,因為媽媽要來國外演講,我們才有這一次出國的行程,孩子童言童語的說:「媽媽,妳下次要到哪一個國家演講?」我回答:「我不知道,但下次我想單純的出國玩,一邊要準備演講,一邊遊玩還是有點壓力的。 ### 主動開口要求協助|我不需要一個人堅強 這次會議,一個人前往。這次真的體驗到,出外靠朋友,所言不假,只要你敢開口表達需要協助。不高的我,無法把海報貼齊,開口問可不可以一起進去會場貼海報,超感謝才剛剛認識的台大醫師和高榮團隊,一起貼海報。開口詢問,亞東醫院的藥師,在我演講的當下,能不能幫我拍照,讓我有可以有滿滿的回憶和寫報告的素材。事後還給了我滿滿的鼓勵,在海外留學,英文口說很流利的她,以她的角度來看,我的英文表達上我一定有可以更好的空間,但是她給了我滿滿的鼓勵。 會場的主持人醫策會王拔群執行長,在會議開始前議題與自我介紹確認後,我主動跟他提,如實跟他說,聽眾提問的時候,如果可以的話,英文上我需要一些協助,他馬上聽得懂暗示,觀眾提問時,給了我很多協助,以及分享完後,20分鐘的聽眾深度交流討論時間,給了我很多可以發言的機會(笑,有很多練習即席練習英文口說的機會)。 ![](https://moradatajourney.com/content/images/wp/2023/09/image-2-1024x674.png) ### 後記: 這一年的成長,要感謝很多人的支持和給予機會 謝謝主管們,支持我參加這一場跳出舒適圈的英文口頭報告,謝謝同事,告訴我有這一個盛大的研討會,雖然事後在某段時間很後悔,因為我發現,我好像越級打怪了。 最後要謝謝老公,我人生最重要的精神伴侶,願意跟我一起帶著孩子,一邊遊玩韓國,一邊打怪,這真是老公給我的42歲最好的生日禮物。同時,研討會口報的前一天,一家人陪我,找會議地點,貼海報。還有在台灣的家人,也在另一端給我滿滿的力量,謝謝小弟,看到會場的盛大,提醒我可以帶講稿上去,因為這些力量給了我安全感,讓我可以在隔天能順利的完成這場分享。更謝謝過去這一年的自己,一定給要給自己大大的擁抱,要繼續體驗和探索剩下的人生,記得設立目標之餘,可以回想目的,會讓自己更有力量持續前進。 未來的自己你好嗎? 要持續**帶著信念去探索最大的可能,每一份工作與體驗,才能讓未來的自己更自由** 對了,別忘了,要多規劃時間運動,保持身體健康,才能持續不斷的探索人生。 #### 歷年送給自己的生日禮物: [四十一。穗| 「是的,這就是我」,讓我更了解我自己](https://moradatajourney.com/forty-one-years/) [四十。穗|40不惑?](https://moradatajourney.com/40-years/) [三九。穗|喔,原來這就是我](https://moradatajourney.com/thirty-nine/) [37。穗|從辛苦,到漸漸感到滿足](https://moradatajourney.com/thirty-seven/) ##### 參考資料: 1. [ISQua 研討會](https://isqua.org/events/seoul-2023.html?ref=moradatajourney.com) [↩︎](#d3e070dc-eeeb-446d-ab53-07a9fa88b0d4-link) ### 為你的財務畫出流向-運用 ChatGPT共創出你的財務流向圖(Sankey Diagram) URL: https://moradatajourney.com/financial-sankey-diagram/ Last updated: 2026-07-19T05:22:10.000Z 你有定期盤點財務的習慣? 讓我們一起好好理財,過上更好的人生。 最近有些朋友詢問我,哪裡可以參加家庭理財課程。遺憾的是,李柏鋒老師的[人生理財課程](https://moradatajourney.com/eight-lessons-about-financial/),無論是實體或線上課程,都正在進行改版籌備,暫時無法提供課程服務。 雖然如此,我們還是可以先做一些課前準備,也就是「記帳」。記帳至少有兩大好處:第一,如果你能記錄下一個月的支出,就能大致估算出家庭緊急準備金的需要量。第二,透過定期檢視資金流向,你可以看看是在飲食上花費比較多,還是在學習和投資自己上花費較多,以便調整你的財務策略。 ![](https://moradatajourney.com/content/images/wp/2023/06/image-1024x574.png) Photo by [micheile henderson](https://unsplash.com/@micheile?utm%5Fsource=unsplash&utm%5Fmedium=referral&utm%5Fcontent=creditCopyText) on [Unsplash](https://unsplash.com/photos/ZVprbBmT8QA?utm%5Fsource=unsplash&utm%5Fmedium=referral&utm%5Fcontent=creditCopyText) 我已經記帳超過4年,並且隨著雲端發票的普及,記帳不再容易被遺忘,數字也更貼近事實。我現在都用 [Moze](https://moze.app/?ref=moradatajourney.com) APP 來記帳,這是一款訂閱制的應用程式,持續根據使用者的需求,不斷會更新的一款記帳 APP。透過它,不僅可以記帳,還可以查看年度支出、月度支出等資訊,並提供許多動態圖表,使用非常便利。 然而,它通常只提供圓餅圖,我們只能看到某一個類別下的子項分布,無法全盤了解財務狀況。 ![](https://moradatajourney.com/content/images/wp/2023/06/image-1.png) **那有哪一個圖形可以完美呈現財務的流向?** ## Sankey Diagram**桑基圖-綜觀全局圖表** 有的,那就是 Sankey Diagram 桑基圖,一種可以全面展現流向的圖表。它的源頭可追溯到1898年,愛爾蘭人Matthew Henry Phineas Riall Sankey在土木工程師學會會報中首度提出了這種能量流動圖,因此得名。在一個桑基圖愛好者的社區網站上,我們可以看到這麼一句話: > **「A Sankey diagram says more than 1000 pie charts」** 意謂著一張桑基圖的描述力超越了一千張餅圖,由此可見,桑基圖對於複雜數據的視覺化表現力非凡,它的功能和使用場景與餅圖有部分重合。 ## 以Sankey Diagram**桑基圖觀察**飲食支出流向圖 雖然桑基圖看起來複雜,但實際上它的使用卻非常直觀且高效。每一個花費類別都是一個節點,流量則代表每筆花費支出的數量。透過觀察節點的長度比例,我們可以看出每一階段所佔的比例。現今的前端視覺化技術已十分成熟,我們可以通過動態點選,從大大小小的水管中找出每筆金額的貢獻。 從這張圖,我們可以輕易地看出我們的錢花在哪裡了?我們可以詳細看到金錢如何從大水管分流到各個小水管中,例如在飲食類別中,我們在市場上購買了多少原型食物,在超市買了多少食品,以及午餐與晚餐的花費。這些都可以從我們的花費中看出來。我在畫這張圖後,才驚覺我在飲料上的花費其實不少。 ![](https://moradatajourney.com/content/images/wp/2023/06/img-f85002c943a3.png) ## 一步一步畫出你的財務流向圖 這篇文章示範如何透過與 ChatGPT 的互動,解決手邊的問題。我們會引導你一步步地完成 Python 程式碼,以應對這次的挑戰:如何利用 Python 將日常的記帳資料,轉化為一張半自動化的飲食花費流向圖。 我們將使用[ Google Colab](https://colab.research.google.com/?utm%5Fsource=scs-index)(Google 的雲端程式碼執行環境)來實現資料視覺化和製作桑基圖(Sankey Diagram),流程包含以下幾個步驟: 1. 在 Google 雲端建立一個資料夾並將記帳的 CSV 檔案放入。 2. 連接 Colab 到這份共享的 CSV 檔案資料集。 3. 在 Google Colab 中設定中文字體。 4. 與 ChatGPT 互動,清晰地說明需求,讓 ChatGPT 提供完整的程式碼。 5. 利用 Plotly 來呈現消費支出流向的桑基圖。 接下來,讓我們詳細說明每一步: **Step1: 在 Google 雲端建立一個資料夾,並將記帳 CSV 放入。** 如果你還未開始記帳,也不必擔心。你可以從這個 [Github下載](https://github.com/MoraChen/python-Sankey-Diagram?ref=moradatajourney.com)(google 雲端[網址](https://drive.google.com/drive/folders/1yhQdIzPFX9DVV6VdAWUggZxNBmpGl7BD?usp=sharing&ref=moradatajourney.com))下載我們提供的資料夾,然後將它放到你的 Google 雲端上。這個資料夾內包含了範例程式碼和範例資料檔案。下載後,如果你有自己的記帳 CSV,也請將其放入這個資料夾。 在範例程式碼中,你會看到以下 12 個欄位: ![](https://moradatajourney.com/content/images/wp/2023/06/img-e3f2a20cb07b.png) **Step2: Colab 連結到共用的 CSV 檔案資料集。** 首先,你需要調整程式碼的路徑。如果你已將資料下載並放置在你自己的 Google 雲端上,請按照以下的方式調整路徑: ``` os.chdir('/content/drive/MyDrive/用 ChatGPT 做資料分析') ``` 接著,再調整你檔案的程式碼路徑,如下: ``` df = pd.read_csv('/content/drive/MyDrive/用 ChatGPT 做資料分析/飲食花費記帳資料.csv') ``` 完成路徑調整後,你可以立即進行測試。點選「執行階段」,然後選擇「全部執行」。 ![](https://moradatajourney.com/content/images/wp/2023/06/img-c14a4264fafb.png) 點選「執行階段」,然後選擇「全部執行」。 下一步,系統會要求你授權此筆記本訪問你的 Google 雲端硬碟。請點擊「連接至 Google 雲端硬碟」按鈕,選擇你的 Google 帳號並點擊「允許」。 ![](https://moradatajourney.com/content/images/wp/2023/06/img-89f5e247e806.png) 請點擊「連接至 Google 雲端硬碟」按鈕 ![](https://moradatajourney.com/content/images/wp/2023/06/img-58d78df3d569.png) 連結你的 google 帳戶 **Step3: 在 Google Colab 中進行中文字體設定。** 由於我們的記帳記錄全都是以中文呈現,因此,我們必須確保中文字體的設定完善。由於 Python 的 matplotlib 是常用於數據分析和資料視覺化的模組,且其預設字體不支援中文,會導致中文顯示為一連串的符號。因此,我們需要先安裝中文字體。在此,我們選用開源且可商用的「台北黑體」(感謝翰字鑄造JT Foundry的設計與開源)\[1\]。 ![](https://moradatajourney.com/content/images/wp/2023/06/img-4aa230befed8.png) **Step 4: 與 ChatGPT 互動並詳細說明你的需求,讓 ChatGPT 生成完整的程式碼。 然後,將程式碼貼入 Colab 進行測試。** ![](https://moradatajourney.com/content/images/wp/2023/06/img-04b5c31f8a59.png) ![](https://moradatajourney.com/content/images/wp/2023/06/img-a353e613a6a0.png) 請注意,截至 2023 年 6 月 12 日,ChatGPT 對於資料串接與複雜的系統架構的處理,所生成的程式碼可能並非百分之百準確。這就如同在機器學習的世界裡,在機率架構下發展出來的模型,仍有可能出現錯誤。而我們,作為接受過訓練的人,應該有能力辨識出錯誤的部分,或是將錯誤的信息反饋給 ChatGPT,讓它進行修正。ChatGPT 可說是程式初學者的良好學習助教。 ![](https://moradatajourney.com/content/images/wp/2023/06/img-f709efc86efb.png) **Step 5:運用 Plotly 呈現消費支出流向 Sankey Diagram 桑基圖 。** ![](https://moradatajourney.com/content/images/wp/2023/06/img-95835a113c1e.png) ![](https://moradatajourney.com/content/images/wp/2023/06/img-3934c5149382.png) **Step 6: 告訴 ChatGPT 你的需求,調整顏色,更能看出不同類別下支出的流向。** ![](https://moradatajourney.com/content/images/wp/2023/06/img-be38aa8172d3.png) 透過上面的提問與 ChatGPT 的交叉提問,最終得到比較滿意的Sankey Diagram**桑基圖。** ![](https://moradatajourney.com/content/images/wp/2023/06/img-5c41d9ca272f.png) ## **小結:** 我們不僅要管理工作中的數據,更要掌握自身的理財數據 --- 身為職場工作者的我們,每日都在處理和解讀公司的數據,但我們似乎忽視了生活中另一組至關重要的數據:我們的收入和支出。我們不能只專注於職場上的數據,而忽視我們自己生活的數據。這是一篇文章也是一項新的嘗試,將專業知識運用到個人生活的每一個面向。 --- 參考資料: 1.[Day 11 : Google Colab 實用奧步篇 ( 連結硬碟、繪圖中文顯示問題 )](https://ithelp.ithome.com.tw/articles/10234373?sc=hot&ref=moradatajourney.com) **謝謝你看到最後,很推薦你實際用你的記帳結果,畫出你的財務流向圖。如果你對於這個網站或這篇文有任何想討論或分享的,歡迎來信到 :**[**suipichen@gmail.com**](mailto:suipichen@gmail.com) **跟我說,或在下方留言分享!** ### 《只工作不上班的自主人生》讓我重新回顧自己,寫下願景,展開更多人生選擇的新嘗試 URL: https://moradatajourney.com/reading-autonomous-life/ Last updated: 2026-07-16T17:20:44.000Z ![](https://moradatajourney.com/content/images/wp/2023/02/Slide2-1-1024x576.jpg) ### **這本書講了什麼?** [《只工作不上班的自主人生》](https://www.books.com.tw/products/0010942462?sloc=main&ref=moradatajourney.com)是一本當人生遇到瓶頸時可以閱讀的好書,這本書紀錄**作者原本是一位被工作掌控生活的人,怎樣透過閱讀,實踐書中的方法,找到自己的人生目標與職涯目標一致性的過程。**很多類似書籍著墨方法居多,而這本書紀錄作者與女友生活衝突的觸發點,紀錄其中的心境轉折,以及如何進行思考,而擺脫舊有的框架,**不把觸發點,看作一般的生活日常,而是視為可被優化的問題點,我覺得是這本書最珍貴的地方。**作者以不同時期遇到的問題為主軸,紀錄實踐過後有用的方法,例如**商業模式圖與拒絕框架,**因此更了解自己,找到自己的目標,逐步擺脫被工作掌控的人生,讓生活不再只有工作,多了一些自己與家人,進而踏上說書自由工作者的人生,開始實踐只工作不上班的自主人生。 ### **作者是誰?** 作者瓦基是一位從台積電離職的說書人,經營[閱讀前哨站](https://readingoutpost.com/?ref=moradatajourney.com)部落格,每周都會產生兩篇讀書心得,同時也是[下一本讀什麼](https://podcasts.apple.com/tw/podcast/%E4%B8%8B%E4%B8%80%E6%9C%AC%E8%AE%80%E4%BB%80%E9%BA%BC/id1532820533?ref=moradatajourney.com)podcast的創辦人,下一本讀什麼曾躍居 Apple podcast 第一名。同時也是一位講師,將自己如何從一本本的書籍,產生一篇篇讀書心得方法,化整成[化輸入為輸出](https://www.pressplay.cc/project/3189541C702CD5C7630F39D404164B39/about?gclid=CjwKCAiAlp2fBhBPEiwA2Q10D4NTGgBfZFWAjGaENE9AtIhBiJ6VmQIHqd6VuT7wWelDXsdH7hnaMxoC8vEQAvD%5FBwE&ref=moradatajourney.com)的課程,讓每一個人都能透過閱讀輸出,因輸出讓書中的智慧能實際應用在工作與生活。在我眼中,瓦基是一位很有愛心的人,廠商回饋的購書金會定期捐給家扶中心,這是令我很敬佩的地方,也是一開始很打動我的地方。 ### **我為什想讀這本書?** 在還沒寫子彈筆記之前,我是一個 yes woman,行事曆被工作和社群的事物填滿,當晚上需要工作加班時,因為無法法陪伴,就會更希望孩子能自動自發,如果同時孩子沒有達成我的期望時,就不自覺吼了孩子,事後又常常後悔自己為什麼情緒那樣的大。我沒有覺察當時的自己過著被工作掌控的生活,但因為家庭與工作中的拉扯感,我時常在想,**有怎樣的工作,可以讓工作與家庭都能兼顧? 也能在過完這一生後,不會後悔?** 我想從書中了解作者是如何思考,運用哪些方法,以及遭遇了哪些困難,希望能實踐書中對我有幫助的方法,讓我的人生從家庭與工作中拉扯跳出,活出更像自己的人生。 書中有滿滿的觀點與方法,這邊分享對我最有用,也是我讀完書後馬上實踐的三個觀點與對應的方法。 ### **以終為始,終是理想的生活型態** 史蒂芬。柯維在《與成功有約》提到以終為始的概念,用一個生活化的例子,讓我理解到以終為始的重要性,**你努力攀爬成功的梯子,可是你不會想要到達最高階時,才發現梯子靠的牆不對。**所以我大量的將以終為始的概念,運用在工作中,在執行專案的時候,會不斷反思做完這件事情的價值點。 但我卻很少運用在人生中,總是卡在無法想像我人生的終點是什麼?作者將以終為始的概念運用在人生中,以理想的生活型態當作終點,透過十年願景與兩年封面故事的方法,根據現況與期望,想像出理想的生活型態。 其實十年願景和兩年封面故事對我來說並不陌生,2019看到瓦基子彈筆記的文章中就知道了,但回顧每年的子彈筆記中發現,這兩頁是空白的,從未記錄。這次因書中的一句話打動了我,這是作者回顧撰寫多年的十年願景和兩年封面故事中的發現, > **理想的生活不太會改變,反而是工作型態會隨時間與科技的演進而改變** 因為這句話,我第一次寫下屬於自己的**十年願景與兩年封面故事**。 ![](https://media.heptabase.com/v1/images/617372eb-bef0-4fe4-910d-969c2f590855/7e1d845c-6342-42b0-a2ce-10bed64034bc/image.png#left) 小穗步兩年封面故事 ![](https://moradatajourney.com/content/images/wp/2023/02/image-1-768x1024.png) 小穗步10年願景 反思自己因為工作職位的性質,因為技術的演進需要不斷的學習,現今技術進步週期不斷的縮短,我必需不斷的追,因為週期短到追不上而焦慮,無法有多餘的心思在思考生活型態上,而悄悄的讓工作掌握了我們的生活。作者這段對於理想生活型態不變性的觀察,讓我想起[亞馬遜](https://www.businesstoday.com.tw/article/category/183025/post/202008310013/%E7%B6%B2%E8%B3%BC%E5%A4%A7%E5%82%B7%E5%9C%B0%E7%90%83%EF%BC%81%E4%BA%9E%E9%A6%AC%E9%81%9C%E5%B9%B4%E6%89%B9%E8%B2%A8%E9%87%8F%E9%81%9450%E5%84%84%E4%BB%B6%EF%BC%8C%E5%AE%83%E8%83%BD%E5%90%A6%E8%90%BD%E5%AF%A6%E3%80%8C%E7%B6%A0%E8%89%B2%E5%BF%AB%E9%81%9E%E3%80%8D%EF%BC%9F?ref=moradatajourney.com)創辦人貝佐斯的一段話,他提到 > **常被問「未來十年,有什麼會改變?」然而,我幾乎沒被問過,「未來十年,有什麼不會改變?」其實,我認為後者更重要,因可根據真正不變而穩定的事物,建立商業策略。** 既然理想生活型態不太會改變,那花點時間好好思考這一件事情,就不會有浪費時間的感覺。自己第一次寫下十年願景與兩年封面故事後,發現十年願景就像大樹的根,讓我很有人生畫面感與穩定感,面對新技術,面對新的挑戰,面對別人的邀約要拒絕或接受,都在這個根下面去做選擇。例如之前一直在思考,要在FB 紀錄,還是在小穗步的網站?看著兩年封面故事,答案就很明顯,我想透過小穗步這個網站當作媒介,分享這一生的實踐過程。 ### **捨棄競爭思維,找回自己的獨特性,才是所向披靡的關鍵點** 我是一個腦中不斷有很多想法的人,也會不斷自我懷疑的人。常常腦中有念頭說,那我也來寫讀書心得吧,但腦中又會燃起另一個聲音,有很多人已經做了,你有可能做得比他好嗎?因為這樣競爭思維的陷阱下,讓我踏上了自我探索這一條路,「哪些事情是屬於我獨特的點,哪些事情我做得特別好?」 然而這個提問,我很少問自己,因為我常常用補強思維來讓自己更好,而不是讓自己的優勢發光。 要如何找回自己的獨特性,作者在書中運用了在《一個人的獲利模式》一個很棒的方法,回顧過往自己所做的事情的成就感曲線,來找出做哪些事情,自己是開心的有成就感的,哪些事情是自己不太願意做的,透過有意識的回顧,找回自己的獨特性,包含以下三個步驟,重新回想兒時的興趣,從角色出發找出職涯的方向點,找到喜歡且擅長的事情。 為了找回我的獨特點,雖然我尚未採用一個人的獲利模式來進行,但找回獨特性這個觀點,我先嘗試融入2022年的反思中,透過回想2022年所做的事情,發現自己竟然透過「溝通協調凝聚力」,讓跨部門的團隊再繁忙醫療業務中,撥出時間將SNQ文件完成獲得標章,透過「流程力」重新架構出新的健保申報核對流程,今年也不斷提醒自己斯訓練「自主思考力」,主動提出今年度可以執行的方向,搭配「執行力」讓自己在正職工作之餘,持續優化 python 數據分析課程教材,因為書中放棄競爭思維的觀點,讓我把重心放在獨特性上,才發現自己有這些以前從未發現過的特點。 ![](https://moradatajourney.com/content/images/wp/2023/02/image-2-768x1024.png) 2022年反思 ### **運用 Benchmark 技巧,從 Role Model 身上解構出適合自己的執行地圖,因此讓自己更有耐心與專注優化。** 當我們訂立好目標方向後,接下來就會遇到另一個困難點,**如何訂出合理的目標與執行方法?**作者決定轉型為說書自由工作者時,應用在以前工作中學到的盤點技巧 Benchmark。Benchmark 源自於管理學「標竿管理」,以該產業裡的「卓越公司」作為標竿,盤點他們的競爭優勢,學習他們的作業模式。一般人初聽到Benchmark似乎是一種模仿,少了原創性,但我卻覺得**Benchmark是讓自己能專注不管周遭雜音,穩定前進的強心針。** Benchmark不是照單全收,而是參考 Role Model 不管是成功或失敗的經驗,把曾經採取的作法列出來,仔細評估每一項優勝劣敗,最後決定自己要採取的策略。這個方法,雖然之前在工研院的時候,常常使用在簡報中,但卻不像作者在書中盤點的那樣全面,包含作業模式、成功關鍵、嘗試的做法、失敗的原因,以及重要的**北極星指標**。還有一項重點必須盤點出來,預期要花多少時間才能達標。有了預期達成目標的平均值,才能在過程中保持耐心,思量手中的資源要如何運用。看得這邊的時候,我覺得很像**逆向工程(Reverse Engineering)思維,把 Role Model 當作終點,蒐集 Role Model所以做法,解構出成功的步驟,最後嘗試多種元素組合,並發創意。** 作者透過盤點原子習慣的作者,訂立出自由工作者的北極星指標,了解到關注電子報訂閱數比閱讀流量更重要。透過盤點知道讀書心得的發文必須要持續進行,至少要兩到三年才會發生指數型的綜效,現在回過頭來看作者爆發的轉折點,也大約是持續寫文的2-3年間。Benchmark 這個技巧,我後續想嘗試使用在 python數據分析課程中與工作流程中,找尋可能的 Role model ,試著將數據分析的心法和理念,更往外拓展出去。 ### **總結**: 卓越的成果,沒有捷徑,思考、行動與選擇缺一不可。 這是一本很適合放在手邊的工具書,雖我稱為工具書,但書中蘊含很多觀點,深深刻印在我腦海裡,例如有句話讓我記住執行目標專注與取捨的重要性,我很喜歡書中很有禪意的一句話, > **水的清澈,並非因為不含雜質,而是在於懂得沉澱。心的通透,不是因為沒有雜念,而是在於明白取捨。** 透過沉澱,更明白自己的理想生活與目標,透過取捨,讓自己更能專注於推進自己前進的行動上。有時候有些事情不做,對於目標的推進更有效率。作者為了推進目標,過程中建立了自己的拒絕框架,提醒了我建立拒絕原則的重要性。每每看到桌上的水杯裡面清澈的水,時時刻刻提醒自己必須更沉著和聰明的取捨。 ![](https://moradatajourney.com/content/images/wp/2023/02/pexels-ray-piedra-1556381-683x1024.jpg) **懂得沉澱** 與 **取捨** [from pexels 攝影師 Ray Piedra ](https://www.pexels.com/zh-tw/photo/1556381/?ref=moradatajourney.com) 作者有很多卓越的成果,podcast 曾位居apple podcast 的第一名,但從書中可以發現任何的卓越,都是作者不斷思考,行動嘗試與選擇共同交織而成出來的成果,缺一不可,超喜歡書中的一句話, > **任何卓越的成果,都來自於不凡的思考、平凡的行動、不甘於平凡的選擇。** 卓越的成果,沒有捷徑,你可以從書中可以學到作者不凡的思考轉擇點,有意識的扎實地踏好每一步,優化流程,平凡定期定點專注的行動,以及最後聆聽自己聲音,做出不甘於平凡的選擇,才看到了現在的瓦基。因為閱讀這本書,開始著手行動,寫下十年願景和兩年封面計畫後,就發現自己不管在工作和生活上都更有主動權,也更聚焦。是一本在每年年初或年底都可以定期反芻的一本書,不同時期看,都會有著不同的收穫。 ### 2022 降低目標的在意度,專注在執行過程中的進步 URL: https://moradatajourney.com/2022-reflection/ Last updated: 2026-07-16T17:48:29.000Z **2022 和往常一樣的地方,就是設立了目標,但沒有達成。**2022年的目標之一,要讀12本書,寫 12本書的心得,沒有做到(所以無法吃到 RAW,哭!!),細細回想,無法達成這個目標有兩個很重大的原因,我沒有建立好輸出系統,第二這個目標,與我現階段的價值觀其實有很大的落差。 **2022 和往常不一樣的地方,目標雖沒有達成,但不再用責備的方式反省自己,而是著眼於過去一年中自己進步的地方。** ### **2022有哪些事情做得很好?** 往年是不分類紀錄,今年想做點調整,依照我的人生的價值觀,依序盤點自己在行為上是否和價值觀一致,持續實踐,讓價值觀變成一種習慣。寫下反思後**,發現訂下人生重要事項排序後,像極了北極星方針,行為漸漸跟得上了,健康上的實踐比往年都來的多。** #### **健康(5項):** - **持續帶 211 午餐便當。** - 買了真空機,因此不小心踏上[優化備菜流程的旅途](https://www.facebook.com/mora.chen.1/posts/pfbid08vKG8utPPwdQeMbM76xdj3QHtbmbkbZbgxFhzuDLzBWdhP1uwHRphgqZdp1qkapLl?%5F%5Fcft%5F%5F[0]=AZWfhr76JfzHJVJJaNDY4la8mb6hnWpxzf58oxAZsdp3jQK3my0Aw7ZKuWmzvPa%5FihZQfcQj6Mf40Id41%5FendSwYtuyrVXXyEDJySEQjmmZhNVsZSbsHKJ4ZoX0H7zt5Q1w&%5F%5Ftn%5F%5F=%2CO%2CP-R)。根據冰箱的大小,盡量統一購買,買好後就立刻整理,降低下班後出餐時間上的壓力,也減少食物的浪費,同時也大大舒緩要準備午餐 211 餐盤上的壓力。 - **主動關注生活健康的數據**,雙11買了藍芽體重計,不再考驗自己的大腦記憶,大腦其實不擅長記憶,會欺騙自己,故意遺忘與忽略自己持續上升的體重。 - 2022/11月 開始**練習超慢跑**,兩個月下降了 0.2 公斤,體脂肪下降 1。雖然不多,但卻是體重曲線的重要轉折點,不再上升,而是開始往下,觀察到往下的趨勢時,新中超級超級開心的。 - 2022年底,**早餐用固定盤子進行飲食**,降低高糖高油的份量。固定主角有我愛的一分糖伯爵鮮奶茶,一顆蛋,一份水果,還有一份跟小孩一起吃的麵包或蛋糕或蛋餅,原來這樣吃也很飽,早餐與中餐間不會有飢餓感。 ![](https://moradatajourney.com/content/images/wp/2023/01/img-5d1222b0d39d.png) #### **家人:(6項)** - [**新年送給孩子的2022禮物-火車旅行護照**](https://www.facebook.com/mora.chen.1/posts/pfbid02VoZgniPiMFxmGGnSsFGMXVW1ThsN3YUhcDBLuyta7Wvbzb1bF8nhiibsqyS9rcSsl),今年我們蓋了 30個台鐵火車章,雖然沒有達成集章88 換到禮物。在台灣的小站中穿梭的我們,品嘗很多當地的美食,有些站,孩子還預約下次還要再來。 - [**第一次用旅行來慶祝老公生日**](https://www.facebook.com/mora.chen.1/posts/pfbid028ETFNx9awqCEbWyre4krUhh1o6NTdCNL4oKUsStce3MKvKHxjDmbV6qLeG3Uz8Acl?%5F%5Fcft%5F%5F[0]=AZXrAxHIw8G6s0pdz7Y2%5FpeXWU-c1m9wpglt8NNopJnxleAUm0MuaQYMdziFHZgmqTyBSTHNq8cf-HlBuF8lBeudeK79b7wqDJDTSr4gXm5oiMQ4jrUUgk1MQENZ1e7rG0o&%5F%5Ftn%5F%5F=%2CO%2CP-R),謝謝 Esor 的生活筆記分享,讓我記錄下來老公想要去遊玩的地方。才不會每次旅行時,都想破腦該去哪邊好,每次回顧,老公都會提到這個超開心的生日之旅。同時體驗民宿沒有電視的初體驗,沒有趕行程的規劃,大家都很喜歡這樣的方式,哥哥還問我說下次他的生日要去哪邊玩。 - **持續鍛鍊孩子的生活能力**,兄弟倆解鎖自己出遊去科博館,看展覽,看電影,以及兩兄弟自己決定去逛新光三越的美食街,吃午餐,吃到美食,下次換小孩帶爸媽出去品嘗美食,當然是爸媽買單。 - [**鍛鍊哥哥未來工作的能力**](https://www.facebook.com/mora.chen.1/posts/pfbid035TFuTMcyQGJBCfdjR3Krwiyx1vq4NHz2TVpkJyPzrYMDg1FomNvyfiyHQ54nFD9Kl?%5F%5Fcft%5F%5F[0]=AZW1rY-3b4y4eX6Ma2dBC-G6zhkfrR8GzSPPQ7O8XxOn0d6vMKKaGm9Mz98cPs%5F%5FrxKmheUOjoatxTstLaWk1hj0-JiqwhgIkaMgyuna-oDRKO1XBZ6yw1Qrq0vLa6z4mSc&%5F%5Ftn%5F%5F=%2CO%2CP-R),幫朋友打掃房間,讓孩子的能力能漸漸地外推到家裡以外地方。 - [**完成我與孩子的第一場 5 km 路跑**](https://www.facebook.com/mora.chen.1/posts/pfbid0UewtkJuMUU7QUrjCm1epsB1ARskkh72KYNHvfdnVJeGdvuXF7pVvsPRuVDjyq2x8l?%5F%5Fcft%5F%5F[0]=AZVs0twRgXPMQ1CxwJB48S2qf47MwUYf1cWoEtEetaHny2TK-EABUxFBYcWjqgOdr9FHJR3DIFohTopRcoq-RtKDdFG6jCRC3QYhCYCwekCRkEeL0A8x1M9WmIYEMlEJ75g&%5F%5Ftn%5F%5F=%2CO%2CP-R)**。** - [**讓孩子體驗養蝴蝶幼蟲與觀察**](https://www.facebook.com/mora.chen.1/posts/pfbid02tcXzebcSn71CPAHH8dq3sYifXsDuUENdd12y1VscqDkQfnpYmbkLJzudVmwkUkC8l?%5F%5Fcft%5F%5F[0]=AZWMJDdcLRgBvU6LdNk4bATRieXI%5FvkwQTbrm8st6GxjtQDnELCywAJ5FZ1EgZpzq7oE36yHQN64KOsPZGyVN6VJ616lROGR9r796HuppbofP0ADtOtHEc5sI7jpbLyY0lo&%5F%5Ftn%5F%5F=%2CO%2CP-R),練習照顧昆蟲與觀察。 ![](https://moradatajourney.com/content/images/wp/2023/01/img-1d9f28f35883.png) #### **財務(2 項):** - **建立自己的緊急預備金定存梯**,再過三個月就完成了(灑花),謝謝李柏峰老師的提醒,做好風險控管後,就能有更多新嘗試的勇氣。 - **開始定期定額存股**,雖然不多,但是踏出的第一步,進場了,才會把心力真正關注在上面,而不是一位旁觀者。 #### **工作(7 項)**: - [**SNQ 比賽得標章了**](https://www.facebook.com/mora.chen.1/posts/pfbid02NbWRQuGSYxRRqruKPErPoMJc3H3BzWu6XE1DZu3FFZrskkMXhPHbJC6HcWoQ71DZl?%5F%5Fcft%5F%5F[0]=AZUbhrq8He11brL8LYC1oFW9Ccl2hWa88NFoefs9F4XzNXK162tz2tbIgtEJv540WivbAAsKFyRDZPAAtpMNtnXZRogLvZzLugP0ojIhgKV3yyRONnQMh0V7BxxzPHZRj4U&%5F%5Ftn%5F%5F=%2CO%2CP-R)**!!**再次灑花灑花,這是一件自己因為願景,而自己驅動自己承接的工作任務,接下來後發現難度不低,但是與業務團隊一起努力,完成一項任務感覺很棒。 - **建立 AI 模型的迭待優化流程**,並在 [pycon 2022 技術分享](https://www.facebook.com/mora.chen.1/posts/pfbid02GAfV5kxmFrVvTQcztiYHuGdUxa2TTKEJE5jL5Er25ZqrZp9KwwyTC3LoVj4857g6l?%5F%5Fcft%5F%5F[0]=AZVPWfS3aQbAa3NeKlM82H7--I6vDdEPIoQ1vNi6bfwAONoAS6eKkqleaAk1WgbXuAolWu2uenQ6kCbzTKBwbjMQ5wb-oqfTDNco%5F1Q-0WlFK38bDOEHU37%5FkcBYPddlts4&%5F%5Ftn%5F%5F=%2CO%2CP-R)。 - **與老公合作產出一篇教育論文**,一開始有些摩擦,透過溝通,我們更了解彼此的想法。老公不愧是領域專家,教育資料解釋能力很強,互相合作,互相欣賞的過程,挺有趣的。 - **與同事合作投稿論文**,放下獨立作業模式,採用合作打群架的模式進行。 - 接下[輔助醫院申報業務](https://www.facebook.com/mora.chen.1/posts/pfbid0bFQDL3z6dMKSVPqvJJJ3uYsnhFrcqYxMmUTpkowG6e2jPNNrYngmJiPE937rcy5fl?%5F%5Fcft%5F%5F[0]=AZUxBZXeVebU8GVhYVQ029Bu5AihVSogO5ucRBcRGgZHojd7fXOh8Df8ysYqpr7psoZ5SnGfKwZ0Z7xFP1mCxce9juzWa6-xz9ySstQfGuYeb967MYoxd3R-uzgVBDoB4RE&%5F%5Ftn%5F%5F=%2CO%2CP-R),發現我的價值不只於撰寫程式,而是在於資訊與合作部門的協作與溝通,優化開會的流程,讓每一次的會議更聚焦,珍惜大家的時間。建立一套跨部門的文件溝通模式,程式不能取代文件,這些流程就像一個地圖一樣,讓人更容易按圖索驥,知道整體的狀況,以及有機會傳承下來。 - [歡送夥伴讓快樂回憶取代傷感](https://www.facebook.com/mora.chen.1/posts/pfbid0rtidfpKhX3Tqmsvi34sdNPeYL82S4AsKeHqVERsegx5o2yAg4agerhoUzVUpCQX3l?%5F%5Fcft%5F%5F[0]=AZVKUZQAS3NYetHI6h13XHnIMqUuPDxHGX-WrQW7b%5FQ7B8ntnOxMZPdOAq63y22SezI6HGt2ULUTXD57LROM0xVylotix69Ac3LSphCi6y-chUyVYF%5FAEPdo4c9l874ide4&%5F%5Ftn%5F%5F=%2CO%2CP-R),珍惜在一起工作的時光,彼此都有成長沒有遺憾,讓大家都能往更好的下一站前進。 - **溝通,讓上下訊息更透明**,因此產生更多由下而上的創意。程式碼的撰寫,夥伴比我還強,成果貢獻上,其實夥伴比我貢獻的還多。因此,長官有任何的鼓勵,一定會讓夥伴知道,看到夥伴開心的樣子,讓我知道自己做對的。同時不害怕與夥伴示弱,明確說明自己需要協助,有任何可以更好的想法,很歡迎主動提出,因為我無法綜觀全局,需要大家由下而上的創意,也因為創意點由下而上,夥伴更有自主信,讓我想到浪漫金師傅劇中的一段話: 金師傅對於車恩在說的一段話: **「當你想做到,你確信自己意志的那一瞬間,手術的成功率就會提高。」** 突然頓悟與感受到引導的重要性,如果透過引導,激發出夥伴的自主性時,專案團隊成功的機會也會提高。 #### **志業, 推動數據思維(兩項)** - [python 資料分析實戰課程](https://www.facebook.com/mora.chen.1/posts/pfbid0cioYgYBrcV3Gqy4jpKX1aW6gLBZ2zhEDiTTatrT6yH5nQBSY7GHQwQXLY4TRvpCKl?%5F%5Fcft%5F%5F[0]=AZWHZwbeX44MSOiitKq1eiM39PyEw9THGyDXwsp6GTmgZfaUb64Rg4IvBWKkZ-f5NCjaNZ3PHQsHgOhlhxsE0UEP85eY9ad1rqXTJ4cXGllw1hlrLWoI2J2aY%5F7IunZ7AVw&%5F%5Ftn%5F%5F=%2CO%2CP-R)得到學員 4.9 的滿意度回饋,與很好的回響,學員回饋這樣的課程設計,能讓他們可以能從0 開始學習資料分析,但也有收到很棒可以更好的回饋,後續可以嘗試用 chatGPT 來試著協助我。 - 在雲科大、[彰師大](https://www.facebook.com/mora.chen.1/posts/pfbid02WnMTr6rX6mkQn6BkF3pFB8i2zpRjg9x3C9oZqjLoH7C4bsHwZXC9vxRawbJe9tS9l?%5F%5Fcft%5F%5F[0]=AZWChq2rERW7JOvRERCUkXf36EzD2sr1SxrjFuB-zfI4R4-nryQbdKZk9KSLLewZcUL5YNrsy6CUd0V4TfG-5pTTrw-jNIkUxkAey34JItMzwhMbMRzNUT-bohtXVmIXBUI&%5F%5Ftn%5F%5F=%2CO%2CP-R)與台北市立大學,分享醫療領域中如何發展 AI 的過程。 - 小穗步網站開張,希望工作上的數據與管理經驗、陪伴特殊兒孩子的過程與自己的成長能有個窩紀錄與分享。 #### **閱讀那些好書?** 今年我完整讀完的四本書,寫下年度反思後後,發現自己對於「**學習**」、「**知識系統化管理」**與「**如何自主人生,活出更好的人生」**很有興趣。 - **《**[**防彈筆記法**](https://moradatajourney.com/reading-bulletproof-note/)**》**,發現自己很喜歡建立生活的秩序感,除了讓我有安全感,有了秩序與框架,讓自己更有時間與機會,體驗與嘗試更多有興趣的事情。 - **《**[**高效時間管理**](https://moradatajourney.com/reading-time-management-course-1/?fbclid=IwAR1Hxoz2X%5FMkle%5Fq0hSKosF7qW2SRuX9PKIX9pXpmhYFpM8kmv3m2jeNdaU)**》**,**讓我吸收到人生北極星指標的概念,我的人生北極星指標,就是透過文字記錄,幫助他人與自己,不管踏出的一步多小,只要前進,就勝過過去的自己。** - **《**[**高手學習**](https://www.facebook.com/mora.chen.1/posts/pfbid0ZE7Gm9m3iWQZSCGC1x5bWNQpxwt2hHuPFWiet6kz7y3QGsMptc6wsXuBhDyeCGisl?%5F%5Fcft%5F%5F[0]=AZUaKg8LjI28puRZw8YT5kwcFFYO4cSPkskH5ce6%5F5MO5AKd6Lx5WHlIfrChxucaWWqhyChbWKkPw3tnwdprB3AWroUqAHv6TkalRrmv2S8scwbKhUbnaUI8iRwFVY3bun0&%5F%5Ftn%5F%5F=%2CO%2CP-R)**》**,萬維剛的高手學習。讓我最有收穫的,就是在學習和行為的理論中,竟然看到機器學習的相關研究,機器學習也有重複訓練的甜蜜點? - **《只工作不上班的自主人生》**,讓我把工作的衝勁,不只放在上班中,也想打造出自己夢幻的工作模式與人生。 ![](https://moradatajourney.com/content/images/wp/2023/01/img-3051ff26edec.png) #### **上了哪些好的課程:** - **劉軒老師的**[**設計人生的線上工作坊**](https://soundshine.com.tw/design-the-life-you-want-20211023/?ref=moradatajourney.com),讓我把目光從補弱點,找到自己優勢與擅長的地方,盡可能發揮優勢。 - **李柏鋒老師的**[**人生必學的理財八堂課**](https://moradatajourney.com/eight-lessons-about-financial/),讓我從過好人生的觀點出發,盤點出自己的財務現況與弱點,以過往生活花費的狀態,建立好自己的定存梯,當風險來的時候,不會慌落。因為建立好的安全網,對於存股風險較大的財務決策,也勇敢踏出第一步。因為有定存梯,2023年的一開始家人就發生意外,因為有安全網的保護,反而能全心在照顧上,而不會擔心財務。 - [**商業思維學院**](https://bizthinking.com.tw/?ref=moradatajourney.com)[**商業思維銷售簡報實戰營**](https://moradatajourney.com/course-learning-sales-camp/),讓自己練習如何 pitch 自家產品的商業簡報,雖然現階段是在醫院內部,但是 ANSVA 簡報架構,在任何內部與外部的提案上都很有用。 - [**Ivan 系統思維**](https://sherlock1103.medium.com/?ref=moradatajourney.com),雖然因為新冠陽性,無法上到實體課,僅僅是參加小書房,就讓我打破自己的框架,系統不只是資訊系統,而是以流程或生態圈角度看整體影像與如何牽一髮動全身的變化,重塑了我的思考架構。 ### **2022年,有哪些事情可以更好?** - **沒有每個月進行財務的盤點**,今年放了比較多心力在生活習慣建立上與小孩的陪伴。財務這一塊反而忽略了。今年要建立財務覆盤的流程,盡量簡化,達到每個月都能進行。 - **沒有專心寫下我的使用說明書初版**,以前的我習慣 match 別人的目標,卻很少以自己能發揮的角度來選擇對的事情來執行,2022年執行專案,發現上自己的特質,喜歡人,容易與人打交道,雖然跟我內向特質有點衝突,但如果用自己的方式和人互動,我還蠻開心的。 - **沒有適當的放棄**,還是答應了太多事情,自己喜歡學習是一件好事,但是必須有所取捨。 - **沒有好好的與孩子對話**,當自己下班的力氣用盡後,對小孩的講話都是以命令居多。一直想有所轉變,但之前不得其法。時時提醒自己,哈克說的:「匆忙裡沒有愛」,2023 我要練習安頓好內在,不把上班的焦慮帶回家,能好好地轉換成陪伴模式。 ### **2022年我從中學到了甚麼?** - **降低補強思維,觀察與挖掘優勢** - 內向與高敏感的特質,讓我很容易發現自己的不足,因此常常會督促自己補強弱點,例如英文。因為是弱點,知道要補強但動力卻不足,年復一年的目標,卻一直離目標很遙遠。2022,完全沒有補強英文的念頭,反而去盤點思考,我的強項在哪邊,我可以和夥伴怎樣進行協作,讓整體的運作更順暢,而不是當我的程式能力沒有夥伴來的強時,就一股腦的補強程式能力。2022 感受當團隊異質性很高的人組合在一起的有趣,會發揮更大的效益,也觀察到雖然我對於事件聯繫溝通,因為瑣碎而常常心很累,但經過流程優化後,能讓瑣碎的事情不心煩時,蠻有成就感的。 - **原來賦權,不是要賦予權力,而是賦予自主性** - 今年自主決定要參與 SNQ 比賽,透過願景驅動,因為是自己決定執行的事情,遇到困難,就想辦法解決,發現因願景衍生出來的執行力,出來的拚勁很強勁的。讓我躍躍欲試,思考怎樣的引導與溝通,除了考量專案效率外,也能讓更多的自主性能發揮出來。 - **專注在自己可控的改變,雖小,但會帶來意想不到的複利效應** - 今年嘗試落實健康管理,我無法控制每天是不是要出去吃飯或在家煮,但我能控制備餐的流程。2022實踐購買後,就先把蔬菜都整理好的備餐流程,才發現自己當老公說要出去吃,自己心情失落的原因,在於明天午餐 211 餐盤沒沒有著落。因此當有了備餐流程,即使晚餐出去吃,明天還是能輕鬆地準備符合 211 餐盒的午餐。因為準備午餐不再困擾我了,年底我竟然也能準備屬於自己的早餐,因為早午餐的搭配以及超慢跑,看到體重往下轉折時,心裡的雀躍。專注在自己可控的改變,真的是我這一年實踐下來,覺得最受用的思維。 - **專注在家人後得到的幸福感,比上班得到的成就感,更讓我覺得幸福** - 過往我期望自己能在工作上能有很棒的表現,但發現自己即使在工作上表現再好,得獎都只是瞬間的快樂,回到家接到老師的電話時,無法陪伴小孩時,我心裡會有很重的失落感。2022年,我把部分重心放在家庭與小孩上面,雖然還是有可以更好的地方,但是累積了很多家人的幸福感,看到家人幸福的笑臉,可以陪伴我很久,面對工作上的挫折,反而有了強力的後援支持著我。 ### **後記: 2023 年我來了,嘗試建立適合自己的輸出流程與知識庫** 2023年想嘗試從我今年遇到的困難著手,從系統的角度思考,建立行動式的目標,希望這樣的新嘗試,能讓2023年的自己更享受自己的人生。 - **建立閱讀後的讀書心得產出流程**,發現自己很喜歡閱讀,但不是每一本都會產出心得,希望今年能活用 heptabase 這個軟體,透過建立讀後輸出流程,建立自己的閱讀知識庫。 - **每周覆盤**,將每天的小記錄,變成每週覆盤,覆盤的重點在於流程的優化,希望能將每周的覆盤和學習,變成小穗步電子報。 - 建立閱讀論文後的知識整理流程,活用 heptabase ,萃取閱讀文獻後,值得研究的切入點,希望2023年,能以這樣的方式發表一篇醫療論文。 - **建立舞台,讓夥伴有被看到的機會。** - **持續陪小孩蓋台鐵章遊台灣**,朝向一年 30 個章邁進。 - **練習用溫暖的口吻,引導出小孩的自主性**,持續跟著[李儀婷](https://www.facebook.com/mora.chen.1/posts/pfbid0bGvtgtYwd6SY2U1tSee9EJD3vKCq7QzVF8Vyyfzgwu7VPMg3u6PNGtSs4AFcnnePl?%5F%5Fcft%5F%5F[0]=AZWxTBhRIgJuAOTA4oGT6QGBinqnhz62qn1sqmb0b3WbBCbPZzXRkURSqp7O7XYHH44%5F1jzbmgyMi%5FyPdRquWqapKC1mTANMxzFZXSqtET%5FVcp3V6frUzkSqdKtNpfH7jOw&%5F%5Ftn%5F%5F=%2CO%2CP-R)老師學習。 ### 如何能完成工作事項,又能記錄目前最佳化的流程? | Evernote 新功能 To do list 不再有刪除線了!! URL: https://moradatajourney.com/evernote-todolist/ Last updated: 2026-07-16T17:20:45.000Z ### **To do list 的另類使用,記錄我最佳化的流程** 因為 Esor 的[《防彈筆記法》](https://moradatajourney.com/reading-bulletproof-note/),改變我的筆記使用方式,以前,只是將 To do list 當成完成的里程碑,記錄完成事項,現在,**活用 To do list 的功能,把這些流程記錄下來,變成一個可以優化的 SOP ,來幫助未來的自己**。嘗試幾周後,發現這個流程幫助很大,尤其是週期性需要完成的任務,例如我每隔幾個月就要開資料分析的課程,將每次開課前的事項紀錄下來,當下次開課前,我就依據之前的流程,進行操作,這樣可以做得又快又好,也不容易發生一些錯誤。 ![](https://moradatajourney.com/content/images/wp/2022/10/image-4-1024x523.png) 過往核取方塊,有刪除線 ### **核取清單,完成有刪除線** 之前使用 Evernote 的 To do list 功能「核取清單」,完成以”打勾”方式呈現,超有成就感,但壞處是只要完成,裡面完成的事項就會加上刪除線,其實很難很快看清楚完成整件事情的脈絡。 ### **Evernote 添加核取方塊,卻也沒那麼完美** 所以 evernote 又設計了另一個新功能,核取方塊,核取方塊,完成後註記,不會有刪除線,但是完成註記的方式,卻是打X,總是有點缺憾。 ![](https://moradatajourney.com/content/images/wp/2022/10/image-5-1024x724.png) 核取清單 vs. 核取方塊 ### **Evernote 10.46.7 有新功能出現,超愛這個小調整** 核取清單,不會在有刪除線了 !!太棒了,我不用再屈就使用核取方塊,完成不再看到一堆X 在記事裡面了。只需要把設定裡面的,記事功能裡面的刪除線功能不要勾起。 ![](https://moradatajourney.com/content/images/wp/2022/10/image-6-1024x498.png) 設定核取清單不要有刪除線 ### **後記:** #### **同時滿足監控事情完成的進度,與呈現過往最佳的工作流程紀錄** 當下一次在開課時,只要開啟這個授課前的準備筆記,就能很快地瀏覽一次,把上一次的勾勾取消,這一次再逐一執行過,如果有新的調整,也能一併記錄在上面,透過每一次一次的執行,創造出適合自己的目前最佳的工作流程。 ![](https://moradatajourney.com/content/images/wp/2022/10/image-7-1024x554.png) 新功能紀錄準備課程的最佳化流程 #### **快速抓回專注力** 如果執行過程中,中途需中斷,需要先處理小孩,有了這個流程筆記,就不用怕被打斷,抓緊下一個零碎的時間,就能很快地進入狀態,抓緊時間把工作完成,超愛因為閱讀[《防彈筆記法》](https://www.books.com.tw/products/0010929730?gclid=CjwKCAjwkaSaBhA4EiwALBgQaA4hWvFIaVg5gCtfSliGjjTl2D2xLSjGdOSW9FAnRpcstOM4bkRb7BoCCLwQAvD%5FBwE&ref=moradatajourney.com)後,工作流程的改變,也跟大家一起分享。 看到很多勾勾,真的有滿滿成就感,希望這樣的分享,除了幫助到未來的我,也能幫助到大家。 **各位讀者朋友您好,我是小穗步 Mora,電子郵件是** [**suipichen@gmail.com**](mailto:suipichen@gamil.com) **,如果你有任何關於資料分析與提升工作效率筆記,歡迎寫信跟我討論。** ### 《高效時間管理課》閱讀心得|安頓好自己的心,是通往高效時間管理捷徑 URL: https://moradatajourney.com/reading-time-management-course-1/ Last updated: 2026-07-16T17:48:29.000Z ### **閱讀契機:** 知道怡辰老師 是上完福哥教學的技術後,在 FB 上偶然看到怡辰老師的文章。我是個上班族,白天上班,晚上還要陪伴兩個孩子,喜歡煮飯的我,常常會在要不要煮飯和陪伴小孩中掙扎,老公還曾經說過“『如果你無法六點到家,那今晚就不要煮了,這樣會很晚吃飯,小孩功課會來不及。』其實第一次聽到的我有點生氣老公不太理解我,煮飯是我喜歡和工作下班的舒壓啊。因此,看到怡辰老師可以在課後,三寶媽,還能幾乎每天煮飯,讓我驚訝不已, 這是第一個契機,讓我對於怡辰老師的時間管理技巧非常好奇。 同時,下班後仍需要與國小生過招的我,需要不斷更新吸收怎樣引導與陪伴小孩,因為發現小孩是時間管理的大魔王,聽到老師接受高效人生商學院胤丞老師的專訪時,聽到老師說時間管理不只管理自己,更要管理家人,讓家人變成神隊友,就更好奇書本的內容。 ![](https://moradatajourney.com/content/images/wp/2023/02/img-cff12176379b.jpg) **安頓自己的心** **是高效時間管理的催化劑** [Photo by Puwadon Sang-ngern](http://: https://www.pexels.com/photo/crop-woman-with-heart-on-palms-5340280/) ### **這本書說甚麼?** 我喜歡研究時間管理與筆記法,怡辰老師這本書內化了很多時間管理的技巧,和許多時間管理的書籍不太一樣,教軟體工具的比重較少,而是著重在實際活用在生活中,透過老師實際應用的過程描述,原來FB 上感受到怡辰老師現在能好像如魚得水的穿梭在教學,家庭與經營北極星目標上都迎刃有餘,不是讀了書就馬上會了,而是透過長時間的累積與應用。 這些實例的紀錄讓我印象最深刻,尤其是培養神隊友的那一段,老師與先生在車上兩杯飲料的對話,更讓我佩服萬分,**老師沒有因為先生的大聲氣話而被激怒,而是好聲好氣地的示範該如何回話**,用一些逗趣的話語應對,讓氣呼呼的先生也笑了出來,這才是真是培養親密神隊友的妙招,這招好像面對小孩無理的應對,也是能如法泡製,讓孩子實際練習如何與人軟著陸的應對,而不是硬碰硬。 除了親密神隊友,看完書後我細細收藏的,還有 ### **安頓自己的溫暖話語與小秘訣:** #### **期限內的完美,剛剛好** 哈,這個小秘訣就用在這篇閱讀心得上,因為老師的線上分享會,一定要在某一個時間點前完成,才能參加,因為有期限,所以再怎樣都要寫出來。反觀<<防彈筆記法>>的閱讀心得,因為沒有期限,我反覆在字句上著墨,覺得哪邊可以更好,實際了兩個月,書寫又整整花了一周,才放上部落格,再次印證怡辰老師說的期限很重要,而期限內的完美,不只是金句,對我而言是好溫暖的一句話,我是個對”某些”事情要求完美的人,當聽到有人說,完成比完美重要,自己在內心的解讀,感覺好像不是全力以赴的感覺,而期限內的完美,先透過判斷事情重要性後與自身的限制下,安排多少的時間準備,而在準備的過程中盡力,呈現這段時間努力的完美就好,解了我之前心內的疑惑,反而更有動力完成。 #### **選擇性放棄,培養神隊友** 永不放棄,是從小聽爸媽鼓勵我們的話,提醒我們要努力,但是原來放棄在時間管理上好重要。這學期一開學國小的二寶在家與學校的步調還沒建立,接到老師電話提醒,放學後要協助孩子建立整理書包的習慣,要不然常常忘了帶課本和一些物品,但剛開學時,我和爸爸回到家常常處於沒電的狀態。 翻開我的子彈筆記手帳,看來只有午休時間可以調整了。而午休是我的Metime,我常把我需要學習的事物,安排在午休時間, 但想想,如果能陪伴孩子把一些規則先建立起來,後面不就會輕鬆很多? 所以我嘗試三周的時間,放棄我午休的學習時光,我選擇午睡,後來發現因為有午睡,下午的工作狀態好很多,晚上也能有體力陪伴小孩到睡著,經過三周的專心陪伴,孩子漸入佳境,少帶東西的次數減少了,睡覺時間也往前提了,最近的早上甚至可以跟著國中的哥哥一起起床。而我的學習時間竟然從中午轉變到晚上,當孩子能提早完成,書包也準備好了時,就是我沒有負擔的學習時光。 緊抓不放的東西放開後,反而找到更和諧的生活方式。 ### **後記: 讓生命中有更大的比例,朝自己的北極星前進** 讀完書後,讓我立刻行動的是,印下書中的人生50大目標(可以從[5款時間管理工具表:打造高效教學日常](https://flipedu.parenting.com.tw/teacher%5Fresource/145?ref=moradatajourney.com)中下載)的表單,慢慢逐一填入,之前的我,都是以年度來設立目標,沒有以人生的角度來設立目標,這一生我想過怎樣的人生? 我逐一寫下,買下第一間房,原來從年輕到現在,有些目標已經達成了,沒有記錄下來,好像過往曾經一關一關闖過的成就感,就飄移不見了,這個紀錄好重要,未來透過這樣的方式,也能確認我的行動是否和我的健康第一,家人第二,其餘第三的價值觀相符。有了管理技巧的方法,隨身帶上怡辰老師的安心錦囊,覺察情緒需要被接住時,就打開瞧瞧,就能繼續朝著北極星邁進。 每個人的需要安心錦囊妙計都不同,從怡辰老師的高效時間管理課找出你需要的安心錦囊妙計吧\~ ![](https://moradatajourney.com/content/images/wp/2022/10/image-2-1024x683.png) 博客來GO: [怡辰老師的高效時間管理課:心態×概念×工具,打造恆毅力的人生複利心法](https://www.books.com.tw/products/0010934693?sloc=main&ref=moradatajourney.com) - [怡辰老師與歐陽立中老師直播專訪](https://www.facebook.com/ohyoung129/videos/5261725803950893) - [高效人生商學院訪談怡辰老師老師](https://podcasts.apple.com/se/podcast/%E6%96%B0%E6%9B%B8%E8%A8%AA%E8%AB%87-ep-004-%E6%80%A1%E8%BE%B0%E8%80%81%E5%B8%AB%E7%9A%84%E9%AB%98%E6%95%88%E6%99%82%E9%96%93%E7%AE%A1%E7%90%86%E8%AA%B2-%E4%BD%9C%E8%80%85-%E6%9E%97%E6%80%A1%E8%BE%B0/id1621943244?i=1000578698972&ref=moradatajourney.com) - [5款時間管理工具表:打造高效教學日常](https://flipedu.parenting.com.tw/teacher%5Fresource/145?ref=moradatajourney.com) ### 《防彈筆記法》閱讀心得:閱讀後四個嘗試,實踐兩個月後讓我更能掌握生活與工作步調 URL: https://moradatajourney.com/reading-bulletproof-note/ Last updated: 2026-07-19T05:22:10.000Z 你也曾紀錄很多筆記,但累積越多,只有整理的心累? 工作上也會因為突如其來的任務,需要不斷切換任務,而覺得浪費不少時間? 上面的問題,在我心裡盤旋已久,這一路上都在嘗試與找答案,試著解決。 ![你也曾紀錄很多筆記,但累積越多,只有整理的心累? 工作上也會因為突如其來的任務,需要不斷切換任務,而覺得浪費不少時間? 上面的問題,在我心裡盤旋已久,這一路上都在嘗試與找答案,試著解決。](https://moradatajourney.com/content/images/wp/2022/10/S__204128267-768x1024.jpg) ### **為什麼我想看這本書** 去年轉職,從乙方到甲方,從政府計劃案到醫療新領域,從分析團隊到資訊部門,這些都不是我熟悉的事物,又接到醫院全新的業務,要將 AI產品申請成醫療器材,需要閱讀大量的法規文件,一開始我真的覺得法規很像文字天書,因為要更專注在不熟悉的業務上,覺得原本的工作流程需要打造得更高效,但當時市面上沒有對應經驗操作型書籍,只能慢慢地摸索前進。 同時,也發現工作常常越界到生活上,心思在工作上,等到連假到了,真的有時間了,才在想連假想要去哪玩都訂不到飯店的情形一再發生,常常會有放假沒有休息到的感覺。看到書封,防彈筆記心得是有一套簡單的輸出式筆記架構,保護高產出與高效能心流,讓我躍躍欲試,讀了後,才發現這本書不只是一套筆記架構,而是一條條實踐後的心得淬鍊,可以站在巨人的肩膀上,少一些摸索的時間,就能打造出適合自己的筆記系統。 ### **這本書在說什麼** 電腦站長 Esor 是一個專研時間管理與筆記技巧的專家,多年將自己的如何運用筆記法,提升自己時間上的運用,以及工作效率,而這本書集結 **Esor 將自己淬鍊多年運用筆記軟體時的一套工作思維與方法,淬鍊出一個有價值筆記的動態演化過程,包含五種類型,暫時筆記,知識筆記,核心任務筆記,經驗筆記與永久筆記**。萬事只要有起步就好,防彈筆記法,由暫時筆記出發,不需要先想好目標與架構,可以從解決問題的角度,優先紀錄,再慢慢長出適合自己的任務目標,當目標一多時,在思考是否要添加專案大綱筆記,來整合任務,透過專案的角度,進行任務目標彼此間的重要性,才能做出好決策,同時讓時間產生綜效的獨特流程。 ![](https://moradatajourney.com/content/images/wp/2022/10/img-914df2650ccc.png) 防彈筆記演化架構 by 小穗步 這本書的架構,也是落實這一套防彈筆記術的思維方法,從這本書要解決的任務,就是要讓大家可以習得如何透過書籍的原則與步驟,建構自己的筆記系統。首先,讓讀者先看到防彈筆記所帶來的改變與好處,再帶出防彈筆記的原則。因為有了原則架構,在談論執行細節的方法,讓我在讀的過程中,能不斷的思考,這麼做是對應到哪些原則,最後,再實際舉出工作上的例子,生活上的例子,讓大家可以實際落實在自己的生活與工作中。因為書中講解的內容清晰好懂,讓我實際感受到如果跟著執行後,可以獲得哪些好處,以下分享我收穫最多的三個嘗試,與大家分享實踐約兩個月後的心得與收穫。 ### **閱讀後的四個嘗試,讓我更能掌握生活與工作步調** #### **任何工作與生活上遇到的問題,先搜尋筆記庫,而不是 google** 這是我看完防彈筆記法,第一個躍躍欲試的一個部分,使用多年的 evernote筆記,把筆記軟體當作第二大腦,主要是收集與紀錄,每當工作上有問題時,需要找尋相關答案時,立馬總是開啟 google 搜尋相關經驗與解答,然後找到對的答案,深怕自己忘記,就利用 evernote 的網路擷取功能,收集在我的筆記系統中,在嘗試萬事先開啟 evernote 找答案時,才發現筆記系統中常常有一模一樣的筆記,雖然擷取功能很方便,但因為就是方便,所以反而只是記錄,而沒有達到活用的效果,也沒有在過往的過程中,累積成自己的知識。 搜尋筆記庫帶來的第二個好處,在找答案的過程,如果查到筆記有類似的答案,就是代表之前可能做過,有時就能解決當下的問題,如果沒有就能再優化,譬如我要煮一皮蛋瘦肉粥,我忘了上一次家裡吃完剛剛好的份量是一杯米?還是 0.8 杯米?就可以查找我的筆記庫,就跟著上一次的最佳紀錄先執行,大大節省煮飯的前置作業事情,也降低了家裡的廚餘量,如果小孩大了,吃不夠了,也可以事後更新在同一則筆記中**,這樣就不要太依賴大腦來作紀錄,大腦可以有更多時間用來思考。** #### **不再依賴自動化截取功能,而是用自己的話轉化與紀錄筆記** 因為上面實踐後的新發現,擷取功能的壞處,只有紀錄筆記,發現後,一直在腦袋打轉,可以怎樣活化筆記的內容為我所用。聯想到**<<**[**卡片盒筆記法**](https://www.books.com.tw/products/0010922143?sloc=main&ref=moradatajourney.com)**\>**\>這本書中,提到轉化的步驟,書中提到要**讓閱讀的內容為自己所用的關鍵,就是不能只是複製下來,而是必須要用自己的話,記錄下來。** 實踐後,現在的我很少使用擷取功能,反而強迫自己停下來閉上眼,用自己的話記錄在筆記系統中,短時間來看跟擷取資訊相比,這樣做真的很花時間(當下感覺很沒效率),但實踐後發現,因為有轉化,我的新筆記的數量不會再增加那麼快,筆記更新的數量反而變多了,下一次遇到同樣的事情,有更大的機率,只需要透過筆記就能回答,不會再有那麼大的比例需要查找 goolge**。** 轉化的停頓的另一個好處,**讓我去思考為什麼我要 google 這個問題,主要是解決哪一個任務? 透過自我提問,讓我找出對應的任務筆記,直接把 google 到結果記錄在對應任務筆記順序中**,再把對應的出處紀錄上去即可,而不是開一個新筆記,整個擷取下來,再把這個筆記連結到其他筆記中,只是連結卻無法立刻產生出下一步行動。 這個練習,觀察到自己的一些行為盲點**,覺得現在就要快,但卻忽略現在的快,卻會拖累未來的自己,反而需要花更多的時間,做相同的事情。** 我把這個學習,立刻使用到工作中,發現工作中常會發生解決同樣的問題,查找同樣的內容,立刻把相關的執行流程整理下來,不僅對自己有幫助,也能對後續接手的同是有幫助,能做到知識的傳承。 #### **行動標籤,協助我快速找到下一步行動,鎖住我的專注力** 標籤你都怎樣運用?之前的我都把標籤拿來做分類,喜歡做菜的我,常會看到喜歡食譜就蒐集下來,但是發現自己,因為只是單純的收集,想要煮哪一樣菜的時候,還是習慣開啟 google,因為書中的啟發,讓我調整筆記系統的標籤架構,**從分類概念調整為行動概念為主的標籤**,原本每到食譜都會標註這到食譜裡的食材分類,比如皮蛋瘦肉粥,使用的標籤就會用肉與蛋,這樣分類真的很累,後來的食譜我都沒有分類了。 ![](https://moradatajourney.com/content/images/wp/2022/10/img-0417c535acac.png) 標籤的演化,從分類轉為行動 也發現煮飯多年,但全職媽媽,不強求自己每天都煮,讓自己能偶爾休息,有時候會忘記,有時候想要精進哪一道菜的煮飯技巧,但卻想不起來哪一道菜我需要再練習,所以煮了很多年,如果問我有甚麼拿手菜,我都記不起來。所以最近的我,把自己的煮飯行動標籤,分成三類,包含尚未做過\_待嘗試,需精進與可上菜囉,如果有朋友要來訪,就可以點開可上菜的清單,就可以很快的煮上幾道我覺得口味不錯的菜,讓大家盡興的在家吃飯。 #### **以任務目標為導向的筆記,讓每一個行動都聚焦在目標上前進** 生活也能創造出任務目標,這是我從防彈筆記裡面,新學到技巧。每年的出遊,我都會事先準備,然後事後作紀錄,每次出遊就是一個新的筆記紀錄,一開始在羅列生活型態的任務目標時,真的有些困難,因為出遊就好像單純是工作之餘的休閒,沒有特別的目的,但停下來再問問自己,「為什麼每次出遊,我都會想記錄下來?」,因為我想保留這些與家人出遊的美好回憶,原來這些隱藏在背後的動機,就是我的生活中的任務目標,因此我產生了一個名叫**累積家人情感存摺的任務筆記**,同時也是我的專案大綱,每一次的出油紀錄就會同步連結到這邊,書中的建議,如果下次出遊時,去到同一個地方,也是 ok 的,這樣就可以根據筆記紀錄,之到上次去了哪些地方,那些地方上未去過去,可以再去,哪些地方可以更深入的體驗,也是因為有這個改變,從筆記庫中發現了老公曾經提出想去鶯歌玩,就把鶯歌設計在生日旅遊裡面,今年的旅遊讓老公開心了很多天,發現任務目標的重要性,也就不會糾結在出去玩有沒有吃到好吃的,只要跟家人出去都是很棒的旅程。實踐後真實對應到作者所說的,**「生活不一定是零散的雜事,可能只是我們沒有為自己的生活找到目標與任務。」** ![](https://moradatajourney.com/content/images/wp/2022/10/image-300x219.png) 生活型態的任務目標 ### **後記: 有價值的筆記能讓我們掌握生活,讓生活活出幸福感** Esor 在[《防彈筆記法》](https://www.books.com.tw/products/0010929249?sloc=main&ref=moradatajourney.com)中提到他對筆記**價值**的定義,**「有價值的筆記,是解決問題,留下經驗的筆記。」**而要怎樣紀錄筆記讓筆記產生價值的具體步驟和小秘訣,都記錄在這一本書中。 這本書的強大力量在於,讓我在實踐兩個月後,就能立刻讓我感受到明顯到生活與工作上所帶來的改變,透過筆記紀錄,縮短自己在規劃家庭旅遊的時間,透過筆記系統,每天到公司第一件事就是開啟evernote,按下捷徑中的,工作每日推進的標籤,就能馬上鎖定工作最近要推進的事物,很快地就進入的工作狀態中,因為有筆記,發現自己大大降低工作上查找資料的焦慮與煩惱,省下的時間讓自己能每天準時下班。 這明顯的改變主要的關鍵在於,書中所闡述的內容和一般筆記法不同,書中點出的運用訣竅,都是Esor在落實筆記記錄過程中,實際遇到的困難點,然後作者透過筆記紀錄下來,再嘗試新的方法,再記錄下來,透過不斷迭代出來的運用訣竅,所以在實踐這些訣竅的過程中,不容易有卡卡的問題,不適用於自己的系統的問題。 如果你現在在也想打造一套屬於自己的高效生活與工作的系統,非常推薦這一本書,讀了這本書,就是站在巨人的肩膀上面,不用再跌跌撞撞的嘗試,可以優先實踐有感的步驟,在逐步優化迭代出更適合自己的筆記系統。 如果你也想提高人生時間運用的效率,讓自己有更多時間思考,可以先翻閱<<[防彈筆記法](https://www.books.com.tw/products/0010929249?sloc=main&ref=moradatajourney.com)\>>的大綱唷。 祝福我們都能讓生活慢慢長出幸福的感覺。 ### 學習筆記|資料分析平台轉型-從集中式datalake到分散式 data mesh URL: https://moradatajourney.com/datalake-to-data-mesh/ Last updated: 2026-07-16T17:38:31.000Z 分享者: 呂欣學—Patrick Lu /Trend Micro/Global Lead Architect for data and AI/ML ### **為什麼我會想聽這個分享?** 醫療數據累積很快,醫院端需要做研究,目前的方式大致上有兩種。 1. 資訊部門直接協助 : 一種是有需要的人,直接找資訊部門,請工程師直接撈取, 2. 集中式研究資料庫: 特別準備一個資料庫,將院內資料,定期備份,集中式處理至研究資料庫,有一個使用介面,讓研究使用者自己撈取,有一個 data research menamgement 來做處理,這個量少的話應該使用上還蠻方便,只是時間一旦拉常會遇到, data duplicate 的問題。 這是我觀察台灣醫院的現況,看到這講題很好奇,國外營運的公司為什麼想從集中式,改道分散式,是因為遇到怎樣的問題和挑戰,又打算怎樣解決? 這個分享很療癒,在數據激增的現在,大家都共同面臨到資料產生價值的挑戰,今天了解 data mesh 這個原則概念,雖然我是統計背景出身,對我也有很多啟**發。** ### **大家面臨到資料產生價值的挑戰** **從資料產生價值的生命週期長** 數據集中式管理,資料在使用上,還是有分散與孤立的問題,有了資料,但要使用資料來解決問題前,我必須要了解資料特性與來源,資料集中管理者,不一定了解資料,可能還是要回到源頭,去找業務端的開發者,才能了解資料是如何來的,有人或許會說可以看文件,但通常工程師文件不會寫太好,也不太願意寫文件。 所以如果要讓資料要能產生價值的,找到正確的 team ,問到正確的人,拿到正確的資料,如何設計出這個流程架構,來讓這個流程更容易,這是必須要面對的問題。 ### **What is Data Mesh?** Data Mesh 這個名詞,是由 ThoughtWorks 的 Zhamak Dehghani 提出,於2018年她在部落格文章 “[How to Move Beyond a Monolithic Data Lake to a Distributed Data Mesh”](https://martinfowler.com/articles/data-monolith-to-mesh.html?ref=moradatajourney.com) 中,首次闡釋 Data Mesh 的概念。Zhamak Dehghani 一直從事推廣 Data Mesh 的工作,也是主要的倡導者。 Data Mesh 實際上是一組數據平臺架構原則,融合了分佈式領域驅動的架構(Distributed Domain Driven Architecture)、自助平臺設計(Self-serve Platform Design)以及將數據視爲產品(Thinking Data as a Product)的思維。\[1\] (這邊有很多名詞,我都不熟,就先貼上來,後續可以方便反芻。) ![](https://moradatajourney.com/content/images/wp/2022/08/image-15-1024x569.png) 資料交互使用的示意圖,資料來源\[5\] 換句話說,就是以應用目的為終點來設計數據平台,讓數據使用者有能力獨立使用這資料,發揮數據價值的一種數據平台的設計原則,但要怎樣做,有很多做法可以執行,在分享中,Trend Micro 目前是以 Starbrust 所提供的解決方法,進行 data mesh 的 POC ,好像還有其他的公司也有類似的產品,如 Dremio 與 Databricks Lakehouse等,剛剛找到一個[網頁](https://sourceforge.net/software/compare/Databricks-vs-Dremio-vs-Starburst-Enterprise/?ref=moradatajourney.com)\[2\]有把這三個公司進行依些比較。 ![](https://moradatajourney.com/content/images/wp/2022/08/image-13-1024x671.png) Dremio 、Databricks Lakehouse 與 Starburst 的比較\[2\] **統計背景的我,對於系統架構不熟,但從中仍有收穫很多**。 ### **我的三個收穫** **1.以始為終的,以 data product 的角度出發,設計數據管理平台** 以前大數據剛開始時,不管三七21,只要未來可能會用到的,線上線下的都收集起來,現在資料量激增,如何更有效的管理數據,讓數據能發揮價值,是大家都需要解決的問題。而 data mesh 就是基於這樣的信念下,所產生的一種資料治理的原則,以業務端的角度出發,以 data product 為單位來整理資料,讓 data consumer 可以更好的進行運用,**這是一種思維上的改變,從收集的角度,轉而以應用的視角進行資料建置與處理。** ![](https://moradatajourney.com/content/images/wp/2022/08/image-14-1024x632.png) data mesh 資料流架構簡化圖,資料來源\[4\] **2\. data 是很有 power,透過好的平台架構賦能於人,讓每一個人都能進行 self-serve data analytics,加快資料產生價值的生命週期。** 目前一個系統都是一個資料庫,但要將數據價值擴散,一定是要串起不同的資料庫,才能讓資料發揮效益,讓我回想起,最近公司健檢數位化的過程,因應業務需求,獨立建置了很多系統,各自系統有各自的資料庫,但要檢視整體健檢流程中,哪邊可能發生瓶頸時,讓後續的健檢流程能更好,就必須串連這些資料庫,才能觀察出端倪。 目前所有撈取資料的過程,幾乎都仰賴工程師,但是工程師或分析師,並沒有業務的背景,必須不斷地來回確認,相對耗時,如果能將這些資料庫串接起來,搭配好的工具,讓業務端能根據自己的痛點,透過資料來找出問題點,一定能加快資料產生價值的生命週期,**讓業務端自己進行資料分析與應用,一定是未來的趨勢。** **3.小公司雖然暫時不適合導入這樣的技術,但可以透過 SQL view 產生虛擬的 data product layer。** 在資料庫系統中, 適當使用 View可以減少 Data Duplicate 的問題,也可以解決資料散落在不同資料庫的問題,對於使用者來說,不需要了解這張表的資料是從哪一個資料庫來,可以專注在思考資料特性與解決問題的任務上。 ### **後記| 我會在公司中推廣這項技術?** 要不要推動一項技術,目前會從三個面向來考量,**規模化、常態化和高門檻**。 **1.規模化** : 數據是否達到一定的規模,當有一定的規模,才需要採用這樣的數據。 **2.常態化** : 目前資料的輸入與輸出使用的頻繁程度是不是很高? 如果不是很高,或許目前集中的方式,還能負荷也不一定要導入新的技術。 **3.高門檻**: 運用 data mesh 這些技術必須要搭配好的資料基礎團隊來維運,且在公司文化上,必須進行從上而下,由下而上的資料思維同步,打造整個流程的作業標準,門檻是高的,如果公司在實務上有需求,在人才充足的情況下,是可以導入,解決目前資料管理上與應用上的痛點。 目前採用 Data mesh 的公司,包括[Zalando](https://databricks.com/session%5Fna20/data-mesh-in-practice-how-europes-leading-online-platform-for-fashion-goes-beyond-the-data-lake?ref=moradatajourney.com)、[Intuit](https://medium.com/intuit-engineering/intuits-data-mesh-strategy-778e3edaa017?ref=moradatajourney.com)、[Netflix](https://www.youtube.com/watch?v=TO%5FIiN06jJ4&ref=moradatajourney.com)、[JPMorgan Chase](https://www.dremio.com/subsurface/implementing-a-data-mesh-architecture-at-jpmc?ref=moradatajourney.com) 和 Trend Micro,有興趣的人可以在這些公司的分享中取經,透過規模化、常態化和高門檻來評估,我目前不會在公司採用 data mesh 這個架構,但是會想嘗試使用**SQL view 產生虛擬的 data product layer**,試試看將 data 是為 data product 的效果,以及是否能加快資料產生價值的生命週期。 **參考資料來源:** [1.Data Mesh,數據架構的下一個變革!](https://www.readfog.com/a/1637250438557437952?ref=moradatajourney.com) [2.Databricks Lakehouse vs. Dremio vs. Starburst Enterprise Comparison Chart](https://sourceforge.net/software/compare/Databricks-vs-Dremio-vs-Starburst-Enterprise/?ref=moradatajourney.com) [3.今天社群分享在FB的直播影片(不知道何時會被下架)](https://www.facebook.com/groups/datasciencemeetup/posts/5460480194041595/?%5F%5Fcft%5F%5F[0]=AZWUTYOR4PR2DxU-6vT5AFEKPe2Nfq3AzVygzNOkYcPTG%5FlWx4k5ffZ-MVUj7RoPFwyFtwBfuPidVwxzVHPkk%5FYJsShp7cXWhJFysh6ATP4ETntgyPAtokqjFkDkQmK2S6sLNHez9kSsn%5FKZShk47eWsoWy9Ox3RF8JQSzeQfOpzMvFSd3zbiOYZQVE135DyurDAzqS%5FSydCqgdDNeRnIoyW&%5F%5Ftn%5F%5F=%2CO%2CP-R) [4.Data mesh: all you need to know about distributed data delivery](https://www.n-ix.com/data-mesh-all-you-need-to-know/?ref=moradatajourney.com) [5.How a Data Mesh Approach for a Financial Services Organisation Put Data at the Core of Innovation](https://www.mesh-ai.com/blog-posts/data-mesh-approach-for-financial-services-put-data-at-core-of-innovation?ref=moradatajourney.com) [6.Data Mesh — A Data Movement and Processing Platform @ Netflix](https://netflixtechblog.com/data-mesh-a-data-movement-and-processing-platform-netflix-1288bcab2873?ref=moradatajourney.com) ### 四十一。穗| 「是的,這就是我」,讓我更了解我自己 URL: https://moradatajourney.com/forty-one-years/ Last updated: 2026-07-16T17:48:30.000Z 以反思為題的生日禮物, 就像是規劃一場定期的旅行, 只是旅行的目的地是自己。 愛上持續自我對話的儀式!! Hi, 我今年 41囉,你今年過的好嗎? 41歲的生日文很特別,趕上流行,7月31號新冠試劑上面的兩條線,整整七天,連採買與倒垃圾都不行,原本被這樣突如其來的意外,打亂的這兩周暑假的規劃,但轉個念想,意外也是一份生日禮物,這禮物是時間,讓我有時間寫下生日文,同時,好好的保養身體跟自己相處和回顧這一年。昨天因新冠身體不太舒服,好久沒有早早睡覺,然後睡到自然醒了。 ### **是的,這就是我|這個關鍵密語,讓我與自己更靠近** 40歲,才正式邁入認識自己,原本參加李崇建老師工作坊,是希望讓自己與孩子有更好的對話,沒想到是實踐認識自己之路的開端。 一年過去,我仍無法全然的認識我自己,發現有些地方,有些抗拒,現在還無法碰觸,有些地方,因與自己對話鬆而慢慢鬆動,並且透過行為慢慢的實踐與發生小改變,發現改變後,向內做了一些盤點,我問自己: **「** 從覺察,轉而有行動,中間還有怎樣的觸媒,讓這件事情發生?**」** 思考許久,我想應該是接納與承認,**「**是的,這就是我**」**這個步驟。今年的兩個覺察後的實踐,想透過每年的生日文,記錄下來,留些成長的足跡,可以回憶這時候的我。 ### **是的,這就是我|我不習慣講出自己的需要** 我不習慣講出自己的需要,因為內心隱藏著一種觀點,覺得別人要能理解我的需要,才代表有重視我。孩子今年的一句話打醒了我,**「**媽媽你喜歡什麼?**」**,才發現即使是每天生活在一起的孩子與伴侶,也不一定會知道我喜歡什麼。 慢慢抽絲剝繭自己內心的想法後,覺察自己有這樣的渴望,得到別人重視,與孩子的對話中出現了 A-ha,**「**覺得別人要能理解我的需要,才代表有重視我。**」這句假設好像是錯的**。別人不理解我,很大部分是我沒有明確講出我的需求,他無法從行為等觀察到,但不代表他不重視我。發現後,我開始慢慢地開始練習講出自己的需求。 ### 從最親的人開始練習起 41 歲生日的前一周,自己**主動**提醒孩子,媽媽生日要準備媽媽的生日禮物,我知道妳們還沒賺錢,我只要卡片就可以了(具體可行)。孩子馬上就說: **「**我不太會寫卡片,不知道要寫什麼?**」**我回:**「** 沒關係,可以搭上你們各自的創意與特色就可以。**」**哥哥馬上說: **「** 那我用英文寫卡片給媽媽。**」**被刺激到的弟弟,馬上說,**「**那我用摺紙或剪紙設計卡片給媽媽。**」** ![孩子送我的41歲生日禮物](https://moradatajourney.com/content/images/wp/2022/08/img-f538112afdc6.png) 孩子送我的41歲生日禮物, 愛心置物盒,英文生日卡片。 結果,生日那天,因為講出自己的需求,我收到的禮物比我預期的多,孩子還精心畫了藏寶圖,要去尋找,才能找到孩子特製的兩張卡片。這實踐練習,我收到超正向反饋,勇敢講出自己的需求,孩子因著需求找到的方向,知道怎樣做。 這覺察後的小調整與實踐發現, **愛的需求,是需要很明確的表達出來。** 你有多久沒有說出愛的需求,可以試著說說看,說不定也會有超出期望的回應。但沒有也沒關係,因為每一個人都又拒絕的權利,如果設定好這個心理界線,好像開口講出需求,就不會又受傷的感覺。 ### **是的,這就是我|我不喜歡在別人面前示弱** 以前的我總覺得,示弱是一種弱者的表現,會被看不起。年輕時,以個人貢獻者角色居多,還能好強,新技術我可以學,但進入40後,發現體力的確會大幅下降,有家庭要照顧,必須要用更聰明的方式,讓工作上有成果。 41歲,幸運的我,因團隊教練夥伴的引導,讓自己試著抽離工作細節,技術部分讓夥伴執行,才能有更多時間練習觀全局,把向上管理的部分,做的更多一點。當夥伴發現新的技術時,多點好奇,**「**這個技術你從哪邊找到的,挺不錯的想法,感覺很適用我們的情境。**」**同時也示弱,**「**這我還不會,你可以告訴我怎樣執行嗎?**」**通常,這樣的問句,因夥伴可以分享他們所學,反而讓夥伴帶來滿滿的成就感, 因為這樣的改變,夥伴會更容易跟我分享,他看到的新事物,並主動在工作換檔的零碎時間,會做新的嘗試。因覺察我不喜歡別人在別人示弱,但我練習開口,稱讚別人,並明確說明哪些項目我需要你的協助。 實踐後,發現示弱是一種超能力,是一種讓團隊能補強你短版的超能力。 這個覺察與實踐,幫助我很多,不再卡在任何事情都必須要自己先學會,自己必須先知道,這樣壓力真的很大,自己也容易變成是團隊的瓶頸。 **工作上的示弱,夥伴才能補足我的短版,同時凸顯夥伴的強項,實際建構一個 team work** ![](https://moradatajourney.com/content/images/wp/2022/08/pexels-miguel-a-padrinan-3785935-3-1024x681.jpg) 團隊合作 team work | 圖片來源攝影師:Miguel Á. Padriñán: https://www.pexels.com/zh-tw/photo/3785935/ ### **後記:**一場只與自己賽跑的人生 新冠真是一份禮物,哪都不能去,不用花心思想著,家裡缺什麼,晚上要不要去補貨,不用倒垃圾,家裡電視剛好也壞了,身體慢慢恢復了,小孩身體也跟以前一樣充滿活力。這就是所謂的天時、地利、人和。 安安靜靜的回顧自己一年,有什麼改變,也持續實踐,小步優化,看到自我成長,希望未來的自己,在生活與工作上,能更無礙的講出自己的需求與適當的示弱。 **透過「是的,這就是我」,接納自己後,嘗試小步實踐,持續發現我不只這樣。** 給自己一小段時間反思的感覺真好,遠離手機,打開筆記工具,在每年生日送自己一份反思禮物,透過反思,看到自己的小進步,才能持續面對未知的挑戰。 你的人生一定也有小成長,給一自己一段的獨處時間,記錄下來吧?也可以在下面跟我分享你一年來的小成長。 #與自己對話 #認識自己是一輩子的事 #生日快樂 ### 課程心得|人生必學的理財八堂課 URL: https://moradatajourney.com/eight-lessons-about-financial/ Last updated: 2026-07-16T17:48:31.000Z **建立具韌性的財務安全網,把日子過成喜歡的樣子** ### **我為什麼想上這一堂課?** 打造全方位的理財知識 從小理財我走保守路線,以存錢居多,雖有小參與股市,但主要是測試自己承擔風險的能力到哪。當進入不惑之年,有時候聽到身邊的人,可能因為生病後無法工作,沒有收入,生活品質下降,也有人因金錢運用不當,差點毀了一個家庭,聽到身旁的案例,人生很像玻璃杯,容易因外力不小心掉到地上,就壞掉了。 心裡其實一直在想,那是不是有一個方式,面對人生中的各種不確定性,都能更迎刃有餘的面對,心想會有這樣具韌性的資產防護網存在? 為了找尋這個答案,我上過綠角老師的《退休資產管理》,但主要談退休的資產管理的部分,看到柏峰老師的課程大綱,投資只是課堂中的一部分,涵蓋的面向更廣,為了系統性的打造自己理財的知識網,而報名了李伯鋒老師人生必學的理財八堂課線上課。 ### **這堂課上什麼?** 人生必學的理財八堂課的老師,是由李柏峰老師教授,也是 台灣 ETF 投資學院的創辦人,透過研讀投資相關論文,傳達他鑽研多年的 ETF 的相關知識外,但要過好人生,不知需要投資這檔事,其實要知道的面向很多,因此,峰哥希望設計一堂基礎課程,讓大家對於人生理財有基本的認識,因為理財是人生必學的知識,但很多人都遇到了事情後,事後才知道,理財很多面向,事後知道時,很多時候都無法彌補了。 峰哥依據人生的成長路徑,教授人生的須知的八個面向的理財知識,包含儲蓄、支出、稅務、保險、價值、信用、投資與退休,這是一堂精心設計的課程,有很多的盤點任務,透過這些任務,讓我更了解自己目前的財務狀況與信用狀況,最後一堂工作訪,實際分析個案,讓大家很燒腦的運用這八個面向知識,分析現況與目標的差距,運用現在有的資產,設計一份後續可以執行接近目標的理財規劃書。 上完課後,發現原來我想要運用理財打造出的安全網,不是遙不可及的,透過認識自己與有紀律的執行,是可以做得到的。 以下分享我從課堂中學習到的四個觀念,以及它引發我的思考之後帶給我的下一步行動。 #### 1.**記帳大有用處,人生理財的第一步** 記帳多年的我,已經能抓到每個月的開支,因為我和先生本來就是物慾低的人,不太會亂買東西,雖然知道累積記帳很有用,但是卻不知道可以怎樣在更活用這些資料,讓我人生過的過得更好。原來記帳是存定存梯的很好基礎,有了記帳的資訊,因此,我每個月的定存梯設定為每個月的伙食花費,當生活有些變動的時候,至少有每個月的定存可以支應生活必須花費,每季或每年的定存梯,就會是比較大筆的醫療花費等,臨時大筆支出時可以用得上。 除了定存梯用的上,退休後,每個月需要多少的基本花費,以記帳的每個月的平均開支來反推,透過通膨計算器\[1\],計算當未來退休時,我每個約需要多少錢來支付退休後的每個月的開銷,如果你還沒開始記帳,很推薦至少記個幾個月,再透過鋒哥教授的內容,只要完成課程中的作業,你就會有一份退休時的初版規劃書。 #### **2.人生風險是可轉嫁的** 雖然我學統計,知道風險,但卻還是很容易忽略一些小機率,卻帶來大風險的事件發生。如生病,失能,身故等等,雖然知道風險需要分散,需要轉嫁,但是保險是一門大學問,如果沒有了解的很透徹,很容易被保險服務員推著走,有時候會設計出你不一定需要的保單,或者保障不齊全的保單。鋒哥用不同的角度,再次點醒了我,在資金有限的條件下,還是可以規劃保險來轉嫁人生風險的,而不是完全不規劃,例如,有騎車開車就一定要保第三責任險。可以根據以下原則盤點自己的保險現況,**保大不保小,保近不保遠,保足不保全**,尤其是最後一個口訣,**保足不保全,**整個打醒了我,根本就沒有可以保全這件事情,因為保全是需要花大錢的,只有自己透過評估自己手頭上的現金流,決定怎樣才叫保足。 #### **3.從現在開始,是可以打造出退休所需的生活費** 這次上課,我算年紀偏大的學員,其他的學員都很年輕,之前我總是想,現在的我開始累積退休金,應該是來不及了,因為和年輕人相比,我的時間複利少了很多時間,可以累積。原來只要開始就不嫌晚,且因為年紀大了,更了解自己的個性,也有一套自己的存錢方式,只要現在開始,透過複利計算器\[2\]推估,我退休時每個月生活費為輸入參數,原來我是可以打造出人生防護網,當下推估是可行的時候,心裡非常激動,因為當目標具可行性時,行動力才會大大提升。 #### **4.我們要拿這些錢做什麼? 才能釐清夠不夠這件事情。** 第四個也是最重要的提醒,大家會一直累積財富,都是因為老了害怕不夠,總是希望越多越好,但要多少才算足夠? 這沒有標準答案,需根據你的需求才能回答這個問題,累積了這些退休金或者存這些錢要做什麼? 要當小孩的教育金?要當老年的生活費? 退休的出國旅費?還是有換房的打算? 每一個提問,就想石頭一樣,打到我的腦中,激起陣陣漣漪,不斷思考,現在努力工作,這些錢要拿來做什麼? **我有把錢變成喜歡的模樣? 不是只有存起來放!!** 現在的我,除了退休金,還需要考慮小孩教育金,家裡現在是中古屋,之後是不是有需要換房等等的議題,但在忙碌的生活中,卻沒有騰出足夠的時間好好的想一想。 幸好,上了課,逼自己想了這些問題,對於賺錢與花錢有了不同的想法,也發現自己原本重視的家庭教育,也是增加資產韌性的一個重要環節。要過好人生,理財、家庭教育與健康存摺缺一不可,幸好現在知道,現在就開始累積與改變。 ### **持續實踐,打造適合我的人生安全網** (1)重新打造現在需要的定存梯,已經設好google 日歷,提醒自己,目前已經完成大約 80% 的定存梯囉。 (2)開始研究 ETF 這件事,已經設定好路徑,接下來會進行小型的測試,訓練自己的紀律性。 (3)把每一個提醒,寫入子彈筆記的每月反思中,提醒自己金錢的收支管理是否有偏離。 (4)主題式設計陪伴小孩成長,至18歲時,他們能獨立生活是我現階段的目標。 ![](https://moradatajourney.com/content/images/wp/2022/06/img-7751637c338e.jpg) 新版每月反思子彈筆記 如果你也想打底自己的理財知識,很推薦上這一堂課,課堂不會報名牌,但卻給予大家可以依循判斷的參考原則,讓你後續面對到類似的問題,可以找到一些線索,找到行動的下一步,飲食有吃到飽,沒想到課堂中竟可以問到飽,還有課後的社群互相支持的,相信如果你能更了解自己想要的生活,就可以找到讓人生更好的下一步行動。 ##### **文中提到的小工具與課程:** 1.[消費者物價指數(CPI)漲跌及購買力換算](https://estat.dgbas.gov.tw/cpi%5Fcurv/cpi%5Fcurv.asp?ref=moradatajourney.com) 2.[複利計算器](https://www.investor.gov/financial-tools-calculators/calculators/compound-interest-calculator?ref=moradatajourney.com) 3.[人生必學的8堂理財課(夏季班)](https://www.accupass.com/event/2204180221001535415748?ref=moradatajourney.com) 4.[綠角課程](http://greenhornfinancefootnote.blogspot.com/2012/02/greenhorns-investment-class.html?ref=moradatajourney.com) ### 幸福不是在家庭與工作二選一 URL: https://moradatajourney.com/book-lean-in/ Last updated: 2026-07-16T17:20:47.000Z #### **破除 「兼顧一切」的幻想,而是問自己「我能為自己和家人做最重要的事情嗎?」把自己放入考量裡。** \* 為什麼我想讀這本書? \* 這本書在說什麼與我的收穫 1\. 同樣的問題,會因為背景與風險不同,就會做出不一樣的決定 2\. 設限,是我們的責任,可以有彈性地堅持自己的底線 3\. 只在重要的事情,做完美主義者 \* 給自己 我喜歡閱讀, 因為我常常在閱讀中找到前進的力量與思維上的轉變, 這個月閱讀「挺身而進」這一本書, 是 Facebook 的營運長雪柔、桑德柏格(Sheryl Sandberg)所撰寫的, 在這本書中,看到高階科技主管的女性在家庭中的掙扎, **破除幸福只能在家庭與工作二選一的想法, 而是嘗試問自己「我能為自己和家人作最重要的事情嗎?」 把自己也放入選項裡, 才能做出對家庭與自己最好的選擇。 因為只有自己知道甚麼是最重要且不能失去的。** ![](https://moradatajourney.com/content/images/wp/2022/06/image-8-771x1024.png) 挺身而進 ### 為什麼我想讀這本書? 這本書在2013年出版,回想這時的自己正一邊工作,同時一打二,照料一個剛出生的小孩,一個需要接送早療的小孩,我想當下的自己一定不會想看這本書,因為我會對這本書有先入為主的觀念,偏向抱持著反面的立場,要女性放下家庭的比重,接受工作上的任何挑戰,當時的我真的覺得,真的不可能。 但最近剛好看到這一篇文章,[LEAN IN 之後的人生,是夢想?還是幻想?](https://careher.net/after-lean-in/?ref=moradatajourney.com),激起我的好奇心,2020年的我,孩子已經大了,現在也試著做人生的另一種體驗與嘗試,現在的我看了這本書,和7年前的我相比,會有甚麼不同的心境和想法? ### 這本書在說什麼與我的收穫 好奇,讓我翻開了這本書,打開後,就放不下了,這本書紀錄過往雪柔在工作與家庭中的掙扎、決定與反思,以及即使她知道自己鼓勵女性外出工作,會收到很多負面的意見,還是要挺身發聲的勇氣。在閱讀這本書時,隱隱約約看到過往自己的影子,每當在家庭與工作中必須做抉擇的時候,都會有的內疚,擔憂、焦慮與拉扯,深深被這些小故事給吸引住了,但讓我收穫最多的是,女性在生活與工作上在決策的思維與價值。 #### **1\. 同樣的問題,會因為背景與風險不同,就會做出不一樣的決定** 每次我們做決定的時候,都會有種做了這個決定,就不會再改變了的想像,所以做每一個決定的時候,都會小心翼翼,深怕自己犯錯,雖然雪柔鼓勵女性不要放棄職場的工作,並且勇於當領導者,但是在這本書中,她也曾做出家庭優於工作的決定,這是發生在2006年,LinkedIn 創辦人邀她擔任執行長一職,當時她正預備懷第二胎,自認為無法兼顧新工作與懷孕,因為她有了第一胎的經驗,所以她婉拒了,等待孩子平安落地後,再來迎接更大的挑戰,雪柔第一胎選擇工作,第二胎選擇以孩子為重,一樣的場景,但因為風險的不同,做了不同的決定,所以同樣的問題,但因為背景與風險不同,所做的決定就會不一樣,人生中做決定不是像擲骰子一樣,二選一,而是要釐清風險,才做出最好的決定。 我回想孩子長大的歷程中,我面對到工作與家庭中的選擇與掙扎,不曾少過,但我每一次的選擇都不一樣,剛搬到台中之時,我放下工作,先熟悉環境,先到孩子的國小當志工,因此熟識了很好的朋友們,在帶領孩子前進的路上,給了我很多寶貴的經驗,感覺一切準備就緒後,我就全心全意地投入職場,直至2020年又重新做一次選擇,和先生有共識先把小孩子的習慣和基礎知識打好,最近漸漸嘗到好的果實,孩子下了課有了閱讀的習慣,爸爸還偷偷跟我說,我們是不是快出運了(笑),但在這決定的背後,我們同時也捨棄了很多,但我們清楚有了這些基礎,之後在職場上才能更心無旁鶩。 #### **2\. 設限,是我們的責任,可以有彈性地堅持自己的底線** 女性很容易因為過往經驗的刻板印象,限制了自己的要求,比如女性常常會有提早下班接小孩的需求,但可能會被主管貼上不夠認真的標籤,內心隱藏這樣的恐懼,就壓下跟主管提出這項需求,但每天壓線接小孩或孩子抱怨每次都是最後一個走時,就容易產生很多愧疚感,在工作中反而累積更多壓力。 在書中,雪柔用許多小故事來打說明設限的重要性,且這件事情,只有我們自己能做。雪柔雖然在繁忙的 Facebook工作,有了孩子之後,她嘗試五點半下班,等孩子入睡後在繼續工作,但是一開始位居高位的她,也不敢明目張膽的這樣做,但嘗試了幾次後,她發現她的工作不需要每天在辦公室裡待滿12個小時,且因為要提早下班又必須完成工作的限制下,反而變得更有效率,謹慎安排會議。我不禁思考這背後,為什麼雪柔能得到這甜美果實?有一個很重要的關鍵,她知道自己的需求,所以設下了限制,這限制反而增加了工作效率和陪伴孩子的時間。 有時候,我們會認為都是因為別人給我限制,所以就只能乖乖配合,但忽略了設限,是我們的責任,而不是別人,因為別人不會知道你的需求,即使希望渺茫,也別害怕提出要求,就像在前公司說我會明確跟主管說我必須要幾點左右下班,但是我不會耽誤工作,必要的時候我可以配合加班,在家庭中也是,先生如果告訴我,何時他必須閉關寫計畫,告訴我後,我會盡量打理孩子,讓他可以心無旁鶩的工作,但是底線是,希望他不要熬夜寫計畫,可以先睡,再早起起來寫,也必較有效率,以前的我,總是配合別人居多,不會多講自己的需求,但這樣下來,發現自己反而會內傷。試著畫下界限,真的會讓自己比較快樂,生活也會更有條理。 #### **3\. 只在重要的事情,做完美主義者** 這本書,希望女性留多一點時間在工作上,但也有提起,每份工作都需要做點犧牲,但關鍵在於避免無謂的犧牲,對於我來說,無止盡的加班這一件事情是我不能妥協犧牲的,我很認同,張忠謀先生所說 : 「健康要當一個事業來經營,需有固定的上班時間,規律的睡眠時間。」 所以,2020年的我,社群的參與少了一點,多一些知識系統的建構和累積,工作少了一點,雖然減少了一些收入,但是開啟了另一項事業,健康事業,建立固定運動的時間,希望自己能有計畫地建立良好的生活習慣,建立下廚的資料庫,讓自己可以快速產出營養的食物,保護家人與自己的身體健康,2020年建置知識系統與經營健康這門事業,是我現階段最重要的事情,但怎麼聰明有效率的持續下去,是我目前不斷精進的地方。 ### 給自己與大家 #### **把自己放入選擇,把眼光放遠,就不會被眼前的事物影響你的決定。** 步入婚姻的女性, 在不同的時期,都會有兼顧事業和家庭的擔憂, (男性其實也有,只是讓自己習慣忽略), 嘗試放下想一肩扛下的念頭, 可以引入外界的資源來協助,這很重要, 不用一肩扛下,只有對孩子有愛, 妳都是一個好媽媽。 孩子小時候, 我收到超多我要自己帶小孩的建議, 我曾經這樣嘗試過, 但我發現這樣容易讓自己心情不好, 因為你把所有的努力, 放到一個不可控的結果上, 容易讓自己無助, 也接觸不到其他資源。 最後,我選擇不只有自己面對與照顧, 白天我引入早療與幼稚園攜手合作來協助, 也讓別人有機會熟悉自己的孩子, 每一個接觸外界的機會, 對孩子來說都是一種學習, 不是只有媽媽陪在孩子身邊才是一個最好的決定, 而是問自己「我能為自己和家人作最重要的事情嗎?」。 這句話真的對我很有力量, 因為把自己放入選擇,把眼光放遠,就不會被眼前的事物影響你的決定。 這本書,除了談家庭與工作的抉擇,還有很多領導力與溝通的分享,也很受用, 很推薦大家自己去看這一本書,一定會激起你更多的想法與行動。 ### 課程心得| 商業思維銷售簡報實戰營 URL: https://moradatajourney.com/course-learning-sales-camp/ Last updated: 2026-07-16T17:20:47.000Z ### 技術人需要知道怎樣銷售產品? 長年在技術圈打轉,走過法人單位,乙方接案單位,現在到甲方醫療院所,都是為了讓資料模型與決策能讓這個世界更好,但是待了那麼多地方,發現很多事情,不是有技術這些願景就能落地,明明準確度很高,但客戶確不買單,心理一定在想一定是少了什麼。 看到商業思維學院銷售簡報的實戰營,明明下班時間能運用的時間不多,還是咬牙報名了。 也好奇如果我跳脫從技術的角度看產品會不會有不同的火花? ### 人人都是產品的最佳業務 沒想到能撐到最後一刻到參加 Final Pitch,謝謝小組夥伴在三周練習給我的回饋,更要謝謝老公,每到星期三,都是老公打理小孩,讓我心無旁騖地準備簡報和練習。 ![](https://moradatajourney.com/content/images/wp/2022/06/image-5-1024x569.png) 入圍 Final pitch ### ANSVA 架構 更謝謝自己四周的星期三每場都到課,謝謝自己透過課程所教的 ANSVA 架構,在還沒動手真的做簡報前,透過架構先想號自己要呈現的邏輯,再動手做簡報,雖然一開始感覺慢,但是一旦架構想清楚了,產生投影片的內容反而是快的,且能很精準地找到素材放到對的位置,而不是先找了一堆素材,還不知道自己要做簡報的邏輯與架構,這樣的架構,對於不曾參與銷售的我,真的很有幫助。 ![](https://moradatajourney.com/content/images/wp/2022/06/image-7-803x1024.png) ANSVA 架構 沒想到自己能走到最後的 Final Pitch,謝謝迪哥和Andy 老師,在 Final Pitch 的點評讓我感受到確認簡報當下 target audience (TA) 的重要性,TA 的背景和想要的是什麼,對應的 KPI 是什麼?我想我找到客戶不買單的原因了。 **自己的好要能自己講出來,不要讓客戶傷腦筋的從你的feature 功能去找價值。** ### 課程的重要Take Away- 終身學習 1.學習了解商業思惟,加上原本分析的底子,學習凸顯量化的效益。 2.學習了解不同職能與職位的對應 KPI 3.了解成本,更要了解效益 4.了解產業趨勢,才能布局未來 ### 反思 這四周的學習過程是充滿掙扎與不舒服,因為要打破自己的知識框架,且每周都有作業,但看到自己為自己產品打造出來的銷售簡報時,心理超興奮的,我做到了。聽完點評後,超興奮的,因為知道自己有哪些地方可以做的更好,但因為有這些點評,讓我的銷售簡報,有機會正式上場時,一定會比這次時更好。謝謝銷售簡報實戰營,營造那麼溫馨的環境,允許犯錯,才能看見成長。 突破了,學會了快樂就油然而生。 ### 厚數據,讓大數據發揮價值-提升AI應用的價值 URL: https://moradatajourney.com/thick-data-1/ Last updated: 2026-07-19T05:22:09.000Z 本篇文章會描述: \* 要解決問題,找出「為什麼」是關鍵 \* Nokia也曾吃過大數據的悶虧 \* 厚數據是什麼? \* 大數據和厚數據本質上有很大的不同 \* 資料分析思維要具有彈性 你曾有過分析手中的資料卻一無所獲的時候? 那時候的你,會怎麼做? 腦中會開始浮現其他相似的演算法或模型? 開始做無窮的嘗試? 你曾有一絲疑惑 你手中的資料不夠描述應用場景的狀況? 就如同,要炒一盤蔥爆牛肉,沒有牛肉, 再怎麼好的鍋具,也炒不出客人點的蔥爆牛肉。 這篇影片點出了很多目前AI應用價值無法突破的點, 技術與演算法很重要,然而似乎蒐集到對的數據是更巨大的挑戰, 目前大數據分析好像卡在某一個瓶頸, 「問題在那裏 」,卻找不出好的解決方法 執行一些專案,透過多元的視覺化工具,單看數據,就能看出過往的現況,點出問題點在哪,但卻無法進一步了解為什麼?然而,為什麼「為什麼」那麼重要,只有透過解析為什麼,從源頭改善,你才能做出更有價值的決策,然而,比較可惜是很多專案就只停在看到發現問題。 ### 要解決問題,找出「為什麼」是關鍵 以我家小孩刷牙為例,透過每天的觀察紀錄,我知道我家小孩不愛刷牙(觀察到問題點),一般人直覺的處理方式,可能覺得孩子就是愛拖延,所以一開始採用不斷的提醒的方式處理,發現並沒有提高小孩刷牙的頻率,放下脾氣,仔細推敲觀察孩子在刷牙過程中的抱怨與反應,這時我才發現孩子的口腔對於痛覺很敏感(一開始我忽略孩子的反應,認為痛覺只是孩子的一個藉口),所以才不喜歡刷牙。 原來孩子為什麼不喜歡刷牙,不是拖延,而是因為刷牙這過程對他來說很痛。 知道卡住孩子刷牙的原因是痛覺敏感,就可以對症下藥,換一隻刷毛更軟的牙刷,降低刷牙的痛感,才能使小孩漸漸養成刷牙的好習慣,這比用app定時提醒刷牙更有用。 能成功讓孩子刷牙的關鍵,就是仔細推敲觀察與反覆驗證孩子在刷牙過程中的抱怨與反應,這些就是厚數據。 第一次實實在在地感受到,或許用任何感測器都無法得知孩子為口腔高敏感族群,然而僅透過貼身的觀察反而能找出卡住的問題點。 ### Nokia也曾吃過大數據的悶虧 2009年Nokia手機獨佔手機龍頭,收集大量的資料,沒有見到任何數據指出有人想買智慧型相機,而拒絕了科技人類學家透過田野調查長期追蹤的建言, **連中國最窮的人也想要買智慧型手機,且他們會不擇手段的拿到** 拒絕的原因,僅因數據量太小(100組)與缺乏多樣性,Nokia 誤以為大數據所收集到的資料就是全部的資料,而沒想到大不代表全部,因為所發送問卷的前提是人們不知道智慧型手機是甚麼?所以你的數據當然不會反應。 所以當分析手中的資料嘗試所有的方法都一無所獲時,你應該反思: **\* 1.現在手頭上的資料是否已經能描述了實際的情況?** **\* 2.有漏掉了什麼更關鍵的資料與指標?** 透過田野調查式的實地訪查產生出的厚數據是找出「為什麼」的關鍵。 厚數據相關演講 ### 厚數據是什麼? 厚數據一詞是借用厚描述(Thick description,Clifford Geertz)的概念而來,主要應用在社會科學領域上,透過深入的實地觀察描寫人類社會行為, > *厚數據用人類學定性研究法來闡述的數據,只在揭示情感、故事和意義。* > > *\~PL Data公司創始人王聖捷* ### 大數據和厚數據本質上有很大的不同 ![](https://moradatajourney.com/content/images/wp/2022/06/image-3-1024x535.png) *厚數據與大數據兩者的差異點 \[3\]* 大數據希望機器學習人類的智慧,但是有很多事情,機器是無法取代人類的,同理心與豐富的觀察力,然而厚數據就是透過實地觀察,把人主觀的描述給記錄下來,大數據專注在現況的確認而厚數據在找出為什麼的原因,剛剛好補足了大數據的不足,對症下藥,產生一個好的解決方案或決策。 透過這支影片,讓我很有感觸, 資料分析難的地方不是僅只於處理冷冰冰數據的技巧,還包含要開啟所有感官,用眼觀察,用耳朵接收很多反饋,且不能帶有任何主觀的刻板印象,有時太多的刻板印象會把自己陷入到某種偏見中,而忽略了真正重要的關鍵(如我認為痛覺只是孩子的一個藉口)。 大數據搭配厚數據, 才能發現引發這問題的關鍵,找到問題的最佳解決方案。 這影片提醒了… ### 數據思維要具有彈性 不要依據數據的大小而判斷數據的價值, 不要偏重量化數值而捨棄質化數值的重要性, 因為質化分析代表現況, 而現況需要時間的發酵才會在未來的數據上作呈現, 需要過一段時間的醞釀才會被人們發現, 因此質化分析有其洞燭機先之妙。 對於一個資料充滿好奇與喜愛觀察的我, 這影片讓我不斷反覆觀看與反思, 如有機會能往現地去探查,一定要好好把握這難得機會, 偶爾要從數據這個觔斗雲躍下,或許看的會更遠。 進階參考資料: 1.[大數據離不開「厚數據」](https://tpcjournal.taipower.com.tw/article/1473?ref=moradatajourney.com) 2.[Netflix用「厚數據」抓住觀眾眼球 自製電影擊敗好萊塢](https://www.smefast.org.tw/%E8%AA%AA%E6%95%85%E4%BA%8B%E5%81%9A%E6%83%85%E8%92%90%E8%AE%93%E4%BA%BA%E7%9C%8B%E4%B8%8D%E7%BD%B7%E4%BC%91/?ref=moradatajourney.com) 3.[The Illusion of Knowledge: Have We Confused Big Data for Thick Data?](https://www.youtube.com/watch?v=izhLcTUWwRw&ref=moradatajourney.com) ### 怎麼評估分類型 AI 模型可以上戰場? 系列文首部曲 URL: https://moradatajourney.com/ai-eveluation-metrics-0/ Last updated: 2026-07-19T09:02:51.000Z 一套具有邏輯性的流程來闡述分類型 AI 模型的效能 ## 為什麼我想寫這個主題系列文? 近幾年,AI 模型從 paper 中躍進於各產業中,但當模型訓練好後,工程師常常會陷入一種狀況,我要怎樣呈現模型現在的好壞?怎樣評估我的模型可以上戰場? 如果跟 paper 一樣,把所有可以用來評估 AI 模型效能的指標,一股腦地全部放上來,有時候,資訊越多,反而越難做決策,所以我腦中一直在思考,是否有一套具有邏輯性的流程來闡述分類型 AI 模型的效能? 最近在工作上,有機會接觸到 FDA 的相關文件,看到了文件中所闡述各種 AI 模型的指標後,加上過往的工作經驗,讓我理出了一些頭緒,想透過這篇文章跟大家分享與討論。 ## 評估分類型AI效能的三個面向 評估分類型 AI 模型的效能,應該具有這三個面向,包含整體性評估,應用性評估與穩定性評估,這三個面向在呈現上是有其順序性的, 1.**整體性評估**: 透過呈現 ROC 圖與 AUC 數值呈現模型的整體狀況,同時可以比較自家模型和其他模型的優劣。 2**.應用性評估**: 透過固定閾值的方式,來計算相關指標,如準確度,召回率等,實際說明 AI 模型實際應用後,使用者會實際感受到模型的狀態。 3.**穩定性評估**: 最後搭配信賴區間,說明不同的測試資料集上,上述指標的變動程度,來說明模型實際上線後模型指標的可能變化範圍。 ![](https://moradatajourney.com/content/images/wp/2022/06/image-2-1024x669.png) *評估分類型AI三面向* 接下來系列文中,將分為三個部分,我將循序漸進,從應用性評估開始, 透過例子依序介紹。 1. 介紹分類型 AI 模型常用的指標與應用的情境,讓使用者能根據需求挑選適合的指標呈現。 2. 切入整體性評估,來說明 ROC 圖與 AUC 是什麼,FDA 文件中,分類型 AI 模型的 AUC 的下限為多少? 3. 最後, 你一定感覺上述的指標說明模型就足夠了,為什麼還需要信賴區間的資訊? 最後一篇,將說明什麼是信賴區間,以及為什麼信賴區間可以說明明模型上線後的穩定度。 你對這個系列文感興趣嗎? --- #### 早期讀者留言(來自舊站) > 「這系列文會繼續嗎?」 —— Po-Hsuan Su,2022-11-10 ### DS 師徒計畫-陪你一起走 URL: https://moradatajourney.com/2020-ds-mentoring-program/ Last updated: 2026-07-16T17:20:48.000Z **身為 Mentor 的三個收穫** **參加 Mentorship 的初心** 面對人生, 有無數的抉擇與挫折在等著我們, 有沒有一個時刻,當我們遇到挫折時, 看到一句話,重新燃起動力, 聽到一句話,改變你看事情的觀點, 進而受到激勵與啟發。 在職場上或人生上是否也有一個人, 可以給你一些建議, 陪你走過某一段路。 師徒計畫是這些年我看到的新名詞, 似乎在國外已經行之有年, 在外商公司會有 Mentor 帶領 Mentee 的制度, 但這樣的制度,在台灣相對少見, 在台灣,拚速度的文化氣息中, 即戰力是重要的條件, 或許不覺得需要 Mentor 來協助, 但我的疑問是, 除了公司需要 Mentor, 職涯上需要 Mentor 嗎? 人生這一條漫漫長路需要 Mentor 嗎? 時間會帶來很多啟發, 不記錄下來不分享, 時間帶給我們的寶藏就會消失, 我始終相信每一個人的經驗都有價, 想到這, 不讓自己有猶豫的時間, 立馬填寫 [DS 師徒計畫](https://www.facebook.com/groups/datasciencemeetup/permalink/3153352678087703/)的報名表, 壓下冒牌者症候群的想法, 我一定要好好回顧(挖出?)自己的經驗來分享。 為期三個月,一個月僅一個多小時的會談, 在短短的時間,不熟悉的陌生人, 要能給予建議,有一定的難度。 或許是資料科學家的職業病, 首要,必須要知道 Mentee 的需求, 才能在短時間內有效益。 開了 FB 聊天室, 大家沒有特別的互動, 才發現原來線上世界要建立關係真的很不容易, 不是我(傻人)想的那麼簡單, 沒有對話,怎麼會知道需求, 那就只好先有第一次接觸再說。 **身為 Mentor 的三個收穫** 相較於FB上的安靜,線上第一次月會大家侃侃而談, 對於公司裡面怎麼操作資料應用很有興趣, 然而每個人的背景不同,需求不同, 有商業/有資工兼財務背景/有應數兼資訊背景/有電子兼資料科學背景, 但卻有著相同的好奇與問題, 對於公司內部怎麼發揮資料的效益有疑問? 並且對於創業有著濃濃的好奇心, 這是我在師徒計畫的第一個收穫, **原來創業種子已經埋在這一代的心中。** 但也惋惜對於創業這個話題, 我無法給予他們很立即的協助, 寫到這邊才想到, 我身邊也有認識創業的人, 或許可以讓他們認識一下? 由於其中一位 Mentee 在德國 IT 顧問業工作, 所以第二次的主題,就以資料科學在顧問業為主軸, 德國嚴謹的態度, 似乎較不太能接受較無法解釋的模型應用。 這是我在師徒計畫的第二個收穫, **不同國情對 AI 新穎模型的接受程度不同,** 和台灣非 AI 模型不用的思維截然不同。 第三次,也是最後一次, 除了職涯上的分享,還沒有其他的可能? 我試著先問問我自己, 現在的我想對10年前的我,如果可以給三項建議,會想說些甚麼? 發散階段羅列了很多,在從中精心挑選了我覺得最重要的三個, 這次,我忍住不給結論與建議, 取而代之,用比較冒險的方式, 透過提問的方式先好奇大家的想法, 下面兩兩選項中, 在日常生活中, 哪一個事情你執行的比例比較高? 你覺得哪一個比較重要或比較想要? 為什麼你會這樣選擇?(沒有一定的答案) 1.問問題 vs. 解決問題 2.輸入 vs. 輸出 3.賺很多錢 vs. 快樂滿足 這三個議題,只是我一路走來的其中三個反思, 但不同的反思,卻有相同的核心概念, ![](https://moradatajourney.com/content/images/wp/2022/06/image-1024x422.png) **在面臨選擇時,我們是擁有選擇權的,** **不要被但是打敗,** **我知道輸出很重要,但是我沒有時間。** **我想要快樂滿足,但是賺錢對我來說很重要。** **我…,但是…。** **這樣的造樣造句,真是陰魂不散,** **超級容易出現在生活中,** **但幸運的是, 發現透過自我了解和嘗試,** **你可以找出最適合自己的解決方案。** **「我…,可以…。」取代「我…,但是…。」後,會發現原來我喜歡,原來我可以。** ![](https://moradatajourney.com/content/images/wp/2022/06/image-1-1024x519.png) 第三次月會, 我收到 Mentee 很特別的回饋, > *在網路上資料分析的技術分享很多, 但是對於人生的分享卻著墨較少, 如果我能在更早的時候就知道這些有多好。* 在這些分享過程中, 他們看到了自己藏在心中的疑惑和內在需求, 超替他們開心的是, 他們原來自己都有方向, 只是被一些壓力和外界的想法覆蓋了他們深層的想法。 那…師徒計畫的第三個收穫是甚麼? 我體驗到 **人生經驗分享蘊含強大的力量, 能讓他人看到自己深層的渴望。** #分享 #輸出 #導師要言行一致 #台灣資料科學社群 #師徒計畫 ### 2021 投入智慧醫療,工作與生活的動態平衡 URL: https://moradatajourney.com/2021-reflection/ Last updated: 2026-07-16T17:48:31.000Z ### **2021踏入智慧醫療,逐步實現AI落地的目標** 因為社群與價值觀的牽引,結識現在一起共事的夥伴,3月進入智慧醫療領域,回想這一年,需要對內,讓AI氣胸偵測產品不斷優化,在院內落地使用,同時對外要取得產品販售資格的證明,為了迎接這挑戰,2021是不斷學習的一年,法規、產品、專案管理與團隊帶領上,都必須同時精進,說沒有焦慮是假的,在過程中需不斷的讓自己穩下心來,巨觀的看整個進度,那邊需要補上就立刻支援,雖然無法達成今年底就取得產品販售資格的證明,但因為迎接這挑戰,讓自己的視野站點又往上一階,實際感受到商業模式與合作協商的重要性。 ### **回顧2021年,我做了什麼?** 為了迎接這樣的挑戰,我持續深化了我的生活管理與工作管理。 1.堅持每天自己帶午餐上班,即時前一天剩下的菜餚不多,我還會多花時間為自己多煮一些肉與青菜,讓自己的餐盤的份量,能達到211餐盤的設計。 2.更有目標性的陪伴孩子,今年帶著孩子挑戰手揉五款麵包🥯,只是一個起心動念,沒想到全家通力合作下,竟然達成了,小孩和大人都超有成就感,也發現哥哥沈穩和專一的特質,更要好好設計和引導,雖然智力與課業比不上一般人,我一直都相信善用他的特質,能對這社會有貢獻。 3.突破自己的心防,參加李崇建老師薩提爾的課程,讓自己更了解自己。 4.挑戰第一次將資料分析實體課程,以線上進行教學。 5.專注力管理,活用 Evernote,為每一個專案建立獨立的入口,並把所有相關資訊彙整在一起,降低自己切換的時間。 6.反芻每一場會議,花時間去反芻會議紀錄,萃取出自己的下一步行動與會議中的學習,讓每一場會議都有其意義。 ### **2021年我的啟發** #### **1.健康是人生中,重要的1** 今年老公進廠維修,回想當時,家裡的氣氛很凝重,自己也必須在醫院與家中來回,幸好這段時間不長,但卻很深刻的提醒我健康的重要,也是從這時候起,我開始午餐 211 餐盤的飲食,雖然這樣實施下來,體重沒有減少,但發現自己更愛做菜,因為想要為自己健康多付出一些,在過年時,孩子設計長命百歲的紅包,希望媽媽能一直陪在他們身邊(哈哈,這一定是童言童語,長大,有女朋友後可能就不是這樣想了),但這心意我有收到,也希望能記得不斷提醒自己,健康是無法用任何東西來犧牲的。 ![](https://moradatajourney.com/content/images/wp/2022/02/211-1-1024x768.jpg) 我的211 餐盤 #### **2.回顧是重要的禮物** 在網路快世代中,慢與留白彌足珍貴,如果沒有停下,就看不到更好的可能,以前總是不斷向前趕著走著,很少有機會回頭,今年在工作中,透過回顧會議,讓我們看見自己的好,找出下次做可以更好的地方,且不要貪心,設定一個短期可達到的目標,讓改變變得隨時隨地,讓改變變得簡單,雖然改變有時我還是會有些不習慣的感覺,但這些日子執行下來,發現當改變變成一種習慣,這感覺挺好的,逐漸不再害怕改變,因為我在嘗試改變的過程中,看到自己與團隊的成長。 ![](https://moradatajourney.com/content/images/wp/2022/02/img-57c1fd9e23a6.png) 團隊第一次回顧會議 #### **3.除了給別人肯定,也要給自己大大的擁抱** 除了工作,每年都期許自己更了解自己,今年總算排到李崇建老師的課程,試著讓自己在每一件事情上多些停留,讓自己多些感受,嘗試感受自己因無法達到別人期待時的失落,嘗試接受自己感受自己能做得更好的,但我卻忽略時,對自己的生氣,我會願意試著感覺並接受,我原本的我,不再只依賴他人的評價來評價自己,可以透過靠近自己的情緒,善待自己,2021 年的我做得還不夠多,我希望自己能給自己更多更具體的肯定,肯定自己是需要持續練習的。 ![](https://moradatajourney.com/content/images/wp/2022/02/img-e09274435544.png) 薩提爾 從自我成長到生活應用工作坊 ### **邁向 2022** 2021年,我是一個游擊手,在生活中,盡力做好媽媽妻子與女兒的角色,在公司內部只要是能讓團隊往前進的任何補位與嘗試,我都勇於承接,過程中不免有些疲態,幸好,年底新夥伴Erica 的加入,衝擊我的思考框架,讓我在管理與思維上有重大的改變似乎能慢慢卸下游擊手角色,更有餘韻的看全局與思考,期望2022年我能持續優化團隊帶領和思考與商業能力,健康上能找回運動的習慣,2022 我來囉,繼續一步一腳印朝喜歡的生活與工作前進。 ### 四十。穗|40不惑? URL: https://moradatajourney.com/40-years/ Last updated: 2026-07-16T17:20:49.000Z ### **我的生日禮物** 說好的,每年生日的時候,要寫篇文章, 當作一份禮物給自己, 雖然晚了7天,但是一定要送達。 從沒想過自己踏入 40 了,你的 40 是充滿困惑,還是不惑? 記得接近 30歲的時候,無法想像接近 40 的自己是一個怎樣的狀態, 因為未知,所以有點害怕40歲的到來,是否在某個產業上站穩腳步? 40歲了,迎接我人生中第一根白髮,看到漸漸滋生的眼角魚尾紋,能做我喜歡的數據相關的工作,還能夠陪伴孩子成長,現在的生活讓我很滿足。 ![](https://moradatajourney.com/content/images/wp/2022/02/p1-1-933x1024.jpg) *冒出人生中第一根白髮* **一年前的自己,是很茫然的,為什麼現在能感受到滿足感?** 在接近40的前後,對自己提了這個疑問,閉上眼,細細回想過往這一年, 今年加入新的工作團隊,工作肩上的重擔,不減反增,孩子的責任一樣存在, 但是怎樣的原因讓我自己有了滿足感? 我發現是自己面對事情的心態上有很重大的轉變。 ### **自我肯定,釋放過度努力的副作用** 小時候,因為國小一次成績意外竄出頭後, 嘗到獲得大人們重視的甜頭後, 為了得到爸媽的重視和得到好的成績, 開始努力讀書。 然而,奮鬥竟然不知不覺成為一種習慣, 但以別人的肯定為目標時,竟對我的人生產生了很大的副作用。 我變成一個完美主義者, 因為要夠完美,別人才有印象。 我變得害怕失敗, 因為失敗了就得不到掌聲。 陷入自我要求完美的焦慮, 這樣的問題,困擾我很久。 寫篇文章,要達到自己的要求, 才願意發出。 工作的進度報告,希望有一個段落的成果, 才願意報告。 這樣的壓力真的超級大的。 這樣的壓力,似乎在開始寫子彈筆記後, 逐漸地紓解, 子彈筆記讓我每天都必須面對自己, 寫下這天中我可以肯定自己的地方, 一開始我抓破頭都寫不出來,今天有什麼可以肯定自己的地方。 因為, 今天我沒有具體完成一件事情, 今天我沒有獲得別人的掌聲。 現在的我, 我漸漸可以在一些小事情上面肯定自己。 像最近的對外簡報, 在時間的壓力下,一開始想透過現有的素材,快速完成。 結果,自己陷在素材框架下, 組裝後的簡報,連自己都無法說服自己。 花了一天白工後,當下當機立斷,打掉重練, 拿起了便利貼, 重新以觀眾,目的的角度,重新思考簡報架構, 先有骨,再長肉,找適當的素材來放入是最後一個步驟。 雖然無法預期別人看到這份簡報的反應, 但是我自己是能夠說服自己的。 翻開子彈筆記,當天我寫下對自己肯定語, **「肯定自己,願意把簡報打掉重練,從思維架構著手。」** ![](https://moradatajourney.com/content/images/wp/2022/02/p2-1-356x1024.jpg) *簡報思維架構* 每天一句肯定的累積下, 我發現自己逐漸的改變, 以前的我,事事都希望能得到別人的肯定, 現在的我,做好一件事情的肯定來源比例開始動搖了, 從原本幾乎是 100% 透過別人的掌聲來肯定自己, 現在可以有至少 70% 是來自於自己的肯定。 或許滿足感,是從拿回肯定的掌控感而來吧!! **很多事情,不是你努力了,就能得到別人的肯定。** 簡報這件事也是如此, 後來這份簡報, 因為自己的練習熟練度不夠, 加上場地的問題, 又碰上第一次合作,不了解對方的定位與屬性, 整體簡報上並不如我想像中的那麼好, 以前的我,當發生表現不如自己預期時, 一定會在事後不斷的鞭策自己, 哪邊事前如果有注意到的話, 就可以表現得更好。 但這一次,我沒有鞭策自己, 在講完的當下,我在心裡給我自己大大的擁抱。 簡報完當天,我寫下對自己肯定語 「肯定自己,願意接下代表團隊,對外報告的挑戰,yes 你很棒,下次會更好。」 或許是心態上的差異, 在簡報完後,我反而能夠專注地聆聽對方的提問, 透過提問,了解對方著重的點在哪一個面向上。 下次有一個類似的單位要進行簡報的時候, 我已經知道要在哪個地方需要說明的更清楚。 這次也同時感受到接納的魔力,接納自己後, 不會感受到責備自己表現不好而帶來的負面情緒,心靈上自由, 反而帶來更大的包容力和下一次改變的動力。 ### **後記** 我很開心自己的轉變, 過了 40 我總算學會了要別人給你肯定,要先會肯定自己。 我很喜歡生日當天,好朋友的祝福, 「就讓我們好好的觀察不惑,一起體會不惑之年到底是什麼都懂了,還是不懂的也沒動力去弄懂。」 40歲出頭,目前對於不惑之年現在的定義, 我不是什麼知識都懂了, 我只是懂得選擇,拿回肯定自己的主控權, 從原本幾乎 100% 透過別人的掌聲來肯定自己, 現在可以有至少 70% 的掌聲是來自於自己。 年過 40,才漸漸懂得用享受,進步,和欣賞自己的角度來認識自己。 我不用單以職稱和成就,向這個世界證明什麼。 我把自己的成長呈現出來,就是最好的自己。 #不斷對自己提問 #認識自己是一輩子的事 #邁入40 ### 感謝 2020 年,我人生中珍貴且重要的一年 URL: https://moradatajourney.com/2020-reflection/ Last updated: 2026-07-16T17:20:49.000Z 期待遇見 2021 的自己 ### **感謝2020,更感謝我的家人** 2020 年,對大部分人而言,可能最不願意想起的一年,最不自由的一年。 但對於我來說,卻是最珍貴的一年, 擁有最多自己時間的一年, 至今最靠近自己內心的一年, 觸動很多啟發的一年。 能擁有這半年多的美好時光, 我非常感謝我的家人,給予我很大的實驗空間, 從不問我為什麼要做這樣的決定, 謝謝這份充滿信任的愛。 ![](https://moradatajourney.com/content/images/wp/2022/02/p1.jpg) *Photo by Daniel Andrade on Unsplash* 尤其是老公, 2019 他全力支持我在周末經營社群,周末去台北講課, 2020 他支持我的決定,短暫離開職場, 沒有他,我是無法輕易下這些決定, 有他主要穩定家裡的開銷, 雖離開朝九晚五的職場,但搭配顧問的每月現金流與授課, 讓自己在這半自由的時光中, 仍有一些收入,分擔一些家庭的開銷。 財務尚可支撐下,才有這珍貴且重要的一年。 這半年多來,沒有 title,只有自己, 體驗到自由帶來的焦慮,覺察到自己的焦慮, 願意給焦慮一些沉澱的時間,透過盤點定位, 逐漸看到自己的獨特能力後,焦慮少了些,多了些自在與自信。 這是我一開始年初做的這些決定時,無法想像到的自己。 ### **擁有最多自己時間的一年,我做了什麼?** 2019 年我往外探索,認識到新的朋友與深耕社群,工作以外,不知不覺累積一年10多場的對外演講,有點掏空了自己,時間有限,卻要顧及那麼多身分,老婆、媽媽、帶領團隊、講師與經營 AI Tech 社群,這些多重的角色, 讓我發現到生活支持系統與思考的重要性。 2020 年我往內探索,建立生活支持系統,穩定自己的心,穩定家裡,我嘗試了… 1. 我設計了兩個線上資料分析相關課程主題,2021 上線 2. 重新設計資料分析實體課程的運課流程 3. 運用 Evernote 打造一個生活與工作支持系統,工作時開啟,學習時開啟,寫作時開啟,降低開電腦後所需的暖身時間。 4. 成為一個有運動習慣的人,現在 5 點一到不運動,身體都會覺得怪怪的。 5. 家裡物品環境斷捨離,東西變少了,心情卻變好。 6. 訓練孩子獨立自主能力,成為我家事的好幫手,陪伴孩子喜歡閱讀,陪伴孩子是未來最好的長期投資。 雖然數量不多,但每一件事情都因深度的實踐,而有深刻的啟發。 ### **擁有最多自己時間的一年,我有了什麼啟發?** ### **1. 微小實踐,才是一切可能的開始** 養成運動習慣,是我新年目標裡最常出現的,也是最常失敗的,養成運動習慣這目標,過去喊喊居多,頂多搭配大家熟知的 333 法則來規劃,每周至少運動三次,每次至少運動三十分鐘,且每次運動後的心跳速率需達到每分鐘一百三十次以上,而對於一個不運動的人,以這法則開始,卻是失敗的開始,因為這行動目標的規劃,忽略了從 0 到 1 的困難。 2020,重新展開我的運動之路,我終於成為一個有運動習慣的人,現在可以連續跑 40 分鐘都不用休息,總累積運動距離 168 公里,接近 4 個馬拉松的距離,這是從沒有跑過馬拉松的我,無法想像到的自己。 ![](https://moradatajourney.com/content/images/wp/2022/02/p2.jpg) *2020 成為一個有運動習慣的人* 自己這次能成功養成運動習慣,除了時間自由外,還有一個很重要的關鍵,「從微小開始」,我丟掉了 333 法則,專注在開始執行這件事情,我開始走,而不是跑,之前總會想著沒有 30 分的空檔就不能運動,現在則是只有 10 分鐘我也可以到中庭下面跑,一開始,每天執行是一個重點,因為每天執行才不會自己有藉口,原有的每周運動至少三次,為什麼是失敗的開始,因為這樣的目標,讓你每周你有 4 天可以選擇休息,看似彈性,卻是產生每周有 4 天可以不運動的藉口,在習慣的養成上,這樣的彈性反而變成了絆腳石。 為了要能達到每天執行的目標,何時運動的規劃是另一個關鍵點,要選擇一個不容易被打擾的時間,來進行運動,比如今年,我嘗試過在早晨運動,晚上運動,最後才找到了一個最適合我的時間點,一天工作之後,5點一到就是我的運動時間,每天運動 30 分鐘,在成為一個有運動習慣的人的同時,我也訓練了自己自律的能力。 因為 5 點一到進入「自動導航」模式,不管靈感多強烈,我還是會放下手邊的事務,下去運動就對了,這時似乎感受到村上春樹說的 > ***如果因為忙就停,一定會變成終生都沒法跑了。***村上春樹 今年透過微小實踐,成為一個有運動習慣的人,2021也想運用這個概念,成為一個多吃健康食物的人,運用常備菜,多吃一些原態食物,希望能讓體脂肪繼續降低。 ### **2. 適度拉開自己與工作的距離,留白才能產生創意與靈感** 2019 年帶領剛從學校畢業的夥伴後發現,他們擁有程式語言能力與模型能力,但從學校學的知識到能實踐應用上,似乎少了些什麼? 另一方面實體課程接觸業界人士,對於資料分析有大量的需求,但常遇到一個問題,分析做好了,卻不是老闆想要的,這些疑問下,讓我動念,是否能設計一個資料分析課程,能銜接畢業學生邁入職場,以及職場中想要提升資料分析能力的一群人。 過往,繁忙的工作步調中,可以記錄片段的工作經驗,但就像肉塊一樣,一塊一塊各自獨立存在,似乎少了一根竹串,有系統的將這些食物串接起來,讓吃的人透過這樣的食用順序,更好入口,並且能體驗到這一連串食物帶來的美好。 學習資料分析的過程中也是,似乎學到了很多演算法、視覺化,但應用出來總是卡卡的,為了突破這個困難點,2020年我給自己一段空白時間,任由過往工作上的點滴在腦中流竄著,不斷回想,在資料分析執行過程中,屬於資料分析的獨特竹串到底是甚麼? 是什麼串起各式各樣的程式語言模組? 在這段時間的沉澱後,或許這獨特的竹串就是「問對的問題」,在一個初始問題上的是否有重新剖析和重新提問的能力。 未來,這個獨特的竹串就是我 2021年資料分析課程核心,如何問對的問題,讓你不白忙,問對問題,讓你的視覺化言之有物,看穿資料背後想要告訴你的事情。 這段旅程,提醒自己,未來在工作上,要提醒自己保持和工作的距離,留點時間給思考,留白才能產生創意與靈感。 ### **3.什麼會帶來快樂?「夠了」的感覺才能帶來快樂** 今年是我收入最少的一年,卻是我最快樂的一年, 財富累積還是很重要,**你有曾思考過財富累積到多少才是夠的?** 今年收入稅減,逼迫著自己必須計算整個家庭的所需開銷, 才體悟到,**家庭所需開銷+退休所需是夠了的基準**, 知道這些,心裡有底, 有種安心的感覺,只要超出這些基準,就容易產生快樂的感覺。 今年是我自由時間最多的一年,也是我能感受到焦慮的一年, 大家總以為自由就會開心,然而半年多的體驗下來, 有足夠的自由,才會讓人開心, 過度的自由反而會讓人焦慮, 透過有目標的時間運用,讓我漸漸卸下心中的焦慮, 也抓到自己需要多少自由的時間,就能讓自己有快樂的感覺。 **我需要足夠的思考、運動、寫作和陪伴家人的時間就夠了。** 這段旅程,**讓我知道越多越好的不是快樂的泉源,知道自己「夠了」的守備範圍,才能讓自己快樂。** ![](https://moradatajourney.com/content/images/wp/2022/02/p3-1024x615.jpg) *迎接 2021 (Photo by Matt Duncan on Unsplash)* ### **展望未來,設定人生價值觀** 以前總希望能訂未來10年後的規劃, 但是經過 2020 年最不穩定的一年後, 我拋下長遠的規劃, 2020年確認我的人生價值觀-助人, 透過資料分析在工作與生活的真實運用,藉由課程傳遞知識與經驗,引導思考,同時透過帶領團隊,協助自己、他人與企業,往更好的方向邁進,而目標依循在人生價值觀下,持續在每個年度的滾動式調整。 **人生,沒有人知道它會帶我們到哪裡, 但我會帶著好奇心,擁抱不確定性,持續嘗試與實驗,迎接一個更好的自己。** 這篇文章,也是有意識的專注與留白,才能產生,希望這些年度紀錄與反思,帶領自己迎向一個滿意的人生。 對了忘了感謝 2020年的自己,面對不確定的未來,仍勇敢的踏出,接近自己,探索自己,或許人生就是一條探索自己,了解自己的旅程,這一條路有你相伴真好。 ### 子彈筆記-管理生活的好工具 URL: https://moradatajourney.com/bullet-notes-a1/ Last updated: 2026-07-16T17:20:49.000Z #### 實行1年半後,2021 子彈筆記模板分享 [子彈筆記](https://www.books.com.tw/products/0010803003?sloc=reprod%5Ft%5F1&ref=moradatajourney.com)是一種不用軟體的生活管理方法,透過一本筆記本,喜愛的筆和一把尺,讓我們脫離 3C 的束縛,聚焦在思考和規劃,進而掌握生活節奏,設計出自己想要的人生。 --- ### **接觸子彈筆記前,誤解自己沒有毅力** 小時候,就喜歡用年度手帳來記錄生活, 但買了各式各樣的手帳, 萬用年曆式的也有,可愛風的也有, 活頁式的也有,但是我都用不久, 當時的自己, 還責怪自己,是不是自己喜新厭舊, 還是自己的堅持力不夠,才不能完整的紀錄。 直到我接觸了子彈筆記, 我才發現自己誤解了自己。 **一件事情無法堅持下去,有時候不是因為自己意志力不夠,有可能是那東西不適合你。**時間過得好快,我竟然持續寫子彈筆記整整一年半了,這系列邁向第五本。 ![](https://moradatajourney.com/content/images/wp/2022/02/p1-2-1024x766.jpg) *我的子彈筆記,邁入第五本* ### **為什麼我會持續使用子彈筆記?** 2020年底,我回過頭來想,為什麼以前的手帳都很方便, 不用花很多時間製作表格, 但反而我用不久? 我會持續使用子彈筆記,有兩個主要原因: ### **1.子彈筆記格式可以個人化調整** 子彈筆記雖然麻煩, 格式要自己設計, 但卻充滿了彈性, 可以根據自身需求來做設計。 這一年半中,我的子彈筆記,修改了很多版次, 一開始用我熟知的手帳格式, 但看到別人分享的模板後, 我覺得合適的會放入裡面, 去實際執行後,調整成最適合我的版面。 看了某個書的概念,我也會放進去子彈筆記中, 讓自己使用一個月後,看適不適合自己。 快速滾動式調整的特性,讓我對於子彈筆記愛不釋手, 有課程要敲時間,顧問開會時間的安排, 我拿起的不是手機,開啟 google, 而是拿起筆記本,開啟子彈筆記。 ### 2.**不用開電腦,反而更能聚焦思考和規劃** 在21世紀的我們,很難脫離電腦, 收信要開 gmail, 紀錄要開 evernote, 要安排事情, 要開啟 google 日曆。 這些科技都很好,具有強大的提醒功能。 但我曾經要做甚麼事情開了電腦,回過神後, 卻發現自己在 FB 上, 然後時間可能已經過了一個小時。 使用子彈筆記,提高自己離開電腦的時間, 多接觸紙筆的環境, 讓自己的生活,可以短暫的脫離 3C 產品, 脫離取悅大眾,回到自己身上, 脫離孩子,換陪伴自己, 脫離用短視的指標來評判自己,用更長遠的角度檢視自己的一生。 寫下後,有時很多在腦中繁雜的思緒,落筆在子彈筆記中後,竟逐漸清晰。 --- ### **用子彈筆記,設計人生,掌握生活節奏** 說了那麼多我喜歡子彈筆記的理由, 子彈筆記包含哪些元素和架構? 子彈筆記有自己獨特的架構, 主要包含 符號標記、未來誌(Future log)、月日誌(Monthly Log)與日誌(Daily Log) , 我對美術沒有天分, 我的模板中,只有格式與架構, 不會畫圖的朋友不用擔心, 相信妳們也能打造出屬於你們自己風格的子彈筆記。 以下將分享我的模板,以及我的使用心得。 說了那麼多我喜歡子彈筆記的理由, 子彈筆記包含哪些元素和架構? 子彈筆記有自己獨特的架構, 主要包含 符號標記、未來誌(Future log)、月日誌(Monthly Log)與日誌(Daily Log) , 我對美術沒有天分, 我的模板中,只有格式與架構, 不會畫圖的朋友不用擔心, 相信妳們也能打造出屬於你們自己風格的子彈筆記。 以下將分享我的模板,以及我的使用心得。 ### 1.**簡單,一致性的符號標記** 左邊是原有的子彈筆記的標記, 右邊是我嘗試一年半後,自己添加的標籤, 主要使用在日誌裡面。 ![](https://moradatajourney.com/content/images/wp/2022/02/p2-2.jpg) ### 2.**運用未來誌(Future log),安排自己整年度的時間規劃** 我超喜歡未來誌的設計,以前的年曆都只有日期, 但卻沒有一個空間可以規劃一整年的重要事項的規劃, 在未來誌中,專門記錄未來可以需要執行的事項, 我會放入小孩約診的時間,課程安排的時間等等, 為了提醒自己,我還添加了顏色區塊的設計, **假日、工作、自己時間、老公時間和家庭日**, 透過這個顏色區塊,可以很快地知道下個月的重心。 未來誌的另一項功能,當有一件事情延後了,不在這個月發生時, 可以從當月移到 未來誌中,這樣下個月到來時,就不會遺忘囉。 ![](https://moradatajourney.com/content/images/wp/2022/02/p3-1-1024x729.jpg) ### 3.**月誌(Monthly Log)** 這是[閱讀前哨站站長瓦基](https://readingoutpost.com/the-bullet-journal-method/?ref=moradatajourney.com)分享的模板, 我覺得很簡潔很棒, 使用了幾個月,覺得目前的格式很適合我, 就沿用至今,右下方,我多添加了每個月的目標, 放在一起的好處是,可以確認每天做的事情, 是否和我的目標有一致性。習慣的追蹤,我也一併放在月日誌中,這樣才不會忘記紀錄。 ![](https://moradatajourney.com/content/images/wp/2022/02/p4-1024x753.jpg) ### 4.**日誌(Daily Log)** 日誌的部分,是我這一年半裡面,調整最多次的部份, 常常用了一個月後,覺得那邊不好,持續修改成下面的模板, 現在的模板包含了三種主要區塊,包含周目標、時間使用比例紀錄與分析 和每天對話。 - **周目標** 周目標的設定,必須要和月目標是高度相關的, 之前自己常常因為緊急的事情會優先處理, 結果回過頭檢視發現, 每天做的事情和月目標相關性不高, 為了提高周目標的達成率, 我的目標又細分為,結果目標、行動目標和進步目標。 **為什麼我會區分成三個面向?** 之前我常規畫目標時,常常偏重某一個方向, **有時只有結果目標,沒有行動目標**,比如我想練好英文口說,這個結果性的目標,卻沒有實際的安排行動目標, **有時,我們常有行動目標,但卻和結果目標脫節**,比如我要每天背三個單字,很多的行動目標,但是可能這些行動規劃,和練好英文口說這結果性目標,有點距離。 **有時,聚焦在循序進步**, 那我就會設定進步目標, 比如我想要養成健康的飲食習慣,我可能會設定,這周我要多吃一項原態食物這項進步目標。 有了三種方向的目標,搭配輔助使用,這樣執行起來,就不容易不聚焦。 - **時間使用比例紀錄與分析** 通常手帳都是在規劃行程用居多, 但是很少有人會去檢視時間運用的比例, [選三哲學](https://www.books.com.tw/products/0010811638?ref=moradatajourney.com), 這本書啟發了我, 書中提到可以用 工作、睡眠、家庭、運動、朋友來檢視自己的生活。 2020年我擁有較多自由的時間, 常常想學很多東西,但忘了輸出的重要性, 所以每天的時間檢視上, 我設計了五個維度來檢視時間的運用比例, - 日常事務(Do) - 輸入(In) - 輸出(out) - FFT(家人和朋友時間) - MeT(自己的時間) 每周定期檢視一下,是否有偏重哪一個方向,下周可以做滾動式的調整, 發現這樣的作法,可以有效提高自己輸出的比重, 期望自己不再重複過往,以更聰明與有效率的方式工作,達到更理想的生活。 - **每天對話** 這是我每天睡前都要做的事情,透過感謝,讓自己感覺到幸福,透過肯定,建立自己的自信,每天補抓當天的靈感,以及一個可以更好的地方,每天進步一點點,日誌是子彈筆記的靈魂和力量的泉源,有時回頭翻以前的筆記,都會從中發現很多力量。 - 1 個肯定: 這個欄位的設計,是想讓自己從別人來定義自己好壞的束縛中跳出,我希望自己能把看到對方優點的能力,放回到自己的身上,自己當自己的小太陽,每天用肯定照耀自己,執行一年多後,原本卡卡的不知道要肯定自己什麼,現在連一點小事,都能給自己大大的肯定。 - 1 項聚焦事務: 這項是今年度添加的,因為發現自己很容易想做很多事情,反而無法聚焦,所以在每一天一開始,要求自己寫下今天一定要完成的事是什麼,像今天我就要求自己要寫子彈筆記的文章,如果不要求,這種重要卻不急迫的事情,很容易被忽略。 - 2 個感謝: 感謝是我從 2019 年養成的好習慣,每天都寫 3 個感謝,不要以為很簡單,一開始還真的不知道要感謝什麼,但現在我連小孩幫忙倒垃圾這小事,都很誠心誠意的感謝,看重每一個人對我的付出。 - 1 件特別事/好事/靈感: 每天如果有發生什麼好事情,和有什麼靈感我會寫在這邊,記錄每天的好事,累積多一些,面對困難的事情,也不會覺得那麼辛苦。 - 1 個可以更好的地方: 自我覺察和反省是我每天都要做的事情,這邊我不是鞭策自己哪邊做的不好,而是具體的寫出,今天我可以在做的更好的地方,跟夥伴開會時,我可以用怎樣更好的方式來引導,會比我今天說的那句話更好,我想這些小地方的循序漸進的調整,會比批評自己更有價值。 ![](https://moradatajourney.com/content/images/wp/2022/02/p5-1024x746.jpg) ### **結語:有開始,才會有改變** 2019年,發現自己有很大的改變, 很勇於嘗試和改變。 採用子彈筆記來做生活管理紀錄, 這件事情很小, 但卻是當初一股衝動就開始執行的我, 無法想像會帶領自己走到這邊, 透過盤點自己,看到自己想要走的方向, 找到自己的生活重心,嘗試不同的生活模式, 2020 年,這段難得那麼自由的時間, 從一開始的貪心、慌亂、焦慮,到現在的自在, 這一年的體驗,都是我原本沒有想到的。 **人生的每一步雖然小,一定都會在某個方向上向前推進, 雖然不一定是在功成名就和賺大錢上, 但只要是在你覺得是你要的生活上,持續前進,那就夠了。** 祝福大家 2021年,大家都往自己理想的人生,小穗步前進。 你曾經有用過子彈筆記嗎 ? 如果你還持續,可以跟我分享你覺得你會持續下去的原因? ### 課程心得|如何讓「教學」不只是教,而是學會知識,並帶走回去實踐的能力 URL: https://moradatajourney.com/teaching-tech/ Last updated: 2026-07-16T17:20:50.000Z 「教學的技術」下課後,帶給我的三項後續行動 ### **「教學的技術」這堂課在教什麼?** 抽到福哥的「教學的技術」的線下課,當下真是又驚又喜,可以一睹福哥實際在課堂上的風采, 但心裡也不免有一絲的疑惑,已經看過了教學的技術的書與線上課程, 實體課程又有甚麼不同? 對我來說,這一堂線下課,**是一場教學的即時表演,這堂課不是在教,而是讓你在觀察與體驗, 感受上台教學的現場與氣氛。** 高度專注,互動性高的課程, 原來是這樣的感覺。 ![](https://moradatajourney.com/content/images/wp/2022/08/image.png) *福哥課堂舉手盛況* ### **為什麼我想上「教學的技術」這堂課?** 2019 年是我教學的起點, 開始教授 [python AI 資料分析課程](https://college.itri.org.tw/all-events-2/E542E875-2A27-4172-B1A6-9F677CAA120D.html?utm%5Fmedium=crssearch&utm%5Fsource=college), 資料分析的課程是一堂很生硬的課程, 要建構程式思維概念, 需熟捻程式語法, 運用觀察能力, 從資料中萃取出不同的決策觀點並闡述出來。 來上這堂課的人, 大部分是大公司的工程師、學校的教授與業界的經理們, 大家都是利用周末整整兩天 14 個小時來學習, 對於這些努力向學的職場工作者, 怎麼運用不同教學方法, 讓他們在課堂上就能取得資料分析的綜合性能力, 而不是只是熟悉這些語法, 是我最終的目標。 而這挑戰,對我來說,是一個不小的挑戰。 一開始課程的設計,將資料分析的能力, 由淺至深的猜解成一個一個小單元, 先把程式概念和資料處理邏輯的基礎打好, 並透過每一個單元的一題練習題, 實際讓學生操作與思考。 ![](https://moradatajourney.com/content/images/wp/2022/08/image-1.png) *資料分析課程架構* 這樣的設計獲得學員很好的評價, 有練習題的設計,可以馬上得知教授內容是否有不清楚的地方, 可以節省回去再複習的時間, 回去的時間可以馬上利用課堂中所學, 立即使用在工作場景中。 練習題外,設計小組演練進行專題的實作, 再短短的 12小時內熟悉程式語法和資料處理思維概念, 並在最後兩個小時實作與發表, 的確很有挑戰性。 ![](https://moradatajourney.com/content/images/wp/2022/08/image-2.png) *建構舞台讓學員上場發表* 為了讓學員有更好的教學體驗與品質, 我鞭策自己必須滾動式挑整, 每次上完課都會自我紀錄, 除了肯定自己這一次好的地方外, 同時規劃出下一次可以更好的地方, 也從助教與學生的口中, 發現自己的授課風格與其他老師的差異。 但我發現在有些地方,仍有可以更好。 比如,自己很容易怕麻煩學員, 而不太願意變動上課的桌椅的排列方式, 因為程式課程每一個人都必須使用電腦, 有電腦檔在前,又必須要小組討論的狀況下, 怎樣才是一個最好的上課方式? 是我一直思考的地方。 另外,受限於時間 14 小時上課時間的限制, 小組演練我做給你看的部分, 會因為時間的壓力下, 無法好好的示範, 也是我目前一個很大的難題, 這也是我想進入福哥的課堂, 從這一堂線下課所想要找的答案。 ### **這堂課帶給我的三個啟發** #### **1.看到混合式教學的可能,先上線上課搭配線下課程** 參與「教學的技術」的線下課時, 和今年初的線下課有一個很大的不同點, 當天,每個學員在上課前幾乎都已經先看過線上課程的內容了, 因此,福哥在教學的流程設計有很多巧思, 以演繹的方式,讓大家來找出不合宜的教學應對方式, 透過這樣的方式,讓大家深刻回憶合適與不合宜的教學應對上的差異 在課堂中,我不時比對自己的教學現場, 在高強度的課程下,同步思考哪些方法能用在自己的課堂中, 突然觸電般迸出, 資料分析的課程有很多先備的知識, 如果能先預錄一些線上課程, 讓學員在上課前就先看過,熟悉練習後, 再來實體課程進行小組演練與熟悉資料分析的團隊運作, 原本的 14 小時可以有更多設計的空間與可能性, 就可以跳脫原本時間不夠的問題。(笑,想到這覺得自己很聰明) 但前提是,我必須突破心防錄製線上課程。 (冏,是我另一個挑戰,我需要錄影高手的神救援) #### **2.確保教學目標與小組演練系統性步驟的一致性,才能讓學員有帶著走的能力** 在很多課程通常都有專題的設計, 但每每總是在一個固定的時間,讓你操作, 時間內做不完就回家做, 如何在一定的時間內,紮紮實實有具體的產出, 讓學生在課堂上有成就感,是一件很重要的事情。 但怎樣的小組演練的專題設計才叫好?一直是我心中的疑問。 必須有一定的難度又能在一定的時間內完成。 在福哥的課堂上,我發現了一個很重要的關鍵, 之前小組演練的設計,怕學生已經連上 12小時的課太累, 不敢要求太多,僅是把程式碼運用課堂上的方式做調整, 然後上傳到網站看成果,在上台發表。 原本的教學目標是讓學生學會資料分析的能力。(這也太大了吧!!) 應該先把教學目標,拆解成有架構性的教學行動目標, 小組演練的設計上, 小組演練的產出必須有系統性的步驟, 同時每一個步驟必須能對應到教學行動目標上, 確保教學目標與小組演練系統性步驟的一致性, 這時突然體會到福哥說的, **教得越少,學得越好**這句話, 不要試圖把所有東西都讓學員知道, 而是能拆解出最重要的部分, 著重於怎麼設計與引導,讓學員到下課前有能力做出來。 > 老師不是知識的搬運工,而是學習體驗的設計師。 > \~ 蘿拉.麥可貝恩(Laura McBain) #### **3.在競爭氛圍下,建構出教室裡的安全感** 在福哥的課堂,每一個人都必須上台。(完全無法鬆懈的一堂課) 每一次上台,都是小組的競爭, 怎麼樣用獎勵競爭制度,抓回同學的專注力和參與力, 需要多年的工夫去根據現場的教學狀況,時時刻刻做調整, 第一次感受到原來在競爭氛圍下,還是能建構出教室裡的安全感, 福哥巧妙運用,永遠不公布最後兩名的策略,讓我著實充滿的安全感, 雖然在我這一棒,不能替小組拿下分數還是很惋惜, 但是不會影響我在小組內的關係, 但是不會影響我後續課堂學習的心情, 這就是職業講師,注意到每一個人的心情,讓每一個人都有高度的參與力。 ### 持續打造具有風格的資料分析課程 謝謝福哥和當天一起上課的夥伴,有你們才有那麼好的學習體驗,教學的路上能遇到大家真好。 ![](https://moradatajourney.com/content/images/wp/2022/08/image-3.png) 謝謝第四小組,一起努力拚到最後, ![](https://moradatajourney.com/content/images/wp/2022/08/image-4.png) 謝謝過往曾上課的學員,有你們鼓勵與參與,才有持續努力進步的自己, ![](https://moradatajourney.com/content/images/wp/2022/08/image-5.png) 下課,是另一個挑戰的開始,持續打造具有風格的資料分析課程。 雖然福哥說之後不會再開實體課程, 我覺得很可惜, 但幸好有線上課程,不受時間地點的限制, 只要有心,現在就能學習, 大家敲碗,或許下一次你也會跟我一樣幸運,抽中教學的技術線下課。 #資料思維力 #小穗步 ### 找回自主職涯與生活的必備思維 URL: https://moradatajourney.com/books-one-company/ Last updated: 2026-07-16T17:20:50.000Z 不創業也必須要知道的事 ## 前言 書中的一句話**「打造一個符合自己生活方式的商業模式」**, 在我心中迴盪著,久久無法散去。 打中的點有兩個, \* 打破以工作為主的人生,轉以生活為主 \* 並且過有品質的生活 ## 轉變 我曾經為了重要的會議,急忙動態調整小孩的看診時間。 你…曾因為工作而捨棄或忽略了那些事情? 這樣的事情,不斷在我生活中發生後, 逼著我必須停下腳步深思, 現在狀態有沒有改變的可能性? 因此,我一直都在關注和思考各種不同工作和生活模式。 2018年,工作加上開始經營社群, 2019年,持續經營社群, 開始擔任分析 team lead, 同時,教授實體課程與準備線上課程, 在大量的不平衡生活下, 似乎是一個爆發點,促使著我找尋新的平衡點, 並思考哪些東西對自己是重要的? 今年,2020年調整自己的步調, 工作的束縛少一些,自由度大一點。 加上我自己就有閱讀的習慣, 看到[“暢玩一人公司”](https://www.books.com.tw/products/0010858312?sloc=main&ref=moradatajourney.com)\+ [“實戰讀書會”](https://www.facebook.com/groups/Makemoneyonline12345/permalink/2613067315633040/), 立馬查看子彈筆記,有空檔,就衝了。 沒想著一時的衝動,卻有滿滿的收穫。 ![](https://moradatajourney.com/content/images/wp/2022/08/image-6.png) *社群 \* 內容 實戰讀書會* 活動前5天知道訊息, 3天前買到書並抓緊時間把書讀完, 滿滿的摺線和標籤紙是我的習慣, 實戰讀書會活動前,已完成一頁式的心得摘要, 這是我第一次參加活動前把心得先寫完, 會有這樣的動機,都是因為實戰這兩字。 或許是這樣的準備, 15分鐘內快速節錄一個章節的重要句與三個重點, 對我來說困難度就沒有那麼大, 在討論的當下,反而更有餘裕思考與觀察, 別人分享的角度和我的差異, 為什麼別人會被另外一點的吸引和我思考面向不一樣的原因, 讀書會就是將自己的觀點和其他人觀點產生出火花的時刻, 在那邊認識了自由工作者的恆宇、喜歡研究SEO的夥伴和認識又更加深刻的小餅。 萬萬沒想到的事,最後竟然是我上台分享。 ![](https://moradatajourney.com/content/images/wp/2022/08/image-7.png) *1 個重要句,三個關鍵知識點* ## 為什麼我想看這本書? 當時間不斷倒數的人生中,做任何事情前, 我都會試著問自己,我為什麼要做這件情? 我為什麼會對這本書有興趣? 我想從這本書獲得什麼? 所以在看書前,我要求自己思考我想看這本書的三個動機。 1.作者創立一人公司的動機為何? 2.目前作者的生活是否和自己想像中的理想生活類似? 3.如何逐漸轉型成一個人公司的秘訣? 為什麼想了解這三個面向, 我想了解作者為什麼有這起心動念的時空背景, 以及這樣執行後和我的生活目標是否一致, 想找找書中是否有提到要如何達成的關鍵點。 而這本書恰恰好,在書中穿插的回答了這三個問題, 大家可以去翻書找答案, 但我想跟大家分享三個觀點。 ## 書中重要的三個知識點 這本書易讀,我覺得書本中對我最重要的三個知識點, ### **1.打造符合自己生活方式的商業模式是可行的,找回自主的職涯與生活。** 我們畢業了,總是想說要找怎麼樣的工作,才能賺錢。 然後在工作中,再來挑剔這樣的工作,無法陪伴小孩等, 後來才發現,我們搞錯了選擇重心的順序, 應該把生活擺在工作之前,再來找合適的工作。 但有生活品質的生活模式,能對應支撐起生活的商業模式? 在書中作者也有分享個人品牌收入列表, 以不同的難易度與賣的產品類型這兩種維度為來作分析統整, 並呈現目前已達成的目標。(P. 132) 同時,舉出國外的案例,呈現目前的收入分析, 讓走在這一條路上的人,看到前人目前的樣態。 但看到這邊,也要提醒自己多觀察, 走在這一條路上,但後來轉彎的原因, 這樣才能更看到全貌。 ### **2.教你所知道的一切 ( teach everything you know )** 這個概念是從[一人公司](https://www.books.com.tw/products/0010825335?ref=moradatajourney.com)這本書而來的, 我常常會覺得自己不夠好, 覺得自己還沒有達到那個水準,就容易遲疑不前, 因為了解自己,所以現在子彈筆記中每天都要記錄一件事情肯定自己, 慢慢的我見自己許多的好與優點, 才會達成2019年目標,實體與線上課程的教授, 慢慢體悟到,教你所知道的一切的重要性, 課程的設計就跟設計產品一樣, 需要從最小成品(MVP)開始, 沒有人一開始就完全懂得所有的知識, > **「所謂專家就是在同一個知識領域裡盡可能嘗試一切錯誤的人。」** > **— 丹麥物理學家尼爾斯波爾(Niehls Bohr)** 但要怎麼知道自己哪邊有思考不周全與錯誤? 教學是一個很好發現問題點的方法, 在不斷教學的過程中,很容易發現自己過往的盲點, 持續修正錯誤與優化內容,才能成為一個好的產品或專家。 ### **3.時時提醒自己,工作程序與產品要優化,越做越輕鬆是指標。** 傳統,公司都用年資來調薪,你的薪水通常不會比過往低, 但可能也不會突然增加很多, 一個人公司,如何突破受薪時的困境, 不被自己的過往定價給侷限住, 此書引入商店定價的思維, 先評估生活所需,規劃好想要的營收, 評估可服務數量,來定義客單價。 當然不是坐地起價, 而是在不斷覆盤下, 從工作流程效率提升、進行產品的優化或轉型, 在越來越輕鬆的狀態下,進一步提升整體產品的營收。 ### 結語:對客戶帶來價值,變成職場裡的創業家 以上三點,再搭配[一人公司](https://www.books.com.tw/products/0010825335?ref=moradatajourney.com)這本書所說, > **公司目標必須要不斷成長,但不是營業額的成長,** > **而是著眼於顧客收益的價值有沒有成長。** > **Balsamiq 的目標「提供有價值又好用的出色軟體」**[**\[1\]**](https://www.bnext.com.tw/article/54299/company-of-1-staying-small-is-the-next-business?ref=moradatajourney.com)**,** > **—保羅.賈維斯** 對的思維帶來更多客戶與利潤, 這件事,不管是一人公司還是在公司裡工作,都很重要, 因為不管到哪, **產品只要能提供客戶價值,才會有價。**[\[2\]](https://www.pmtone.com/how-to-create-value-for-your-customer/?ref=moradatajourney.com) 看懂這點後,更明確了自己的方向, 雖然此書是以一人公司為目標, 但我自己定位, 個人品牌是我人生雙軌道路中的其中一軌, 我還是喜歡在公司裡面, 跟著團隊一起,一同創造出能帶給顧客滿滿價值的產品, 期許自己成為職場裡的創業家。 ## 後記:肯定自己,看到自己的成長 在公司裡帶團隊時, 我常常會提醒夥伴, 在這一段時間你有觀察到自己有成長嗎? 因為我覺得這個很重要, 做任何事情,都要看見自己的成長, 你有能力能看到自己的成長, 這項能力會帶給你更大的動力去突破下一階段的挑戰。 而在這讀書會中, 指派到我分享,我竟然沒有一絲的抗拒, 我知道這是我自己很重大的改變, 從我 [medium 的安靜是種超能力](https://medium.com/@suipichen/still-waters-run-deep-%E5%AE%89%E9%9D%9C%E6%98%AF%E7%A8%AE%E8%B6%85%E8%83%BD%E5%8A%9B-97660acfd54c?ref=moradatajourney.com)心得就能看出端倪\[3\], 也是一點一滴的轉變, 感謝[AI Tech社群](https://www.facebook.com/groups/313379262604754/)給我機會不斷的鍛鍊, 必須大量面對不同的人群, 必須邀請講者, 必須有人開場與 host 社群, 慢慢地熟悉在台上的感覺, 原來這就是一種成長。 會勇敢嘗試那麼多, 要謝謝我的孩子, 讓我擁有那麼深的動機, 我必須自己先走出去, 我要能先突破自己, 才能挑戰下一個艱難的任務, 帶著孩子突破自己, 突破上天給我的挑戰。 ## 暢玩一人公司一頁心得 最後,跟大家分享, 我參加讀書會前準備的一頁心得, 發現讀完書之後,有這一頁, 更知道之後要怎麼把所學實際應用出來, 希望今天的分享,能對於大家有所幫助, 期待我們的人生會過的越來越好, 如果有時間,我會再去看保羅的一人公司。 ![](https://moradatajourney.com/content/images/wp/2022/08/image-8-1024x753.png) *一頁式心得 by Mora Chen* 參考資料: [1\. 不是單兵作戰!打破成長迷思,不同規模的組織如何完美詮釋「一人公司」?](https://www.bnext.com.tw/article/54299/company-of-1-staying-small-is-the-next-business?ref=moradatajourney.com) [2.安靜是種超能力閱讀心得](https://medium.com/@suipichen/still-waters-run-deep-%E5%AE%89%E9%9D%9C%E6%98%AF%E7%A8%AE%E8%B6%85%E8%83%BD%E5%8A%9B-97660acfd54c?ref=moradatajourney.com) [3.如何創造出價值,可以透過價值主張畫布來思考](https://www.pmtone.com/how-to-create-value-for-your-customer/?ref=moradatajourney.com) ### 如何提高在家的工作效率? URL: https://moradatajourney.com/work-efficiency/ Last updated: 2026-07-16T17:20:50.000Z 分享我 4 個提高在家工作效率的重要關鍵點 去年的我還在上一份工作中,每天起床第一件送小孩出門後就上班去了,雖然能準時下班,但只是在家上班而已,回到家中煮飯,打理小孩,有很多時候必須一邊開著電腦,一邊吼小孩(我想職業婦女應該很有畫面),在心裡總是掛念手頭上的工作是否完成。因此,在去年10月我特地請一天假,讓自己休息,然而到放假那一天,我卻不知道該做些甚麼,腦袋一片空白?不曉得怎麼好好安排自己非工作以外的生活,那時的我有點驚訝,因為我一直都是能好好安排自己生活的人啊,我發現….我被工作制約了。 ![](https://moradatajourney.com/content/images/wp/2022/08/image-10-990x1024.png) Photo by [Kirill](https://unsplash.com/@kirillz?utm%5Fsource=medium&utm%5Fmedium=referral) on [Unsplash](https://unsplash.com/?utm%5Fsource=medium&utm%5Fmedium=referral) 這篇適合誰: 1.因防疫必須在家工作者 2.身邊沒有小孩者, 有了小孩下面的策略都很有可能失效,苦笑(>\_<), 但不符合以上兩種人,看看或許也能擺脫在家工作無效率的情形。 因此,我決定離職,讓生活有改變的契機點,從三個開始我已經在家兩星期,外人可能都覺得我現在過爽爽,每天睡到自然醒,然後喝個小午茶,回到家優閒地陪小孩,其實不然,我一樣跟平常上班一樣,6點半起床,送小孩上學後,收拾好,就開始一天的**自由工作時光,**在這兩個星期,我準備了實體資料分析課程,每星期有一天顧問的工作,晚餐嘗試以前沒有時間烹調新菜,更重要的是看完了兩本書,和去年對比起來,整年度只完整的看完一本書的我,這樣豐富自己與陪伴自己的過程,讓我有點愛上現在的生活。 這樣的產出讓我有點驚訝,回顧這兩星期的生活,我發現有 4 個提高在家工作效率的重要關鍵點。 ## 1.建立一套進入工作的儀式 在家工作的優點就是舒服,所以以前的我只要沒出門,可以睡衣穿一整天(就像剛生完小孩在家照顧新生兒的產婦一樣的生活),但這樣舒服的生活,發現會讓自己無法切分現在是工作產出模式或是休息模式,所以在家工作的第一天,我就訂下一個規則: 「送小孩出門收拾好餐桌後,就換上我的戰鬥外出服 」,這就是我的工作儀式,立馬拿起子彈筆記,看一下今天規劃要執行的進度,進到工作模式中,直到下午 5 點切換到主婦生活,開始準備晚餐給放學回家嗷嗷待哺的國小生,執行兩個星期後,覺得這個儀式幫助我很多,有時候老公也在家工作時,因為有這個儀式提醒我現在就在工作,不因老公也在家而受到影響。 ## 2.工作與休息的地點與使用工具要不相同 > 列寧說過:不會休息,就不會工作,但在家工作要怎麼安排休息? 千萬不能在電腦桌前,吃午餐看影片休息,以前的我就是這樣,雖然吃飽了,看了不用用腦的影片,但卻總會有種沒有休息到的感覺,有時因為劇情好看,不知不覺超出原本的休息時間,下午原本規畫好的事都沒做,而萌生更多的罪惡感。 這兩周的早晨小休息,如果今天有要收衣服,我會起身走走去收衣服或者切一份水果給自己。中午到了,提早蒸前一晚準備好的便當或者煮簡單的午餐,如水餃,讓自己不至於下午飢腸轆轆,也不至於飽到不能思考,你說不看影片配午餐很無聊,我也是,所以這時我不會使用工作桌前的電腦看影片,我會在客廳使用平板觀看線上課程或一天聽一點的影音內容,利用這一小段時間來吸收不同面向的知識(和資料無關),你會說這根本沒有休息到阿,但實作這兩個星期的後,發現休息的效果異常的好。 中午雖然還是在學習,思維上沒有休息,大腦仍在工作,只是工作的內容不同了,透過地點轉換,使用工具改變,創造出**有節奏感的休息,**所以心理與身體都有休息的滿足感而不是罪惡感。 ## 3.每天最多三個任務,全力完成 工作時期的我,每天都需要在多個專案中轉換與回覆多人的提問,把自己的注意力分散到不同的事務上已經是一種習慣,習慣淺薄工作,然資料分析的工作是需要深度工作的,才能從資料中看到不同的觀點,在這兩周讓自己透過安排練習專注,每天最多三個任務,唸英文、準備教材與準備社群的事物,聚焦後發現這樣的效果超好,每天也都有進度有成就感,像這篇分享我在一個小時內完成,或許是在不斷練習深度工作後的帶來的影響,也真正體悟到 > *要完成有價值的事情,就是要投入足夠的時間,所以不要安插太多無價值的事情* ## 4.晚上不要工作 **是的,不要工作會提高效率,提升非工作上的效率**。這兩周,我開始嘗試在晚上不要工作,以前晚上陪伴小孩的過程中,難免會有空檔,心裡總想拿著電腦進去陪小孩一起寫功課,但電腦對於小孩是一個很強的分心物,因次嘗試幾次後就作罷了,導致一個人待在孩子身邊卻又掛心工作,一心想要孩子工作寫快一點,後來發現如果有機會開電腦工作,晚上工作效率超差的,有時候工作因為精神不好還搞得越弄越糟([時間精力統計](https://www.productiveflourishing.com/how-heat-mapping-your-productivity-can-make-you-more-productive/?ref=moradatajourney.com))。由於現在是在家工作模式,自己可以安排自己的工作進度和內容,實施自己晚上不要工作,不像在工作時有那麼大的壓力,但怎麼安排陪小孩的空檔? 我拿起我的書櫃了滿滿想要看的書,一邊陪小孩,一邊閱讀,意外兩個星期後,我竟然讀完了 **「**[**深度工作力**](https://www.books.com.tw/products/0010758381?sloc=main&ref=moradatajourney.com) **」和「**[**你要如何衡量你的人生**](https://www.books.com.tw/products/0010780469?sloc=main&ref=moradatajourney.com)**」**這兩本很經典的書,為我後續找尋職涯與志業上很重要的指引書,其實這兩本書是我去年的書單,但我專注於工作遲遲沒看完,卻在家工作的短短兩個星期內閱讀完。 以上,這 4 個是我在家工作實驗後,得到提高在家工作效率的重要關鍵點,希望對你有幫助,如果你也想提高在家的工作效率,可以嘗試看看上面的作法再進行調整,透過不斷的盤點紀錄, 為自己設計更多高效工作的可能,你一定也能找出適合你也提高工作效率的模式,而我透過閱讀得到的幫助,我相信未來一定會不斷發酵,讓我在每個決策點上都更能有方向。 你在家工作會有那些因素導致你效率變差? 你有嘗試過超棒的方法提升你的效率? 都可以在留言中分享,期待你的分享。 ### Still waters run deep URL: https://moradatajourney.com/still-waters-run-deep/ Last updated: 2026-07-16T17:20:51.000Z *擊掌,你也是擁有內向特質的人嗎?* **與內向特質相處** 不知不覺,已經隱性埋名過了30幾年的內向者生活,或許有人會說,你都能當上AI Tech台中社群的社長了,怎麼可能是內向性格,但回想到國小擔任班長的時候,天殺的只有我自己知道,連起立、立正、敬禮那麼簡單的口令,我都需要在家不斷的練習,讓這句口令變成一種習慣,對於班長這個職務才能迎刃有餘。 **自我懷疑期** 然而,現在似乎是一個必須自吹自擂的年代,似乎每一個人都必須經營自己的自頻道為自己發聲,如樂沐主廚 陳嵐舒說的, 安靜等同消失。因此,在社會化的過程中,自己身上披著太多外界認為成功的樣子和標準,熱情、外向、善於社交等,一層一層堆疊的越來越重,連自己都不認識自己,在此過程中,自已也不禁懷疑自己,這樣適合我嗎? **安靜是種超能力** 但我是知道自己的內向是具有優勢的,才會有所謂的自我懷疑,因此,一直在不斷的修正與嘗試是否有一種方式能發揮自己的特質,也能發揮屬於我才能散發的價值。讀Jill的這本書,讓我一層一層放下這些外在希望我們變成的樣子,透過擁抱自己的過程中,同時也賦予內向另一種正面的意涵,穩重、專注,看到自己的優勢。 在這本書中,對我最有意義的三個面向,我想跟大家分享: ### 1.**完整深度的文字表達想法:** 內向者雖不擅長在人前能歌善舞,透過在執行任任務前都會問自己 {為什麼要做這件事情?} 的思考模式,讓內向者具有傾聽與分析能力,透過文字讓這些分析更具體的呈現並可以承傳下來。 ### 2\. **溫和安靜的風格展現自己 :** 不需自吹自擂,善用內向者生活上的觀察與覺察力,帶領讀聽眾進入一個故事情境中來回答問題,超愛Jill在page 31所分享的例子,**溫和以對有時比反擊更有力量。** ### 3\. **隨著學習,當個中性性格的人:** 真的,內向者有超強的學習能力,應該是終身學習者的最佳代表,透過認識自己的不足,永無止盡的學習,以團隊利益置於個人利益之上,發揮內向者得天獨厚的職場條件,真正的影像力,不在於鎂光燈下,用不同的方式讓自己被看見與發揮影響力。 最後,以一頁簡報方式記錄這本書對我的影響,感謝Jill在百忙中撰寫這本書,內向者要把心得po在社群中,在按下按鈕的那一刻是有多猶豫,但我大步向前邁進\~ ![](https://miro.medium.com/max/1400/1*RfhAj58flIbeBwhrVRfltg.jpeg) 一頁簡報呈現對我有幫助且後續需要持續學習的部分,同一本書,由於閱讀者不背景與環境的不同,閱讀同一段文字會產生不同的感觸和收獲,更歡迎你親自閱讀,製作屬於你的一頁簡報。 ![](https://moradatajourney.com/content/images/wp/2022/08/image-12.png) 博客來網址:[https://www.books.com.tw/products/0010794006](https://www.books.com.tw/products/0010794006?ref=moradatajourney.com) ### 三九。穗|喔,原來這就是我 URL: https://moradatajourney.com/thirty-nine/ Last updated: 2026-07-16T17:20:51.000Z 今年我才發現 , 「喔,原來這就是我。」 #### 原來,我生命中已經擁有對的人 跟對的人結婚, 是我人生很大的轉類點,雖然結婚後,上天給了我們必須一生面對的挑戰, 不管遇到怎樣的事情,有過爭吵,但最後我們都一起面對,現在才發現,所謂對的人,不是大富大貴,而是有相近的價值觀,因為愛而願意互相成就對方。 #### 原來,無法陪伴孩子不是因為工作本身,而是我願不願意放下工作 以前都習慣都用這句話造句,只要…., 就…。只要工作少一點,就能陪伴小孩。 今年覺察到,不是因為工作造成我不能陪伴孩子,而是我不願意放下工作, 雖然心裡想以家庭為中心,但身體卻不是這樣做。 發現後, 夫妻同心,用行動實際陪伴孩子, 設計表格,讓孩子可以慢慢透過表格管理自己的時間, 運用獎勵機制,讓孩子可以有更有動力完成事情和實際管理自己的金錢, 在這個過程中,自己體悟到自律的重要性,自律的不讓自己一直工作, 也期許把自律的範圍慢慢擴大,培養出寫作的習慣, 因為寫作讓我更了解自己。 #### 原來,自己才是支撐自己的重要力量 人很容易用自己的角度來解讀外界看到的事物, 並給出建議,這在網路世代更容易發生, 我不斷的提醒自己, 外人看到的世界,只是其中的一個面向,不是全部, 別人只能分享他的經驗,不一定你適用。 遇到問題時,要停住不斷尋求別人的意見,而是先問問自己。 所有問題的答案,其實都在自己的心中, 就像石油一樣,埋藏在深處, 但需要花時間去找,先找到每一處可能的點,在往下挖掘, 每一個點,都有可能成功,但更多時候是失敗, 但每一次的試煉,都會讓自己更加認識自己。 這一年,透過子彈筆記, 除了記錄行程,找回自己的時間外,更重要的是每天與自己對話, 和以前相比, 更容易「說不」,不再是 yes woman,因為我知道對我而言現階段甚麼是重要的, 更容易「全力以赴」,因為留下時間做重要的事情, 更容易「自律」,因為我知道無法陪伴孩子不是因為工作,而是因為自己, 更容易「說愛」,不讓人生徒留很多後悔。 Hi,未來的你好, 老是一種禮物, 是一種提醒自己要好好珍惜時光,感恩過去的禮物。 ![](https://moradatajourney.com/content/images/wp/2022/08/image-9-1019x1024.png) *迎向 40* #認識自己是一輩子的事 #迎向40 ### Deep Reinforcement Learning的第一次接觸 URL: https://moradatajourney.com/ai-rl-1/ Last updated: 2026-07-16T17:20:51.000Z 最近深感隨著歲數的增加,記憶力銳減的特別快,因此昨天(2018/3/24)第一次參加科技部 AI 創新研究中心專案計畫推動辦公室的活動-”DEEP REINFORCEMENT LEARNING SYMPOSIUM”,覺得收穫良多,迫不及待與大家分享。 今天的講者有三個,都從不同的角度出發來看Deep Reinforcement Learning。 1. 孫民教授,傳達Deep Reinforcement Learning(DRL)的由來、發展架構、從小例子出發來講授,讓我這DRL的門外漢,一開始聽不會太吃力。 2. 吳毅成,本身熱愛棋藝,六子棋也是他發明的(我今天才第一次聽過六子棋這門這玩意,有興趣的人自己google囉\~),同時具有棋藝底子和技術底子的人,看Alpha GO的發展真的不太一樣,整場聽下來,出現棋盤的機率比DRL出現的次數來的多,但是也看得出來Domain目前仍然有其重要性。 3. 林彥辰,是第三位講者,但是也是今天讓我收穫最多的人,他從實務研究的角度出發,點出DRL目前的缺點,透過三個重點的講述方式,讓我回到家裡,仍然記得\~\~\~ 因此,今天的分享不以回憶錄的方式呈現,而是就我所聽到並吸收到的三件事情與大家分享。 ### **1.何謂 Reinforcement Learning(RL)?** 目前機器學習,可以分為三類Supervised Learning(監督式學習),Unsupervised Learning(非監督式學習),Reinforcement Learning(增強式學習),目前大家都寄望Reinforcement Learning(增強式學習),能為人工智慧帶來質變與新的希望。 ***監督式學習 :*** 如果你現在要辨識貓和狗,你必須要有很多貓和狗的照片(x),並有人去標示哪一張是貓哪一張是狗(y),這個方法最令人討厭的地方,就是需要很大量的標示資料庫,才能發揮作用,建立好模型後每一張照片進來就可以分辨出這張照片是貓和狗。 ***非監督式學習 :***你不需要有貓和狗的標記資料(Y),只需要有狗和貓的照片(X),但是因為資料的限制,所以你就只能把一堆照片中,把照片分成兩群,分得夠好的話,一群大部分是貓,一群大部分是狗, 必須自己揣摩可能答案,但是無法輸入一張一張的照片,然後告訴你這張照片是貓還是狗,因為你沒有告訴她,你的資料哪些是貓,哪些是狗。 **增強式學習(**強化學習**)**: 是一種類人類/動物學習的方式,就像小孩一樣,如果用手摸插頭被電到一次,受到了負回饋,以後就不會再做,如果孩子用手摸插頭這次沒有被電到,好像不是跟爸爸媽媽耳提面命的一樣,有種挑戰成功的感覺(正回饋),下次就還會再去嘗試(這種學習法..對於人的成長學習過程中很重要)。因此,增強式學習就是這種概念,透過設計reward函數,描述行動和環境互動後的獎罰關係來學習,決定下一步該怎麼做,因此透過這樣的設計,讓原本的機器學習有了監督式學習與非監督學習沒有的”**創造力”**。 ![](https://moradatajourney.com/content/images/wp/2022/08/image-11-1024x450.png) \[Drawing from Su\]on and Barto, Reinforcement Learning: An IntroducLon, 1998\] AlphaGO在棋盤大勝後,大家都對AI有著無限的崇景與想像,想說擬人化的演算法,可以跟人一樣有創造力了。然而,真的有那麼神嗎?當大家都好的時候,更要存疑\~\~\~ ### **2.Reinforcement Learning(RL)沒有缺點嗎?** 不難發現,目前的RL都應用在電玩、棋譜,有制式化固定式的輸贏判定模式,也就是有固定的reward function,在打磚塊的遊戲中,的確發現,RL這種演算法,可以找出一種,一般人要玩超多次的打磚塊遊戲才會發現的一種特殊玩法,先打穿一條路後,讓球跑到最上面,就會在上層自動地來會碰撞震盪,分數就會很高。 https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FQ70ulPJW3Gk%3Ffeature%3Doembed&url=http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DQ70ulPJW3Gk&image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FQ70ulPJW3Gk%2Fhqdefault.jpg&key=a19fcc184b9711e1b4764040d3dc5c07&type=text%2Fhtml&schema=youtube 然而,現實生活中,應用RL卻沒有那麼容易,如何設計一個好的reward function是一個重要的課題,因為當一台車子在路上跑,如果reward function是設計成所花的時間越短,reward越大,則車子應該會做出闖紅燈的行為。 **因此,RL在使用上要注意下面三個關鍵,** #### **1.Sample efficiency:** **應用的情境為,可以做大量的常識收集資料或者可以在封閉的場域跑模擬資料** #### **2.Reward function needed:** **要去設計一個好的reward function,是RL能不能學到你想要他學習的關鍵,就像下面的船,跑最多圈的人是贏家,但是因為同時想得高分,所以reward function裡設計了要吃很多金幣,因此會發現這艘船,因為多了這個reward function反而跑得圈數少很多,就跟小朋友的學習一樣,找錯的獎勵方式,對小孩以後長大的學習不一定有益處。** #### **3.Safety guarantee:** **如果沒有設計出一個好的reward function,當應用的場景可能跟生命有關時,可能會做出傷及生命的決策,因此衍伸出很多倫理的問題,這個議題也是目前大家最關注的,因此,有不少的研究者,都在設計怎樣的RL模型架構能學習到人的倫理的行為,台大林守德教授就有做相關的研究,利用收集人類行為資料,讓機器學到人類的倫理行為,如大部分的人都不會闖紅燈。** ![](https://miro.medium.com/max/1400/1*Nf2cwaMnAAyQsyvigUd0jg.png) A Low-Cost Ethics Shaping Approach for Designing Reinforcement Learning Agents(AAAI 2017) 講了那麼多RL的壞話,但大家對於AlphaGO的神奇魔力,一定會問一個問題… ### **3\. 目前RL 有最適合應用的情境?** 其實,今天的講者都專研於RL的相關研究與應用,吳毅成老師應用RL於各式的棋藝與遊戲、孫民老師應用RL找出不同平台下最適合深度學習的架構與google運用於排程相關的工作,讓[google資訊中心的用電量下降](https://www.ithome.com.tw/news/117262?ref=moradatajourney.com),同時,RL也應用到機器手臂上,讓機器手臂可以學習到更細緻的動作。 整天聽下來,RL感覺上是AI的明日之星,但是使用上還需要更多的小心與注意,對商業應用而言,應用的領域較為覆雜,不是一個封閉的場域空間,因此,仍是使用監督式學習與非監督學習較為合適,但不管是使用哪一個演算法,資料才是最重要的核心,從基礎做起,有計畫與謀略的收集資料。 對於RL初次接觸的我,對於整個RL的演進過程,還需要反覆反芻才能理解,細節的部分,就等下次讀懂了再跟大家分享。 在夜深人靜時,終於寫完這篇\~\~實在太感動了,大家晚安\~\~ ### 37。穗|從辛苦,到漸漸感到滿足 URL: https://moradatajourney.com/thirty-seven/ Last updated: 2026-07-16T17:20:52.000Z 謝謝大家的生日祝福, 原來我擁有那麼多, 多到都不須想自己缺少甚麼? 我想這就是人生所謂的滿足吧\~\~ — — 小時候,總是希望長大, 20歲多歲,體察原來長大後是這種感覺, 一種痛痛的感覺, 一種重重的感覺,有很多責任在身上。 好想把好多東西掌握在手中, 努力拼命的吸收知識, 努力的賺錢, 想要有一個自己的家, 有了孩子後, 才發現生了孩子,是另一個責任重大的開始, 孩子很幸福,老天爺把他放置在我們家, 卻從此開啟我另一個人生視角。 我必須放緩腳步, 我必須取捨, 我不斷掙扎與不斷思索,不斷在工作與家庭中取平衡, 但..為什麼有取捨的念頭, 就是一直感覺自己兩個都想要, 但是兩者都無法滿足到我想要的狀態, 才需取捨。 過程中,生活中的經濟壓力與自我期許, 我無法像[蔡傑爸](https://www.facebook.com/tsaijey)那樣,做出一樣的選擇, 雖然無法在工作上全力衝刺, 我仍希望自己能持續的工作, 我希望能讓孩子看到媽媽努力的一面, 即使孩子可能無法理解的那麼深的層面。 — – 10年裡,真的太感謝太多太多人的幫忙, 幼稚園老師、治療師、心理師、國小老師和台中認識的媽媽們, 還有永遠支持我的家人, 讓小孩可以”平安快樂”的長大,10歲了, 這10年的練習, 我似乎越來越少做取捨的時刻, 取而代之,對於工作與家庭都的盡可能的去做, 不讓自己後悔, 因為人生沒有重來。 — — 感謝一路上的困難與挫折,才能有現在的我, 對於未來的挑戰,不管是孩子與工作, 跟10年前相比我準備的更好了\~ 謝謝老公與家人, 這一路陪著孩子們與我一起走過來, 才能有我們屬於我們”可愛的家”\~\~ 2018/7/25