lecture-to-notes:把影片、錄音、投影片、照片的任意組合變成結構化、可回溯的筆記

把演講影片變成真的會回去看的筆記:lecture-to-notes 開源了

前陣子在臉書分享過用 AI 整理課程影片的成果,收到超乎想像的迴響,也一直有人問工具什麼時候放出來。整理了一陣子,今天正式開源:lecture-to-notes。 這篇的重點 為什麼課程錄影大家都在錄,卻沒有人回去看完 筆記不必是「文字+圖」的形狀:影片、逐字稿、總整理同步在一頁 手上有什麼就帶什麼來:錄影、錄音、投影片、照片,全部接上同一條時間軸 技術上堅持的幾件事:逐字稿永不自動改字、對時用證據不用猜 為什麼只有 OCR 不夠:沒有字的流程圖與超音波,怎麼判斷它重不重要 沒有 NVIDIA 顯卡也能跑的退階方案 教室後面的腳架森林 從以前就覺得復健科的課程很難做筆記。徒手治療、超音波掃描這種課,知識藏在「動作」裡,文字怎麼抄都抄不起來。所以現場永遠是滿滿的腳架,大家都在錄影,打算回去配飯複習。 但幾小時的影片,實際上根本不會回去看完。 想通的一個轉折:筆記不必是「文字+圖」的形狀 有了 AI 之後,我原本的思路是教它精準截圖,把影片塞回傳統「文字+圖片」的筆記形式。後來想通了:筆記不必拘泥於那個形狀。 直接做一個網頁,把影片跟逐字稿對上,想看哪段就跳到哪段。畢竟真正想知道的,是那個動作到底怎麼做——那只存在於影片裡。 所以最後的成品是三個層次疊在同一頁: 總整理拿來讀:結構化的重點筆記,配上當時的投影片 逐字稿拿來驗證:每句話都有時間戳 影片永遠在一鍵之外:影片播到哪,筆記自動高亮;點筆記的時間戳,影片直接跳過去 同一份內容還會輸出 markdown 進 Obsidian 筆記庫(之後語意搜尋找得到),以及 PDF 給不用這些工具的人。一堂課,三種耐久形態。 (截圖是一場頸椎超音波工作坊的實際輸出,日期與講者已馬賽克。) 手上有什麼就帶什麼來 真實的課程從來不會只有一支乾淨的錄影:有的講題錄了影、有的只錄到音、有的只用手機拍了投影片,會後主辦單位又補發一份 PDF 講義。 這個工具把資料夾原樣吃進去,自動判斷每個檔案扮演什麼角色,再把所有來源接上同一條時間軸——就算某張投影片從頭到尾沒出現在影片畫面裡,筆記引用到它的那一刻仍然指得回正確的時間點。 技術上堅持的幾件事 這個工具的設計目標不是「摘要一支影片」,而是可回溯(traceability):筆記裡每句話都要能指回逐字稿的某個時間點、以及當下螢幕上那張投影片。幾個為此堅持的設計: 貴的事情全部在本機跑 Whisper 轉錄、抽幀、OCR、投影片語意判讀,全部在自己的 GPU 上跑完,零 API 費用。大型語言模型只在最後一步負責「寫」,而且只能根據前面各階段已經組好的證據寫。就算不跑最後一步,你也已經拿到逐字稿、去重後的投影片集、和兩者的對應關係。 逐字稿永遠不自動改字 自動改錯字聽起來很誘人,我們實際做了兩版、量測、然後全部退役。現在可疑的詞只會被「標記」出來,逐字稿本身一個 byte 都不動。每個標記是一個問題,不是一個替換——因為改錯了你永遠不會發現。 對時:檔案時間是假說,交叉比對才是證據 一場演講常常不只一個裝置在錄:主錄影、手機片段、照片。要拼回同一條時間軸,最直覺的做法是相信每個檔案自己的拍攝時間——而手機時鐘會漂移、有些檔案只剩修改時間、按過暫停的錄影會謊報自己的開始時間。 所以管線把兩件事分開:拍攝時間當「主張」,重疊音訊的交叉比對當「證據」。兩者差超過 5 秒,就標記衝突並停下來問人,絕不自動修正。這擋掉的是「44 分鐘對錯位、但每一頁輸出看起來都很正常」的災難。 缺工具就大聲說,不悄悄降級 選用的模型都經過自己資料的評測(repo 裡附了 OCR 引擎的 A/B 測試架)。可選的套件沒裝,功能會關掉並明講你少了什麼——絕不悄悄換一個比較差的方法。悄悄降級產生的是「錯的輸出」而不是「少的輸出」,那是最貴的一類 bug。 那張投影片上沒有半個字,怎麼辦? 貼文發出來之後,有位朋友留言問:「請問您是把螢幕上的 PPT 以 OCR 方式彙整進入資料庫嗎?」這個問題剛好戳中我卡最久的一段,值得展開講。 ...

