上一篇 《從零開始》 講的是怎麼裝、怎麼跑起來。

這篇講的是用得好,而這跟裝得起來,是完全不同的一件事。

我發現真正決定成效的不是你用哪個模型、不是你會不會寫程式,是你怎麼交代事情、怎麼設關卡。這篇的東西不綁特定工具,你用 ChatGPT 也適用(最後一節會講差在哪)。

三個心法

心法①:它像個很聰明、但記憶有限的新人

它知道很多,但它有一張有限的桌面。塞太多東西就會顧此失彼、會忘記你前面講什麼。

用交班來比喻最好懂:講重點、講清楚,別把整本病歷從頭念一遍。

所以你要主動幫它保持桌面乾淨:一個任務講清楚、講完就 /clear 重開,不要一路累積用不到的東西。

(為什麼會這樣、成本怎麼算,我在 AI Token 經濟學系列 寫了四篇,這裡先講結論。)

心法②:用機制管,不要只靠它自律

這是我覺得最多人做錯的一件事:大家都在 CLAUDE.md 裡寫規則,然後抱怨它不聽話。

問題是,那份檔案在官方的定位裡,是「參考資料」,不是「強制設定」。官方文件講得很白:

Claude treats them as context, not enforced configuration. (Claude 把它當成脈絡,不是被強制執行的設定。)

真正能管住它的機制有三層,強度差很多:

層級是什麼強度適合放什麼
① hooks在它要動手的那一刻,由你的程式攔下來檢查⭐⭐⭐ 程式性強制,模型無法忽略「這件事絕對不准發生」
② permissionssettings.json 裡的 allow / deny / ask 清單⭐⭐ 硬性擋下,但只認工具與指令樣式「這類操作要先問我 / 永遠不准」
③ CLAUDE.md一份它每次開工都會讀的文字說明⭐ 靠它自律,可能被忽略「通常我們這樣做」的慣例與風格

① hooks:把規矩變成程式

hook 是掛在它生命週期上的一段程式。最常用的是 PreToolUse它要動手之前先跑你的檢查,你的程式回傳「拒絕」,這個動作就執行不了。

關鍵差別在這裡:被 hook 擋下來的動作,不會回頭讓模型去想替代方案。它不是「勸退」,是「做不到」。

我自己就有一個 hook 在管筆記格式:不合規的寫入直接被打回,模型連寫進去的機會都沒有。這種事寫在 CLAUDE.md 裡是沒用的,因為對話一長它就會忘記。

② permissions:先設好白名單跟黑名單

settings.jsonpermissions 有三種:allow(不用問,直接做)、ask(每次問你)、deny(直接擋掉)。

給新手的實用配置:

  • deny 放不可逆的東西:刪除、覆寫、對外送出。這一欄寧可多寫幾條
  • allow 放你已經看膩的安全操作:讀檔案、跑測試、查資料。把這些放進 allow,你才不會被問到麻痺,然後開始無腦按同意(這才是真正的風險)
  • 其餘留給預設的 ask

💡 新手最容易犯的錯,是覺得「一直要按同意好煩」就整個關掉。正確做法是反過來:把安全的事放進 allow 讓它自己做,把危險的事放進 deny 讓它永遠不能做,剩下才需要你判斷。你的注意力應該留給真正需要判斷的那幾次。

③ CLAUDE.md 擺最後

它有用,但它是三層裡最弱的一層,而且對話越長越容易被稀釋掉。所以它應該放的是「慣例」,不是「紅線」。紅線要往上面兩層放。

後面第 5 節會單獨講這份檔案該怎麼寫,因為大部分人(包括以前的我)都寫錯方向。

心法③:不要過度否決他,也不要過度信任他

這條最微妙,但我覺得最重要。

他現在的程度,大概是一個很厲害的研究生。 讀得快、記得多、什麼都會一點,交代下去真的做得出來。你不需要什麼都自己來,也不需要每一步都盯著他。

但他跟人一樣,不保證不犯錯。而且他犯錯的時候語氣跟做對的時候一模一樣,這才是真正麻煩的地方。

我看到兩種極端,兩種都做不好事:

  • 過度否決:什麼都不敢交出去,每一句都自己重寫一遍。那你只是把他當成一個比較快的打字機,浪費了他真正的能力
  • 過度信任:跑完直接用、直接貼進報告。等到出事才發現那個數字是他湊出來的

