Skip to content
Dustin's AI Lab
Go back

用自己的對話紀錄出一份考卷,每次新模型出來就重考一次

我把平常交代給 AI 的工作做成一份私人考卷,三週內拿它考了 Claude 不同檔位、Gemini、Codex 和開源模型。這篇講題目怎麼出、每次怎麼考、分數怎麼變成派工規則,以及可以照抄的提示詞。

目錄
  1. 原本的困擾
  2. 這份考卷長什麼樣,一路怎麼長大的
  3. 每一輪考出了什麼
  4. 開發時我下的提示詞
  5. 起手提示詞範本
  6. 附錄:技術做法

我在 Threads 隨手分享過一個做法:請 AI 撈出自己所有的對話紀錄,依自己的任務做一份專屬的模型評測集,每次新模型發布就拿同一套去考。這篇把這個做法完整寫出來。

我會依序講四件事:為什麼官方跑分幫不了我、這份考卷三週內怎麼長大、每一輪考出了什麼,以及我實際下的提示詞。最後附一份起手範本。想知道評分和執行怎麼做的,可以直接跳到附錄:技術做法。

這是我在 Threads 的原文:

建議一次性的請AI撈你的所有chat session jsonl log,根據自己的任務做屬於自己的模型評測集

比如我的評測集就有長文抽取、待辦規劃、合約審閱、課程教案等類別,每個類別5-8題

每次發新模型,我就拿同一套來測,不同effort都測一次然後跟現有model的紀錄比較 現在額度耗費也都可以算得出來了

額度、速度、effort、模型等等都拿到了之後 自然知道該怎麼根據新模型調整任務分配

每週一封,只挑跟你工作有關的 AI 動態。免費訂閱電子報 →

原本的困擾

第一個困擾是新模型出得太快。我手上同時有 Haiku 5.5、Sonnet 5.5、Opus 5.5、Fable 5.1 四個 Claude 模型,外加 Gemini(透過 agy)、Codex,還有能在 Colab 上跑的開源模型。每次新模型發布,網路上都是官方跑分和別人的心得,但我真正想知道的只有一件事:它能不能接手我現在交給更貴模型的工作。

第二個困擾是思考檔位(effort)。同一個模型有 low、medium、high 好幾檔,我一直不知道自己的工作開到哪一檔才夠。後來請 AI 翻派工紀錄,14 天 446 次派工有 94% 沒設檔位,等於全部用預設值在跑。開太高浪費額度和時間,開太低又怕漏東西,但我沒有數據可以判斷。

第三個困擾是額度。我同時有 Claude、agy、Codex 三個訂閱額度,每個池子的計算方式都不一樣,Codex 還有五小時一個窗口的上限。我想把查核、摘要這類大批工作分給外部模型,Claude 的額度留給只有它能判斷的事。但哪類工作分給誰,我只能憑感覺。

這份考卷長什麼樣,一路怎麼長大的

考卷的題目全部來自我自己的工作。第一版是 10 月 8 日 Haiku 5.5 發布那天做的,那次的細節我寫在〈Haiku 5.5 能接 Sonnet 的活嗎?〉。簡單講,AI 翻了我 45 天、761 次的派工紀錄,挑出「次數多、而且現在交給貴模型」的工作,做成 8 題困難題和 5 題確認沒退步的題目。

現在最常拿來考的有十題,每一題對應我實際在做的一類工作:

十題考卷對應的工作類型,以及每一題埋的陷阱

每一題都有三個共同點。第一,開跑前就算好標準答案。第二,每題都埋陷阱,評分程式知道掉進陷阱會得到什麼錯誤答案。第三,在空的資料夾裡、用唯讀權限跑,受測模型讀不到答案檔。

這份考卷三週內被拿來考了好幾輪:

每一輪考出了什麼

先講範圍。每一題、每一種設定至少跑兩次,Claude 的模型多數跑三次。結論看最低分,不看平均分,因為平均分會把「偶爾漏一半」藏起來。花費的部分,Claude 用 claude -p 回報的換算金額,agy 和 Codex 看每週額度用掉幾個百分點。