August 3, 2026 · 1 分鐘 · 183 字 · 陳柏威 Po-Wei Chen
AI 上手系列①:從零開始用 AI agent — 一行指令裝好、看懂 GitHub、叫 AI 幫你裝、跑出結果四步驟

從零開始用 AI agent:安裝、看懂 GitHub、跑起你的第一個工具

這是一篇會一直更新的文章。 我把自己做的工具都開源放在 GitHub 上,陸續有人跟我說:「東西看起來很厲害,可是我連第一步該幹嘛都不知道。」也有人問我:「GitHub 是什麼?我點進去看到一堆檔案,然後呢?」 所以這篇不是介紹工具,是帶你把第一個跑起來。 已經在用 Claude Code 的朋友,直接跳到 第 4 節。 最後更新:2026-07-24 先花 30 秒確認這篇適不適合你 讀完你會做到的事:在自己的電腦上,丟一個論文的 DOI 給 AI,十幾分鐘後拿到一份有引用查核、有證據等級的評讀報告。或者丟一本 PDF 教科書給他,讓他整理成一篇一篇帶出處的筆記。 你需要準備的: 一台電腦(Mac 或 Windows 都可以,醫院/公司電腦也行,不需要系統管理員權限) Claude 的付費訂閱,Pro 就夠了(約 US$20/月)。免費帳號不支援 Claude Code,這是硬條件 不需要會寫程式。真的。你需要的是「會複製貼上指令」跟「看到紅字錯誤訊息不要嚇到,把它整段貼回去問 AI」這兩件事而已 如果這兩件事你做得到,就繼續往下 👇 — 1. 同一個人,只是工具長大了 先講一段我自己的時間軸,因為我覺得這比任何教學都重要: 三月:第一次把 AI 搬到自己的電腦上,做了語意搜尋、把上課錄影自動轉成筆記。那時候我每做一件事都要手動貼一段「你只能根據我給的資料回答」的咒語,盯著它會不會亂講,每一步都要按確認,煩到快瘋掉 四到五月:慢慢把轉書、抽圖、OCR 磨成一條生產線,開始把重複的事變成一鍵 六月:一邊準備專科考試,一邊架了論文雷達、復健課程雷達,會自動推播新東西給我 七月:門診智慧病歷、額度守門、讓兩個 AI 互相審查對方的產出。開始在「管一群 AI」 中間我沒有變聰明,是工具長大了,加上我學會把每個踩到的坑寫成一條規則。 我講這個是想說:你現在就是我的三月。而且你比當年的我幸運,你一開始拿到的工具,就已經是好用的版本了。 2. Claude Code 不是聊天機器人 這是最多人卡住的地方,卡住的原因不是技術,是觀念沒轉過來。 ...

July 24, 2026 · 3 分鐘 · 606 字 · 陳柏威 Po-Wei Chen
教科書、論文、演講三個來源匯進素材庫,再匯進單一的主題筆記;下方是一個保留新舊兩種說法的衝突區塊

太多筆記,等於沒有筆記:note-supplement 的設計

