Bun、AIを活用しZigからRustへ11日間で移行
- •Bunの作成者であるジャレッド・サムナー(Jarred Sumner)は、535,496行のコードを11日間でZigからRustへ書き換えた。
- •本プロジェクトは64の並列AIエージェントを使用し、APIトークン費用として165,000ドルを投じた。
- •このAI支援による移行で、JavaScriptランタイムBunで発生していたメモリ関連のクラッシュが解消された。
JavaScriptランタイムBunの作成者であるジャレッド・サムナーは、AIエージェントを用いてプロジェクトのコードベース全体をZigからRustへ11日間で書き換えた。この移行は、メモリセーフではない言語であるZigに起因するメモリリークやクラッシュという深刻な安定性の問題を解決した。ジャレッド・サムナーはAnthropicが開発したAIエージェントシステム「Fable」を活用し、1,448ファイル、535,496行のコード変換を遂行した。このプロセスでは、gitコマンドの競合を避けつつ効率を維持するため、64のAIエージェントが4つのシャード(分割単位)で並列稼働した。
技術的なワークフローは3時間の準備フェーズから始まり、ZigのパターンをRustにマッピングするための600行のポーティングガイドを作成した。初期の書き換え後、チームはClaudeによる2回の敵対的レビューを実施し、変更を検証した。コードが初期段階ではコンパイル不能だったにもかかわらず、エージェントは12時間かけて16,000件のコンパイラエラーを自律的に解消した。最終的な検証では既存のテストスイートを実行し、Rustで書き換えたコードベースがオリジナルの機能と互換性を持っていることを確認した。
プロジェクトのAPIコストは165,000ドルに達し、キャッシュ未処理の入力トークンが59億、出力トークンが6億9000万、キャッシュ済みの入力トークンが720億消費された。コストは膨大だが、ジャレッド・サムナーは少人数のチームによる手作業の書き換えであれば少なくとも1年はかかり、その間すべての開発が停止していただろうと推定している。この成功は、極めて堅牢なテストスイートと、方向性を指示する経験豊富なエンジニアがいれば、複雑なコードの書き換えを迅速に実行できることを証明した。このAI支援による移行のモデルは、ソフトウェアチームによる大規模な技術的負債の管理方法に変化をもたらす可能性があるが、成功には多額の投資と高い専門知識が必要である。