レディバード、AIの支援でRustを採用
本文の状態
日本語全文を表示中
詳細モードで約2分の本文を読めます。
同じ出来事の情報源
この情報源を基点に整理
Andrej Karpathy 厳選
アンドレアス・クリングによる、AIコーディングエージェントを活用した大規模プロジェクトでのRust採用の先進的ケーススタディ。
Source Article
元記事を日本語で読む
本文に関係しない購読案内、埋め込み通知、サイト内プロモーションは除いています。
Ladybird adopts Rust, with help from AI Simon Willison's Weblog
2026年2月23日 - リンクブログ
Ladybird adopts Rust, with help from AI (経由) アンドレアス・クリングによる、クリティカルなコードを伴う野心的なコーディングプロジェクトにおける、高度で洗練されたコーディングエージェントの使用法についての非常に興味深いケーススタディ。Appleエコシステム外でのSwiftのプラットフォームサポートが成熟することを数年待った後、彼らは方向を転換し、メモリ安全な言語として選択したRustへと移行することにした。その第一歩は、クリティカルなライブラリのAI支援による移植から始まった。
私たちの最初のターゲットは、LadybirdのJavaScriptエンジンであるLibJSでした。字句解析器、構文解析器、AST、バイトコードジェネレータは比較的独立しており、test262を通じて広範なテストカバレッジを持っているため、自然な出発点となりました。
翻訳にはClaude CodeとCodexを使用しました。これは人間が指示するものであり、自律的なコード生成ではありませんでした。何を、どの順序で移植するか、またRustコードがどのような見た目になるべきかを決めたのは私です。それは、物事をどこに向かわせるべきかエージェントを導く、何百もの小さなプロンプトでした。[...]
最初からの要件は、両方のパイプラインからの出力がバイト単位で完全に同一であることでした。結果は約25,000行のRustコードとなり、移植全体には約2週間を要しました。同じ作業を手作業で行っていたら、私には数ヶ月かかったでしょう。Rustパーサーが生成するすべてのASTがC++のものと同一であり、Rustコンパイラが生成するすべてのバイトコードがC++コンパイラの出力と同一であることを確認しました。全体を通してリグレッションはゼロです。
test262のような品質の既存の適合性テストスイートを持っていることは
最近の記事
エージェンシック・エンジニアリング・パターンについて書く - 2026年2月23日
ブログにTIL、リリース、博物館、ツール、研究を追加 - 2026年2月20日
二つの新しいShowboatツール: Chartroomとdatasette-showboat - 2026年2月17日
これは、2026年2月23日に投稿された、サイモン・ウィリソンによるリンク投稿です。
月例ブリーフィング
月額10ドルでスポンサーになり、その月の最も重要なLLM開発について厳選されたメールダイジェストを受け取ってください。
少なくするために私にお金を払ってください!
原文を表示
Ladybird adopts Rust, with help from AI Simon Willison’s Weblog
23rd February 2026 - Link Blog
Ladybird adopts Rust, with help from AI (via) Really interesting case-study from Andreas Kling on advanced, sophisticated use of coding agents for ambitious coding projects with critical code. After a few years hoping Swift's platform support outside of the Apple ecosystem would mature they switched tracks to Rust their memory-safe language of choice, starting with an AI-assisted port of a critical library:
Our first target was LibJS , Ladybird's JavaScript engine. The lexer, parser, AST, and bytecode generator are relatively self-contained and have extensive test coverage through test262, which made them a natural starting point.
I used Claude Code and Codex for the translation. This was human-directed, not autonomous code generation. I decided what to port, in what order, and what the Rust code should look like. It was hundreds of small prompts, steering the agents where things needed to go. [...]
The requirement from the start was byte-for-byte identical output from both pipelines. The result was about 25,000 lines of Rust, and the entire port took about two weeks. The same work would have taken me multiple months to do by hand. We’ve verified that every AST produced by the Rust parser is identical to the C++ one, and all bytecode generated by the Rust compiler is identical to the C++ compiler’s output.Zero regressions across the board.
Having an existing conformance testing suite of the quality of test262
Recent articles
Writing about Agentic Engineering Patterns - 23rd February 2026
Adding TILs, releases, museums, tools and research to my blog - 20th February 2026
Two new Showboat tools: Chartroom and datasette-showboat - 17th February 2026
This is a link post by Simon Willison, posted on 23rd February 2026.
Monthly briefing
Sponsor me for $10/month and get a curated email digest of the month's most important LLM developments.
Pay me to send you less!
関連記事
今日のまとめ
AIデイリーブリーフで今日の重要ニュースをまとめ読み