為什麼「太多筆記」跟「沒有筆記」是同一件事 先講一個我很早就認定、到現在也沒改過的規矩:我的筆記庫裡,一個主題只能有一則筆記。 不是因為潔癖。是因為同一件事如果有五個地方在講,我查東西的時候就得開五個檔案,還要自己判斷哪一版才算數。那個整理的工作沒有消失,只是原封不動地留給了未來的我。 而未來的我通常正在看診、正在趕投影片,沒空做這件事。資訊太多造成的混亂,跟資訊不足是同一種痛苦。 這條規矩在只有一個素材來源的時候很好守。難的是後來,來源越長越多,而且沒有一種會停下來等我: 教科書 → textbook-to-note,把自己的 PDF 教科書轉成有出處、有架構的筆記(repo) 論文 → paper-radar 追蹤、paper-fetch 抓全文、paper-review-and-digest 評讀與內容整理 演講 → 還沒整理好,是目前唯一還沒開源的一支 這些工具解決的都是同一件事:把外面的東西變成看得懂的素材。它們讓素材的產量變高了,但那條「一個主題一則筆記」的規矩沒有因此變好守,反而變難守。 所以整套架構是兩層,界線畫得很硬: 素材庫:外面進來的東西全部丟進去,原樣留著、隨時可以回頭溯源。它可以雜、可以重複、可以互相矛盾,因為它的職責只是「保存證據」。 主題筆記:屬於我自己的部分,一個主題永遠只有一則,放在獨立的資料夾、照同一份模板寫。它是我唯一信任、也唯一會拿去用的那一份。 素材不是筆記 這條界線一旦模糊掉,筆記庫就會退化成一個比較漂亮的下載資料夾。 而把素材的內容併回主題筆記的那個動作,就是這兩層的交界處。這篇要講的 note-supplement,做的就是那一件事。 那也是整條線裡我卡最久的一段。從零寫一份新筆記,AI 做不好你一眼就看得出來:架構亂、沒出處、內容空。但「把新素材補進一份已經存在的筆記」不一樣。我有幾千則筆記,每一則都是過去某個時間點的我認真查證過的結果。 為什麼「幫我更新筆記」這句話這麼危險 直覺做法是把新素材丟給 AI 說「幫我更新這篇筆記」。我吃過幾次虧才想清楚問題出在哪: AI 更新筆記真正的風險,不是它漏掉新內容,而是它會很安靜地改掉你舊筆記裡原本就對的東西。 而且你不會發現,因為輸出看起來仍然是一篇好筆記。 這兩種錯誤的代價完全不對稱: 漏掉新內容:可回復。下次讀到同一份素材、或同一個主題再出現,你還有機會補。 改壞舊內容:不可回復。因為那條內容你已經查證過了,你不會再去查第二次。它從此就以錯誤的樣子留在你的筆記庫裡,還帶著你自己給它的信任。 一旦看清這個不對稱,整個工具的設計就只剩一句話。 設計原則:新增很便宜,改動很昂貴 每一輪,note-supplement 會把素材跟既有筆記對三件事: 哪些是筆記沒有、可以補進去的 哪些是兩邊講得不一樣的 哪些是筆記本來就有、素材沒提到的(這些一律不動) 然後把每一項變更先分類,再決定誰有權限執行。 自動放行的:帶引用的新增 多一條有出處的內容,不會傷害筆記。所以「新增事實 bullet 且帶引用」這類變更直接寫入,記進 changelog。 (有一項後來被我從自動放行拿掉了:把散落的 bullet 收成表格。它看起來只是排版,實際上是把每個事實重新塞進欄位裡,這是改寫不是新增,而且欄位錯位這種壞法無聲無息,產出還比原本更整齊。現在它要問過才做。) 不做「破壞性」裁決的:事實矛盾 這一段是我改最多的地方,也是這個工具第一版最大的設計錯誤。 第一版的規則寫得很硬氣:只要有事實矛盾就送審,不管哪一邊的證據看起來多強,一律不自動裁決。 聽起來很負責。實際跑了一段時間,我發現兩件事: 一、待審清單不是安全機制,是拖延機制。 清單一長,人就會一路按過去,所謂「留給你判斷」,實際效果等於「自動套用,只是多按了幾下」。而且報告每一條後面都有一行「我的建議是⋯」,那行字會定錨,你多半就照著它按了。那不是我在判斷,是它在判斷,只是排版比較客氣。 二、不決定本身就是一種決定。 衝突躺在清單裡的那段期間,筆記裡那條可能已經過時的舊說法,仍然是唯一被寫在那裡、被我信任的版本。「不裁決」的實際效果是「舊的自動贏」,而這個政策我從來沒有主動選過它。 所以 v1.1 換了個立場:不是不裁決,是不破壞。 矛盾先分兩個軸分類: 類型:是同一本書、同一份 guideline 的新版取代舊版(那不是真的爭議)?是兩個各自可信的來源真的講不一樣?還是筆記那條根本沒出處、而素材那條有? 風險:這個值弄錯了會怎樣。劑量、閾值、禁忌症、紅旗徵象算高風險;盛行率、命名沿革、背景知識算低風險。這個軸是一個可以調的旋鈕,不同領域刻度不一樣,醫學筆記只是刻度最嚴的那一端。 然後照分類路由:新版取代舊版直接更新,但舊的值用刪除線原地留著、附上原本的出處和日期,一個字都沒有消失;低風險的分歧,直接在筆記裡就地寫成一個區塊: ...

July 23, 2026 · 2 分鐘 · 237 字 · 陳柏威 Po-Wei Chen
我的 AI 工具箱總整理:依需求分類的工具清單

我的 AI 工具箱總整理:想做什麼,就從這張清單找工具