同一份考卷考了五個額度池:Claude、agy、Codex、Colab 開源模型與本機模型,各自的分數與花費

Claude 的主力模型,low 就夠了。 10 月 10 日那輪,七題 Opus 和 Fable 三個檔位全部滿分。Opus 七題的花費 low、medium、high 分別是 1.79、1.89、1.96 美元,high 的耗時約是 low 的 1.8 倍。Fable 雖然同分,但花費是 Opus 的 3.2 倍。10 月 16 日補測變異,Opus low 和 medium 各三次,36 次全部滿分。需要多次查檔的題目,low 快了 1.5 到 2.4 倍,例如程式找 bug 是 36 秒對 67 秒,待辦路由是 23 秒對 55 秒。medium 唯一多出來的是深度:程式找 bug 三次裡有兩次多報了不計分的額外問題。

agy 的 Flash 是主力,Argon 幾乎不值得。 6 組設定、6 題、各兩次,共 72 筆。Flash 開 medium 以上,除了長檔抽取都拿滿分;開 low 在找 bug 和待辦路由會掉分,待辦路由有一次整份沒有輸出。Argon 分數一樣,但吃掉的額度是 Flash 的 5 到 20 倍,這一輪 Argon 的週額度從 2.5% 用到 55.9%。長檔抽取是唯一拉開差距的題目:Argon medium 0.86,Flash high 0.80。另外抓到一個坑:Flash medium 在長檔抽取逾時,回了空字串,狀態卻顯示成功。

Codex 的 Astra 適合審查,不適合事實核對。 程式找 bug、紅隊、死連結掃描,Astra low 都是滿分。high 反而在找 bug 時掉分,耗時約是 low 的 1.6 倍(105 秒對 65 秒),輸出量約兩倍。事實核對這題,Astra 三個檔位全部 0 分,而且 6 次裡有 5 次答案一模一樣、錯在同一個地方。另外三題真實的程式修補,Sol low、Sol medium、Astra low 共 18 組全部修好,也都沒有動到測試檔。Astra 修補一樣全對,但多吃約 1.6 倍的 token。

這輪也發現額度才是真正的瓶頸。Codex 的五小時窗口,大約 14 筆 Astra 的審查題就用滿了。

開源模型能當批次工具,不能當常駐助手。 我把 Qwen3.8-27B 放上 Colab,接回本機的 Claude Code 當分工助手,六題平均 0.882,跟 agy Flash medium 的 0.897 差不多。但它有一次在長檔抽取失控狂寫,單次輸出超過上限,整題 0 分。本機跑的小模型平均只有 0.567,金流對帳兩次都掉進「金額以分為單位、要除以 100」的陷阱。Colab 開機要 3 到 5 分鐘,只適合累積一批工作、開機跑完再關掉。

有時候差距來自提示詞,跟模型無關。 10 月 21 日我想把一個本機例行檢查換成微調過的模型,用 61 筆資料考。原版模型配正式提示詞只有 0.458,微調版 0.602,看起來微調有用。但原版模型加上三行判斷標準,就到 0.856,比微調版加同樣三行的 0.835 還高。所以模型沒換,只補了那三行。

最後,拿真實工作確認。 10 月 24 日讓 Haiku 做一件離線計算,6,836 題的難度重算有 98% 跟 Sonnet 原本的結果一致,花費約 0.16 美元。另一件是收尾工作,寫日誌、更新主檔、清檔案都正確,只漏答一個小問題。

考完之後派工規則改了哪些:查核類下放 Haiku,主力檔位降到 low 或 medium,Argon 和 Astra 的用途收窄

這幾輪考完,我的派工規則改成這樣:

還有一條是考了幾輪才加的:要改派工規則,同一題至少跑兩次。只跑一次的結論標成「未測變異」,不拿來改規則。

開發時我下的提示詞

以下是我在這幾輪實際打的字,逐字引用。

新模型出來的第一句話

這個是新出的模型。我要你來用之前我們的實際任務級測benchmark了。注意,是要看他能不能往上挑戰,接管某些我們原本給更貴模型的任務,這樣才能讓我們省成本。然後你也可以設計一些較有挑戰性的實際任務擴充我們的測驗集 (用history find看我們的過去對話來設計任務)我給你充分的自主性完成這項任務,中間不用過問我,最後我想看到新的子代理派工原則。

