🌐 This article hasn't been translated yet — showing the Japanese version.
Bunの53万行、AI 64体が11日でZigからRustへ全面移植——「テスト通過」は安全の証明にならない thumbnail
DEV TOOLS Importance Medium 2026-07-13

Bunの53万行、AI 64体が11日でZigからRustへ全面移植——「テスト通過」は安全の証明にならない

⏱ approx. 2 min views 4 likes 0 LOG_DATE:2026-07-13

JavaScriptランタイム「Bun」の開発チームが、コアランタイムのZigコード53万5,496行を11日間でRustへ全面移植したと発表した。主導したのは開発者Jarred Sumner氏。Anthropicの次期モデル「Claude Fable 5」のプリリリース版を使い、ピーク時64個のClaudeインスタンス(4ワークツリー×16並列)を「実装役/レビュー役」に分けて走らせた。人間の作業はSumner氏が3時間かけてZig→Rustの変換方針をClaudeと詰め、`PORTING.md`に落とし込むところまでで、あとはAIエージェント群が6,502コミットを積み上げた。

動機はメモリ安全性だ。Zigは手動メモリ管理ゆえにuse-after-free・double-free・メモリリークが繰り返し報告されており、コンパイル時に大半を排除できるRustへ切り替えて根絶を狙った。結果はLinux x64 glibc環境でテスト互換性99.8%、スキップ・削除は0件と公表。ただしRustコードにも約2万7,000行中1万3,000箇所の`unsafe`が残り、「Rustにしたから安全」とは言い切れない。API利用料は総額16.5万ドル(円換算で2,500万円前後)に達したという。

64並列のAIエージェントによる移植プロセスの図解
人間が3時間で設計方針を固め、あとは64体のAIが実装とレビューを分担した

この発表にZigの作者Andrew Kelley氏が自身のブログで反応した。Bunのコードベースには「ハックの上にハック」が積み重なり、機能追加を急ぐあまり技術的負債の解消を後回しにしてきたと指摘。性能向上の一部はRustと無関係なLTO(リンク時最適化)によるもので、Zigの時点から使えたはずだとも述べた。一方で「Rustへの移行判断自体は良い決定」とも評価している。これにBun側は、実際にはファジングテストを継続的に実施していたと証拠付きで反論した。

ハッカー視点で見ると、これは「AIが書いた50万行超のシステムコードをどこまで信用できるか」という問いを突きつける。テストのパス率はコードの正しさを保証しない――既存テストが想定していない境界条件やタイミング依存のバグは、ロジックが変わっても検出できない。レビュー役も同じモデル系列である以上、両者が同じ盲点を共有するリスクもある。

テスト通過と安全性は別問題であることを示す比較図解
互換性99.8%は成果だが、unsafeの残存や境界条件の未検証は別問題

大規模言語モデルによる自動リファクタリングは、今後「新しいサプライチェーンリスク」として監査対象になっていくだろう。

𝕏 Post B! Hatena

COMMENTS 0

No comments yet — be the first to leave one.

Post a comment