解決方案
斯德哥爾摩皇家理工學院(KTH)的 Martin Monperrus 及其同事打造了 Repairnator,這是一個能為失敗的軟體建置產生修補程式的機器人——為了測試它能否與人類競爭,他們將其偽裝。他們建立了一個名為 Luc Esape 的 GitHub 使用者,身份是該實驗室的「軟體工程師」,此人「看起來像個初級開發者,熱衷於為開源專案做出貢獻」。Luc 就是那個機器人。之所以需要這層偽裝,是為了測試人類競爭力的假設,因為人類審核者對機器人與人類作品的評判方式不同。相關人員事後才被告知。
第一輪實驗於 2017 年 2 月至 12 月進行,將 Repairnator 置於一份固定的 14,188 個 GitHub 專案清單上。它每天執行約 30 次修復嘗試,分析了超過 11,500 個失敗的建置,重現了其中 3,000 多個——但僅在 15 個案例中開發出修補程式。沒有一個被接受:機器人太慢,或者修補程式品質太低。
第二輪實驗讓 Luc 從 2018 年 1 月至 6 月在 Travis 持續整合服務上工作,並在 1 月 12 日,一位人類審核者接受了一個 Repairnator 修補程式進入建置——換句話說,Repairnator 首次具備了人類競爭力。在六個月內,它產生了五個被接受的修補程式。
該實驗揭示了一個治理上的障礙:2018 年 5 月,eclipse/ditto 專案駁回了一個 Repairnator 的拉取請求,因為其「作者」尚未簽署 Eclipse 基金會貢獻者授權協議——而機器人無法實際簽署。團隊問道:機器人貢獻的智慧財產權與責任歸誰所有——操作者、實作者,還是演算法設計者?
其實現了什麼
要測試機器人能否與人類競爭,就必須隱藏哪一個是機器人:知道修補程式是機器製造的審核者,會用不同的標準來評判它。
為何奏效
這種欺騙正是實驗設計的核心:由不知道自己在審查機器人的審核者來接受,是衡量人類競爭力唯一誠實的指標。
結果是具體的,而非空談——觀察了 14,188 個專案,分析了 11,500 個建置,重現了 3,000 個失敗,五個修補程式被合併進真實的程式碼庫。
誠實的第一輪實驗(15 個中 0 個被接受)使第二輪的五個接受成為可衡量的進步,而非演示。
Eclipse CLA 的拒絕早在多年前就預見了當今的 AI 貢獻辯論:機器人無法簽署授權協議,那麼誰來為其程式碼背書?
可應用之處
人類競爭力是一種盲測屬性,而非基準分數:要用工作實際被評判的方式來衡量機器人——由不知道作品來源的審核者來評判。
後續
團隊將此騙局告知了受影響的人類,並發表了結果,稱 Repairnator 是自動程式修復領域人類競爭力的一個里程碑,也是機器人與人類在軟體上協作的一個先聲。來源未報導進一步的發展。
追溯依據
參考來源
- A bot disguised as a human software developer fixes bugs MIT Technology Review · technologyreview.com ·