換成你的情境:重點是講清楚目的(往上接管、省成本)和最後要交什麼(新的派工原則),而且要它從你的對話紀錄出題,不要用它自己想像的題目。

考完要接回規則

我們的派工規則是不是要加上我們之前研究過的Bench Mark測出來的effort

換成你的情境:分數放在報告裡沒有用,要明確要求它寫回你平常派工會讀的那份規則。

問清楚題目跟工作的關係

所以我現在的benchmark題目有啥?跟我日常工作的關聯是什麼?測試的方式是什麼?

換成你的情境:考卷是 AI 出的,你要能用自己的話說出每一題在考你的哪一類工作,不然分數再好看也不知道該信多少。

檢查平常的檔位用得對不對

你用我的History Find這個Skill去看我電腦裡的CloudCode的對話,去看我分別每一種模型都用過什麼樣的這個Effort檔位,然後來評估這些檔位造成錯誤的情況,或者是造成浪費的情況有多少,不要只是主代理,子代理也要去評估。

(刪節自較長的訊息。)換成你的情境:除了考新模型,也可以反過來,讓它從紀錄裡找出你平常開太高或太低的檔位,再拿考卷驗證。

外部模型也用同一份考卷

你讓astra sol多試著跑一些任務看看他們各自適合什麼 什麼檔位最划算 再決定怎麼寫規則

你也去讓agy裡的3.8 flash跟argon試著跑一些任務看看他們各自適合什麼 什麼檔位最划算 再決定怎麼寫規則 然後要留10%周額度給我做緩衝使用

換成你的情境:先考再寫規則,順序不要反過來。也記得替自己留一點額度。

開源模型問的是角色

如果是 qwen 3.8 27b 或者是3.8 flash next的量化版放上去colab跑,接本地claude code節點作為subagent,速度是否可行?表現比較適合做何種角色?幫我往這個方向評測跟研究。

換成你的情境:面對便宜的模型,不用急著問「能不能取代」。問它「適合當什麼角色」,得到的答案會實際很多。

額度緊的時候,只考有機會的

如果要開實測,就是要想我們現在真實在處理的任務到底有哪些Haiku是有機會勝任的?因為我們的額度不多了,我不想要浪費太多在實測上。

換成你的情境:考試本身也花額度。先挑出那個模型最可能接得住的工作,其他的不用考。

起手提示詞範本

1. 讀我過去(時間範圍)的對話紀錄,列出我最常交代給 AI 的工作類型,標出哪些現在是交給(目前較貴的模型)。
2. 每一類挑(數量)題做成考卷:題目用我的真實工作改寫,開跑前先算好標準答案,每題埋一個我實際踩過的陷阱,並寫下掉進陷阱會得到的錯誤答案。
3. 在空的暫存資料夾、用唯讀權限跑,受測模型不能讀到答案檔。
4. (新模型名稱)和(現有模型名稱)在(low/medium/high)各跑至少兩次,記下分數、耗時和花費或額度用量。
5. 看最低分,不看平均分;每一筆沒拿滿分的都打開來讀,確認是模型錯還是評分程式錯。
6. 依結果改寫我的派工規則,只跑過一次的結論標「未測變異」,不要據以改規則。

附錄:技術做法

這一節給想自己做一份的人。方法我整理成一個公開的套件 model-bench-kit,裡面附三題合成資料的範例。

整體架構

考卷由三樣東西組成:題目(一份提示詞加上要讀的資料)、標準答案、評分程式。每一輪考試是一份工作清單,一行一筆,寫「題號、模型、檔位、第幾次」。執行器照清單一筆一筆跑,每筆的完整輸出存成一個 JSON 檔,評分程式再讀這些 JSON 打分。

換新模型的時候,題目、答案、評分程式都不動,只在工作清單加幾行。這是整套能重複用的關鍵。

一筆考試的流程

