陳柏威醫師

陳柏威醫師 Po-Wei Chen, MD

復健科醫師 · 花蓮慈濟醫院

徒手・運動治療 × 自架・程式 × AI・學習

完整學經歷與發表 →

🩺 門診時間與掛號 花蓮慈濟(週四下午、週五上午)· 玉里慈濟(週一下午)· 關山慈濟/台東基督教(隔週三) 看門診表 →
臨床實證復健醫學 × 實證評讀 × 研究方法 AI 工作流用 AI 重構讀書與知識工作 自架生活自架服務 × 時間管理 × 個人成長

精選

專長與興趣

最新文章

四層吃掉硬碟容量的來源:雲端回抓、資料庫快照、對話逐字稿、模型與快取,全都不在專案資料夾裡

AI 用久了,硬碟容量怎麼越來越滿

這個題目是訂閱區的歐陽醫師許願的。他說得很準:認真看 AI 運行的資料夾,好像都才幾十 MB,但是電腦容量就是被吃掉一大半。 這件事我自己也遇到很多次了。我的 C 槽 953 GB,過去一個多月每隔幾週就快滿一次,每次都是跟 Claude 說「幫我清理」,清完過陣子又滿回來。這次我們不清了,改成把一個多月來每一次清理的對話全部翻出來對帳,算清楚是誰一直長回來。 查出來四層,照體積排序。其中一層是我們自己開源出去的工具,這個下面會老實講。 一、雲端同步:檔案被讀一次,就永久回到你的電腦 這台電腦的 OneDrive 雲端有大約 400 GB。檔案設成「僅雲端」之後,檔名在、圖示在,不佔空間。但只要有任何程式打開那個檔案,同步軟體就會把它下載回本機,而且除非你自己把它釋放回雲端,它就會一直佔著空間。 八月十七號那次大掃除清出 382 GB。四天後回頭看少了 56 GB,其中課本 PDF 那幾個資料夾自己回到本機 45 GB。 這件事的怪,怪在因果被切斷了。吃掉容量的那個動作,跟長出來的那些檔案,看起來完全沒關係。你翻遍 AI 的資料夾,當然只有幾十 MB。 我們怎麼把它抓出來的 這一段是這篇最想分享的:不是我自己會查,是我跟 Claude 一起把範圍縮小的過程。 第一步,先問清楚機制。 我請他上網查「OneDrive 在什麼情況下會自動把僅雲端的檔案下載回本機」。查回來的答案是:只要有程式開啟那個檔案就會,不必真的讀內容。這一句話後來就是破案關鍵。 第二步,一個一個排除。 每關掉一個嫌疑犯就重新量一次本機佔用: Windows 搜尋索引:停掉六分鐘,佔用沒變化 檔案總管縮圖、防毒掃描、Google Drive、iCloud、Synology Drive:都排除 OneDrive 自己重抓:手動把二十個檔案標成「釋放空間」,六分鐘內一個都沒有被抓回來 排到這裡,OneDrive 本身的嫌疑就洗清了。它只是執行者,不是發動者。 第三步,我提了一句話,方向就轉了。 當下我們一直在找「現在正在跑的東西」,可是我想到:這些下載搞不好是幾個小時前下的指令留下來的,那支程式可能還活著,只是沒人注意。 我把這句話丟給他,他回頭去翻還在執行中的舊程序,當場抓到兩支: 下午五點二十某個 AI session 下的 find 指令,尾巴接了 head,本來只要前二十筆。head 拿夠了自己結束,前面的 find 卻沒有跟著死,一路跑了五個小時,回抓 19 GB 抓它的同時,另一個 session 又下了一支掃全機的 find,三分鐘再吃掉 6 GB 兩支都殺掉之後,回抓當場歸零。 ...

文章 · August 26, 2026 · 2 分鐘 · 218 字 · 陳柏威 Po-Wei Chen
權限框到底在問你什麼:default 每步都問、plan mode 只能讀不能寫、accept edits 編輯放行、auto mode 危險的才問,按 Shift+Tab 切換

權限框到底在問你什麼:四種模式、auto mode 的數據,還有 Codex 的對應設定

上週幫一群麻醉科的醫師朋友上了一堂 AI agent 上手課。課後回饋很有意思:「權限框與 auto mode」同時出現在兩張名單的前段,投「最有收穫」的人很多,投「沒聽懂」的人也很多。代表這東西重要,但一堂課的節奏講不完。這篇把它一次講完整。 還沒裝起來的朋友,可以先看從零開始用 AI agent那篇,裝好再回來。 權限框是什麼:它動手之前,先舉手 第一次叫 Claude Code 或 Codex 整理資料夾,最不習慣的就是它一直跳框問你「可以嗎?」。 這個框其實是整套系統最重要的安全設計:AI agent 要動你電腦裡的東西之前,必須先讓你點頭。框裡通常有三個部分: 它想跑的指令:一行終端機指令,像 ls、mkdir、rm 它自己的白話解釋:指令下面那一兩行,說明它想做什麼、為什麼 你的選項:同意這次、同意以後都不用問、拒絕 你不需要會終端機指令。你只需要看得懂那行白話解釋,然後判斷「合理嗎」。看不懂的時候有兩招: 看不懂它想幹嘛的兩招 直接回它:「用五歲小孩能懂的方式解釋你現在要做什麼」(英文縮寫叫 ELI5,Explain Like I’m 5,AI 都看得懂) 把那行指令複製,貼給網頁版的 AI 問「這個指令會做什麼?有風險嗎?」 四種模式:按 Shift+Tab 切換 每一步都問你,等它做完一件事你可能按了二十次同意。所以 Claude Code 提供好幾種模式,按 Shift+Tab 就能輪流切換,畫面上會顯示目前在哪個模式。日常用得到的是這四個: 模式 它會怎樣 什麼時候用 default(預設) 每個會改到東西的動作都先問你 剛開始建立信任的階段 plan mode 只能讀、不能寫,先研究再給你一份計畫 想先看它打算怎麼做;要碰重要資料的第一步 accept edits 檔案編輯自動放行,跑指令仍會問 改稿、寫筆記這類編輯密集的工作 auto mode 系統自動判斷每條指令危不危險:安全的直接放行,危險的攔下來問你 日常主力 (Claude Code 其實還有更多模式,像給無人值守環境用的 bypass permissions,那些跟日常上手無關,先不用管。) auto mode 為什麼反而比較安全:警報疲勞 臨床的人對 alarm fatigue 都不陌生:monitor 什麼都叫,叫久了大家聽到聲音只是伸手把它按掉。權限框也一樣。當每一個框都要你同意,你很快就會停止閱讀,變成反射性按同意。這時候「每步都問」給你的不是安全,是安全感。 ...

