在推出Gemini生成式AI模型的同时,Google今日正式发布AlphaCode 2。这是由Google DeepMind实验室约一年前推出的代码生成工具AlphaCode的升级版本。
AlphaCode 2基于Gemini(或其变体Gemini Pro)构建,并针对编程竞赛数据进行了微调。谷歌表示,其在特定基准测试中的性能显著优于前代产品。
🏆 竞赛表现大幅提升
在Codeforces平台举办的编程竞赛子集中,AlphaCode 2使用Python、Java、C++和Go等语言编程,平均表现优于约85%的参赛者;而前代产品在相同条件下仅能击败约50%的参赛者。
技术白皮书显示:“我们选取了12场近期比赛(含第2组或更高难度的‘1+2’组),参赛人数超8,000人,共77道题目。AlphaCode 2在10次尝试内解决了43%的题目,接近原始AlphaCode(25%)的两倍。”
🧠 复杂问题理解与推理能力
DeepMind研究科学家Rémi Leblond指出,AlphaCode 2能够理解涉及复杂数学和理论计算机科学的编程挑战,并具备动态规划等高阶技术能力。
动态规划通过将复杂问题分解为简单子问题来简化求解过程。Leblond强调,AlphaCode 2不仅知道何时恰当地实施该策略,还明确在哪里使用它。值得注意的是,需要动态规划的编程问题曾是原始AlphaCode的主要瓶颈。
Leblond表示:“[AlphaCode 2]在实际实现解决方案之前,需展现出一定程度的理解、推理及代码方案设计能力,且在从未见过的问题上也能做到这一点。”
⚙️ 工作原理:生成-过滤-评分
AlphaCode 2的工作流程如下:
- 策略模型生成:调用一组“策略模型”为每道题目生成多个代码样本;
- 过滤与聚类:剔除不符合题目描述的样本,并通过聚类算法对语义相似的样本分组以避免冗余;
- 评分选择:内部评分模型从最大的10个代码样本簇中选出最佳候选者作为最终答案。
⚠️ 当前局限与未来展望
AlphaCode 2仍存在缺陷:需要大量试错、大规模运营成本过高,且严重依赖过滤明显错误代码的能力。白皮书推测,迁移至更强大的Gemini版本(如Gemini Ultra)可能缓解部分问题。
关于产品化前景,DeepMind产品副总裁Eli Collins暗示了可能性。他表示:“最新结果最令人兴奋的是,当程序员与AlphaCode 2协作定义代码属性时,模型性能会进一步提升。展望未来,程序员将利用强大的AI模型作为协作工具,辅助从问题推理到代码实现的整个软件开发流程。”

