昊梵体育网

新加坡研究团队发现:让代码边生成边执行,AI编程速度提升55%

这项由新加坡管理大学与北京航空航天大学联合开展的研究发表于2026年的计算机科学期刊Conference'17,研究团队

这项由新加坡管理大学与北京航空航天大学联合开展的研究发表于2026年的计算机科学期刊Conference'17,研究团队通过改变AI编程的执行方式,成功实现了高达55%的速度提升。有兴趣深入了解的读者可以通过论文编号arXiv:2604.00491v1查询完整论文。

当我们观察人类程序员写代码时,会发现一个有趣的现象:他们经常会写一段,改一段,在不同的代码区域之间来回跳转,就像画家在画布上反复修改作品一样。正因为这种非线性的创作方式,程序员通常只有在代码完全写好后,才会按下"运行"键来测试程序是否正确。

然而,当前的AI大语言模型工作方式却截然不同。它们就像一台打字机,按顺序一个字符一个字符地"打出"代码,从不回头修改已经生成的内容。一旦某个字符被输出,它就被永远确定下来了。基于这个重要观察,研究团队提出了一个突破性的想法:既然AI不会回头修改代码,为什么不让代码一边生成一边执行呢?

这就好比厨师在准备一道复杂菜肴时,传统做法是把所有食材都准备好,然后一口气全部下锅烹饪。而新方法则像是边切菜边下锅,当某种食材刚切好就立即放入锅中开始烹饪,这样当最后一种食材准备完毕时,整道菜也差不多熟了。研究团队将这种新颖的执行方式称为"并行执行",与传统的"串行执行"形成鲜明对比。

在传统的串行执行模式下,整个过程就像接力赛:AI先花时间完整生成代码,然后执行器接棒开始运行代码。这意味着在AI思考生成代码的时候,执行器只能干等着;而当执行器工作时,AI又闲置了。这种"你休息我工作,你工作我休息"的模式显然造成了时间浪费。

新的并行执行模式则完全改变了这种局面。想象一个生产线,AI负责生产代码片段,执行器负责测试运行这些片段。当AI生产出第一个可运行的代码块时,执行器就立即开始工作,而不用等待整个程序完成。这样,AI和执行器可以同时工作,大大缩短了总的等待时间。

研究团队为了验证这个想法,开发了一个名为"Eager"的实验系统。这个名字本身就很有意思,"eager"在英文中意味着"迫不及待的",正好体现了系统急于执行代码的特点。同时,"Eager"也是"Executing As you GEneRate"(边生成边执行)的缩写。

Eager系统的工作原理可以用流水线工厂来类比。在这个工厂里有三个主要工作站。第一个工作站是"代码解析器",它的工作就像质检员,负责检查从AI流水线上下来的代码片段,判断哪些已经完整可以执行,哪些还需要等待更多内容。这个解析器使用了一种叫做AST(抽象语法树)的技术,可以准确识别Python代码的语句边界。

当解析器确认某个代码块完整可执行后,它就被送到第二个工作站——"待处理队列"。这里就像餐厅的传菜窗口,代码块在这里排队等待执行。第三个工作站是"执行器",它负责实际运行这些代码块。

执行器有两个聪明的设计。首先是"批量处理"机制,当队列中积累了多个代码块时,执行器会把它们合并成一个大任务一起执行,就像洗衣机装满衣服后一起洗比每件衣服单独洗更高效。其次是"选择性执行"机制,对于那些执行时间很短的代码块(比如函数定义),执行器会选择暂时跳过,等待后续有实际计算需求的代码块时再一起处理。

更令人惊喜的是,Eager系统还具备了"早期错误中断"功能。在传统模式下,如果程序中间某处有错误,用户要等到整个程序生成完毕并运行后才能发现问题。而Eager系统一旦检测到某个代码块执行出错,就立即停止AI继续生成后续代码,并将错误信息连同已生成的部分代码一起返回给用户。这就像在烹饪过程中,如果发现某种调料放错了,立即停止后续步骤,避免浪费更多食材。

