
Bun のコアが Zig から Rust へ - Claude が6日で約100万行を書き換えた話(安定版はまだZig)
JavaScript ランタイム Bun が、コアを Zig から Rust へ全面書き換えする巨大 PR をマージしました。しかも大半を Anthropic の Claude が生成し、人手なら約1年の作業がわずか数日で——というAI駆動開発の象徴的な事例です。ただし「もう Bun は Rust 製」と早合点するのは禁物。この記事では、何が起きたか・なぜか・現状はどうかを、GitHub・Bun公式・The Register を一次ソースに整理します。
何が起きたのか
- 2026年5月14日、
oven-sh/bunに PR #30412「Rewrite Bun in Rust」が main へマージ(ブランチ名claude/phase-a-port) - 規模は 6,755コミット・約100万行追加(1,009,257行)・2,188ファイル変更
- Linux x64 glibc で既存テストの99.8%が通過
- 背景に、2025年12月の Anthropic による Bun 買収(Claude Code の基盤として)があります(Bun 公式)
WARNING
「いま入る Bun はもう Rust 製」ではありません。 公式の監査ページも「今日インストールする Bun は今も Zig 実装で動く」と明記しています。安定版は引き続き Zig 実装の v1.3.14 で、Rust 版は bun upgrade --canary で試せる段階。安定版「Bun 1.4」のリリース日は未発表です(Bun unsafe audit)。
なぜ Zig をやめるのか
意外にも、引き金は技術より運用でした。
- Zig の「AI生成物の禁止ポリシー」とBunの開発手法が衝突。BunはすでにZigフォークを独自運用しており、upstreamへ戻せない状態に
- Rust のコントリビュータ人口が桁違いに多い。エコシステムの健全性・プラットフォーム対応で有利
- メモリ安全性(use-after-free 等のクラスのバグをコンパイラで根絶)。作者 Jarred Sumner は「主目的は安全性で、速度ではない」と明言
- バイナリサイズの削減(3〜8MB)
Claude が「6日で」書いた
最大の話題は、書き換えのほぼ全量を Claude が生成した点です。
- 使ったのは Claude Code の dynamic workflows(タスクを分解し、最大16並列・1セッション最大1,000エージェントへ fan-out。独立した検証エージェントがレビュー)。詳しくはOpus 4.8 と dynamic workflows
- 期間は約6日(公式動画は6日、Claude公式ブログは「first commit→merge で11日」と起算点で揺れあり)
- 移行手順は 約300超の変換ルールを記した
PORTING.md(型マッピング70超・イディオム90超)と、事前生成した LIFETIMES データに沿って、Phase A(下訳)→ 検証 → クレート単位のビルド/テスト/UB修正と段階実行
Claude Code 責任者 Boris Cherny は「人間のチームなら約1年の作業を6日で」「自分は8か月、一行も手で書いていない」と語っています(Fortune、Boris Cherny インタビュー)。
論争点 - 「Rustなのにunsafeだらけ」
手放しの称賛ばかりではありません。
- unsafe ブロックが13,365個。同規模の Rust 製ツール(uv の73個など)と比べて桁違いに多く、「安全性のために Rust にした意義が薄い」との批判。公式は「C/C++ライブラリ(JavaScriptCore・libuv)とのFFI境界が多いため」「約9,300個は安全なコードへ変換可能」と説明
- PRのリアクションは 👍1,683 vs 👎1,706 と賛否拮抗
- マージ後48時間で22のバグ修正。証明可能な未定義動作(UB)も数件残存し、対応ロードマップが公表
- 「本当に6日か」という懐疑(porting guide の設計など事前工数は別)や、downstream の Zig バインディングへの影響も指摘
NOTE
これは「AIが大規模な実コードベースをどこまで書けるか」の貴重な実例である一方、レビュー不能な規模の自動生成PRという新しい課題も突きつけました。GitHub が一部を「AI slop」として自動フラグした、という報告もあります。速さと検証可能性のトレードオフは、今後のAI駆動開発の論点になりそうです。
まとめ
- Bun は コアを Zig→Rust へ書き換える PR を2026年5月14日に main へマージ(約100万行・6,755コミット・テスト99.8%通過)
- 大半を Claude Code の dynamic workflows がほぼ自動生成。約6日、Boris Cherny曰く「人間なら約1年」
- ただし安定版はまだ Zig 実装(v1.3.14)。Rust 版は canary 段階で、安定版リリース日は未発表
- 動機は Zig の no-AI ポリシー・Rust のコミュニティ・メモリ安全性。一方で unsafe 1.3万個などの批判も
- AI が大規模実コードを書く時代の象徴例だが、検証可能性という新課題も同時に提示
「AIがランタイムを丸ごと書き換える」のは確かに衝撃的ですが、本番に降りてくるのはこれから。canary の安定化と独立ベンチ、そしてunsafeの削減がどう進むかを見守る段階です。Rust 自体に触れたい人はRust と rustup の入門もどうぞ。