文章 · August 21, 2026 · 1 分鐘 · 207 字 · 陳柏威 Po-Wei Chen
病歷可以貼給 AI 嗎:往外送的順序只有一種,本機模型優先、院內部署次之、外部商業模型最後;別送遮過的原文,送重寫過的臨床問題

病歷可以貼給 AI 嗎?我把台灣的規範查了一輪

先講結論,五句話: 用腳本自動化批次抓病歷,不是灰色地帶。只在臨床照護必要範圍、只碰自己照護的病人、用完不留存,跨過這條線,法規要求醫院留得下每一筆存取與複製紀錄。 台灣沒有 HIPAA 十八項那種清單。我們的標準是「無從辨識特定個人」這個結果,刪滿十八項不等於完成去識別化。 只要還原用的代號對照表還在你電腦裡,你手上那份遮完的病歷就不能當匿名資料看,它仍有間接識別的可能,屬於假名化而不是匿名化。 往外送的順序只有一種:本機模型優先,院內部署次之,境外商業模型最後,而且送之前要先看自己醫院的規範。 真的要往外送,別送「遮過的病歷原文」,送「重寫過的臨床問題」。讓一段紀錄被還原的不是欄位,是敘述的唯一性。 下面把推論過程攤開。 這篇的起點,是上一篇 chart-scrub(病歷去識別化工具)發文後,黃祥瑋醫師在留言提了兩件很重要的事:一是自動化把病歷抓下來收集通常是違規的,只是看醫院有沒有在抓;二是即便符合 HIPAA 十八項,他個人還是不會把資料送到雲端或境外。 這兩句都站得住,而且背後都有具體的法源。我把條文一條一條查回全國法規資料庫核對現行版本,順著「抓病歷、遮病歷、送病歷」這條動線整理在下面。 一、抓病歷:法律看的不是工具,是範圍 用 AutoHotkey 複製跟手動 Ctrl+C 複製,在法條上沒有分野。法律真正在意的是範圍:你抓的是不是自己照護的病人、是不是照護必要、抓完有沒有留下來累積。 先講最實際的一層:這件事留得下紀錄。醫療機構電子病歷製作及管理辦法(111 年 7 月 18 日修正)第 13 條要求,病歷的存取、增刪、查閱、複製,連同執行人員、時間、內容,都要保存完整紀錄;第 4 條還要求系統要有異常使用的因應措施。誰在什麼時間複製了哪些內容,法規要求院方必須留得下來。至於院方實際能看到多細、能不能直接算出你複製了幾筆,要看各院 HIS 與稽核設定,條文不保證這件事。祥瑋說的「看醫院有沒有在抓」,制度上就是這個意思:痕跡一定在,抓不抓是各院的執行。 而且實務上最先找上門的,通常是自己醫院,法院排在很後面。醫院這幾年一直被要求把資安做起來(醫院屬於資通安全管理法的「緊急救援與醫院」關鍵基礎設施領域,個別醫院可經衛福部指定為關鍵基礎設施提供者,被指定的要提出資安維護計畫),端點監控與異常告警愈做愈普遍。醫院也有義務管人:醫院個人資料檔案安全維護計畫實施辦法要求總床數一百床以上的醫院(公立醫院準用)依業務需要設定存取權限、跟所屬人員約定保密義務、把個資使用紀錄至少留存六個月。批次抓病歷最可能的劇本,是資安告警、約談、院內懲處,一路都還沒碰到刑法。 那刑法呢?大家最常聽到的是刑法第 359 條,這條值得把構成要件講完整,因為它常被簡化成「用腳本抓就是犯罪」,那不是條文寫的。它要同時滿足三件事才成立。第一是「無故」:取得紀錄欠缺正當理由。臨床照護必要範圍內調自己病人的病歷,是有授權的;超出照護必要、碰到不是自己照護的病人,授權基礎才會被質疑。第二是取得的要是「他人」電腦系統的電磁紀錄:帳號是你的,不代表資料是你的,你對那批資料有沒有處分權限要個案認定。第三是「致生損害於公眾或他人」:這個獨立要件最常被漏掉,成立與否要能說明損害是什麼,複製了不等於當然有損害。所以用自己的帳號不等於免責,大量複製也不等於當然犯罪,中間那片灰色地帶,不值得拿職業生涯去測試。我沒有找到醫師用本人 HIS 帳號批次下載病歷的公開判決,這裡只能講風險方向,不能講定論。 最後一層是個資法。病歷是個資法第 6 條的「特種個資」,原則禁止蒐集、處理、利用,只有六款例外能開門(例外長什麼樣,第四節講研究的時候會攤開)。臨床照護本身有法源,這不是問題;問題出在「抓下來累積成一個資料集」的那一刻:複製、儲存、輸出在個資法上都算「處理」,從那一刻起你就需要一個答得出來的例外,而「我自己想研究」不在清單裡。 所以抓病歷的安全範圍就是一句話:只在臨床照護必要範圍、只碰自己照護的病人、用完不留存。自動化只是把這件事做快,沒有改變它的性質;範圍守得住,工具隨你選。 二、什麼才算「去識別化」 台灣看結果,不看清單 先介紹 HIPAA 十八項。HIPAA 是美國 1996 年的《健康保險可攜性與責任法案》,它的 Safe Harbor 規則列了一張清單:姓名、比州更小的地理區域、跟個人有關的日期、電話、Email、身分證號、病歷號、保險號、帳號、證照號碼、車牌、裝置序號、網址、IP、生物特徵、臉部照片、其他任何唯一識別碼,十八類刪乾淨,再加一個常被忘記的第二條件:機構沒有實際知情,認為剩下的資訊單獨或與其他資料結合仍能辨識個人。兩個都滿足,法律上就「視為」完成去識別化(地理與日期各有細節例外,這裡不展開)。它最大的好處是可操作:照清單做完,大部分情況就有明確依據,不用逐案猜。 台灣沒有這張清單。我們的門檻在個人資料保護法施行細則第 17 條,寫的是「以代碼、匿名、隱藏部分資料或其他方式,無從辨識該特定個人」。那是結果標準,不是清單標準:法律不管你刪了幾個欄位,只問最後那段文字指不指得回一個人。刪滿十八項,不等於在台灣已經完成去識別化。 復健科的人對這件事要特別有感。罕見診斷,加上特定術式,加上就診年月,加上哪一家醫院,四項湊起來常常就足以回推到一個人,而這四項沒有一項在十八項清單裡。真正把人認出來的,常常是整段敘述的唯一性,而不是某個特定字串。 這個結果標準的天花板,是憲法法庭 111 年憲判字第 13 號,就是 2022 年 8 月的健保資料庫案。它講的去識別化標準,理由第 54 段的原文是「使一般人採取當時存在技術與合理成本,在不使用額外資訊時,不能識別特定當事人」。要注意這份判決審查的對象:它處理的是個資法第 6 條第 1 項但書第 4 款下的健保資料庫利用,所以才會一併要求限定醫療衛生目的、限定主體(公務機關或學術研究機構)、統計或學術研究的必要性,以及獨立監督機制。這是那個案子的整組理由,不是任何人把病歷去識別化之後都要打勾的通用條件。不過放在那個脈絡下讀,方向仍然很清楚:去識別化本身不是免死金牌,它是跟目的限制、監督機制包在一起才站得住的。個人把去識別化的資料丟給境外商業模型,這兩個配套剛好都是零。 ...

