使用Copilot将GitHub Copilot运行时迁移到Rust

在客服代表之前,这种规模的重写是负担不起的。以下是将Copilot代理运行时移植到Rust的80万行生产中的实际操作。使用Copilot将GitHub Copilot运行时迁移到Rust的帖子首先出现在GitHub博客上。

Stephen Toub是微软的杰出工程师。GitHub Copilot CLI、GitHub Copilot应用程序和GitHub Copilot SDK均由Copilot代理运行时提供支持, Copilot代理运行时是可嵌入到应用程序和服务中的代理线束。

它最初是用Node.js上的TypeScript和V8 JavaScript引擎编写的,现在是GitHub Copilot云代理(CCA),随着运行时及其功能的快速增长,运行时保留在该堆栈上。现在情况发生了变化。使用GitHub Copilot应用程序和Copilot CLI,我们将运行时完全重写为80多万行生产Rust。

人工智能代理编写了大部分代码,跨越了128个拉取请求,这些请求落在主服务器上并逐渐发货,而不是在最后等待一次切换。少数不可避免的回归被发现并迅速修复,而运行时的性能提高了几个数量级。

一个整个开发团队需要一两年时间才能完成的项目,现在主要由单个开发人员在短短几个月内完成,而团队的其他成员则继续大大扩展了运行时的功能和覆盖范围。为什么我们需要移植Copilot代理运行时不仅仅是Copilot CLI背后的引擎。

它支持越来越多的Microsoft、GitHub和生态系统解决方案,对于每个解决方案, AI支持在架构上都是围绕同一运行时以及解决方案所需的任何自定义的外壳。