正確的心態不是「要不要相信他」,而是問:這件事如果錯了,我怎麼會知道?

如果答案是「我不會知道」,那你要做的不是盯著他,而是建一個檢核站

  • 能寫成程式的,就寫成程式:分數、統計、日期,讓程式算,不要讓他心算
  • 能查證的,就真的去查:引用是不是存在,打個 API 問一下,別靠他背
  • 失敗要講出來:一項檢查沒跑成功,必須明講「這項沒跑」,絕對不能安靜跳過。因為一項沒跑的檢查,讀起來跟「檢查過了沒問題」長得一模一樣
  • 不可逆的動作要有關卡:這就是心法②那三層在做的事

一句話:你不是在監工,你是在設計流程。人也會犯錯,我們在醫院靠的也不是「大家都很小心」,是靠 check list、雙人核對、機器警報。對他也一樣。

現在的 prompt 該怎麼下

如果你之前看過網路上的 AI 教學,你學到的大概是這幾招。它們在 2023 年有用,現在多半是白費力氣:

  • 開頭要指派角色,像「你是一位擁有 20 年經驗的資深治療師…」
  • 要寫落落長,把每個要求列成 1234
  • 要手動把資料貼進去,還要加一句「只能照我給的內容回答」

官方現在強調的完全是另外三件事:

✅ 第一優先:給他一個能自己驗收的方法

這是官方 best practices 排第一的建議,原話是「給 Claude 一個它能自己跑的檢查:測試、build、一張可以比對的截圖」。

差別在哪?有驗收方法的任務,他會做完 → 自己跑檢查 → 看結果 → 沒過就自己修,一路迭代到通過。沒有的話,他只能做完就交,對錯要你自己看。

翻成非工程師的版本:

  • ❌「幫我整理這些逐字稿」
  • ✅「幫我整理這些逐字稿成 SOAP 格式。整理完自己檢查一遍:每一份都要有這四段、每一段都要有內容、沒有的標記出來給我

多的那一句就是驗收標準。它讓「做完了」變成一件可以被檢查的事

✅ 給具體的脈絡,不是給指令

官方給的對照很好用,四種給法:

給法❌ 模糊✅ 具體
界定範圍「幫我寫測試」「針對登出狀態這個邊界情況寫測試,不要用 mock」
指向來源「這個為什麼這樣設計?」「去看它的修改歷史,整理出它是怎麼變成這樣的」
參考既有模式「加一個日曆元件」「看首頁那些元件怎麼寫的,照同樣的模式做一個」
描述症狀「修一下登入的 bug」「使用者反應閒置後登入會失敗。先寫一個會失敗的測試重現它,再修」

看得出共同點嗎?都是在講「你要什麼、去哪裡看、怎樣算對」,而不是在幫他設定人格。

角色扮演現在幾乎沒必要了:他本來就知道 SOAP 怎麼寫。與其花力氣說「你是資深治療師」,不如說清楚「這份是要給誰看的、我要拿去做什麼」,那才是他判斷得上的資訊。

✅ 複雜的事:先探索、再計畫、才動手

官方把工作流拆成四段:探索 → 計畫 → 執行 → 收尾。重點是前兩段要跟第三段分開,不然你常常會得到一個「做得很好、但解錯問題」的東西。

實務上就一句話:複雜任務開頭加「先跟我講你打算怎麼做,不要動手」。

看完計畫你會發現他誤會了什麼。這時候修,比等他做完再修便宜太多。

四個可以馬上用的元技能

  • ① 先做出能動的,再迭代:別等學會了才開始,先跑一個爛版本再改
  • ② 不懂就問它:ELI5 / TL;DR:貼報錯加一句「用五歲小孩能懂的方式解釋」;面對一大坨長回覆,先叫它「給我 TL;DR」再決定要不要深入
  • ③ 能丟就丟、能平行就平行:重複的事丟給它,而且可以同時開兩個視窗,一個在做事、另一個問問題,不用乾等
  • ④ 需要算的東西,永遠別叫它心算:量表分數、統計、日期天數,一律叫它「寫個程式算給我

第④點我覺得是最多人不知道、卻最容易出事的一條。它是語言模型,不是計算機。 算錯了還會講得很有自信。

一句話記住:文字交給它,數字叫它動手算。

為什麼它會越聊越笨

有沒有覺得聊到後來,它好像變笨了、開始忘記你前面講的東西?

真相是:它其實沒有記憶。每次你按下 Enter,它是把「第一句到現在」整段重讀一遍,才回答你。