文章 · August 20, 2026 · 2 分鐘 · 397 字 · 陳柏威 Po-Wei Chen
chart-scrub 去識別化前後對照:左邊是含姓名、病歷號、生日、電話、地址的原始紀錄,右邊同一筆變成 PT-0001 代號與遮罩標記,主訴與理學檢查完全保留

病歷不能就這樣貼給 AI:我怎麼先把身分拿掉

門診遇到一個有意思的個案,想查一下教科書怎麼講、想跟 AI 對一對自己的鑑別診斷有沒有漏掉什麼。這件事我幾乎每週都在做。 但病歷不能就這樣貼上去。 這跟「我信不信任那家 AI 公司」是兩回事。資料一旦離開這台電腦,它去了哪裡、留多久、被誰看過,就不再是我能決定的事。所以我想要的不是一個更好的承諾,是一個機械上的動作:在資料離開之前,先把身分拿掉。 我把自己在用的那套整理乾淨、開源了,叫 chart-scrub。 程式碼:github.com/drpwchen/chart-scrub 線上試用:drpwchen.github.io/chart-scrub(整頁在你的瀏覽器裡跑,什麼都不會上傳) 它做什麼 一筆門診紀錄丟進去: 病歷號碼:1234567 姓名:王大明 出生:1971/03/05 主訴:右肩痛三個月,夜間痛醒。王大明表示上個月在李阿嬤介紹的推拿館推過。 電話 0912-345-678,住新北市板橋區文化路一段100號5樓。 出來變成: [代號 PT-0001,55歲] 病歷號碼:PT-0001 姓名:PT-0001 出生:[55歲] 主訴:右肩痛三個月,夜間痛醒。PT-0001表示上個月在[稱謂]介紹的推拿館推過。 電話 [電話],住[地址]。 臨床內容一個字沒動,身分不見了。 為什麼不是直接遮成「[姓名]」就好 這是整件事我最先想通的地方。 如果只是把名字換成 [姓名],那同一個病人下次回診、下下次回診,三筆紀錄之間就沒有任何東西把他們串起來了。可是「這個人三個月前打過針、當時有效、這次又痛回來」,這種前後對照本來就是臨床判斷的一部分,弄丟了,剩下的資料就沒什麼討論價值。 所以第一層做的是定向抽換:這個人變成 PT-0001,下次回診他還是 PT-0001。代號對回真名的那張表,只存在我自己電腦上的一個 SQLite 檔,不進雲端、不進筆記庫、也不會給任何 AI 讀。 生日也一樣:直接刪掉可惜,換算成年齡剛好。臨床要的是「55 歲」,不是那個日期。 第二層:一張寧可多遮的網子 定向抽換只能處理「我知道他是誰」的那個人。紀錄裡還會有一堆我事先不知道的東西:電話、身分證、地址、順口提到的其他人。 第二層就是一組正規表示式規則,把這些東西通通遮掉。設計取向很單純:寧可多遮。偶爾誤遮一個醫學名詞,代價是我重看一次;漏掉一個名字,代價大得多。 有一個順序上的細節,是實作時才想清楚的:定向抽換一定要在通用規則之前跑。反過來的話,名字已經先被遮成 [姓名] 了,代號就再也接不上去,跨次就診的那條線也就斷了。 機器自己驗自己 寫完之後我最不放心的是:它到底有沒有真的遮乾淨? 所以最後一步是殘留檢查:程式跑完,拿它自己知道的每一個真名、每一個病歷號,回頭搜自己剛產出的那份輸出。只要有一個活著,這筆就判定失敗、離開碼給 2,我不會拿去用。 另外還有兩個訊號是抓「漏網」的形狀:一個中文姓名黏在已經被遮掉的身分證旁邊、以及長得像身分證卻沒被遮的字串。這兩種都不是「我知道他叫什麼」,而是「這個位置本來就該有東西被處理掉」。 這件事的通則 自動化最怕的不是失敗,是安靜地成功。所以每一段自動化的最後,都值得補一個「回頭檢查自己」的動作,而且要讓它有辦法大聲喊失敗。 開源的過程中,抓到自己三個 bug 這部分我覺得比工具本身有意思。為了公開,我補了測試、逐條檢查,結果揪出三個原本在用的版本就有的問題,而且三個都是那種不會報錯的失敗。 第一個:我習慣的手寫格式是「身分證號+姓名」擠在同一行。但實際的紀錄常常長這樣: 陪同者 A123456789 李小華 程式抓到的姓名是 「陪同者」,不是李小華。因為規則寫成「身分證號旁邊的 2 到 4 個中文字」,而「陪同者」剛好也是三個中文字,還排在前面。結果就是:一個角色詞被登記成病人,真正的名字反而漏掉。修法是要求姓名的第一個字必須是常見姓氏。 第二個:醫院系統匯出的文字檔編碼很雜,UTF-8、UTF-16、Big5 都遇過,所以程式會一個一個試。問題是一個 Big5 檔用 UTF-16 去解,不會出錯,會解出一堆亂碼。而亂碼不會命中任何一條規則,所以程式一路跑到底、印出「全數通過」,實際上它什麼都沒遮到。修法是:只有在檔案真的帶著 UTF-16 的標記時才用 UTF-16 去解。 ...

