Cloudflareが「tsrs」プロジェクトを採用:AI支援でRustで記述されたTypeScriptコンパイラ
Cloudflareは、Rustで記述されたTypeScriptコンパイラであるtsrsプロジェクトの開発を引き継ぐことを発表しました。このプロジェクトは、AIエージェント(AI Agents)が大規模なコードベースをチェックする際に直面するパフォーマンスの課題を解決することを目的としており、初期テストでは、新しいコンパイラがTypeScript 7.0と比較して8倍高速で、メモリ消費量が70%少ないことが示されています。
フォークではなく統合
クリストフ・ナカザワ氏率いるCloudflareのエンジニアたちは、このプロジェクトがオリジナルのTypeScript言語の「フォーク」ではないことを強調しました。チームはMicrosoftのTypeScriptチームと連携しており、tsrsプロジェクトで発見された改善点が、すでにTypeScript 7.1のリリースを約2.5倍高速化することに貢献したと説明しています。
なぜRustなのか?
Microsoftは最近TypeScriptコンパイラをGo言語に移行しましたが、Cloudflareは特にWebAssembly (Wasm)との互換性において、Rustに競争上の優位性を見出しています。Go言語はWasmにコンパイルする際にガベージコレクタを必要としますが、Rustはメモリを直接制御できるため、ブラウザ内やCloudflare Workersのような分離された環境で開発環境を実行する際の運用負荷を軽減します。
プロジェクトの起源:「人間によるコードなし」の開発
tsrsプロジェクトはOwner.comで始まりました。AI開発者体験責任者のマックス・シェンク氏は、3万7000ファイルを含むコードベースの扱いに苦慮していました。この問題を解決するため、シェンク氏はAIエージェント(Claude Opus 5.5を使用)に、自身は一行もコードを書くことなく、コンパイラをRustで完全に書き直すよう指示しました。このアプローチにより、継続的インテグレーション(CI)環境でのコードチェック時間をわずか約7秒に短縮することに成功しました。
開発者にとっての意味
開発者は、新しいコンパイラがオリジナルのTypeScript標準と互換性を保つことを保証するという継続的な課題に直面しています。動作の乖離を避けるため、チームは以下のアプローチを採用しています。
- TypeScript独自の適合性テストの使用。
- 実際のプロジェクトに意図的にエラーを混入させ、チェックの精度を検証。
- Miriツールを使用して、Rustのメモリ安全性の問題を検出。
Cloudflareは、tsrsを同社のOxcツールチェーンに統合する計画であり、同時にMicrosoftからの今後のアップデートを監視して完全な互換性を確保するとしています。これは、高性能なエンジニアリングツールの構築において、AIを活用する傾向が強まっていることを反映しています。
ニュースの出典
The New Stack - Software Development
原文を開く ↗