本文翻译自:Smarter API Reviews With Gen AI
原文作者:Qt Group软件工程师Daniel Smith
随着生成式AI的兴起,各企业正试图探索如何在其环境中实施,以提升流程的效率。或许最佳切入点是寻找流程中的现有痛点,然后思考AI如何应对这些问题。(本篇博文由真人撰写)
Dall-E 3图像生成提示语:一台设计时尚的未来智能机器人坐在电脑前,分析屏幕上代码的差异。机器人外观友好、平易近人,屏幕展示了带有高亮部分的复杂代码。周围环境暗示这是一个现代化的高科技办公空间。
历史背景
Qt Project的一个主要痛点历来是在版本发布前按时完成API审查。API的增加和改动对Qt框架的使用方式有重大影响,并且对已有API的改动经常会破坏用户的系统兼容性,所以这些变更必须在加入最终发布版本之前仔细审查。为Qt添加新功能通常意味着引入新的API,我们希望未来这些新API能够为用户提供良好的设计和稳定的使用体验。然而有时现有的API免不了发生变更,我们也需要确保这些变更是经过深思熟虑的,而且除了变更外,没有其他替代方案能够避免破坏兼容性。
这种做法虽然多年来行之有效,但在一些重要API更改初步合并后,却因为在发布审查时需要撤回或在最终发布前进行重大修改,而导致发布日期多次延误。为了缩短API变更实施与最终发布准备之间的时间差,我们希望在周期的早期阶段进行API变更审查。但该如何实现呢?
最初的讨论主要集中在简单地为任何头文件变动打上标签以供人工审查,但这样的解决方案太过繁缛。反而会导致工作量增加。但是,如果我们可以让AI承担一部分初步的代码分析任务,至少可以用它来判断某个改动是否“重大”,这样会不会更好呢?
什么是GPT?
GPT,即“生成式预训练模型”(Generative Pretrained Transformer),是一个能“理解”数据之间关系的复杂数学模型。在使用您可能熟悉的ChatGPT这类工具时,该模型通过语言数据进行了训练,创建了一个模型来描述语言中的词汇如何相互关联。通过研究书籍、文档、博文、录音转写等中的数十亿个