文章 · August 14, 2026 · 1 分鐘 · 130 字 · 陳柏威 Po-Wei Chen
讓 AI 開我的瀏覽器,安全嗎:終端機畫面顯示已對 Kimi WebBridge 封鎖 13 個要害網址,AI 想開網銀得到 Cannot attach to this target,沒被封鎖的網站照常自動化;擴充套件的網站存取權白名單擋不住,要從瀏覽器政策下手

把密碼存瀏覽器、又讓 AI 開瀏覽器,這樣安全嗎?

前幾天一個剛開始用 AI 寫程式的學妹問我一個很好的問題:她讓 AI 直接開她的瀏覽器做事,可是密碼都存在瀏覽器裡,這樣到底安不安全? 我覺得這個問題值得拆成兩層來看,因為大家常常把它們混在一起擔心。認真查完之後,我把答案做成了一個開源工具,文末會介紹。 第一層:密碼存在哪裡 這層其實好解決。不管你是用 Apple 鑰匙圈還是 Bitwarden,只要是專門的密碼管理器,加上重要帳號都開了兩階段驗證(2FA),密碼本身就是安全的。別把密碼記在記事本、別用同一組打天下,這層就過關了。 順帶一提,如果你是把密碼存在 Chrome、靠 Google 帳號同步,要小心:只要有人能登入你的電腦帳號,就能把你存的密碼全部看光,這其實滿危險的。學妹用的是鑰匙圈,這層沒問題。 第二層才是重點:你讓 AI「控制」了你的瀏覽器 這代表它是用你已經登入的身分在操作。你的網銀、你的信箱、你的券商,對它來說都是開著的門。 我用的那套是 Kimi WebBridge。工具本身通常是乾淨的,我實際查過它的控制端:daemon 只綁在本機 127.0.0.1,區網或外網的其他機器連不到;沒有任何對外連線,不會把資料往外送;帶惡意來源的網頁想從瀏覽器裡偷呼叫它,會被擋掉。這部分可以放心。 真正的風險是另一件事,叫 prompt injection:AI 拿著你的登入身分,萬一去讀到一個藏了壞指令的網頁,有可能被牽著鼻子走。它不是被駭,它是太聽話。而它手上握著你所有登入中的網站。 平心而論,這類 AI(像 Claude)本身對 prompt injection 是相當警覺的,最近甚至容易反過來疑神疑鬼、動不動覺得自己被下指令了。但與其把要害帳號的安全全押在它每次都判斷正確,不如多加一道機械上的鎖:把最要命的幾個網站(網銀、券商、Gmail)直接擋在 AI 碰不到的地方,讓它就算被騙也走不進去,其他日常網站照常幫我做事。 直覺的做法沒有用:網站存取權白名單 瀏覽器的擴充套件設定裡有一個「網站存取權」,可以把擴充限制成「只能在特定網站」運作。直覺上把它設好就安全了。 實測結果:攔不住。設好白名單之後,叫 AI 開一個清單外的網站,它照樣進得去、讀得到內容、跑得了 JavaScript。 原因在技術層:這類 AI 瀏覽器控制工具走的是瀏覽器的偵錯介面(chrome.debugger API)在驅動頁面,而「網站存取權」那層設定只管一般的內容注入,管不到偵錯介面。所以那個設定頁面會讓你以為有圍籬,實際上這類工具根本不從那道門走。 順帶說明一下,不是每套工具都這樣:像 Claude in Chrome 是逐個網站問你同意的設計。但只要擴充的權限清單裡有 debugger(WebBridge 這類全站授權的工具就是),逐站白名單就是裝飾品。 真正有效的那道鎖:瀏覽器政策層 往下挖一層,答案在企業環境常用的瀏覽器政策(policy):ExtensionSettings 裡的 runtime_blocked_hosts,可以對指定的擴充封鎖指定的網站。 這道是真的擋得住的。我把自己的網銀、券商、Gmail 一共 13 個登入網址設進去實測:AI 一碰被封的網站就直接吃到 Cannot attach to this target,連頁面都讀不到;沒被封的網站則完全不受影響,日常那些自動化照常跑。兩個方向都要測,這道鎖才算數。 兩個實作上的細節: 只封精確的網址,不用 *.整個網域 這種萬用字元。 封 *.esunbank.com.tw 會連信用卡活動頁一起封掉,而信用卡活動頁、線上表單這類,往往正是你想留給 AI 幫忙的地方。要封的是「登入後能動錢的那個網址」,不是整家銀行。 macOS 有一個陷阱:defaults write 寫進去的政策沒有用,而且是無聲失敗。 實測它在 chrome://policy 會顯示「有效」,但等級只是「建議採用」,AI 照樣進得去;政策要放在 /Library/Managed Preferences 底下、等級顯示「強制」,才真的擋得住。驗證標準要看等級,不是看政策有沒有出現。 做成開源工具:kimi-webbridge-lockdown 這個設定要手動改登錄檔(Windows)或系統政策檔(macOS),有點門檻。所以我把它做成了一鍵設定的工具,開源出來: ...

文章 · August 9, 2026 · 1 分鐘 · 142 字 · 陳柏威 Po-Wei Chen
借錢投資前的四道門檻:緊急預備金 3~6 個月、十年內要用的錢不進市場、還款現金流撐得過空頭、想像得出帳面 −40% 那天;四關都過了才輪到利率這一題

剛出社會,先把錢放對位置,再談要不要借