最近在準備給治療師夥伴的 AI 上手講座,想說來個進階清單,把我平常用的工具、寫過的程式都列出來,這樣想做某件事的時候,可以快速對照「這個功能該找誰」。這也是我自己一直想整理的東西,趁這次一次寫完整。 這篇不挑受眾、不做刪減,從 AI 助手到家裡的備份系統全部列出來~用法是先找到你的需求分類,再看那一節的表。標 ⭐ 的是我自己寫、已經開源的程式,歡迎直接拿去用;標「免費」的都是我實際在免費額度內用的。(太愛免費了,全部幾乎都沒付錢 XD) 目錄 一、AI 主力與引擎 — AI 助手與協作主力・免費雲端與本機 AI 引擎 二、聲音與文件處理 — 語音轉文字・文字轉語音・OCR 三、學習與知識管理 — 筆記與個人知識庫・論文與臨床實證・考題練習 四、對外發布:網站與信箱 — 架網站與 Cloudflare・網域信箱與寄信 五、自動化與自架後盾 — 自動化排程與通知・家庭伺服器與智慧家庭・備份與不斷電 怎麼開始? 一、AI 主力與引擎 AI 助手與協作主力 工具 做什麼 免費? Claude Code 能讀寫檔案、執行程式、把事情「做完」的 AI 代理,我所有工作流的中心 訂閱制 claude.ai 網頁版,卡關時換乾淨對話問、手機臨時查 有免費層 Gemini 查資料廣度強、原生吃 PDF 和圖片,當第二意見 有免費層 OpenAI Codex 程式卡關找不同解法、對抗式 code review ChatGPT 免費帳號可用 herdr 多工終端管理器,讓好幾個 AI 任務同時在背景長跑、隨時切換 ✅ ⭐ claude-pacer Claude Code 的用量油表+自動煞車:狀態列顯示額度,快撞上限時先收尾、額度重置後自動續跑 ✅ 開源 Claude Code 是這份清單裡少數我付錢、而且付得心甘情願的東西。它不只是聊天,這個部落格、下面所有我寫的工具,幾乎都是我跟他一起完成的。其他 AI 我當第二意見用:Gemini 查資料、Codex 挑毛病。要注意 Gemini 免費層的資料會被拿去訓練,敏感內容不要餵;Codex 記得先到設定把訓練關掉。 ...

July 20, 2026 · 3 分鐘 · 568 字 · 陳柏威 Po-Wei Chen
左邊是筆記模板,右邊是這套系統依模板產出的實際筆記,每條主張都標了出處

跨教科書 自動筆記生產流程:專科考試下的產物

緣起 我從醫學生時代就很愛做筆記,這些年累積了幾千份醫學筆記。但老實說,在資訊取得這麼容易、要學的東西又這麼多的現在,已經很難再把每一份筆記都按照自己的架構做到相同品質了。 另一方面,在現代資訊越來越多的時代,能信任的高品質來源反而變得珍貴,這時教科書就是很好的資訊來源。不過復健科專科考試指定參考書就有四十多本,同個概念可能散在好幾本書的不同章節裡。要真的把它們都念過,幾乎是不可能的事。 很幸運這年代有了 AI,這類大型語言模型 (LLM) 擅長處理的就是這樣的長上下文處理,可是一次丟給他幾百本教科書也不切實際。這時就搭配好的內容搜尋與資料庫管理,並且把我做筆記的流程講清楚、調教給 AI,能夠避免幻覺下,確保AI有根據、有架構地產出筆記,我只要用心把整理好的高密度資料吸收進腦袋就好。 於是這變成了一個大型的教科書 LLM Wiki 專案:把書本轉成 AI 容易讀取的格式、精準找到目標章節、按照我的架構整理呈現、從教科書把重要圖片抓進筆記,最後還能跟既有筆記整合。 今天把它開源了,這篇來講講中間過了哪幾關。 第一關:把書轉成 AI 適合讀的格式 直接把 PDF 丟給大模型有幾個坑:又慢又貴(上千頁的書逐頁讀,token 開銷很可觀);掃描頁和字型編碼壞掉的頁面,他會若無其事地跳過,你不會發現筆記裡少了東西;圖片則是直接消失。 我的解法是把重活全部留在本機:文字抽取用 PyMuPDF,每頁約 0.13 秒、0 token。掃描頁走本地 OCR 階梯(Surya → PaddleOCR-VL → 本地視覺模型),真的都失敗才輪到大模型親自看。比較特別的是兩個細節: 靜默失敗偵測:用字型風險、字元密度等規則,抓出「看起來有抽到字、其實是亂碼」的頁面 雙欄排序:教科書常是雙欄排版,直接抽會把左右欄句子交錯在一起,而且亂碼偵測抓不到這種錯。我們做了欄位偵測,確保閱讀順序正確 第二關:把書切成可搜尋的單位 書轉好了,AI 要怎麼找到內容?傳統的目錄(index)不夠用,因為一個主題常散在好幾章;自己上 tag 也不實際,維護不完也切不夠細。答案是語意搜尋(semantic embedding):把內容變成向量,用意思找而不是用關鍵字找。 這裡有個容易被忽略的設計:chunk(切塊)不是無腦固定字數。切太小會失去脈絡,切太大會稀釋語意。我們選擇照標題結構切塊,並保留每塊的上層章節脈絡,讓搜尋結果撈回來的每一塊都是有頭有尾的完整概念。 第三關:在幾十本書裡找到對的那本 跨書搜尋的底層,就是我之前開源的 vault-search 那套方法(那篇的介紹在這裡),本地 LanceDB 加 bge-m3 embeddings,資料不出自己電腦。 在這之上我們還加了一層:重點書目加權。考試指定用書、學會官方教科書,搜尋時分數會被調高,另外也有依出版年份的新舊加權。同一個主題,AI 會優先引用你最信任的來源。 第四關:建立寫筆記的 algorithm 與原則 工具都有了,真正決定筆記品質的是流程設計: 先盲寫:AI 先不看我的既有筆記,獨立從教科書查完完整資料寫草稿,最後才合併。這是為了避免被舊筆記的結構和內容干擾 Template 是抓取的依據:每種主題有固定模板,這個設計很重要,AI 知道該去書裡找哪些東西,我每次閱讀也知道會有哪些段落,吸收速度快很多。repo 裡直接附上我每天在用的五套模板(中英雙語),可以照著改成自己的 為理解而設計的段落:像是開頭的 Summary、結尾的 management algorithm,這種段落的存在本身就是在協助理解,不只是資料的堆放 沒有引用就不算數:每條主張都標到書名+章節,AI 用自己知識補的內容一律標記為推論 第五關:從書裡抽出圖片 這是整套系統最難的部分,因為每本書的排版邏輯都不一樣。我們的做法是先有一套通用方法(幾何比對:圖說跟最近的圖像互相認領),配上決定論的 audit:留白檢查、文字滲入檢查,規則過了才算過,AI 說了不算,而且全程用省 token 的方式在本機執行。 ...

