AI News HubLIVE
站內改寫2 分鐘閱讀

sqlite-utils 4.0rc2:由Claude Fable編寫(花費約149.25美元)

Simon Willison釋出了sqlite-utils 4.0rc2,這次釋出主要藉助Claude Fable模型完成。文章詳細介紹了從4.0rc1到rc2的改進過程,包括髮現並修復的關鍵bug,如delete_where()未提交導致資料丟失的問題。此外,還透過GPT-5.5進行了最終審查,發現了兩個值得關注的問題。整個開發過程花費了約149.25美元(未補貼成本)。

Simon Willison 釋出了 sqlite-utils 4.0rc2,這是 SQLite 工具庫的一個重要候選版本。此次釋出的大部分程式碼由 Anthropic 的 Claude Fable 模型編寫,成本約為 149.25 美元(按未補貼 API 價格估算)。

在 4.0rc1 釋出後不久,Willison 決定利用 Claude Fable 幫助完成 4.0 穩定版的最終工作。他透過 Claude Code for web 發起了審查,結果發現了多個嚴重問題,其中包括 5 個被分類為“釋出阻塞”的 bug。最嚴重的問題是 delete_where() 方法未正確提交事務,導致後續所有資料庫寫入操作丟失。這個 bug 如果隨正式版釋出,將需要在 4.0.1 中修復,但幸好被及時發現了。

在 37 次提示、34 次提交和 30 個檔案的修改過程中,Willison 和 Fable 逐一解決了所有反饋,並改進了多個設計。有趣的是,在 Fable 處理複雜任務(每次可能需要 10-15 分鐘)時,作者甚至有時間外出參加國慶遊行,透過手機遠端檢查進度並給出下一步指令。

最顯著的變化涉及事務處理,這是 rc1 中的標誌性新特性。rc2 增加了 comprehensive 文件,詳細說明新的事務模型。所有寫入方法(insert、upsert、update、delete、delete_where、transform 等)現在都在自己的事務中執行並在返回前提交。使用者無需呼叫 commit(),也無需關閉資料庫來持久化更改。只有兩種特殊情況需要手動處理事務:使用 db.atomic() 進行批次操作,或使用 db.begin() 自行管理事務。

此外,Willison 還進行了交叉審查:讓 GPT-5.5 審查 Fable 的程式碼。這種做法曾讓他覺得有些荒謬,但事實證明非常有效。GPT-5.5 發現了兩個優先順序為 P1 的問題:db.query() 在檢查 SQL 語句型別之前就執行並提交了寫操作,以及 INSERT ... RETURNING 語句的提交僅發生在生成器被完全迭代之後,這違反了文件的承諾。這些問題隨後在 Fable 的幫助下得到了修復。

整個開發過程的成本估算令人驚訝:主要會話花費 141.02 美元,加上多個子代理(API 掃描、事務審查、提交審查、遷移審查等)的總成本為 149.25 美元。Willison 使用 Claude Max 訂閱(200 美元/月)進行工作,他表示很高興訂閱提供了這些能力,但也承認本應更多使用更便宜的模型作為子代理。

最終,sqlite-utils 4.0rc2 包含了重要的破壞性變更和改進,包括自動提交、改進的驗證錯誤處理、upsert 的主鍵要求、WAL 模式的事務安全等。完整的釋出說明已記錄在 changelog 中,Willison 指出這些釋出說明由 Fable 編寫,比他手動編寫的更好——因為釋出說明需要的是“枯燥、可預測和準確”。