前一篇信貸投資的模擬放出來之後,最常被問到的不是模型,而是這句:「那我剛出來工作,是不是也該借一筆?」 這題其實我七年前就寫過一半。2019 年剛開始自行理財的時候,我寫了六篇投資理財筆記,講資產配置、保險、薪水怎麼分。那六篇裡沒有一個字提到槓桿,不是因為那時候沒想過——PGY 的時候我就在 Excel 上算過這題了——而是因為順序不對。 所以這篇是把兩件事接起來:剛出社會那幾年真正該做的事,以及做完哪些之後,才輪得到借錢投資這個選項。 七年前那六篇,結論其實只有一句 先快速把舊系列的骨架擺出來,因為後面每一道門檻都從這裡長出來: 第一篇:出社會開始自行理財的起點 第二篇:唯一目標是避開風險——單一公司會倒,所以買整個國家;單一國家會衰弱,所以買全球;只有股票會蕭條,所以搭配債券 第三篇:ETF 省掉基金管理人的風險,保險「保大不保小」 第四篇:領到薪水後把錢分進七個虛擬帳戶 第五篇、第六篇:通膨、低保費高保障,以及該保哪些險 六篇拉到最後,其實就是一句話:把每一筆錢,放到符合它「什麼時候要用」的位置上。 這句話同時也是槓桿這題的全部答案。 剛起步的時候,複利不在市場上 第四篇裡我寫過一段,現在回頭看還是同一個判斷: 撇開父母很有錢的人後,剛出社會的我們無法用資產配置來達到所謂財富自由,可是我們能透過投資自己把本金不斷拉升。 這不是勵志話,是算術。年報酬率和本金是相乘的關係,剛出社會的時候本金那一項小到什麼程度呢?假設存了 30 萬,一年多賺 5% 是一萬五;同一年去上一門幾萬塊的課、考一張證照、換到一個薪水高兩成的位置,那個增幅是本金的好幾倍。 但醫師這行不太一樣 這裡要誠實講一個限制:醫師在前期,其實很難靠「投資自己」讓收入立刻跳上去。 實習、PGY、住院醫師這幾年,薪水是照制度走的,你多讀一本書、多學一項技術,當年的薪水不會因此變多。 不過換個角度看,這件事反而是這一行最大的財務優勢:收入曲線是可預期的。 只要照著走完訓練,薪水會在幾個固定的節點往上跳,而且幅度不小、時間點也大致算得出來。 這正是財務理論上「適合開槓桿」的條件。穩定而且可預期的薪水,在人力資本(human capital)的框架裡等同於你持有一張巨大的、與股市低相關的「債券」——年輕的時候,你的總財富幾乎全部是這張債券,金融資產那一小塊反而可以、甚至應該更積極。Ayres 與 Nalebuff 在《Lifecycle Investing》裡講的「跨時間分散」就是這個意思:與其把市場曝險全部集中在資產最多的晚年,不如年輕時適度借一點,把一生的曝險攤平。 他們給的建議上限是 2:1,不過這個數字要看清楚它在防什麼:2:1 是為了「會被追繳的融資工具」設的。券商融資在帳面跌到一定程度時會強制平倉,所以帳面回撤本身就是一個獨立的風險來源,倍數必須壓在斷頭線之外。 信貸沒有這個機制。沒有人會因為你的部位跌了就叫你補錢或賣股,所以真正的限制不是倍數,是還款現金流——只要月付繳得出來,帳面跌多深都不會強迫你在谷底離場。這也是為什麼後面門檻三談的是繳款能力,不是比例。 所以對醫師來說,起步那幾年的本金成長主要來自兩件事:時間,以及一條可預期的薪水階梯。槓桿的正當性也是從這裡來的——不是因為勝率九成,是因為你對未來的還款能力有把握。 反過來說,如果你的收入型態不是這樣(接案、拆帳、創業、收入隨景氣波動),這一段就不適用於你,那些勝率數字建立在「每個月都繳得出來」上面。 回到順序。剛出社會那幾年的優先級,跟七年前寫的一樣: 日常生活的錢先拿出來,這個月就只花這些 投資自己——課程、年會、證照,這是未來薪水成長的關鍵 緊急預備金、長期支出、資產配置三個帳戶 請客捐獻 玩樂休閒至少留 5~10%,不然全部存起來會感受不到自己真的在賺錢 槓桿在這張清單上的位置,是第 3 項的內部細節,不是新的第 6 項。它不會讓你跳過前面任何一項。 四道門檻:這才是「能不能借」的真正判準 模擬跑出來的勝率是 89.6%,但那個數字有一組很硬的前提:十年不中斷、不賣出、每個月都繳得出來。真實世界的失敗,幾乎都不是市場造成的,是這三個假設被打破。 所以順序長這樣——下面四關全過,才輪到看利率和勝率。 門檻一:緊急預備金存滿,而且不能來自投資部位 四關裡面,這一關是最重要的。 抓 3~6 個月的生活費,這筆錢的用途不是投資,是讓你在失業、生病、家裡出事的時候,不必在最糟的時點把部位賣掉。(第四篇當年寫的是 6~12 個月,那是更保守的版本;收入越不穩定就越要往上加。) 信貸投資會讓它的重要性再放大一個層級:你多了一筆每個月固定要繳的月付,卻少了一份「大不了先不投了」的彈性。定期定額可以暫停,貸款不行。所以帶著槓桿的人,緊急預備金不是「有存一點」就好,而是要能明確講出它能撐幾個月的月付加生活費——講不出這個數字,就還沒過這一關。 門檻二:十年內要用的錢,不進市場 這是舊系列的老規矩:1~10 年內要用的錢(買車、旅遊、頭期款、結婚),放定存或其他能抗通膨的低風險項目;10 年以後才要用的錢,才進全球股債。 ...

文章 · August 9, 2026 · 2 分鐘 · 324 字 · 陳柏威 Po-Wei Chen
loan-invest-sim 信貸投資模擬器:勝率與風險分布

信貸投資勝率九成?這題我從 PGY 就開始算

先說結論 我們自己的做法是:月薪 5 萬的人,借 100 萬、10 年期、利率 2.5%,一次全部投入,配置抓 80:20 股債比,其中 0050 佔總資產一成,其餘是全球股債 ETF。假設是這樣抓的:這個配置的歷史序列(1997 年起、含亞洲金融風暴與網路泡沫,後面方法段會講)實質年化報酬是 5.72%,我們抓 6%,比歷史略高一點;通膨歷史平均 1.4%,我們抓 3%。這兩個假設各自把勝率往哪邊推,文章後面會誠實拆開來給你看。評估年限跟貸款年限一樣,10 年。 用真實市場資料模擬兩萬條路徑,結果是: 89.6% 的路徑,最後贏過「不借錢、把同樣月付金拿去定期定額」 中位數淨賺 83 萬,最好的 5% 淨賺 241 萬,最差的 5% 是倒賠 7 萬 而最值得看的是這個:就算落到最差的 5%,也只比定期定額少 10 萬;而最好的 5% 是多 145 萬 下檔輸的幅度很小,上檔贏的幅度很大——這才是這件事真正的樣子,不是「勝率九成」四個字。 先講清楚這個 89.6% 該怎麼讀 它是兩萬條隨機路徑跑出來的估計值,本身帶有抽樣誤差:二項標準誤約 ±0.2 個百分點,95% 區間大約是 89.2% 到 90.0%。換一組亂數種子,小數點後那一位就會跳動。所以請把它讀成「約九成」,不要讀成精確到 0.1%。這篇文章後面所有的數字都適用同一句話。 以下先把完整的報告講完(我們的條件、結果全貌、方法與前提、誰不該做),最後再講這題我是怎麼用 AI 算了三遍、又怎麼發現 AI 算錯的。 完整報告 結果全貌:從最好到最差,一次攤開 先看這筆交易到底賺不賺。下圖的淨損益 = 期末實質資產 − 你為貸款付出的實質成本,從最差的 5% 到最好的 5% 整個範圍攤開(都是換算成今天購買力的實質金額): ...