一筆考試從工作清單到人工複查的順序:執行器建空資料夾、呼叫模型、存下輸出,評分程式打分,沒滿分的交給人看

Claude 的部分用 headless 模式。執行器的核心是這一行:

cmd = ["claude", "-p", "--model", model, "--effort", effort,
       "--output-format", "json", "--permission-mode", "dontAsk",
       "--max-budget-usd", "4",
       "--allowedTools", "Read", "Glob", "Grep",
       f"--disallowedTools={','.join(deny)}", "--", prompt]

deny 裡放的是答案檔、評分程式和其他筆的輸出,模型就算想找也讀不到。工作目錄設成一個空的暫存資料夾,避免專案裡的設定影響受測模型。--output-format json 會回傳花費、輪數和完整回答,執行器另外記下牆鐘時間。每筆設 1500 秒逾時。

agy 和 Codex 沒有同樣的權限參數,所以改在暫存副本上跑。Colab 上的開源模型,是把 ANTHROPIC_BASE_URL 指到透過 SSH 通道轉出來的伺服器,讓本機的 claude -p 直接呼叫它,題目和評分程式完全共用。

評分怎麼寫

評分程式盡量只用規則判斷,不用另一個模型當裁判。以「多重要求」那題為例,五個要求各寫一條檢查:

r2 = "391" in t                                   # 乘法算對
r3 = "坎培拉" in t or "Canberra" in t              # 首都答對
r4 = not BULLET.search(t) and "|" not in t        # 否定句:不准用條列或表格
r5 = last_line == "Cheers"                        # 最後一行指定文字
score = sum([r1, r2, r3, r4, r5]) / 5

每題回傳分數和沒過的項目,例如 fail=no_list,cheers,方便一眼看出錯在哪。

評分程式自己也會錯。第一輪我的評分器出包三次,三次都是模型答對、評分器判錯。所以每一筆沒拿滿分的,都要打開整段回答讀過。

結果放在哪裡

每一筆考試的狀態:在工作清單中、已有結果檔、已評分、需要人工複查,結果檔存在就跳過

每筆結果存成 results/<題號>__<模型>-<檔位>__r<次數>.json。執行器開跑前先看這個檔在不在,在就跳過。所以額度用完、電腦重開都沒關係,下次同一份清單再跑一次就會接著做。這點對 Codex 特別重要,它的五小時窗口常常在一輪中間就滿了。

評分結果另外寫成一份 graded.json,每筆一列:題號、檔位、第幾次、分數、牆鐘時間、輸出 token、花費、輪數、沒過的項目。比較不同輪的時候,直接讀這幾份檔案就好。

什麼時候改規則

從分數到改規則的判斷:至少兩次、看最低分、讀過每筆失敗、注意天花板效應,過了才寫回派工規則

分數出來之後,要過四關才寫回派工規則:

  1. 同一題、同一個設定至少跑兩次。
  2. 看最低分。平均分漂亮但有一次掉到一半,那就是不穩。
  3. 每一筆沒滿分的都讀過,排除評分程式的錯和權限設定擋住的情況。我第一輪就有一筆是 Haiku 被權限擋下、交了白卷,那是設定問題,跟能力無關。
  4. 所有設定都滿分的時候,代表題目太簡單,只能說「這類工作 low 就夠」,不能說「low 跟 medium 一樣好」。

想自己做的最小版本

不用一開始就做十題。挑你最常交代的三類工作,每類一題,答案先算好,再寫一支只有幾行的評分程式。下次新模型出來,在工作清單加一行模型名稱就能重考。考了兩三輪之後,再照你實際看到的失誤加題,像我後來補的「多重要求」和「多條規則同時守」。


三個月一對一 AI 陪跑

照你工作寫的提示詞手冊、兩次一對一各 2 小時、三個月隨時私訊問,結案時你自己把流程重跑一次。

看方案內容

或先預約免費 15 分鐘診斷

Share this post on:
Previous Post
GPT-6.1 Terra 實測:又快又省,但看字形和對話脈絡還是交給 Sonnet
Next Post
讓 Claude 翻我自己一個月的 AI 對話:挖出的習慣、Mod 和自動模式規則