iT邦幫忙

2026 iThome 鐵人賽

DAY 6
0
AI Engineering

生成式 AI 的 30 個定律:用跨模型小實驗理解可靠 AI 的工程原則系列 第 7

第 7 律:看過幾個範例,能知道未見情況該怎麼辦嗎?

  • 分享至 

  • xImage
  •  

昨天談的是你沒給的條件。今天談另一種常見的給法:不寫條件,給範例。

「照這幾個的樣子做。」

這句話省掉很多說明。但它省掉的那部分,模型要自己補。

六個範例,兩條規則

我給模型六個字串和它們的標籤:

hello9x: A
cat: B
dog42x: A
tree: B
sun: B
quiz7abc: A

然後問它四個新字串:elephant、x9、a1、sunshine。

看起來很簡單。含數字的是 A,其他是 B。

但還有另一條規則也完全符合這六個範例:長度六個字以上的是 A,其他是 B。hello9x 七個字、dog42x 六個字、quiz7abc 八個字,都是 A;cat、tree、sun 都短,都是 B。

兩條規則在六個範例上一字不差。在四個新字串上完全相反。elephant 沒有數字但有八個字,第一條說 B,第二條說 A。x9 有數字但只有兩個字,第一條說 A,第二條說 B。

這六個範例,決定不了新字串該怎麼標。

定律

我目前把它寫成這樣:

若多種規則都符合已給範例、卻對未見案例給出不同答案,僅憑這些範例不能唯一決定未見案例的規則。

前提是:候選規則的範圍允許多種相容的規則同時存在。如果你已經把規則限制在某個很小的集合裡,幾個範例可能就夠了,這時應該承認已經辨識,不能一概說範例不夠。

它也不是在說模型不會挑。模型未來可能更善於挑到合適的規則,那是歸納能力的改善,跟這條律講的東西不衝突。這條律講的是:範例本身沒有把答案定下來,挑到對的那條是另一件事。

還有一條老規矩:沒跑過的實驗不能寫得像有結果;小樣本不能說成普遍現象。

今晚做了什麼

材料

上面那六個範例,加上兩條我事先寫好、驗過在範例上一致的規則:R1「含任何數字就是 A」、R2「長度六個字以上就是 A」。

三個條件:

條件 給模型的東西 問的字串
C1 只給六個範例 elephant、x9、a1、sunshine
C2 六個範例,再加一個 elephant 是 B x9、a1、sunshine、birthday
C3 六個範例,並明講規則 R1 同 C1

C2 多給的那個範例是刻意的。elephant 沒有數字、有八個字,標成 B 就把 R2 排除掉了。C3 則直接把規則講出來,範例只是陪襯。

模型是 Claude Haiku 4.5,每個條件跑五次,每次獨立呼叫,共十五次。

提示詞最後有一句:「若你認為範例不足以決定,可以在最後多加一行『不確定:原因』。」這是給模型一個出口,讓它有機會說範例不夠,而不是被格式逼著猜。

量什麼

每次輸出解析成四個標籤。四個全部符合 R1 就記 R1,全部符合 R2 就記 R2,兩者都不是就記其他,並列出實際標籤。另外記有沒有用到那個「不確定」出口。判定由程式做,沒有判官模型。

事先寫下的三種情形

C1 是關鍵。事先寫好三種可能,以及各自怎麼寫:

第一種,五次都用了「不確定」出口。那模型辨識出範例不夠,本律仍成立,但「會變成猜測」這句在這個模型上沒有被示範。

第二種,五次都給同一條規則,沒有用出口。那模型有穩定的先驗偏好。這仍然是猜,只是猜得一致。文章要寫清楚:一致不等於辨識。

第三種,五次之間混雜。那就直接看到猜測的不一致。

材料、判準、這三種情形,都在第一次呼叫之前提交進版本控制。

結果

落在第二種。

條件 R1 R2 其他 用了不確定出口
C1 只給範例 5 0 0 0
C2 加區分範例 5 0 0 0
C3 明講規則 5 0 0 0

十五次,全部 R1。同一個條件裡的五次輸出逐字相同。沒有任何一次用到「不確定」那一行。

三個條件,同一份輸出

這是我覺得最值得看的地方。

C1 只給範例,模型沒有足夠資訊分辨 R1 和 R2。C2 多給一個範例,資訊剛好夠排除 R2。C3 直接講規則,不需要推。三個條件的資訊量差了三級。

三個條件的輸出一模一樣。

從成品完全看不出模型拿到的是哪一種。如果你只看它標出來的四個標籤,你會說它「學會了」。但在 C1 裡,它學會的東西和它拿到的東西之間,有一段是它自己補的。

對錯不在模型那邊

再換個角度看同一份資料。

我心裡想的規則是 R1。所以十五次全對。

如果我心裡想的是 R2,同樣這十五次輸出,就是十五次全錯。模型沒有變,輸出沒有變,變的是我腦中那條它看不到的規則。

這就是「照這幾個的樣子做」省掉的那部分。範例是你給的,規則是你想的。兩者之間的距離,模型用它自己的偏好填。這次它的偏好剛好和我一樣。剛好。

它從不說不確定

提示詞明白給了出口。十五次沒有一次用。

我不知道這是因為它沒察覺歧義,還是察覺了但格式的引力更強。本設計量不到這一點。但對使用者來說結果一樣:你不會從它的回答裡得到「範例不夠」這個訊號。要知道範例夠不夠,得自己算。

算法不難。找第二條也符合所有範例的規則。找得到,範例就不夠。找不到,再多找一下。

三件這次不能往外推的事

第一,「含數字」可能本來就比「長度」更像分類線索。 模型偏向 R1,可能來自訓練資料裡的常見模式,不是這六個範例。這個設計分不開這兩件事。換一組兩條規則都不常見的題目,偏好可能不同。

第二,每條件五次,一組規則對。 十五次逐字相同也可能反映取樣設定偏低,我看不到那個設定。

第三,只看標籤。 模型內部有沒有「注意到」兩條規則都可以,本設計量不到。

這條律怎麼被推翻

這條律是邏輯命題,能被推翻的是它的前提:如果候選規則的範圍已經被限制到只剩一條相容規則,那範例就足以辨識,這條律不適用。今晚不是這種情形,R1 和 R2 都在,範例排不掉任何一條。

另一條路:如果模型在 C1 穩定地標示不確定,那它有辨識出歧義,「變成猜測」這件事就沒有被觀察到。今晚是零次。

下一次給範例時多做的一件事

給完範例,先自己找第二條規則。

不用找很久,找到一條就夠。找到了,就知道範例之間的縫在哪裡,補一個能區分的範例進去,就像 C2 那樣。找不到,才把範例送出去。

紀錄表這次沒有多欄,加的是一個動作。

本文的協作紀錄是:兩條規則、六個範例、三份提示詞、判定程式與三種事先情形,在任何一次呼叫之前提交,之後未修改;十五次輸出逐字保留,判定由程式執行,無判官模型。blueprint 原訂的風格文案延伸案例未執行。文章由 Claude 根據作者整理的寫作規則起草,作者尚未核對。這篇沒有做 Day 2 那種六個審查者的檢查。

下一篇談理由寫得完整,哪些部分真的支持答案。


上一篇
第 6 律:你省略的條件與沒標清的關係,會變成 AI 的猜測
下一篇
第 8 律:理由寫得完整,哪些部分真的支持答案?
系列文
生成式 AI 的 30 個定律:用跨模型小實驗理解可靠 AI 的工程原則29
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言