文章 · August 8, 2026 · 3 分鐘 · 584 字 · 陳柏威 Po-Wei Chen
運動相關昏厥倒下 exercise-associated collapse 筆記 封面

衝過終點才倒下:運動後昏倒,多數不危險

運動會、路跑、球賽的場邊,最常見的意外不是骨折,是有人倒下。 而現場最該問的第一個問題,不是「他有沒有脫水」,而是「他是什麼時候倒的」。 這一題的答案會把情況分成兩個世界:倒在比賽進行中,和衝過終點之後才倒下。 倒在比賽中:先當最壞的情況處理 如果一個人在跑、在打、在比的過程中突然倒地,而且沒有被撞到,正確的反應是先當成心跳停止:喊人、叫救護車、拿 AED、開始 CPR。 聽起來很誇張,但這是國際上的一致做法。原因很簡單:運動中無外傷倒地的人裡面,有致命原因的比例高得多,而心跳停止每延遲一分鐘,存活率就掉一截。如果最後不是,那很好,你只是虛驚一場;如果是,只有這個做法救得回來。 所以場邊不要先量體溫、不要先餵水、不要先討論他是不是太累。 衝過終點才倒下:多數是良性的 反過來,衝線之後才站不穩、蹲下去、需要人扶著才能走的,絕大多數是良性的。 原因不是他太虛,而是一個很單純的力學問題: 跑步的時候,兩條腿的肌肉每一次收縮,都在把血液往心臟推回去,像一組幫浦。同時因為要散熱,皮膚的血管是擴張的、下肢的阻力是低的。 然後他衝過終點,停下來。 幫浦停了,血管卻還是開著的。 血液大量積在雙腿,回到心臟的量瞬間變少,送到腦部的血也跟著變少——眼前發黑、腿軟、站不住。 天氣熱的時候更容易發生,因為散熱讓皮膚血管開得更大。 這件事其實普遍到接近生理常態:把健康人在運動後扶成直立姿勢十五分鐘,估計有五到八成的人會出現快要昏倒的徵兆。所以衝線後腿軟並不代表這個人身體有問題。 現場可以做的四件事 讓他躺下來,把腳抬高——高過心臟三十公分以上。這是最有效的一步,血自己就會回去。重點在抬腳,不是把整張床頭放低:床頭放低的效果一分鐘後就開始衰減,單純抬腿撐得比較久。 意識清楚、能吞就給水喝——含一點鹽分的運動飲料比純水好。 看時鐘——二三十分鐘內能自己站起來走,就沒事了。 不要急著把他架起來走——剛倒下就被扶直,等於把血又壓回腿裡。 但有三件事一定要先排除 良性是「排除掉危險的以後」才能下的結論。真正會出事的是這三個被當成單純累倒: 運動型中暑——體溫超過四十度,而且人不對勁了(答非所問、亂罵人、叫不醒)。這個要立刻在現場降溫,細節在 中暑那篇。 運動相關低血鈉——比賽中喝了太多水,血鈉被稀釋。特徵是頭痛、想吐、體重反而增加。這種人愈補水愈糟。 低血糖——冷汗、發抖,量一下血糖就知道。 所以現場的順序是:先看意識,再量體溫,能驗就驗血鈉血糖,都乾淨了才安心當良性處理。 運動後昏倒需要打點滴嗎? 這件事跟直覺相反:衝線後昏倒不是脫水造成的。 有研究在八十公里超馬前後量了三十一位跑者的血壓,賽後有 68% 的人躺著坐起來血壓會掉,但他們大多完全沒有症狀、也沒有倒下。更關鍵的是,血壓掉多少跟他掉了幾公斤、血漿少了多少完全沒有關係。 所以真正的問題不是水不夠,是血液沒有回到該去的地方。躺下抬腿就是在解決這個問題,而點滴解決不了。 當然,如果他吐得無法喝、或已經意識不清,那是另一回事。 預防:最後那幾十公尺不要停 衝線後繼續走——這是老手都會做的事,讓腿的幫浦繼續運轉。賽事端其實可以主動要求完賽者一直走動,不要讓他們立刻坐倒在地上。 放慢呼吸——拿到第一名太興奮、沒拿到太懊惱,加上身體不舒服,很容易換氣過度,讓頭更暈。這不是主因,但會加成。 熱的時候,終點區要有陰涼處和醫療站。 什麼時候要送醫院 倒在比賽進行中(不管後來清醒了沒有) 意識不清楚、答非所問、抽搐、叫不醒 二三十分鐘躺下抬腿之後還是站不起來 一直吐、頭很痛,或者反覆倒下 倒下二三十分鐘就恢復、走得掉的,通常不用追蹤。但如果同一個人反覆發生,或者那一次到底為什麼倒下說不清楚,就值得到門診做完整的評估。 Clinical Pearls EAC = 運動 停止後 無法獨立站立或行走的良性 postural hypotension;意識多保留,是 排除性診斷 終點線後昏倒最常見的原因就是 EAC(馬拉松醫療帳棚約 60% 主訴);運動「中」的 atraumatic collapse 一律視為 cardiac arrest 機轉是下肢靜脈池化+sympathoinhibition/histaminergic vasodilation/baroreflex 下調;脫水與高體溫只是加成因子 健康人運動後接受 15 分鐘 head-up tilt,50–80% 會出現 presyncope——這是生理常態,不是病態 必查三項:rectal temperature(排除 EHS,>40°C)、serum Na(排除 EAH,<135)、血糖 治療:Trendelenburg/平躺抬腿;多在 20–30 分鐘內自行恢復,無改善就送 ER 全身降溫、常規 IV 輸液、進階處置在單純 EAC 一般都不需要 縮寫 縮寫 全稱 中文 EAC Exercise-associated collapse 運動相關昏厥倒下 EAH Exercise-associated hyponatremia 運動相關低血鈉 EAMC Exercise-associated muscle cramps 運動相關肌肉痙攣 EHS Exertional heat stroke 運動型熱中暑 ECAST Exertional collapse associated with sickle cell trait 鐮刀型血球特徵相關運動性倒下 SCT Sickle cell trait 鐮刀型血球特徵 AMS Altered mental status 意識狀態改變 SBP Systolic blood pressure 收縮壓 CK Creatine kinase 肌酸激酶 疾病背景 定義 Exercise-associated collapse (EAC):在 耐力賽結束後(最常見)或運動停止時,運動員出現 light-headedness、dizziness、faintness 或 syncope,無法不依協助站立或行走 Miranda-Comas 2e Ch.6 多數保留意識;少數有短暫意識喪失(屬 heat syncope 範疇) 「Atraumatic collapse during exercise」不算 benign EAC,須先當作 cardiac arrest 處理直到排除 Miranda-Comas 2e Ch.6、Braddom 7e Ch.40 流行病學 12 年回顧顯示 約 60% 的馬拉松醫療接觸主訴為 EAC,是醫療帳棚最常見的主訴 Miranda-Comas 2e Ch.6 賽後姿勢性低血壓 極為普遍,而且多數無症狀 Holtzhausen 1995 80 公里超馬 31 位跑者:賽前 7%、賽後 68% 有 asymptomatic postural hypotension 定義為 supine→erect SBP 下降超過 20 mmHg 且無 syncope 症狀 機轉 運動中:下肢肌肉收縮作為 secondary muscle pump,維持靜脈回流;同時下肢周邊阻力下降 Mitra 2019 Ch.27 運動突然停止:muscle pump 消失、阻力仍低 → 血液 pool 在下肢 → 靜脈回流下降 → preload 與 cardiac output 下降 → cerebral perfusion 下降 → presyncope/syncope 運動後低血壓的機轉分成兩類,這個架構最好用 Christou 2018 Obligatory(一定存在):sympathoinhibition、histaminergic vasodilation、cardiovagal baroreflex 下調 Situational(只是加成):dehydration、hyperthermia、gravitational stress 臨床意義:脫水與高體溫是降低倒下門檻的加成因子,不是主要驅動力 Asplund 2011 BJSM Baroreflex 這一項的補充:訓練有素的運動員對 baroreceptor 刺激的反應本就較鈍,因此 更依賴運動後靜脈回流的維持 Mitra 2019 Ch.27 運動後的姿勢不耐受本身是生理常態 Halliwill 2013 健康人運動後接受 15 分鐘 head-up tilt,估計 50–80% 會出現 presyncope 徵候 有效的 counter-maneuver 就是驅動 muscle pump、增加靜脈回流 針對 respiratory pump 與 histamine receptor 的藥物策略 目前只到「有潛力」的程度,不是既定治療 熱環境放大效應:皮膚血流分流以散熱 → 進一步降低有效循環容積 Braddom 7e Ch.40 脫水的證據落點 Holtzhausen 1995:姿勢性血壓變化 與體重減少、血漿容積下降均無關;該批跑者平均脫水 4.6%(範圍 1–7%),仰臥時循環狀態並未明顯受損 Hypocapnia 是第二條腦部路徑 Christou 2018 兩個來源:恢復期 hyperventilation,以及 直立姿勢本身造成的 orthostatic hypocapnia 低 CO2 造成腦血管收縮;Ropper 12e Ch.14 寫的是 faintness 常見、真正 syncope 罕見 運動「中」發生的 syncope 高度指向心臟病因 Christou 2018 分類 依時間軸分(決定處置策略): ...