July 19, 2026 · 1 分鐘 · 160 字 · 陳柏威 Po-Wei Chen
paper-fetch 的 GitHub 風格封面卡,畫出四層路線階梯:開放取用、出版社官方 TDM API、自己醫院圖書館的校外連線、印出圖書館 resolver 連結

論文三件組的最後一塊:paper-fetch,給它一個 DOI,它自己去把全文抓下來

前陣子分享的論文評讀工具(讓 Claude 幫忙做品質評讀跟內容整理),有朋友回我一句很實在的話:工具是好用,但每次都得自己先去把 PDF 生出來,最煩的其實是這一步。 真的是這樣。要讓 AI 幫你讀論文,你得先拿得到全文。而拿全文這件事,卡住的通常不是 AI,是權限、是出版社、是圖書館。 所以論文三件組裡最後一塊、也是最痛的一塊,今天終於補上了:paper-fetch(MIT 開源)。給它一個 DOI,它會自己走完整條路,把全文 PDF 抓下來。 階段 工具 做什麼 發現 論文學習雷達 paper-radar RSS/PubMed 餵新論文,依興趣排序 下載 paper-fetch DOI → 全文 PDF 評讀 paper-review-and-digest 品質評讀、內容整理 — 它怎麼運作?一道由便宜到麻煩的階梯 整個設計只有一句話:先走最便宜、最正當的路,失敗才往下掉。 第一層:開放取用(open access) Unpaywall、Semantic Scholar、PMC/Europe PMC,還有藏在文章網頁裡的 citation_pdf_url meta tag(那正是 Google Scholar 拿來索引 PDF 的東西)。這層零金鑰、開箱即用,你只要在設定檔填自己的 email。沒有圖書館資源的人,能接的來源我都接上去了。 第二層:出版社官方的文字探勘 API(text-mining API) Elsevier、Wiley、Springer 都有正式開放給文字探勘用的 API,自己去申請一把金鑰就好,是完全被允許的管道。這層跟盜版一點關係都沒有,只是大家很少知道它存在。 第三層:自己醫院圖書館的校外連線 用你自己的帳號登入,抓你們醫院本來就有訂的期刊。它只是把你原本會手動做的那一串點擊自動化,不是繞過付費牆。 第四層:投降,但投降得有用 全部失敗的話,它會把圖書館的 SFX/OpenURL 連結印出來讓你手動去點,而不是丟一個 error 就沒了。 沒有 Sci-Hub,沒有盜版路線。 每一層都是你本來就有資格走的路。 — 最花時間的是什麼?把每一家出版社的脾氣摸清楚 這是我覺得整個專案最值得分享的部分。DOI 換 PDF 聽起來像一行程式,實際上每家出版社的做法都不一樣,而且沒有文件可以查,只能一篇一篇撞出來。目前摸清楚、而且用真實文章驗證過的有 20 幾條路線,收斂成四種形狀。 ...

July 14, 2026 · 2 分鐘 · 225 字 · 陳柏威 Po-Wei Chen
機器人自動生成的 Paper Tools 宣傳圖,紅框標註導向收費網站的按鈕與原版開源 repo 位置

我的開源工具,被機器人業務盯上了!