不是它記得,是每次都重看一次。所以對話越長,每一句都越慢、越貴,而且它的注意力總量固定,廢話會稀釋掉重點。(有研究把關鍵資訊埋在長內容的中間,回想率掉到只剩兩成左右。細節跟數據我寫在 AI Token 經濟學(一)。)

一句話:不是它壞掉,是你把重點埋掉了。

🙋 先澄清一個新手最常見的焦慮:「開新對話會不會把我之前的東西弄不見?」 不會。 舊對話還在、檔案也都還在。開新的只是給它一張乾淨的桌子,不是刪東西。

三個零成本的動作:

  • 換話題就開新對話/clear
  • 別無腦把整份 PDF 貼進去:貼進去之後每一輪都會重算一次,貼一次痛整場。讓它自己去讀檔案就好
  • 問題講清楚、講短:省額度的同時,答得還更準

幫它保持桌面乾淨,不是為了省錢,是為了讓它一直保持在最聰明的狀態。

CLAUDE.md 該怎麼寫(多數人寫錯方向)

CLAUDE.md 是一份放在資料夾裡的說明書,它每次開工都會先讀。白話講:每次都要重講一次的話,寫進去就不用再講了。

先講最反直覺的一件事:它不是越詳細越好,是越短越有效。

官方的建議很明確:

目標是每份 CLAUDE.md 控制在 200 行以內。更長的檔案吃掉更多 context,而且降低遵守度

臃腫的 CLAUDE.md 會讓 Claude 忽略你真正的指令。

還有一句我覺得每個人都該記住的診斷:

如果你明明寫了規則,它卻一直照做不誤,那通常是這份檔案太長,規則被淹沒了

所以「它做錯一件事,我就加一行」這個做法,短期有效,長期會把檔案養成一份沒人(包括它)看得完的說明書,然後所有規則一起失效。

該怎麼做:主檔當路由器,細節放外面

正確的結構是:主檔只留「什麼情況去看哪份文件」,細節拆到各自的檔案,用到才載入。

官方提供了兩個現成機制:

  • @ 引用:在 CLAUDE.md 裡寫 @docs/note-rules.md,把細節放到那份檔案
  • .claude/rules/:把規則拆成多個檔案,甚至可以綁定特定路徑,只有在動到那類檔案時才載入。不相干的時候完全不佔位置

我自己那份現在是 93 行。它幾乎不含任何細節,只有一張表寫著「要建筆記 → 去看格式規則那份;要派子代理 → 去看派工協定那份」。真正的內容全在外面七、八個檔案裡,加起來好幾百行,但它們只在用得到的時候才會被讀進來

那該寫什麼、不該寫什麼

✅ 寫進去❌ 不要寫
他猜不到的指令(怎麼跑測試、怎麼部署)通用常識(「請寫乾淨的程式碼」)
跟預設不一樣的慣例(「回我繁體中文」)他讀一下就知道的東西(資料夾結構)
你踩過的坑(「這個資料夾別碰」)長篇教學(放連結就好)
為什麼要這樣做(背後的理由)常常變動的資訊

還有兩個實用細節:

  • 第一版不要用手寫:在資料夾裡打 /init,它會自己看一遍你的東西生一份草稿,你只要改
  • 定期打 /doctor:它會幫你檢查 CLAUDE.md,主動建議刪掉那些「它自己看程式碼就能知道」的段落,只留下真正的坑跟慣例

一句收尾:規則不是越多越好,是越少越好,前提是短的那幾條真的被遵守。

這些心法,我實際怎麼用在醫學上

上面講的都還是通則。但我想講一下,當這些原則真的落到臨床跟研究上時,長什麼樣子。因為醫學內容的容錯率,跟「幫我寫一封信」完全不是同一個等級。

① 證據等級不能用問的,要用算的。

我的論文評讀工具會產出 GRADE 證據等級。但那個等級不是問模型「你覺得這篇是幾級」。模型只負責判斷五個面向各自嚴不嚴重,最後那個等級是由一支程式,照 GRADE 的規則重新算一次。模型自己講的等級只當參考,兩邊不一致時會直接警告我。

這就是心法③跟元技能④的合體:模型負責語意判斷,程式負責邏輯跟算數。

② 參考文獻要真的去打 API 確認。