筆記 · August 6, 2026 · 7 分鐘 · 1367 字 · 陳柏威 Po-Wei Chen
台鐵訂票祕書:門診行程與已訂車票自動對帳的畫面

幫我訂今晚回花蓮的票:做一個台鐵訂票祕書

在花東跨院支援門診,最花心神的其實不是看診,是回程的火車票。下診時間不固定,玉里、關山、臺東各有各的班次窗口,加上夏天傍晚的花東線,坐錯邊就是整路被太陽曬🥵 這種事就該交給 Claude。這幾天我們把「訂票祕書」做起來了,今天真的用它訂了回花蓮的票。 這篇的重點 為什麼一張車票會需要一個系統:門診表、停診公告、台鐵訂票紀錄三份資料要對得起來 門診行程 × 車票總覽:哪一天缺哪一段車票,打開一眼看出來,勾一勾批次訂完 座位側別是推算出來的:環島路網的海側是不變量,配上各車種的座號餘數表就能判定曬不曬 不只避曬:邊緣列、輪椅座正後方的桌板位、到站出口最近的車廂,全部進同一個評分 建置用到的工具:本機瀏覽器自動化、交通部 TDX 開放資料、Cloudflare Tunnel、DPAPI、ntfy 有人問了一句「這樣用可以嗎」,於是我把台鐵條款、鐵路法修法沿革和 32 件相關判決全部讀完,並據此改掉了訂票邏輯 為什麼這個專案不開源:自我約束只存在於我這台電腦上,工具放出去就管不到別人拿去做什麼了 一張車票,為什麼會需要一個系統 我的支援門診固定在幾條路線上:週一玉里來回,隔週三花蓮到關山、關山再到臺東、傍晚回花蓮。看起來規律,實際訂票時要同時記住三件事: 哪幾天要去哪裡:門診是規則排的,但會有停診 哪幾段已經訂了、哪幾段還沒:台鐵的訂票紀錄頁面預設只顯示最近幾筆,一次要訂一個月的票就得自己數 那一班的座位坐哪邊:這是最後才想得到、卻最影響搭車體驗的一件事 以前是靠記憶加上翻訂票 App。做成工具之後,這三件事變成一個畫面。 門診行程 × 車票:先對帳,再訂票 打開祕書站的第一個畫面不是班次表,是未來四週的門診行程,每一段旅程旁邊掛著它的車票狀態。 這一頁背後接了三份資料: 門診日由排班規則生成(週一玉里、隔週三關山與東基,錨定在一個已知日期往後推) 停診直接讀我自己門診資訊頁背後的同一個 API。同一份資料兩個用途:對外公告停診,對內就不會排出一段不存在的行程 已訂車票去台鐵會員的訂票紀錄掃,把每筆訂單拆成「日期+起站+迄站」,跟行程比對 對得上的顯示 ✅ 加車次、訂票代碼與付款狀態;對不上的就是一個空的勾選框,寫著「未訂(預設 441 次)」。 缺的票勾一勾,丟進購物車,按一次全部訂完。 批次訂票的順序是嚴格排隊的:後端有一把工作鎖,一筆訂完才開始下一筆。原因很單純,訂票是操作同一個瀏覽器分頁,兩筆並行只會互相踩到。 要自己挑班次時,還有一個班次看板:選日期、看時刻、點「訂」,跳出張數、靠窗或走道、要不要避曬的選單。 座位:曬不曬是可以算出來的 這是整個專案最好玩的部分。訂票網站不會告訴你這個座位在哪一側,但這件事其實可以推。 海側與山側是不變量 台鐵環島路網是一個環。固定編組的列車兩端都有駕駛室,中途從不調頭,而環島線的「海」永遠在外圈。所以一個座位是海側還是山側,全線、雙向都不會變。 會變的是方位:花東線的海側朝東,南迴線的海側朝南,屏東與縱貫線南段的海側朝西。所以只要知道「海側」,再知道現在走到哪一段、幾點,就能判斷太陽在不在你這一邊。 座號的餘數決定一切 台鐵的座位編號有規律,座號除以 4 的餘數是 1 或 2 就是靠窗,3 或 0 是走道(例外:EMU3000 第 6 車騰雲座艙是 2+1 配置,餘數 0 才是那排單人靠窗座)。再往下一層,餘數也決定左右: ...

