AI 工作流 / 迴圈工程

AI 自己跑,會不會一直跑到額度燒完?|迴圈的圈數上限,三行寫進規則檔

迴圈美好的那一面很多人講了:AI 做完自己檢查、沒過自己修、通過才交出來。另外一半很少人講:它沒過的時候,會一直修下去。

這篇在講什麼

讓 AI 自己跑迴圈,最常被講的是它多好用:做完自己檢查、沒過自己修、修完再檢查,通過才交出來。很少人講另一半,就是它沒過的時候會怎樣。它會修第二遍、第三遍、第一百遍,中間不會停下來問你,因為你沒叫它停。這篇講怎麼設圈數上限、什麼情況要停手、停手的時候它該交什麼給你,三行就能寫進你的規則檔。

適合誰
  • 已經在用迴圈或自動任務,跑過一次之後發現額度掉很快的人
  • 讓兩個 AI 互相審稿、互相挑錯,結果它們沒完沒了聊下去的人
  • 想開始做迴圈,想先知道要在哪裡踩煞車的人
你可以帶走什麼
  • 一張我自己在用的圈數表:一般任務兩輪、重要決策三輪、三輪不過就停手
  • 三行可以直接貼進規則檔的停止條件,含最容易漏掉的第三行
  • 一句開跑前就能問 AI 的話,先拿到它預期會卡在哪
一頁總結:迴圈工程要跑幾圈。一般文章與決策兩家模型互審跑兩輪,重要會議或決策最多跑三輪,三輪仍沒解決就停手回報由人判斷;規則檔要寫清楚最多跑幾輪、什麼情況要停下來問人、停下來要交什麼。
整篇的一頁總結:三段圈數上限,加上規則檔一定要寫清楚的三件事。

一、迴圈美好的那一面,跟它的另外一半

迴圈工程的基本做法是這樣:你給它一張驗收清單,它做完自己對照,沒過就修,修完再對照一次,通過才交出來。中間那幾圈它自己跑,你只負責開頭給料、結尾收成品。

這件事真的很好用。我自己的發文、會議整理、復盤都是這樣跑的。

而它有另外一半,很少被一起講:如果它一直沒過呢?

驗收清單是心臟,同時是引信 清單寫得越嚴,越有機會出現一種狀況:AI 每一輪都在認真工作、每一輪都有產出、每一輪也都沒通過。它不會累,不會煩,也不會心疼錢。你沒有告訴它什麼時候該停,它就不會停。

這跟當機不一樣。當機你馬上看得到。這個看起來一切正常,訊息一直在跑,工作一直在做,直到你隔天早上打開來看,額度已經沒了。

還不確定迴圈是什麼?

二、所以我後來一定先設圈數

先設上限,再開始跑。這是順序問題,事後補救沒有意義,因為燒掉的額度不會回來。

我自己的預設是這樣:

任務類型跑幾輪為什麼是這個數字
一般的文章與決策兩家模型互審,跑 2 輪兩輪就能把明顯的漏洞抓出來,第三輪開始多半在調字句
很重要的會議或決策最多跑 3 輪賭注比較大,多給一輪讓它把真正的分歧攤出來
第三輪強制檢查點,停下來回報我要不要再給一輪,由我看過回報再決定,不是它自己續跑
第三列是這張表的重點 第三輪不是自動續跑,是硬性停下來給我看。要不要加第四輪由我決定,這樣上限才是真的上限。

這張表不用照抄。重點是你手上要有一個數字,而不是一句「跑到好為止」。

三、為什麼三輪之後是停手,不是再多給它幾輪

因為我自己遇到的,多半是我這邊講不清楚。我講不清楚的事情,它討論一百遍也一樣講不清楚。

多給的每一輪,都是在同一個模糊的題目上再繞一次。

這句話會改變你對「停手」的理解:停手代表這件事被交還給唯一能解決它的人。可能是驗收標準寫得太模糊,可能是兩個要求互相矛盾,可能是我根本還沒想清楚自己要什麼。這幾種情況 AI 都解不了,它只能一直產出看起來很努力的東西。

所以第三輪之後,我要的不是第四份稿子,是一份說明:它到底卡在哪裡。

題目模糊是我最常遇到的一種,而它不是唯一一種。跑不完的原因至少有四類,我都遇過:

卡住的原因你會看到什麼誰能解
題目本身模糊,或兩個要求互相矛盾每輪都在改字句,核心問題沒動人,把標準改清楚
資料不在它手上,或它讀不到那個檔它一直在猜、一直加免責人,把資料補進去
權限或工具不足(不能執行、不能存取)它繞路做出一個近似品人,開權限或換工具
這件事超出這個模型的能力反覆給出同一種錯法換模型或換做法

四種都是人要動手,AI 自己再跑幾輪都跑不出來。而它們的處理方式完全不同,所以停手回報那一份說明才重要:它幫你分辨自己現在踩到哪一種。

四、三行寫進規則檔

