返回新聞

走進 Remy 的證據鏈:每一次修復,都附上證明它的那項檢查

Remy 不要求開發者相信它的一面之詞。修復之後,它會重跑同一項失敗的檢查,並在最後如實交代哪些驗證了、哪些沒有。

插圖:Corepass

程式設計助手已經很擅長寫出看起來正確的程式碼。對需要合併程式碼的開發者來說,更難回答的問題是:有沒有人檢查過?Corepass 的程式設計 AI 代理 Remy 給出的答案相當於一條證據鏈:記錄它運行了哪些檢查、某項檢查失敗後改了什麼,並明確說明哪些內容沒有驗證。

Remy 產品頁所描述的這套做法遵循固定的順序。改完程式碼後,Remy 執行相關的測試、型別檢查或建構。如果有檢查沒通過,它會查詢原因、進行修復,然後重跑同一項檢查,而不是換一項更容易通過的。產品頁對最後一步說得很直白:「然後告訴你跑了什麼、結果如何,以及哪些沒有驗證。」

  1. 執行檢查測試、型別檢查或建構
  2. 查詢原因當某項檢查失敗時
  3. 修復並重跑再次運行同一項檢查
  4. 彙報結果跑了什麼、結果如何、哪些沒有驗證

失敗的那項檢查,就是重跑的那項

按產品描述的順序呈現的 Remy 驗證流程。

為什麼必須是同一項檢查

堅持重跑完全相同的檢查,正是關鍵所在。修復之後如果換一項測試,或者乾脆不測,就無法確定原來的失敗是否已經消除。重跑失敗的那項檢查,能把修復和證明它有效的證據聯絡起來,並把證據放在審閱者看得到的地方。

「然後告訴你跑了什麼、結果如何,以及哪些沒有驗證。」

說明沒有檢查到的內容

報告的最後一部分,在程式設計工具中可能最為少見。Remy 的總結會把已驗證和未驗證的內容分開;在產品自己的演示中,一個任務以兩份清單收尾,一份標題是「已驗證」,另一份是「未驗證」。比如,一處沒有任何測試覆蓋的程式碼改動,會被明確列為未驗證,而不是一筆帶過。

合併之前的審查

驗證只是其中一層。Remy 的文件還介紹了一種獨立的程式碼審查模式,按嚴重程度報告發現的問題,每一條都附有位置、影響和依據。在產品頁展示的工作流中,PR 提交之前,審查機器人 Bugbot 會讀取差異,查詢測試遺漏的問題。

Corepass 把「讓工作可審閱」列為其產品原則之一,而驗證報告是這一原則在產品中最清晰的體現:AI 代理負責檢查,開發者則獲得決定是否合併所需的記錄。

Corepass 新聞室報道公司的產品與研究。文中產品資訊均來自 Corepass 公開的產品頁面、文件和信任中心。如有疑問,請發郵件至 support@corepass.com。

Corepass 更多動態

全部新聞