文章 · August 5, 2026 · 2 分鐘 · 330 字 · 陳柏威 Po-Wei Chen
運動型熱傷害 exertional heat illness 筆記 封面

中暑不是熱昏頭:先泡冷水,再送醫院

先講最反直覺的一句:孩子在大熱天運動時倒下、意識怪怪的,正確順序是先在現場降溫,再送醫院。 不是先叫車、路上再說。國際上的說法很直接——cool first, transport second,先降溫、後送醫。因為決定他會不會留下永久傷害的,不是多快到急診,而是體溫超過 40 度的那段時間有多長。 這篇寫給暑假帶孩子跑跳的家長和教練。 先分清楚:熱得不舒服,和真的中暑 夏天運動不舒服有好幾種,差別很大,但只有一個要立刻急救。 最需要記住的分界線是「意識」: 抽筋——肌肉一陣一陣抽痛,但人是完全清醒的、對答如流。不危險。 熱昏厥——站著站著眼前一黑,躺下抬腳很快就醒。也不算危險。 熱衰竭——臉色發白、冒冷汗、頭痛想吐、全身無力站不起來,但問他話還答得出來。要處理,通常休息補水 30 分鐘會好。 中暑(熱中暑)——人不對勁了。答非所問、講話沒邏輯、亂罵人、抽搐、叫不醒。這個會死人,而且是分秒必爭。 所以現場只要問自己一句話:這個孩子的腦袋還正常嗎? 不正常,就當中暑處理,不要再猶豫。 為什麼耳溫槍、額溫槍完全不能用 這件事很多人不知道:在運動場邊,耳溫、額溫、口溫、腋溫全部測不準,而且是「假性偏低」——明明很危險,機器卻給你一個正常的數字。 有研究在熱帶氣候讓選手跑 14 英里,賽後量到的直腸溫平均是 39.7 度,同一批人的口溫卻只有 37 度,完全正常。 如果那天你拿額溫槍量到 37,就會放心讓他繼續休息——而他其實正在中暑。 現場真正可靠的只有肛溫(直腸溫)。這在球場邊當然不是每個人都做得到,所以退一步的實務原則是: 量不到體溫,就用「意識」判斷。 意識不對又剛運動完,直接當中暑處理,不要等體溫數字。 現場要做的事:泡下去 發現孩子意識不對、剛剛在大太陽下運動: 叫救護車(叫人去打,你不要離開) 脫掉裝備和衣服——護具、頭盔、球衣,能脫多少脫多少 整個人泡進冷水裡——這是效果最好的方法,沒有之一 泡到人清醒、體溫下來就起來,不要一直泡 第 3 點最常卡住,因為大家會想「哪來的冰水」。所以有兩件事要知道: 水溫沒有你想的那麼講究。 國際急救的系統性回顧比較過冰水、很冷的水、一般冷水,發現降溫速度沒有明顯差別。所以不要為了找冰塊而耽誤時間,先泡下去比較重要。 沒有水池,就用大水管持續沖、用濕床單包起來加冰塊。只把冰袋放在脖子腋下、或只泡手腳,降溫效果都不夠,不能當主力。 順帶一提:退燒藥沒有用。中暑不是發燒,體溫調節系統已經整個壞掉,普拿疼和消炎止痛藥不但無效,還多一層肝腎負擔。 只是熱衰竭的話怎麼辦 意識清楚、只是虛弱想吐:移到陰涼處、躺平抬腳、慢慢喝水,含一點鹽分的運動飲料比純水好。 然後看時鐘: 30 分鐘內沒有明顯好轉,就升級當中暑處理,送醫。 補水:別等孩子喊渴 有件事研究看得很清楚——就算把水放在旁邊讓孩子自由喝,他們還是會喝不夠,運動後平均掉 0.5% 到 1% 的體重。而且把飲料調成他們喜歡的口味也沒用,好幾個研究試過,都沒有穩定改善。 所以對這個年紀,補水要用「排程」,不要靠他自己想喝。時間到就叫他喝,不是等他說渴。 一個在家就能做的量化方法: 運動前後各量一次體重 體重掉超過 2%,就是補太少了(30 公斤的孩子,掉 0.6 公斤就到線) 早上第一泡尿的顏色也可以看,深色就是水不夠 熱適應:這是可以練的,但也會退 身體對熱是會適應的——排汗變早變多、心跳變慢、同樣的天氣感覺沒那麼難受。這個適應大約需要一到兩週的漸進暴露,前四到七天就會完成大部分。 ...

筆記 · August 4, 2026 · 11 分鐘 · 2208 字 · 陳柏威 Po-Wei Chen