星途科讯 37分钟前
微软AI三周重写Copilot内核:性能飙升16倍
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_keji1.html

 

支撑 GitHub Copilot 及微软众多产品的软件引擎,现已完全迁移至 Rust 语言,其中大部分移植工作由 AI 智能体完成。

此次迁移工程历时 14.5 周,分模块逐步更新运行时,共发布 135 个版本,平均每天开启约 1.3 个移植拉取请求(PR)。核心移植阶段消耗了约 12 万美元的 AI Token 成本,并耗费开发人员约三周时间。期间,AI 智能体将 43 万行 TypeScript 代码转换为 80 万行生产级 Rust 代码。为保持过程简洁,团队仅针对具体模块进行逐一对换,未对运行时架构进行优化,留待后续处理。

尽管管理人员需应对代码中出现的大量回归问题(Regressions),凸显了 AI 在理解 Rust 语言方面的持续挑战,但 Rust 的性能表现并未让人失望。

基准测试显示,在使用共享客户端和 100 个并发管道完成 1,000 次单轮会话生命周期的场景下,原始 TypeScript 实现每秒完成 7.55 次生命周期,而进程内运行的 Rust 版本每秒可完成 120 次,实现了 15.9 倍的性能提升。在内存占用方面,处理 10 个客户端批量任务时,TypeScript 版本消耗 1,383 MB 内存,Rust 重写版本仅消耗 126 MB,且无需像 TypeScript 那样生成外部后台进程。

从 VS Code 到 Office:Copilot 运行时的广泛渗透

Copilot 运行时不仅支撑 GitHub Copilot CLI、应用、SDK 及云代理,还深入 VS Code、Visual Studio、Excel、Outlook、PowerPoint 及无数微软云服务中。该运行时最初基于 TypeScript 和 Node.js 构建,虽适合快速开发,但在大规模应用的启动速度和服务器密度上表现不佳。

微软杰出工程师 Stephen Toub 指出,项目需求强调通过 C ABI 嵌入、低启动与稳态开销以及可预测的资源使用,Rust 使这些目标成为可能。项目采用 " 用 Copilot 重写 Copilot" 策略,调用 GPT-5.6 Sol 和 Claude Opus 4.8 等多种大语言模型,根据各模型优势执行不同任务。

Toub 评估认为,若由人工完成此项目,可能需要数年时间和数百万美元成本。他观察到智能体表现出令人惊讶的涌现行为:它们花费大量时间收集信息而非直接编写代码,工作模式更像是一种迭代调查——检查状态、形成假设、针对性修改、清洗并重试。此外,会话间频繁交互,包括子会话间的通信协调。例如,在移植超过 30,000 行的 session.ts 文件时,智能体耗时 25 小时,前 56 分钟用于阅读文档和 122 次工具调用,随后生成 15 个子会话相互通信以协调任务。

编译器是老师,而非神谕

Rust 因性能优势成为重写应用的热门选择。此前,Bun 创始人 Jarred Sumner 将 Anthropic 拥有的 JavaScript 运行时移植至 Rust,几乎完全依赖 Claude 智能体,Token 成本达 16.5 万美元。截至 7 月 30 日,该实验性版本在 Linux x64 glibc 环境下通过了 99.8% 的现有测试。

然而,Toub 也揭示了使用 Rust 的潜在风险。对于 LLM 和部分程序员而言,存在 " 代码能编译即有效 " 的误区。项目中出现了数十处代码回归,即原本功能正常但在更新后失效的情况。编译器无法判断函数顺序、任务成本、未书面说明的需求或内部逻辑自洽性。

在蒙特利尔举行的 RustConf 大会上,顾问 Lisa Crossman 警告勿将编译器视为判断代码有效的 " 神谕 "。她指出:"Rust 阻止了智能体编写内存不安全的代码,但并未阻止其正确编写错误的程序。" 明智的开发者将编译器视为老师,通过解读错误深化理解;而 LLM 往往将其当作黑盒,通过低效变通方法尝试通过审查。Toub 强调," 只要编译通过就是正确的 " 这一观点毫无用处,编译器批准的回归可能源于语义不明、分支漂移或未移植功能缺失等行为差异。

【星途科讯 图文丨小林 首发于 ZAKER 科技,转载请注明出处】

智客推

智客推

ZAKER 智客推 GEO | AI 时代的品牌认知解决方案

一起剪

一起剪

ZAKER旗下免费视频剪辑工具

相关标签

ai 微软 云服务 outlook 工程师
相关文章
评论
没有更多评论了
取消

登录后才可以发布评论哦

打开小程序可以发布评论哦

12 我来说两句…
打开 ZAKER 参与讨论