經濟學家 Sebastian Galiani、Federico A. López 和 Raul A. Sosa 10 月 18 日在 VoxEU 發表專欄,整理他們的 NBER 工作論文:用 40 項計量經濟任務,測試 AI 寫 Stata、R 和 Python 程式的正確率。結果是,讓 AI 代理自己執行、檢查並修改程式碼後,Claude Sonnet 4.6 的正確率從 81.4% 升到 99.2%,GPT-5.6 Luna 從 77.3% 升到 95.1%。但剩下的錯誤,全都是程式能順利跑完、輸出也完整,只是數字算錯。

作者在專欄開頭提到,人寫的程式碼本來就會出錯:一項針對 110 篇頂尖經濟學與政治學期刊論文的稽核,發現約四分之一有程式錯誤,而且就算公開的程式碼能重現論文裡的數字,錯誤仍可能存在。

研究怎麼做

測試涵蓋線性迴歸、差異中的差異(DID)、工具變數、斷點迴歸、離散選擇、存活分析和時間序列。每項任務都指定方法,附上一份模擬資料和事先算好的參考答案;模型回報的數字落在容許誤差內,才算成功。

桌上排列整齊的任務卡,每張畫著不同計量方法的圖示,後方是三個程式環境視窗
研究以多種計量方法與程式環境測試 AI 代理(示意圖)

每項任務都在 Stata、R、Python 各跑一次,提示詞分成有、沒有附相關任務範例兩種,AI 的自主程度分成三級:

  • 聊天機器人:模型寫一份程式,自己看不到執行結果。
  • 自我修正:研究團隊代為執行,程式跑不動或缺少必要數值時,把輸出交回模型修改,最多三次。
  • 受限代理:模型只能用命令列,提示詞把範圍限定在任務本身。它可以自己執行、修改程式不限次數,被要求用獨立的方法驗算,並自己決定何時完成。

每種組合重複 10 次,兩個模型分別是在 Claude Code 裡的 Claude Sonnet 4.6 和在 Codex 裡的 GPT-5.6 Luna,共 14,400 次執行。

讓模型自己執行,正確率提高

三級自主程度的正確率如下:

助理沿著寫程式、執行、檢查的循環前進,旁邊的長條往上升
讓模型自己執行並修正程式,正確率提高(示意圖)
  • Claude Sonnet 4.6:聊天機器人 81.4%,自我修正 93.5%,受限代理 99.2%。
  • GPT-5.6 Luna:77.3%、90.3%、95.1%。

最多只改三次的自我修正,已經達到代理相對於聊天機器人改善幅度的 68%(Claude Sonnet 4.6)和 73%(GPT-5.6 Luna)。

模型能自己執行程式後,提示詞和軟體的影響都變小了。在聊天機器人模式下,提示詞附範例可讓正確率提高 5.8 個百分點(Claude Sonnet 4.6)和 7.3 個百分點(GPT-5.6 Luna);換成代理,只再提高 0.7 和 1.5 個百分點。軟體也是:沒有範例的聊天機器人模式下,Stata 比 Python 低 25.5 和 30.8 個百分點;換成代理後,差距縮小到 1.3 和 6.8 個百分點。作者指出,Stata 是實證經濟學最常用的軟體。

剩下的錯誤都不會報錯

作者把失敗分成兩種:

兩個終端機視窗,左邊跳出警告,右邊輸出完整表格但有一格悄悄出錯
有警告的錯誤容易發現,剩下的錯誤不會報錯(示意圖)
  • 明顯的失敗:程式跑不動,或沒有輸出完整結果,研究者會看到錯誤訊息或缺漏的數字。
  • 無聲的失敗:程式跑完、結果也輸出了,但至少有一個數字錯了,輸出裡沒有任何警示。

合併兩個模型計算,明顯的失敗從聊天機器人的每 100 次 15.8 次降到代理的 0 次;無聲的失敗從 4.9 次降到 2.9 次。總失敗從每 100 次 20.7 次降到 2.9 次,剩下的失敗全部是無聲的。

無聲失敗的減少幾乎都來自 Claude Sonnet 4.6,從每 100 次 4.7 次降到 0.8 次;GPT-5.6 Luna 只從 5.1 次降到 4.9 次。作者讀過的無聲失敗程式中,超過三分之二是方法正確、但寫錯了程式,例如索引錯誤,或公式中某一項寫錯。在代理模式下,失敗最多的任務是 shift-share 工具變數:失敗的執行都有回報全部估計值,但標準誤超出容許誤差。