为了验证Eager系统的效果,研究团队进行了大规模的实验。他们使用了四个不同的编程任务数据集,涵盖了数据分析、数据可视化、版本特定代码生成等多个领域。同时测试了七种不同的大语言模型,包括OpenAI的GPT系列、DeepSeek、Qwen等知名模型,并在三种不同的执行环境(本地执行、Docker容器、开放解释器)中进行了测试。

实验结果相当令人振奋。在模拟测试中,研究团队控制AI以每秒20到200个单词的不同速度生成代码,Eager系统能够将83%到100%的执行时间隐藏在代码生成过程中。这意味着用户几乎察觉不到代码执行的延迟。在端到端的总体延迟方面,Eager系统实现了高达35%的速度提升。

更重要的是,当研究团队使用真实的AI模型进行测试时,发现Eager系统的表现更加出色。对于正常执行的代码,系统通常能将执行延迟降至几乎为零,端到端延迟减少了37%。而对于包含错误的代码,由于早期中断机制的作用,延迟减少幅度高达55%。

这里有个特别有趣的发现:早期错误中断不仅节省了时间,还提高了AI修复错误的成功率。研究团队发现,当AI收到部分代码加错误信息的反馈时,它修复问题的成功率比收到完整代码加错误信息时提高了2到44个百分点。这个现象的原因很容易理解:完整的错误代码可能会"误导"AI,让它固化在原有的错误思路上;而部分代码给了AI重新思考和设计后续逻辑的空间,就像重新开始画画比修改一幅画错的画更容易一样。

研究团队还对这种并行执行方法进行了深入的理论分析。他们将整个过程建模为一个三阶段流水线:生成、检测、执行,并推导出了严格的数学公式来描述延迟的上界和下界。通过分析,他们发现存在三种不同的工作模式。

第一种是"生成主导模式",此时AI生成代码的速度比执行代码慢,这种情况下几乎所有的执行时间都能被隐藏。第二种是"执行主导模式",此时代码执行比生成慢,这种情况下大部分生成时间会被隐藏。第三种是"平衡模式",生成和执行速度相当,此时流水线达到最佳平衡状态。

这个理论分析不仅验证了实验结果的合理性,还为未来的优化指明了方向。比如,对于计算密集型的代码,可能需要调整策略以适应执行主导模式;而对于简单的脚本代码,则应该充分利用生成主导模式的优势。

值得注意的是,虽然这项研究主要针对Python语言进行了验证,但其核心思想完全可以推广到其他解释型编程语言,如JavaScript、R等。对于编译型语言,虽然需要考虑编译开销,但基本的流水线设计思路仍然适用。

这项研究的意义不仅仅在于技术创新,更在于它改变了我们对AI编程交互方式的理解。传统上,我们习惯于将AI代码生成看作一个整体的、不可分割的过程。而这项研究证明,通过重新设计执行流程,我们可以在不改变生成内容的前提下,显著提升用户体验。

从更广泛的角度来看,这种并行执行的思想也为AI系统设计提供了新的启发。在许多AI应用中,都存在生成和处理两个阶段,如何让这两个阶段更好地协作,而不是简单的先后执行,将是未来AI系统优化的重要方向。

研究团队也诚实地指出了当前方法的局限性。比如,对于需要多文件协作的大型项目,当前的方法主要适用于主入口文件的执行。对于某些特定类型的编程任务,如版本特定的API使用,早期中断可能会丢失一些有用的上下文信息。

不过,这些局限性都为未来的研究指明了方向。比如,可以开发更智能的代码分块策略,可以设计针对不同编程任务类型的自适应执行策略,或者开发支持多文件协作的并行执行框架。

从实际应用的角度来看,这项技术已经具备了相当的实用性。研究团队已经开源了他们的实现代码,这意味着现有的AI编程工具和平台可以相对容易地集成这种并行执行能力。对于那些经常使用AI辅助编程的开发者来说,这将带来实实在在的效率提升。

特别是在数据科学和AI开发领域,程序员经常需要编写大量的数据处理和分析脚本。这些脚本通常包含数据加载、预处理、模型训练等步骤,每个步骤的执行时间可能都不短。使用Eager这样的并行执行系统,可以让程序员在AI还在生成后续代码时,就能看到前面步骤的执行结果,从而更早地发现问题并进行调整。