前面分享的論文工具 paper-review-and-digest,開源上線沒幾天,就收到了第一個 GitHub issue!第一次收到 issue 其實蠻開心的,點開一看更驚訝:對方不只讀了我的 code,還精準講出設計裡我最得意的部分。 他說他欣賞「模型與確定性檢查的硬切分」:grade_judge.py 不信任模型自己回報的證據等級,而是從降級項重新計算;argdown_lint.py 會抓出「替代指標跳到硬終點」這類論證跳躍。然後說他幫我做了一個線上入口,訪客不用安裝 Claude Code,上傳 PDF 就能跑評讀流程,連宣傳圖都做好了: 哇,有人這麼認真讀我的專案,還幫我做了網頁版和這麼漂亮的圖? 等等,這是真人嗎? 開心之餘總覺得哪裡怪怪的。這網站有免費額度、有點數收費系統,商業模式完整得不像順手之作。想說反正有 Claude,就請他去查查這位熱心網友的底細。 結果一查,反轉來得比想像中快🤣。Claude 列出的證據: 兩分鐘內,這個帳號對 26 個 repo 發了 issue。全部都是論文閱讀工具:arxiv-summarizer、paper_agent、PaperAgent⋯⋯我的排第 13 個。前一天還有另一波,打的是 Claude Skills 類的 repo。 連結裡的追蹤參數直接寫著 campaign 名稱:20260708-paper-reading-comprehension-assistants。這是排程好的行銷批次,不是有感而發。 帳號今年三月才建立,0 followers,卻有 140 個 repo。 GitHub 的搜尋 API 拒絕搜尋這個帳號(user cannot be searched),這通常代表帳號已經被平台標記為 spam。 那段讓我心花怒放的技術讚美,是 LLM 逐一讀每個 repo 自動生成的。爬 repo 餵給模型很便宜,這正是它讀起來「像真人」的原因。 最後一句「Feel free to close this if it isn’t relevant」,是 spam 帳號降低被檢舉率的標準話術。 宣傳圖角落有小字標我的 repo,連 star 數都即時抓,做得很精緻;但點進他網站的頁面,作者欄掛的是他自己的名字。MIT 授權確實允許商用,不過這個掛名方式就有點微妙了。 認真想了一下,這個生意其實跑得起來 罵完之後認真想,這個模式其實蠻厲害的。我實際註冊進去看了帳務頁,整個商業模式就攤在眼前:註冊送 500 點,跑一次論文分析扣 38 點左右,換算大概不到台幣 2 塊。免費額度夠你跑十幾次,嘗到甜頭之後,Stripe、PayPal、微信、支付寶四種儲值管道排排站等你。 ...

July 9, 2026 · 1 分鐘 · 130 字 · 陳柏威 Po-Wei Chen
paper-review-and-digest 的 GitHub 風格封面卡,標示兩個 skill:評估可信度的實證醫學評讀,與三層結構快讀、生成自我測驗的內容吸收

我把 journal club 的「讀論文腦」寫成了 AI skill,還逼它不能靠印象唬爛

前面分享的論文學習小站,有個「品質」、「內容」按鈕,那時沒有把背後的實作放出來。算是個有前端網頁,但後端還是要靠自己整理的平台。不過我自己的實作,當然後端還是要接給 AI,減輕認知的負荷,這裡就是把後端兩個 skill 分享出來,加速大家學習速度囉! — 一個負責「這篇可不可信」 第一個叫 paper-review,做的是 journal club 那種評讀。 依研究設計自動選對工具 它會依照論文的類別,選用建議的評讀工具,隨機對照試驗(randomized controlled trial)用 Cochrane RoB 2、觀察性研究用 ROBINS-I、系統性回顧用 AMSTAR-2、診斷準確度用 QUADAS-2,而不是拿一張萬用 checklist 硬套。這件事聽起來理所當然,但你知道大部分「AI 幫你看論文」其實就是一張萬用 checklist 套到底。 引用查核:先確認文獻「真的存在」 我最喜歡的一關是引用查核。它會先去 CrossRef 確認每一篇被引用的文獻「真的存在」,再比對「論文說這篇文獻講了什麼」跟「這篇文獻實際上講了什麼」。 為什麼要先查存不存在?因為 AI 寫出來的引用,沒稽核的話正確率其實只有四到八成,假 DOI、張冠李戴的狀況比想像中多。所以這一步是一個很便宜、但很有用的防呆。 統計顯著不等於臨床顯著 還有一個地方我很堅持:統計顯著不等於臨床顯著。所以它會把效果量拿去跟量表的最小臨床重要差異(minimal clinically important difference, MCID)比,p 值小於 0.05 但根本沒過 MCID,它就會直接講出來。 整體借鏡了林協霆醫師的分享,還有之前學 EBM 的內容,大家也可以再加入你覺得重要的部分。 — 重點:我不讓 AI 靠「印象」給分 這是這次我自己覺得最有意思的部分。 一開始我讓 Claude 自己算證據等級(GRADE)、自己判斷「結論有沒有超過資料能支撐的範圍」。但我後來覺得不對,因為這種東西讓語言模型「憑整體感覺」給一個分數,它其實很會講得頭頭是道,可是你沒辦法檢查它到底怎麼得出來的。 所以我乾脆寫了兩支確定性的小程式,把「判斷」跟「計算」分開: grade_judge.py:把 GRADE 變成算術 語言模型只負責評五個面向(risk of bias、inconsistency、indirectness、imprecision、publication bias),每個面向給「不嚴重/嚴重/很嚴重」。真正的最終等級由程式加總算出來,不是模型自己講。模型自報的等級只當參考,如果跟程式算的不一樣,程式還會跳出來提醒「這兩個對不上,回去重看某個面向」。 它甚至會幫你擋掉 GRADE 的規則錯誤,例如觀察性研究只要有任何一項被降級,就不准再往上升級,這個規則模型很容易記錯,程式不會。 argdown_lint.py:把結論的邏輯漏洞變成可以檢查的東西 這支更好玩。語言模型負責把論文的結論、還有每一個「用來支撐結論的發現」標上類型(這是隨機對照試驗的直接證據?還是只是相關性?還是只是替代指標?還是只是次要 outcome?),然後由程式判斷這個推論跳得合不合法。 例如「用替代指標的改善,去宣稱對真正的臨床終點有效」、「用相關性去宣稱因果」、「用單一研究去宣稱『一致地顯示』」,這些都是論文 spin 最愛躲的地方。程式抓到就直接標紅、回報有漏洞。 ...