論文也說明了評分的限制:如果模型用了錯的估計方法,數字卻剛好落在容許誤差內,仍會被算成成功,所以實際正確率可能比報告的低。

成本與時間

以 API 牌價計算,Claude Sonnet 4.6 每次執行的平均成本,從聊天機器人的 4.56 美分增加到代理的 14.09 美分,約 3.1 倍;GPT-5.6 Luna 增加 5.0 倍,但代理每次執行平均仍不到 1 美分。執行時間的中位數,Claude Sonnet 4.6 代理是聊天機器人的 5.8 倍,GPT-5.6 Luna 是 3.4 倍。

對 Claude Sonnet 4.6 來說,代理每多做對一次約花 0.54 美元。以研究助理時薪 15 到 50 美元換算,相當於 0.6 到 2.2 分鐘的工時。

作者的建議

作者認為,研究者選擇怎麼用這些工具時,平均來說,AI 的自主程度比提示詞或軟體更重要。讓模型自己執行和修改程式,能消除最容易發現的錯誤,但輸出不會提示的無聲錯誤,代理只消除了約五分之二。剩下的要靠研究者檢查兩件事:模型有沒有照指定的規格實作,以及數字是否正確。重跑一次程式找不出這類錯誤,因為程式碼可以重現同樣的數字,卻仍然是錯的。

研究者用放大鏡和尺核對結果表,旁邊另一台筆電獨立重算同一數字
數字對不對,仍要研究者自己核對(示意圖)

改用程式代理後,研究者遇到的錯誤會變少,但其中無聲錯誤的比例會變高。作者的結論是,代理能以低成本執行和修改程式,判斷數字對不對仍是研究者的工作。

臺灣公部門的 AI 使用指引

行政院 2023 年訂定《行政院及所屬機關(構)使用生成式AI參考指引》,第 2 點規定生成式 AI 產出的資訊,須由業務承辦人就風險進行客觀且專業的最終判斷;第 5 點規定各機關不可完全信任生成式 AI 產出的資訊,也不得以未經確認的產出內容直接作成行政行為,或作為公務決策的唯一依據;第 6 點要求使用生成式 AI 作為輔助工具時應適當揭露。指引第 9 點也讓公營事業、公立學校、行政法人和政府捐助的財團法人可以準用。

這項研究說明了,用 AI 跑統計分析時,「確認」需要具體的做法:程式能跑、數字看起來合理,都不代表結果正確。

臺灣可以參考的方向

  • 先用已知答案的資料測試:研究團隊或機關可以仿照這項研究,針對自己常用的方法準備模擬資料和參考答案,設定容許誤差,先測過再把 AI 寫的程式用在真實資料上。
  • 檢查清單放在無聲錯誤上:逐項核對模型用的估計方法和模型規格是否符合要求,特別是標準誤的算法、變數索引和公式各項;關鍵數字用另一套軟體或另一種方法獨立重算。
  • 公部門分析留下可複查的紀錄:依指引第 5 點,AI 產出的分析數字進入政策文件前要經過確認。程式碼、執行紀錄、模型和軟體版本可以一起保存,並依第 6 點註明哪些分析用了 AI。
  • 研究與教學一起調整:學生和研究助理使用 AI 時,可以把「看懂並驗證程式」列為要求,參考學生該怎麼用 AI的原則;研究機構把論文和方法整理成 AI 代理時,也可以搭配這類驗證流程,見Paper2Agent 與研究機構知識管理。

資料來源

  • Sebastian Galiani、Federico A. López、Raul A. Sosa,〈Letting AI agents write econometric code〉,VoxEU(CEPR),2026-10-18:https://cepr.org/voxeu/columns/letting-ai-agents-write-econometric-code
  • Sebastian Galiani、Federico Ariel López、Raul A. Sosa,〈AI Agents and Prompt Engineering in Econometric Coding〉,NBER Working Paper 35588,2026 年 8 月(2026 年 10 月修訂):https://www.nber.org/papers/w35588
  • 國科會,《行政院及所屬機關(構)使用生成式AI參考指引》:https://www.nstc.gov.tw/folksonomy/list/c79bf57b-dc94-4aff-8d14-3262b5559cfc?l=ch
  • 中央社,〈政院通過公部門生成式AI參考指引 禁用於高機密文件〉,2023-08-31:https://www.cna.com.tw/news/aipl/202308310120.aspx