Claude Fable 5.2 編碼測試:如何評估複雜的全棧重構

來源: Elser AI

Claude Fable 5.2 能否處理複雜的全端重構?Anthropic 發佈的編碼結果使其看似可行,但可信的答案需要在指定倉庫上執行可運行的測試。本文提供了該測試協議。它不會從未曾實際運行的倉庫中憑空捏造通過結果。

目標是確定Fable是否能夠在資料庫、後端、前端、測試和部署程式碼中更改合約,同時保持行為並限制範圍。

測試場景

使用非生產環境應用程式,並配合:

  • PostgreSQL 與版本化遷移
  • 一個 TypeScript API 服務
  • 一個 React 前端
  • 後台任務或 Webhooks
  • 單元測試、整合測試和端到端測試
  • 持續整合,包含程式碼檢查、型別檢查、相依性掃描與遷移驗證

分配的改造任務是將傳統的單一 display_name 欄位替換為結構化的 given_name、family_name 以及一個計算出的顯示值。現有 API 客戶端必須在一個相容期內繼續正常運作。搜尋、稽核日誌、事件負載、管理介面、匯出以及測試都必須正確執行。

此任務具有跨領域性質。表面上的解決方案可能會更新UI和API類型,同時破壞歷史數據行、導致事件消費者出錯或洩露不一致的欄位。

準備倉庫

建立一個隔離的分支和容器化的測試資料庫。移除機密資訊和生產資料。新增一個任務簡介,描述行為和約束條件,而非檔案位置或解決方案。保留針對舊客戶端相容性、遷移回滾、Unicode名稱、缺失姓氏、搜尋和Webhook模式的隱藏目標測試。

只給模型提供工程師需要的工具:檔案搜尋、安全編輯、建置、測試和唯讀文件存取。在執行破壞性資料庫或套件管理器操作前需要確認。記錄指令、差異、令牌、工作量與實際耗時。

提示詞

使用類似這樣的提示:

根據 TASK.md 重構用戶名稱模型。首先檢查倉庫,呈現簡潔的依賴關係圖和計劃。實施最小的一致變更,包括遷移、相容性行為、測試和文件。執行相關檢查。不要修改無關程式碼或削弱現有測試。如果需求不明確,在編輯前說明假設。

在固定努力水準下執行 Fable 5.2,然後從乾淨的快照開始,用 Opus 5.5 和當前生產模型重複執行。不要讓一次執行看到另一個模型的補丁。

一個強大的解決方案應具備的功能

映射變更表面

在編輯之前,模型應定位模式、序列化器、API契約、查詢索引、事件生產者、消費者、表單、狀態處理、匯出、測試夾具和文件。遺漏一個webhook消費者與編寫優雅的React程式碼同樣重要。

設計可逆遷移

數據計劃應說明回填行為、可空性、Unicode和單字名稱、部署順序、相容性視窗以及回滾。破壞性的「刪除並重建」遷移將自動失敗。

保持 API 相容性

舊客戶端應在約定的窗口期內接收或提交舊欄位,而新客戶端則使用結構化欄位。實作過程中需要明確的資料來源,以避免出現不一致的值。

證明行為

模型應增加針對性測試,而非削弱斷言。它必須執行現有測試套件、型別檢查器、程式碼檢查工具、遷移測試以及相關的端到端路徑。諸如「這應該能通過」之類的陳述不能作為執行證據。

評分標準

| 類別 | 權重 | 通過證據 | |---|---:|---| | 功能驗收測試 | 30 | 隱藏與可見場景通過 | | 數據遷移安全性 | 20 | 前向/後向計劃,無遺失,涵蓋邊緣情況 | | 合約相容性 | 15 | 新舊客戶端依規範正常運作 | | 安全與隱私 | 10 | 無秘密洩露、注入、認證或日誌記錄回歸 | | 程式碼品質與範圍 | 10 | 遵循規範;避免無關變更 | | 測試品質 | 10 | 新增有意義的測試;未削弱覆蓋率 | | 說明與稽核追蹤 | 5 | 假設、命令及剩餘風險清晰明確 |

同時記錄人工修正的分鐘數和成本。一個需要兩小時架構清理的90分補丁,可能不如一個十分鐘內被接受的85分補丁有用。

需警惕的故障模式

常見失敗包括:編輯生成的檔案而非其原始檔案、忽略非同步消費者、假設西方兩段式姓名、產生不可逆的遷移、在前端和後端重複業務邏輯、修改測試以匹配錯誤、以及單元測試通過後停止而整合行為已損壞。

提示注入是另一個問題。倉庫檔案屬於不可信輸入;註解或文件可能包含與任務衝突的指令。代理應遵循授權的任務和工具策略,而非源文件中發現的任意文字。

如何如實報告結果

發佈倉庫提交、任務簡介、模型識別碼、工作量、工具鏈、工具權限、時間限制、嘗試次數以及驗收測試結果。將首次運行效能與人工輔助運行區分開來。記錄排除的成本和失敗的嘗試。缺少這些細節,「Fable 完成了全棧重構」就只是行銷話術,而非證據。

Anthropic 的官方結果——在 FrontierCode 2.0 上以極高努力度取得 49.1% 的成績,以及在 FrontierSWE v2 上取得 69.9% 的成績——證明了進行這項實驗的合理性。但這些結果並不能預先決定實驗的最終結果。

常見問題解答

為什麼這篇文章沒有聲稱Fable通過了測試?

未提供已定義的倉庫運行。在沒有執行日誌和測試的情況下報告結果將被視為偽造。

多少次執行才足夠?

單次運行只是一個案例研究,不能作為穩定估計。應在多個代表性任務上進行多次乾淨運行,並報告變異數和重試次數。

模型是否應擁有生產環境憑證?

不。使用隔離的資料和最小權限工具。人工審核的部署應與程式碼生成保持分離。

最新發布