July 7, 2026 · 1 分鐘 · 127 字 · 陳柏威 Po-Wei Chen
題庫領航首頁畫面,顯示距筆試倒數天數、開始練習、錯題區與 Dashboard 入口

刷題平台:間隔複習、錯題本、落點分析

備考復健科專科考試的這段日子,我用工程師的方式幫自己解決了一個老問題:考古題到底要怎麼練,才不會練完就忘?最後做出了一個小工具,叫「題庫領航」,想說整理一下、也開放出來分享給有需要的人。 🔗 線上 Demo(內建示範帳號,開啟就能玩):https://exam-demo.drpwchen.com 🔗 原始碼:https://github.com/drpwchen/exam-practice 為什麼想自己做一個? 準備筆試時,最有效的方式之一就是反覆練歷屆考題,並針對「會錯的」加強複習。道理大家都懂,但實際做起來有兩個痛點。 注意 第一,單純看著題目考自己很容易疲倦,而且你會不自覺一直練「已經會的」,真正的弱點反而被跳過。 第二,「什麼時候該複習哪一題」這件事,靠人腦排程根本排不來。今天練的這題,三天後還記得嗎?一週後呢?沒有人知道,於是只能全部重練,效率很差。 我想起在背英文單字時用過的記憶演算法,心想:考古題不也是一種「要記住的卡片」嗎?於是就動手了。 它能做什麼? 把 PDF 考題變成可練習的題庫: 歷屆考題多半是 PDF,我寫了一條匯入管線,自動把題目、選項、答案切出來,圖片題(X 光、超音波、量表)也會一起抽出來。詳解直接以「該頁截圖」呈現,避免文字辨識誤植選項或答案。 用 FSRS 安排每一題的複習時間: FSRS 全名是 Free Spaced Repetition Scheduler,是一套間隔重複演算法。它會根據你每次作答的「對錯、信心、花了多久」,推估你對這一題的記憶曲線,然後在你「快要忘記、但還救得回來」的甜蜜點,把它再丟回來給你練。 和科內夥伴一起練: 你看得到同儕的進度,也看得到「大家最常錯的題」。一個人讀書很孤單,知道大家都卡在同一題,反而有種莫名的安心感 😅。 目標進度設定: 在 Dashboard 可以看到目前自己刷題進度、正確率,並且搭配目標設定功能,確立自己在幾天內需要完成多少題。 預測你考試當天大概會考幾分: 這是我自己最喜歡的功能。系統會用你各科的正確率、乘上該科在真實考試的配分權重、再乘上 FSRS 推估你「到考試那天」還記得多少,算出一個落點分數,還附上信賴區間,以及「持續複習」和「都不複習」兩種情境的對比。看著預測分數隨著複習慢慢往上爬,是很實在的回饋。 畫面一覽 📱 🏠 首頁 📄 PDF 考題原始畫面 ⚙️ 練習設定 ✍️ 答題畫面 👥 大家的錯題本 📌 個人錯題本(依失敗型態分類) 📊 Dashboard 總覽 🎯 落點分數預測 一些設計上的小巧思 做著做著,發現有些細節還滿有意思的: 錯題不是一視同仁。 我把答錯的題分成四種型態:死穴(反覆錯)、易忘(記憶留存率掉太快)、盲區(明明很有把握卻答錯,也就是過度自信)、新錯(最近一次才錯)。你可以只挑某一種弱點來補,對症下藥。 出題用三個池子混。 到期該複習的題 70%、沒看過的新題 20%、自己加星的題 10%,兼顧鞏固舊的跟攝取新的。 選項每次重新洗牌。 避免你背的是「答案在第三個」而不是真的會。 開放非商業使用,商業使用請另外聯絡 我把它整理成原始碼公開的版本,順手清掉了院內的真實資料,換成合成的示範資料,任何人 clone 下來就能看到完整功能。也歡迎其他專科的朋友 fork 過去,改成你自己科別的版本,引擎和排程都不用動,換掉題庫和分類就好。 ...

