世界を動かす技術を、日本語で。

Claude CodeがRustで書かれたBunを使用しています

概要

  • Claude Code v2.1.181 以降で Rust製Bun が利用されている証拠を検証
  • 起動速度が10%向上 (Linux環境)
  • Bun v1.4.0 がプレリリースとしてClaudeに組み込まれている状況
  • Rustソースファイル の存在確認方法
  • バージョン確認コマンド の紹介

Claude CodeでRust製Bunが使われている証拠

  • Claude Code v2.1.181(2024年6月17日リリース)以降、 Rustで書かれたBun を採用
  • Linux環境で 起動速度が約10%向上
  • その他の環境では 大きな変化は体感されず、「地味だが良いアップデート」
  • Claude Codeの実行ファイルから Bunのバージョン確認 が可能
    • コマンド例:
      • strings ~/.local/bin/claude | grep -m1 'Bun v1'
        • 出力例: Bun v1.4.0 (macOS arm64)
        • GitHub上の最新リリースはv1.3.14(2024年5月12日)で、 v1.4.0は未公開のプレリリース
      • strings ~/.local/bin/claude | grep -Eo 'src/[[:alnum:]_./-]+\.rs'
        • 563個の .rs(Rustソース)ファイル 名がリストアップ
        • 例:
          • src/runtime/bake/dev_server/mod.rs
          • src/runtime/bake/production.rs
          • src/bundler/bundle_v2.rs
  • これらの情報から、 Rust製Bunが実際に多数のデバイスで本番稼働中 と判断

Bunバージョンの詳細確認方法

  • Ajan Rajによる便利な確認方法
    • bunのバージョンをTypeScript経由で表示
    • コマンド例:

      cat > /tmp/bun-version.ts <<'EOF'
      console.log("embedded bun:", Bun.version);
      process.exit(0);
      EOF
      BUN_OPTIONS="--preload=/tmp/bun-version.ts" claude --version
      
      • 出力: 1.4.0
  • 2024年5月17日のコミットで package.jsonのバージョンが1.4.0に更新
  • このバージョンは canary版(先行リリース) としてのみ配布中
  • bun upgrade --canaryRust製Bun最新版のインストールが可能

まとめ

  • Claude Codeは Rust製Bunの本番導入を先行的に実施
  • Bun v1.4.0(canary) が組み込まれている証拠多数
  • 安定した地味な進化 が評価されるアップデート
  • コマンド操作で バージョンやRustソースの存在を簡単に検証可能

Hackerたちの意見

私にとっては、これがBun v1.4.0(macOS arm64)を出力します。GitHubでのBunの最新リリースは5月12日のv1.3.14なので、Claudeでのv1.4.0というバージョン番号は、まだリリースされていないBunのプレビューを出荷することをサポートしているんでしょうね。だから、FOSSプロジェクト「Bun」は静かに闇の中で消え去り、今やまったく別のものになってしまった。私のTODOリストに「Bunが価値があるか調査する」が残っていて、まだ手をつけていなかったのは良かった。ところで、Bunのガバナンス構造はどうなってるの? どう働くべきかについての文書や説明が見つからなかった。今のところ、基本的には「Anthropicが何をするか、受け入れるかを決める」って感じなのかな?

今のところ、jarredが今週受け入れるかどうかだけの話だと思うし、彼らはかなり前にClaudeのコードの変更履歴にBun 1.4.0のバージョンアップを載せてたけど、もう1ヶ月近く前のことだね。まあ、AIに関することだから、読んでない人が多いのも許されるかも。まだこのことについてどう感じるかは分からないけど、いつかは…うーん。

なぜRustに移行するとプロジェクトが死ぬの? その意味が分からない。

PRは公開されてるから、君もビルドして使えるよ。Anthropicチームが使うことにしただけで、君も使っていいんだ。

ちぇっ。個人的には、この一連の出来事についてはかなりネガティブな見解を持ってる。JarredやSimonwが何を言おうと関係ない。Anthropicが所有するBunとAIによる全面的な書き換えは、本質的なポイントじゃないと思う(面白いけどね)。私の見解では、JarredとBunは「これは私のブランチ、あなたは過剰反応してる」っていうメッセージから、1ヶ月も経たずに100万以上のPRをマージするまで、真剣で大人なアプローチを示さなかった。コミュニケーションが問題で、信頼や分裂に影響を与える形で非常に悪く扱われた。TSチームが7.0のために採用したアプローチを取り入れるのはそんなに難しかったの?

要するに、どれも重要じゃないってことだね。CCユーザーは気づいてないか、気にしてない、ほんの一部の例外を除いて。

ハハ、TS7は「アーキテクチャを真剣に検討する代わりに、別の言語に行を一行ずつ移植しよう」っていう次の大きな例だね。

影響を受けてる信頼と分裂って誰のこと?普通のbunのユーザーじゃないよ。反AIの恐竜たちとZigの熱狂者だけ。その他の人は、bunがZigで書かれてるかRustで書かれてるか、AIが使われてるかなんて気にしない。普通の開発者は、bunの機能や品質、速度に関心があるんだ。

それはトランスパイルだよ。しかも良いものでもない。生成されたコードは、イディオマティックなRustからはほど遠い。中にはそれを忌まわしいと考える人もいるかも。

grep -nr 'unsafe' . これがその忌まわしさを考えるために知っておくべきすべてだよ。

彼らが持ってるひどいRustコードの例を見せてくれない?

なんで直接LLVM IRにトランスパイルしないの?

Hacker Newsで議論の続きを見る