貼之前先把「一輪」講清楚,不然它會自己解釋。我的算法是:一次完整的產出加一次審查,算一輪。AI 自己在同一輪裡改三次字句,那還是一輪。

這三行你可以直接貼進自己的規則檔、專案指令,或是每次派工的時候補在最後:

最多跑幾輪:一般任務兩輪,重要決策最多三輪。 什麼情況要停下來問人:達到輪數上限仍未通過驗收,或連續兩輪沒有實質進展。 停下來的時候要交什麼:把卡住的點寫清楚,說明卡在哪一步、已經試過哪些做法、你判斷缺的是什麼。不要只說做不到。
第三行最容易漏掉,而它決定了前兩行有沒有用 如果它停下來只回你一句「無法完成」,你還是得再問一輪才知道發生什麼事,那一輪同樣要花錢。停手要能省下成本,前提是它停下來的那一份回報,本身就有資訊。

我自己規則檔裡的寫法,是規定回報的第一行只能三選一:

完成 失敗:一句原因 卡住:在等什麼

「卡住:在等什麼」這一句很有用。它強迫 AI 講出自己在等的東西,而那個東西幾乎都是我沒給的:一個沒定義的詞、一個沒拍板的選項、一份它讀不到的檔案。看到那句話,我通常十秒鐘就知道要補什麼。

派工的時候我還會多補一句:最多 N 輪,卡住就停下來回報,不要硬幹。

五、上限不是計時器,它是報酬遞減的煞車

有個地方值得說清楚,不然這條規則會被用成死板的計數器。

我規則檔裡這一條的原文寫的是「反思迴圈 2–3 輪報酬遞減即停」。判準是報酬遞減,數字是你回頭去看那條曲線的時機。

兩層分開,這條規則才不會變成軟話 第三輪它一定要停,把回報交給我;我看過收斂曲線之後才決定要不要再給一輪。上限管的是「它不能自己續跑」,曲線管的是「我要不要放行」。

兩種狀況長得很像,處理方式完全相反:

狀況現象怎麼處理
正在收斂第一輪十個問題,第二輪五個,第三輪剩一個字要改讓它跑完,剩最後一哩
原地打轉每一輪都是差不多份量的意見,改完又冒出同一類問題停手,問題在題目本身

給一個我自己的例子。我在 8 月 30 日發的那篇迴圈與圖譜的文章,跨家審實際上跑了四輪,比我自己寫的三輪上限還多一輪。

四輪的紀錄是這樣:第一輪回來八個問題(定義擴大化、前後矛盾、單次事件被寫成通則等等),第二輪確認五點已修、三點要加嚴、另外抓到一組自相矛盾,第三輪只剩一處字樣要改,第四輪通過。

八點、三點、一點、通過。這是很清楚的收斂曲線,所以第三輪停下來的時候,是我決定再放一輪。如果第三輪回來的還是八點,那我就會停手,因為那代表我給的定義本身有問題。

多出來的那一輪是我批准的,不是它自己決定的。這個差別就是「有上限」跟「沒上限」的差別。

這一段提到的兩篇

六、不確定要幾圈,可以直接問它

你不用自己憑感覺決定所有任務的圈數。開跑前直接問:

這個任務你評估要跑幾輪才會收斂? 請給一個數字,說明你的依據, 以及哪一種情況你會建議提早停下來問我。

它給的數字不見得準,而這個問句真正的價值在後半段:它會逼 AI 先講出「我預期會卡在哪」。那份預期通常很準,因為它已經讀過你的任務說明,知道哪裡寫得模糊。

你會在開跑前就拿到一份風險清單,那比跑完三輪之後才發現問題便宜太多。

七、誠實的邊界

有幾件事要講清楚,免得你照抄之後以為有保障:

這條規則目前靠自律,不靠程式 圈數上限寫在我的規則檔裡,由 AI 讀規則之後自己遵守,沒有任何程式在旁邊計數,也沒有到達上限就強制中斷的機制。所以我在每次派工的時候還是會口頭補一次「最多幾輪」。你如果要更硬的保障,得靠工具本身提供的用量上限或費用上限,那是另一層。
數字是我自己的經驗值,不是實測出來的最佳解 兩輪跟三輪是我跑下來覺得堪用的分界,沒有做過對照實驗。你的任務類型跟驗收標準跟我不一樣,數字很可能不同。你可以直接拿去用,也建議跑一陣子之後自己調。
這篇不處理「同一個方法失敗兩次」那種狀況 那是另一種煞車,我在迴圈護欄那篇寫過。這篇管的是另一件事:它沒有失敗,它一直在正常工作,而你要決定它可以正常工作幾輪。

你今天可以做的第一步

打開你最常用的那個 AI 的規則檔、專案指令、或自訂指令,把第四節那三行貼進去。花不到一分鐘。

如果你還沒有規則檔,就在下一次派長任務的時候,把那三行貼在指令最後面。

然後在下一次它停下來回報的時候,看一件事:它有沒有告訴你它卡在哪。有,這條規則就開始替你省錢了。

延伸閱讀