July 2, 2026 · 1 分鐘 · 115 字 · 陳柏威 Po-Wei Chen
論文學習雷達網頁畫面,論文卡片帶有全文徽章與勾選動作鈕

把我的論文讀書小站開源了

前陣子分享了我自己做的論文讀書小站,收到不少訊息問「這個我也能用嗎?」、「到底怎麼運作的?」。這篇就好好把它講清楚,順便告訴你,我已經把它整理成開源版本放上 GitHub 了。 先講我想解決的問題。 身為復健科醫師,我想追的期刊有幾十本,還有幾位很想跟的作者、幾個一直在關注的主題。傳統做法是把一堆 RSS 訂閱倒進閱讀器或筆記軟體,結果每天累積上百篇,很快就變成一個「永遠讀不完、也不知道從哪讀起」的垃圾堆。最後不是焦慮,就是乾脆不看。 我要的不是「看更多」,而是一個會先幫我篩、幫我排序的雷達,讓我只把注意力放在真正該讀的那幾篇。於是有了這個小站,它大概分成這幾層在運作。 一、自動抓取:把幾十個來源收成一條河 每天清晨,主機會自動去抓幾十個來源:期刊的 RSS、還有用 PubMed 搜尋做的「作者追蹤」和「主題追蹤」。有些期刊的 RSS 很爛或根本擋機器人,我就改用 PubMed 的查詢繞過去,一樣抓得到,而且附帶 DOI 方便後面處理。全部抓回來後自動去重,變成一份乾淨的清單。 二、興趣評分,而且會越用越懂我 這是我最喜歡的一層。每一篇都會用一個「興趣模型」算分數,把我最可能有興趣的排到最上面,雜訊沉到下面。 更關鍵的是它會學。我在手機上滑的時候,看到喜歡的按個讚、沒興趣的略過,這些反應會回頭微調模型的權重。用得越久,它越懂我的口味,排序就越準。這種「你教它、它回饋你」的迴圈,是我覺得比單純 RSS 高明的地方。 三、全文三層:先幫我確認「拿不拿得到」 看到想讀的,最煩的往往是「找得到、但打不開全文」。所以每篇我都先自動幫它標好取得難度: 🟢 開放取用(Open Access):直接幫我把 PDF 抓下來。 🏥 機構訂閱:自動去查我所屬圖書館有沒有訂閱這本期刊、這篇現在拿不拿得到。 📎 自己補:以上都沒有的,附上連結讓我自己抓,或直接把 PDF 丟上去。 這樣我在滑的當下就知道每篇「能不能讀」,不用一篇一篇點進去碰運氣。 四、一個只給自己看的私密小站 重點 整個站是鎖起來的,只有我進得去,沒有對外公開、也沒有署名。它是我一個人的閱讀桌,手機、電腦打開都是同一份狀態,昨天在捷運上勾過的、今天在醫院打開一樣看得到。介面就是一張張論文卡片,帶著上面說的徽章,還有幾顆動作鈕。 五、勾一勾,剩下的它包了 這是把前面所有東西串起來的閉環。看到喜歡的,我就勾「想整理內容」或「想評讀品質」,跟它說一聲,它就自動:幫我抓全文、把重點整理成筆記、做評讀,最後收進我自己的筆記系統裡。人在外面看到別人分享的好文章,也能直接丟進這個網頁,一樣幫我處理好。 於是我的閱讀從「被上百篇淹沒」,變成「每天滑一滑、勾幾篇、讀它整理好的重點」。省下來的時間跟力氣,比我想像的多很多。 開源出去,也歡迎你打造自己的雷達 我把自己的東西整理乾淨,放上 GitHub 了,附了中英文說明: 👉 https://github.com/drpwchen/paper-radar 它不只能用在醫學。任何有 RSS 的來源,論文、新聞、部落格,都能 fork 去改成自己領域的雷達。想自己架一個的人,可以照著說明走。 補充一下:雷達幫我挑出來的論文,下游是交給另外兩個負責「評讀」跟「整理」的工具去讀的,那部分我後來也整理開源了,寫在這篇。雷達管挑、skill 管讀,兩端接起來才是完整的讀論文流程。 最後講點私心。這個念頭其實在心裡很久了。還沒踏進 vibe coding 之前,我看到吳易澄醫師(運動醫學、復健醫學)做了一個類似的平台,那時候又羨慕又好奇,心想「要是我也有一個就好了」。沒想到現在真的能親手把它做出來,還能整理乾淨分享給大家。 從一個羨慕別人的念頭,到自己動手實現,再到開源分享出去,這種感覺真的很奇妙,也很開心 😊 如果你也常常被讀不完的資訊淹沒,歡迎來看看,也歡迎順手給顆星 ⭐,這對我會是很大的鼓勵。 如果這個工具有幫你省下時間,也歡迎請我喝杯珍奶,讓伺服器繼續轉下去 🧡 🧋請我喝飲料 — ...

July 1, 2026 · 1 分鐘 · 91 字 · 陳柏威 Po-Wei Chen