迷宮設計師的祕密:練習變難,才是真正的進步
想像一個專門設計迷宮的人。手上有一大疊簡單迷宮,大多數人一分鐘內就能走出去。有天他不畫新迷宮了,改把舊的動手腳:加一條看似捷徑卻繞回原點的岔路,把某段走廊收窄讓人猶豫該不該走,再塞一個長得像出口的死胡同。乍看差不多,但每一步都得更用心。
會寫程式的AI早就有了,它們讀過大量程式碼,簡單題難不倒它們。可是一直餵簡單題,就像讓人永遠走最基礎的迷宮,很快就到頂了。缺的不是更多題目,而是更難的題目。有一小群人決定試試:不去到處蒐集新題,直接把手上的題一輪一輪改難。這件事以前沒人有系統地做過。
改題的招數跟改迷宮一模一樣。加新限制,像規定走迷宮只能左轉三次。把熟悉的要求換成冷門的,逼你換策略。多塞幾個分叉,讓你得想更長的連鎖決定。最狡猾的一招:附上一個看起來對、其實藏著小錯的範例答案,就像把死胡同漆成出口的顏色。最後再壓縮時間或記憶體的上限,逼你跑得更快更乾淨。每一輪改完,題目表面變化不大,真正要花的腦力卻深了一層。
他們從大約兩萬道基礎題開始,一輪一輪演化。每輪結束就把所有版本混在一起拿去訓練,再用AI從沒見過的題目來測。跑到第三輪效果最好,題庫大約膨脹到七萬八千道。第四輪反而變差了,就像迷宮改得太刁鑽,走的人學不到路感,只剩挫折。他們就停在三輪。
最能說明問題的是一組對照。一邊拿兩萬道簡單題訓練,另一邊拿差不多同樣數量、但經過演化的難題訓練。練習量相當,難度天差地遠。結果在一個常用的程式測驗上,練難題那邊高出十幾個百分點。量不是重點,難度才是引擎。就像練過刁鑽迷宮的人,碰到沒走過的新迷宮也能更快找到出口。
有人會擔心:會不會是改過的題目碰巧跟考題很像,等於偷看答案?他們特地去比對每道訓練題和考題的相似度,發現每多演化一輪,相似度反而微微下降。AI不是在背答案,是真的變得更會思考沒見過的程式問題。
用這套方法練出來的AI,在當時公開的同類系統裡拿下多項測驗最高分,小版本贏過好幾家大公司的商用產品,大版本在最難的測驗上追平甚至超過了ChatGPT。全靠把舊題變難,不靠海量新資料。改變的不是學生,也不是教室,而是作業的品質。