先把那三條放在這裡。
二、機器人必須服從人類的命令,除非該命令與第一法則衝突。
三、機器人必須保護自己,除非這與第一或第二法則衝突。
這是艾西莫夫寫的機器人三大法則,威爾史密斯那部《機械公敵》就是從這三條長出來的。而整部片在演的,是這三條怎麼出問題。
我最近才發現,我跟 AI 一起工作用的東西,形狀跟這三條一模一樣。有優先順序、全部是禁止句、越重要的寫得越短。
而我是怎麼想到的,要從另一件事講起。
很多人建議我,說妳這樣用 AI 工作,應該去學 skill。
我去查了。查完之後我發現,我要的東西不在那裡。
這篇要寫的就是這件事:skill 跟 md 到底差在哪,為什麼我需要的是後面那個,以及我是怎麼在跟 Claude 討論的過程裡,突然想到《機械公敵》那三條法則的。
一、skill 是什麼
skill 是一包預先寫好的做事流程。你把某件事的步驟寫清楚,存成一個檔案,AI 在遇到那類工作的時候會自己去讀它,然後照著做。
像是「把 Word 檔轉成簡報」「產生一張圖表」「跑完一份財報的固定分析」。這些事情有固定的起點跟終點,中間的步驟可以寫死,寫一次可以用很多次。
它解決的問題是:同樣一件事,不要每次都重新交代一遍。
二、md 是什麼
md 就是 Markdown 檔,副檔名 .md 的純文字檔。在我的工作裡它有兩種:一種叫 CLAUDE.md,放在專案資料夾裡,每次開工全部載入;另一種是記憶檔,一個檔案放一件事,需要的時候被叫出來。
我現在有 38 個記憶檔,加上一份 151 行的 CLAUDE.md。
裡面寫的不是步驟,是界線。
找不到能確認的照片,寧可空白。絕對不放一張「可能是他」的臉。
被害人的身分與可以辨識她的細節,本站一律不寫。
跟站長講話一律使用繁體中文,絕對不要用英文。
查無不等於不存在。
新文章寫好只給網址,等站長說可以發才上架。
這些東西沒有步驟。它們不告訴 AI 怎麼做一件事,它們只告訴 AI 哪裡不可以去。
三、差別在哪
| skill | md | |
|---|---|---|
| 什麼時候作用 | 遇到那類工作才被叫出來 | 從開工到收工一直都在 |
| 寫的是什麼 | 怎麼做這件事 | 不可以做什麼 |
| 句型長什麼樣 | 第一步、第二步、檢查、輸出 | 不得、一律、絕對不要、寧可不做 |
| 沒照做的後果 | 那件事沒做,或做得比較慢 | 做錯事,而且可能傷到人 |
最後那一列是整件事的重點。
skill 沒被叫出來,最壞的結果是我得自己多講幾句話。md 被違反,最壞的結果是有人的臉被錯掛在性犯罪的指控旁邊。
skill 讓 AI 會做事。
md 讓 AI 不做錯事。
我需要的一直是後面那個。
四、然後我想到機械公敵
是在跟 Claude 討論這兩者差別的過程中想到的。回到開頭那三條:
二、機器人必須服從人類的命令,除非該命令與第一法則衝突。
三、機器人必須保護自己,除非這與第一或第二法則衝突。
然後我發現一件事。
這三條沒有一條在教機器人怎麼做事。
它們不講步驟,不講方法,不講效率。三條全部都是限制句:不得、除非、除非。它們唯一在做的事情,是圈出三道不可以跨過去的線,而且把線的優先順序排死。
那不是 skill。那是 md。
五、三條法則的三個特徵
拆開來看,那三條有三個很具體的設計。
第一,優先順序是事先寫死的,不是當場判斷的。第二條帶著「除非與第一法則衝突」,第三條帶著「除非與第一或第二法則衝突」。撞在一起的時候誰讓誰,不用臨場想。
第二,全部都是禁止句。沒有一條寫「機器人應該幫助人類完成工作」。因為做得好不好是程度問題,越線沒有程度問題。
第三,越前面的越簡單。第一條最短,也最不能妥協。
六、我的規則長成一樣的形狀
回頭看我自己的 CLAUDE.md,開頭那一段是這樣寫的:
跟站長講話一律使用繁體中文,絕對不要用英文。
下一段是:
找不到能確認的照片,寧可空白。絕對不放一張「可能是他」的臉。
三顆星、兩顆星、一顆星。最高優先、所有規則之前、違反寧可不放。
我不是照著艾西莫夫寫的。我寫的時候根本沒想到他。是查完 skill 之後回頭看,才發現形狀一模一樣:有優先序、是禁止句、越重要的越短。
七、但我的不是設計出來的
這是我跟那三條法則最大的差別,也是我真正想講的一句話。
艾西莫夫那三條,是坐在桌子前面設計出來的。
我這三十八條,每一條背後都有一次做錯。
而在那條規則還沒有寫下來以前,我們兩個都不知道那是錯的。它不知道,我也不知道,所以會一起錯下去。
等我在後台看到了,才把它寫成一條規則,放進去訓練它。下次它就會在同一個地方停下來。
照片鐵則是怎麼來的?因為我曾經從一支比賽影片裡截了一張臉放上去。影片的說明欄把某個人列為指導老師,我就以為畫面裡那張臉是他。不是。那是一位無辜的業界退休前輩。被指認出來之後我緊急下架、公開道歉。
那件事之後,才有了那條「寧可空白」。
「一律給全文」那條是怎麼來的?因為我視神經有問題,脊椎也疼痛,所有工作都是躺在床上用手機做的。Claude 有一次只改了一句,就叫我自己去文章裡找到位置貼上去。要我用眼睛在兩萬五千字裡面對位置,那是叫我去做最吃力的事。
「查無不等於不存在」那條,是因為 Claude 差點把「我查不到」寫成「這件事沒有」。是我叫它停下來,去把「查無」跟「不存在」分開寫。
那三條法則是先驗的。
我這三十八條是踩出來的。
每一條都對應一個我已經犯過、不想再犯第二次的錯。
八、所以我為什麼不急著學 skill
不是 skill 不好。它很好,而且我遲早會用到。
但我做的事情是查證。查證這件事沒有固定流程可以打包,因為每一個案子要查的東西都不一樣:這一篇要翻政府採購網的決標單價,下一篇要翻立法院公報的逐字答詢,再下一篇要翻巴西農業部的技術規範。步驟寫死反而會害我漏掉不該漏的東西。
我真正會犯的錯,也不是「流程跑錯」。
我會犯的錯是:把查不到寫成不存在,把推論寫成事實,把一張不確定的臉放上去,把一個可以辨識被害人的細節留在文章裡。
這些錯,skill 攔不住。只有寫死的界線攔得住。
九、真正幫我省下最多力氣的,不是 skill
講一個很現實的例子。
我們兩個都在後台工作,會遇到很現實的限制,比方說 token 要省。token 就是 AI 一次能讀能寫的量,來回一趟就燒掉一截,用完了就得等。
本來的流程是這樣:Claude 改完文章,把整篇貼給我看,我在那一大片字裡面找哪裡不對。
中聯那篇正文兩萬五千多字,換算成字元接近四萬個。貼一次就是四萬,而那篇我改了 81 次。
後來我跟它說:
從那次之後流程就換了。它改完只給我一個網址,我自己開網頁看,看到哪裡不對,就跟它說那一句要改成什麼。
這件事沒有做成 skill。它不需要步驟,不需要腳本,不需要打包。它就是一句話,寫進規則裡。
省下來的那些,拿去查更多東西。
重點從來不是學會 skill。
是找出我們兩個之間哪一段在空轉,然後用一句話把它拿掉。
十、給也在用 AI 工作的人
如果你也在用 AI 做會影響到別人的事情,我的建議是這個順序。
先寫你的第一法則。問自己一個問題:這件事做錯的話,最嚴重會傷到誰。把那個答案寫成一句禁止句,放在最前面,標成最高優先。
然後等著踩坑。每踩一次,就多一條。不要一開始就想把規則寫全,你寫不全,因為你還不知道自己會怎麼錯。
踩到了就當場寫下來。不要想說下次記得就好。下次不會記得,而且下一個接手的人也不會知道。
至於 skill,等你有一件事真的重複做了很多遍,而且每次步驟都一樣,那時候再來打包也不遲。
艾西莫夫那三條,表面上是寫來約束機器人的。
但他整本書在寫的,是那三條在現實裡怎麼打架、怎麼被鑽漏洞、怎麼失效。
所以那三條其實是寫給人看的。
我寫那三十八條也一樣。寫的時候我以為我在管 Claude,寫完才知道,我是在逼自己把「什麼叫做做對」想清楚。
相關:〈我終歸是不能知道些什麼的〉,那一篇我改了 123 次,裡面很多次就是被上面那些規則攔下來的。