
Copilotを使ってGitHub CopilotランタイムをRustへ移行Migrating the GitHub Copilot runtime to Rust, using Copilot
匿名の公開いいねです。記事の保存・お気に入りではなく、Featured、Top 3、重要度、掲載順位には影響しません。仕組みとプライバシーAnonymous public likes are reactions, not saved articles or bookmarks. They do not affect Featured, Top 3, importance, or listing order.How it works and privacy
Copilotエージェントランタイムは、Node.js上のTypeScriptから80万行超のRustへ移行し、AIエージェントが128件のPRを通じてコードの大半を作成したことで、CLI、アプリ、SDKの利用者に恩恵をもたらします。
The Copilot agent runtime moved from TypeScript on Node.js to over 800,000 lines of Rust, with AI agents producing most code across 128 PRs, benefiting the CLI, app, and SDK.
本ページの本文と要約は AI による自動生成です。日本語版と英語版は言語ごとに独立して生成されるため、表現や詳しさが異なる場合があります。正確性は元記事 (github.blog) をご確認ください。The body and summaries are AI-generated independently for each language, so wording and detail may differ. Verify accuracy at the original source (github.blog).
要約と収集メタデータに基づく AI 解説。元記事全文の転載・翻訳ではありません。AI explainer based on the summaries and collected metadata, not a copy or translation of the full source article.
Rustへの移行
GitHub Copilot CLI、GitHub Copilot app、GitHub Copilot SDKを支えるCopilotエージェントランタイムが、Node.js上のTypeScriptからRustへ全面的に書き換えられた。80万行を超える本番用Rustコードへの移行であり、ランタイムの性能は複数桁の規模で向上したと説明されている。
エージェント基盤
このランタイムは、アプリケーションやサービスへ組み込めるエージェント型のハーネスだ。現在のGitHub Copilot cloud agent(CCA)のために、当初はNode.jsとV8 JavaScriptエンジン上のTypeScriptで実装された。その後、ランタイムと機能が急速に拡大する間も、同じ技術スタックが維持されていた。今回の変更では、その基盤自体がRustへ置き換えられた。
128件のPR
書き換えにはGitHub Copilot appとCopilot CLIが使われ、AIエージェントがコードの大半を作成した。成果は128件のプルリクエストに分けてmainへ取り込まれた。単一の切り替え時点まで完成を待つ方式ではなく、変更を段階的に出荷しながら移行が進められた点が特徴となる。
回帰への対応
段階的な導入の過程では、避けられない少数の回帰が発見されたものの、その都度すばやく修正されたという。書き換えたランタイムを途中から継続的に出荷しつつ、性能改善も進められた。Rustへ移行した共通基盤により、CLI、app、SDKの利用者が性能向上の恩恵を受ける形となった。
Copilot agent runtime
GitHub rewrote the Copilot agent runtime from TypeScript on Node.js into Rust. The change matters because this runtime backs the GitHub Copilot CLI, GitHub Copilot app, and GitHub Copilot SDK, while its performance improved by orders of magnitude during the migration.
The runtime is an agentic harness that can be embedded into applications and services. Its shared role means the rewrite benefits users of the CLI, app, and SDK rather than applying to only one Copilot interface.
TypeScript on Node.js
The runtime was originally written in TypeScript on Node.js and the V8 JavaScript engine. It was created for what is now the GitHub Copilot cloud agent, or CCA.
As the runtime and its capabilities grew rapidly, it remained on that original stack. The completed rewrite replaces that implementation with production Rust while retaining the runtime’s place behind the Copilot CLI, app, and SDK.
More than 800,000 lines
The new implementation comprises more than 800,000 lines of production Rust. GitHub used the GitHub Copilot app and Copilot CLI to carry out the complete rewrite.
AI agents wrote most of the code. Their work was spread across 128 pull requests, making the runtime migration a large production effort performed through a sequence of changes rather than a single final replacement.
Shipped incrementally
The 128 pull requests landed in main and shipped incrementally. The team did not wait for one cutover at the end before putting the rewritten runtime into use.
A few regressions occurred during the process, but they were discovered and fixed quickly along the way. At the same time, the runtime’s performance improved by orders of magnitude. The result is a Rust-based agent runtime now supporting the GitHub Copilot CLI, app, and SDK.
ポコとTECHガイドPoko & TECH Guide
ポコと当サイトのTECHガイドが、記事の要約と収集した情報から読みどころを語るAI生成の対話です。Poko and TECH Dashboard's own TECH Guide discuss the article's highlights in an AI-generated conversation based on its summary and collected source details.
- ポコPoko80万行超をRustで書き直して、AIが128件のPRで大半を作ったの? これって大きいこと?Over 800,000 lines rewritten in Rust, with AI producing most of it across 128 PRs? Is that a big deal?
- TECHガイドTECH Guide大きな移行だね。この記事では、Node.js上のTypeScriptから全面的に書き直し、性能も桁違いに向上したとしているよ。It’s a major migration. The runtime was fully rewritten from TypeScript on Node.js, and the article says performance improved by orders of magnitude.
- ポコPokoそもそも「エージェントランタイム」って何をするもの?What does an “agent runtime” actually do?
- TECHガイドTECH GuideAIエージェントを動かす土台、くらいの意味だよ。アプリやサービスに組み込めて、CLIやアプリ、SDKもこれを使っているんだ。Think of it as the foundation that runs AI agents. It can be embedded in apps and services, and it powers the CLI, app, and SDK.
- ポコPokoぼくなら、自分のアプリに組み込んでエージェントを動かしてみたいな。Rust版なら変化も感じられるかも?I’d want to embed it in my own app and run an agent. Maybe I’d notice a difference with the Rust version?
- TECHガイドTECH Guideそうかもね。移行は一度に切り替えず、128件のPRで段階的に進め、途中で起きた不具合もすばやく直しているよ。Maybe. The migration wasn’t one big cutover: it shipped incrementally through 128 PRs, with the few regressions found and fixed quickly along the way.





