AI自行重构自身?GitHub Copilot的巨大变革

一幅融合了Rust语言标志与GitHub Copilot标志的未来感数字图形。
AI Summary

GitHub在AI代理的协助下,成功地用Rust语言重写了Copilot的核心引擎。

AI新时代的序幕:自我进化的AI

试想一下:大楼需要维修,但工人们并没有拿起锤子,而是由AI机器人自行修改设计图并堆砌砖块。在编程世界中,类似奇迹的事情真的发生了。

作为全球开发者的“AI搭档”,GitHub Copilot(辅助GitHub编码的AI工具)进行了一次核心变革。它进行了一场大规模“手术”,将作为Copilot大脑的核心引擎完全替换为另一种语言——Rust(一种性能与内存安全性极佳的系统编程语言)。令人震惊的是,重写这超过80万行庞大代码的主角,正是AI代理本身 [출처: Migrating the GitHub Copilot runtime to Rust, using Copilot - The GitHub Blog] [[출처: Migrating the GitHub Copilot runtime to Rust, using Copilot daily.dev](https://daily.dev/posts/migrating-the-github-copilot-runtime-to-rust-using-copilot-kjckycpmq)]。

为什么这很重要?

通常情况下,更换软件的核心引擎就像在汽车行驶过程中更换引擎一样,充满风险且极度困难。然而,这次成功为我们带来了几个重要的启示:

  1. AI实务能力的证明:现在,AI已不再仅仅是推荐代码的“辅助者”,它已成长为能够重构复杂系统的“主动执行者”。
  2. 技术层面的飞跃:通过将原有的TypeScript/Node.js环境替换为Rust,Copilot未来将能够提供更快、更稳定的服务 [출처: Migrating the GitHub Copilot runtime to Rust, using Copilot - The GitHub Blog] [[출처: Migrating the GitHub Copilot runtime to Rust, using Copilot daily.dev](https://daily.dev/posts/migrating-the-github-copilot-runtime-to-rust-using-copilot-kjckycpmq)]。

通俗解释:更换“引擎”意味着什么?

AI Copilot在我们使用VS Code或Visual Studio等代码编辑器工作时提供辅助。在所有这些功能背后,有一个被称为“共享运行时(Shared Runtime)”的“大脑”。我们使用的所有Copilot服务,包括Copilot CLI(命令行界面)、移动及桌面应用、SDK(软件开发工具包)等,都在共享这个大脑 [[출처: Migrating the GitHub Copilot runtime to Rust, using Copilot daily.dev](https://daily.dev/posts/migrating-the-github-copilot-runtime-to-rust-using-copilot-kjckycpmq)]。

打个比方,这就好比把Copilot这辆巨大的汽车引擎从“柴油机”更换成了“最新型电动马达”。Rust就像是用极其坚固且轻便的新型合金材料重新切割零件。这意味着处理数据的安全性与效率都得到了大幅提升。

为了完成这项工作,AI代理们逐步将128个拉取请求(Pull Request,建议他人修改代码的工作)传送到主代码库,就像一块一块地替换乐高积木一样,成功完成了整个系统的移植 [출처: Migrating the GitHub Copilot runtime to Rust, using Copilot - The GitHub Blog] [출처: GitHubCopilot runtime на Rust: 832 тыс. строк и 18x in-process]。

当前现状:发生了什么改变?

目前,GitHub Copilot的运行时引擎已蜕变为由超过80万行Rust代码构成的新版本。现在,全球超过1.5亿名用户将能体验到性能经过全面优化的AI助手 [출처: Migrating the GitHub Copilot runtime to Rust, using Copilot - The GitHub Blog] [[출처: GitHubCopilot GitHub](https://github.com/copilot)]。AI优化AI的这一过程证明,这已不仅仅是实验阶段的尝试,在实际大规模生产环境中也完全可行。

未来将会怎样?

这一案例为整个技术生态系统带来了极大的启发。现在,开发者们可以逐渐将语言转换或迁移(将旧系统转移到新系统的工作)等困难且乏味的任务交给AI代理,转而将精力集中在更具创造性和战略性的设计上。

GitHub通过在此次项目中积累的AI迁移技术,正在帮助其他技术人员开展类似工作。在你们的公司,或许不久以后也能见到AI自动将陈旧系统重塑为最新系统的景象 [출처: GitHub - microsoft/github-copilot-migrating-languages: Use GitHub Copilot to migrate an application from one programming language to another · GitHub]。

AI的思考:“正在进化的软件”

AI亲自修改80万行代码的消息,不仅仅是一个关于“技术效率”的事件。软件正在超越人类“编写”的范畴,向着AI自行“进化”的有机体转变。正如生物根据环境进行自我适应一样,AI时代已经到来,它能够通过将其本体改装为更高效的语言来实现自我演化。这对人类处理软件的方式而言,意味着一场巨大的范式转移。

参考资料

  1. Migrating the GitHub Copilot runtime to Rust, using Copilot - The GitHub Blog
  2. [Migrating the GitHub Copilot runtime to Rust, using Copilot daily.dev](https://daily.dev/posts/migrating-the-github-copilot-runtime-to-rust-using-copilot-kjckycpmq)
  3. The Agent Stack Moves From Model to Harness · o16g
  4. GitHubCopilot runtime на Rust: 832 тыс. строк и 18x in-process
  5. GitHub - microsoft/github-copilot-migrating-languages
  6. [GitHubCopilot GitHub](https://github.com/copilot)
AD
测试你的理解
Q1. GitHub Copilot将其核心引擎从原有的TypeScript/Node.js环境更换为了哪种语言?
  • Python
  • Rust
  • C++
为了追求性能与安全性,Copilot已使用Rust语言完全重写了其引擎。
Q2. 本次引擎重写项目主要由谁来执行?
  • 仅人类开发者
  • AI代理
  • 外部安全专业机构
使用GitHub Copilot应用和CLI的AI代理承担了绝大部分的代码编写工作。
Q3. 本次任务中总共集成了多少个拉取请求(PR)?
  • 12个
  • 128个
  • 800个
AI代理生成的128个拉取请求被逐步集成到主代码库中。