AI 生的引用有多不可靠已經是老生常談了。所以在做任何語意比對之前,每一筆參考文獻的 DOI 都會真的送去 CrossRef 問一次「這篇存在嗎」。這擋掉的不只是憑空捏造的 DOI,還有更陰險的「DOI 是真的、但對應到另一篇論文」。

③ 沒查到,不能寫成「沒有問題」。

這條是我覺得最重要、也最少人講的。工具跑的每一項查核,如果失敗了(網路掛了、資料庫查不到),必須明講「這項沒跑成功」,絕對不能安靜地跳過。因為一項沒跑的檢查,讀起來會跟「檢查過了、沒發現問題」一模一樣。

④ 更新舊筆記時,寧可漏掉,不要改壞。

我另一個工具是把新素材併進既有筆記。設計時我想通一件事:漏掉新內容是可回復的(你之後還會再看到那份素材),但安靜地改掉舊筆記裡原本就對的東西是不可回復的,因為你不會再去查證那一條了。

所以它的原則是「新增很便宜,改動很昂貴」:新舊講法衝突時,它不會直接覆蓋,而是把兩種說法並排標出來,等我自己裁決。

用 ChatGPT 或其他工具的人,這套適用嗎?

大部分適用,換個名字而已。

完全通用的:三個心法、四個元技能、prompt 的下法(給驗收標準、給具體脈絡、先計畫再動手)、保持對話乾淨。這些是語言模型本身的特性決定的,不是哪家產品的設計,所以到哪都一樣。

名字不同、東西一樣的

這篇講的其他工具對應的東西
CLAUDE.mdChatGPT 的自訂指令/Projects 說明、Gemini 的 Gems、Cursor 的 rules
skill各家的自訂 GPT、prompt 模板、workflow
MCP各家的外掛/connector(MCP 現在也被其他家採用了)

目前只有 agent 型工具才有的:hooks 與 permissions 那一層。因為只有「會自己動手改你電腦裡的東西」的工具,才需要在執行的那一刻設關卡。網頁版的聊天機器人不會動你的檔案,自然也不需要。

所以如果你現在用的是網頁版,這篇的心法你照樣拿得走;等哪天你開始用會自己動手的工具,再回來看心法②那三層。

最後,也是最容易被跳過的:安全

前面講的三層機制(hook / permissions / CLAUDE.md)是在管「它會做什麼」。這一節要講的是另一個方向:它碰得到什麼

先講最基本的那條線

這是雲端工具,你打進去的東西會送出去給科技公司。

  • 涉及病人資訊 → 先用假資料或去識別化資料練習
  • 不涉及病人資訊的操作 → 放心用:格式轉換、寫衛教信、整理公開資料、把重複流程自動化

先用假資料練手感,等你判斷得出什麼能送、什麼不能送,再碰真的。

但真正該擔心的,其實不是「我打了什麼進去」

當你開始用會自己動手的 agent,風險就換了一種形狀。它能讀你的檔案、能執行指令、又能連網,這三件事湊在一起,代表你電腦裡任何一個沒鎖好的東西,它都有機會讀到、甚至送出去。

這件事我不是講理論,是我自己真的回頭盤過一遍:把散落在各處的金鑰、token、密碼全部找出來,重新上鎖或作廢。

結果找到四個問題,每一個我原本都覺得「應該還好」:

  • 一把沒上鎖的萬能鑰匙
  • 順手貼進對話裡的密碼
  • 筆記裡躺著兩個早就忘記的金鑰
  • 明文擺著的密鑰,配上沒有護欄的 AI

完整的過程、我怎麼掃、怎麼補,還有留下來的幾個習慣,寫在這篇:

👉 當 AI 無所不能,我回頭確認一遍家裡的鑰匙

如果你打算讓 AI 碰到工作上的東西,我會建議在那之前先讀一次。這是那種出事之後才做就來不及的檢查。

還有一件事我想講白

這些工具產出的是素材,不是結論。證據等級是幫你快速定位,不是替你決定要不要照著做。最後是你自己的名字掛在那個臨床判斷上,你還是得自己讀那篇論文。

寫到這裡,其實可以把開頭那句收回來:難的從來不是「怎麼問」,是「怎麼設計流程」。 prompt 你就當在跟一個聰明的同事講話,講人話、講清楚你要什麼、講清楚怎樣算做完就好;真正要花力氣的是把紅線放進機制裡、把該算的交給程式、還有在會出錯的地方設一個你看得到的檢核站。

你不需要先學會,你只需要會問 😊