这项研究还揭示了一个更深层的问题:现有的编程语言设计都是基于人类编写代码的假设,即代码是完整编写后再执行的。但在AI大规模参与代码生成的时代,也许我们需要重新考虑编程语言的设计原则。未来的编程语言是否应该原生支持流式执行?是否应该提供更明确的语句边界标识?这些都是值得深入思考的问题。

从产业发展的角度来看,这项技术可能会推动AI编程工具的新一轮创新。目前市面上的AI编程助手大多采用传统的生成-然后-执行模式,而率先集成并行执行能力的工具将获得显著的用户体验优势。这可能会成为未来AI编程工具竞争的一个新战场。

研究团队在论文中还提到了一个有趣的观察:不同AI模型的生成速度差异很大,有些模型每秒能生成200个词符,有些只能生成20个。这种差异直接影响了并行执行的效果。生成速度较慢的模型通常能获得更大的延迟减少,因为有更多时间来隐藏执行开销。这为AI模型的部署策略提供了新的考虑因素:不一定总是追求最快的生成速度,合适的速度配合并行执行可能带来更好的整体用户体验。

说到底,这项研究的核心价值在于它提醒我们:技术优化不一定需要复杂的算法创新或硬件升级,有时候重新审视现有的工作流程,找到其中的瓶颈和浪费,就能带来显著的性能提升。正如研究团队所说,他们没有改变AI生成代码的质量或方法,而是通过巧妙的调度设计,让用户感受到了显著的速度提升。

这种"不改变内容,改变流程"的优化思路,在很多领域都有应用潜力。比如在AI对话系统中,是否可以让AI边生成回答边进行事实检查?在AI绘画中,是否可以边生成图像边进行质量评估?这些都是值得探索的方向。

归根结底,这项研究展示了在AI时代,传统的串行工作流程可能不再是最优选择。通过重新设计AI与用户的交互方式,我们可以在保持功能完整性的前提下,显著提升用户体验。这不仅是一个技术创新,更是一种思维方式的转变:从"完成后交付"到"过程中协作",从"批量处理"到"流式处理"。

对于普通用户来说,这项技术最直接的好处就是更快的AI编程体验。无论是学生学习编程,还是专业开发者使用AI辅助工具,都能感受到明显的响应速度提升。更重要的是,更快的错误反馈意味着更高效的学习和调试过程,这对于推广AI辅助编程具有重要意义。

随着AI技术的不断发展,我们有理由相信,这种并行执行的思想将被更广泛地应用到各种AI系统中。毕竟,在用户体验至上的时代,任何能够减少等待时间、提高交互效率的技术创新都将受到市场的欢迎。而新加坡管理大学和北京航空航天大学的这项研究,无疑为这个方向开了一个很好的头。

Q&A

Q1:Eager并行执行系统是如何工作的?

A:Eager系统就像一个三站式流水线工厂。第一站是代码解析器,负责识别AI生成的完整代码块;第二站是待处理队列,存储准备执行的代码块;第三站是执行器,负责运行代码。当AI生成代码时,解析器会实时检测完整的语句并立即送去执行,而不用等待整个程序生成完毕,从而实现边生成边执行。

Q2:并行执行相比传统方式能提升多少速度?

A:根据研究结果,Eager系统能将83%到100%的代码执行时间隐藏在生成过程中。在端到端延迟方面,正常情况下能减少37%的等待时间,而当代码出现错误时,由于早期中断机制的作用,延迟减少幅度可高达55%。具体提升程度取决于代码复杂度和AI生成速度。

Q3:早期错误中断为什么能提高代码修复成功率?

A:当代码在执行过程中出现错误时,Eager系统会立即停止AI继续生成后续代码。这样AI收到的是部分代码加错误信息,而不是完整的错误代码。部分代码给了AI重新设计后续逻辑的自由空间,避免被错误的完整代码"误导"。实验显示,这种方式能将错误修复成功率提高2到44个百分点。