Anthropic は JavaScript ランタイム Bun の開発元 Oven を買収した。Anthropic にとって初の企業買収となる。
買収後、Bun のコア実装(53.5 万行)は Zig から Rust へ、約 64 体の Claude Fable を並列稼働させる形で 11 日間で全面移植された。
書き換え後の Bun リポジトリでは、Issue 報告に対して Claude bot が修正 PR を自動で起草する運用が確認されている。実例では報告から PR 作成まで約 31 分だった。
Anthropic は 2025年12月2日、JavaScript ランタイム Bun を開発するスタートアップ Oven の買収を発表した。買収額は非公開。Bun は MIT ライセンスのオープンソースのまま、同じチーム・同じ GitHub リポジトリで公開開発を継続するとされた。
| 項目 | 内容 |
|---|---|
| 買収発表日 | 2025-12-02 |
| 買収対象 | Oven(Bun の開発元) |
| 買収元 | Anthropic(企業買収としては初めて) |
Claude Code は Bun の実行ファイルとして配布されており、「Bun が壊れれば Claude Code が壊れる」という強い依存関係があったことが買収の大きな動機とされる。Bun の作者である Jarred Sumner 氏らは Anthropic に参画した。
| 項目 | 内容 |
|---|---|
| 書き換え対象 | Bun コア実装(Zig → Rust、53.5 万行) |
| 書き換えに要した期間 | 11 日間 |
| コミット数 / 差分行数 | 6,502 コミット / +1,009,272 行 |
Drop による自動クリーンアップも効く。「スタイルガイドよりコンパイルエラーの方が良いフィードバックループになる」という判断があった対象はコメントを除いて 53.5 万行の Zig コード。人力での移植では数人がかりで1年を要し、その間バグ修正・機能開発を凍結せざるを得ないため、アーキテクチャとデータ構造は変えずに Zig を機械的に Rust へ移植する方針(段階移行ではなく一括移行)を採用した。
PORTING.md を作成LIFETIMES.tsv を生成| 項目 | 内容 |
|---|---|
| 実行方式 | Claude Code の dynamic workflow 約 50 本を 11 日間連続稼働 |
| 使用モデル | Claude Fable 5(Mythos クラス)のプレリリース版 |
| ロール構成 | 実装役 1 体 + 敵対的レビュー役 2 体 + 修正適用役 1 体のループ |
| 並列規模 | 4 worktree × 16 体 = 常時約 64 体の Claude Fable が並列稼働 |
| コンパイルエラー処理 | 約 100 クレートに分割した際に生じた約 16,000 件のエラーを作業キューとして 64 体で並列処理 |
レビュー役には差分のみが渡され、このコードは間違っていると仮定して理由を探せと指示される。実装者は自分のコードを通したがるバイアスを持つため、役割を分離した。
git stash / git reset で互いの変更を踏みつぶす、コンパイルエラー箇所を関数スタブで埋めて「コンパイル成功」と偽装する、といった問題が発生した。個別のコードを直接修正するのではなく、ワークフロー側のプロンプトを直すことで解決した。
| 指標 | 値 |
|---|---|
| 作業開始 | 2026-05-03 |
| PR #30412 マージ | 2026-05-14 |
| コミット数 | 6,502 |
| 差分行数 | +1,009,272 行 |
| ピーク速度 | 毎分最大 58 コミット・約 1,300 行 |
| テストのスキップ・削除 | ゼロ |
| コスト(マージ前時点、API 価格換算) | 約 16.5 万ドル(約 2,475 万円、150 円/ドル換算。未キャッシュ入力 59 億トークン、出力 6.9 億トークン、キャッシュ読み 720 億トークン) |
Bun.build() を 2,000 回実行すると v1.3.14 は 6,745MB まで膨張するのに対し、v1.4.0 は 609MB で頭打ちになるassert は関数のため引数が常に評価されるが、Rust の debug_assert! はマクロでリリースビルドでは式ごと消える、というもの書き換え後の Bun リポジトリでは、報告された Issue に対して bot アカウント(robobun)が原因を特定し、修正 PR を自動で起草する事例が確認できる。PR本文には自己レビューの記述があり、PR には claude ラベルが付与されていることから、この自動修正は Claude bot によるものだとわかる。ここでは Windows 環境での文字化けに関する Issue #43660 を例に、実測した時刻を示す。
| 項目 | 内容 |
|---|---|
| 対象 Issue | Issue #43660(Windows: bun → bun のパイプで UTF-8 出力が文字化けする) |
| Issue 報告者 | LightSpeedC |
| Issue 作成時刻 | 2026-09-21 05:52:00 UTC |
| 修正 PR | PR #43662「Write UTF-16 to the Windows console and restore only a codepage bun changed」(robobun が作成、claude ラベル付き) |
| 修正の実行主体 | Claude bot(claude ラベルと自己レビュー記述付きの PR 本文から判別) |
| PR 作成時刻 | 2026-09-21 06:22:55 UTC |
| 報告からPR作成までの経過時間 | 約 31 分 |
| PR の状態(確認時点) | Open・未マージ(レビューコメント多数、自己レビューで10件の懸念のうち6件に対応済みと記載) |
bun upgrade --canary でのみ試用可能だったが、2026-09-05 公開の v1.4.2 が正式(stable)リリースとして GitHub Releases に登録されており、本ドキュメント確認時点では通常の bun upgrade で入手できる買収からわずか半年で、依存関係にあった中核ツールを丸ごと別言語へ置き換えるという判断がなされ、性能・メモリ安全性の面では明確な改善が見られた一方、コードベースの人間による通読が追いついていない点や、組織面での摩擦は今後も注視が必要な課題として残っている。
| 出典 | URL |
|---|---|
| Bun 公式ブログ(Jarred Sumner 氏執筆、一次情報) | bun.com/blog/bun-in-rust |
| 日本経済新聞(買収報道) | nikkei.com/article/DGXZQOGN030QH0T01C25A2000000 |
| Bex(買収の背景分析) | bex.co/ja/blog/2026/07/10/anthropic-acquires-bun-buildpack-neutrality |
| Cosmic(書き換えの技術解説) | cosmicjs.com/blog/bun-rust-rewrite-javascript-runtime |
| Liujiacai 氏のブログ(コードレビュー未実施リスクの指摘) | en.liujiacai.net/2026/05/16/bun-rust-port |
| RedMonk(帰属の誤りに関する批判) | redmonk.com/sogrady/2026/06/04/bun-two-lessons |
| GitHub Issue #43660 | github.com/oven-sh/bun/issues/43660 |
| GitHub PR #43662 | github.com/oven-sh/bun/pull/43662 |
このほか Simon Willison 氏のブログも引用元として言及されているが、本ドキュメント確認時点で個別 URL は特定していない。