作者:夏振华,阿里云通义灵码研发专家;许文豪,浙大人工智能协会会长,Datawhale成员

大模型如何引领编程领域的革命

DeepSeek 的走红带动了开源模型的整体热度,包括阿里云的通义千问。DeepSeek 在 2024 年中推出的 DeepSeek-V2 版本,虽然在业界并没有引起太大的轰动,但在模型圈子里,尤其是因其强大的编程能力,它仍然相当受欢迎。至 DeepSeek-V3 之时,已在整个大模型领域,尤其是上层应用和 AI Coding 方向,引起了极大的反响。

随后,大家可以看到一些来自 AI 领域知名人士评论,其中包括 OpenAI 的 CEO ,Meta 的首席科学家,以及 OpenAI 的权威科学家。他们对来自中国的开源模型给予了高度评价。

下面右侧的图表,是一幅美股主要 AI 公司的股价折线图。在左侧红色区域显示的美国公司,包括英伟达等在内的主要 AI 企业,其股价在 DeepSeek-R1 发布后遭受重挫。而右侧则是中国几家 AI 公司,股价呈现出上升趋势。这似乎印证了最近热议的东升西降现象。

接下来,我将介绍通义千问模型。实际上,包括Qwen2.5-max 在内的通义千问模型,我们也是采取了开源的策略。从图表中可以看出,红色列通义千问模型在一些核心上的表现与蓝色的线,即 DeepSeek 模型,包括 DeepSeek-V3 和 DeepSeek-R1 的比较,我们的模型已经达到了类似的水平,并在某些基准上实现了超越。

通过这几张图,我们可以看到以 DeepSeek 和通义千问为代表的开源模型已经全面崛起,其性能已经追上并超过了顶尖模型,同时显著降低了成本。随着大模型,包括开源模型的崛起,上层应用也迎来了巨大的爆发。在 AI Coding 领域,这是一个非常垂直、重要且后来居上的赛道,也是通义灵码正在从事的工作。

确实,这里有一些数据值得注意,即目前 AI 编码工具的使用者数量。我们看到其增长速度相当快。到 2024 年,大约 62% 的专业开发者将使用AI编码工具。而对于那些已经探索生成式AI的中国企业,有 31% 的研发人员目前在使用这类代码生成产品。那么,到 2025 年又会是怎样的情况呢?我这里备注了 Anthropic 的 CEO 的一些预测,虽然这些预测可能较为乐观。他预计,在未来三个月,AI 生成的代码占比将达到 90%。而根据 2024 年的数据,这一比例可能还在 30% 左右。按照他的预测,未来半年内这一比例可能会达到 90%,并在一年内接近 100%。

AI时代编程门槛的重新定义

随着 AI 编程工具和大型语言模型的普及,我们正见证一种趋势,即全民编程的兴起,即便是非专业的开发人员也能轻松编写代码。软件开发已逐步迈入一个全民参与的时代。

AI 辅助编程是对传统编程方式的一种补充。确实,通过 AI 编码工具,许多程序员的工作得以提高效率,项目迭代得以加速,开发效率得以提升。在这个过程中,开发者的角色也在逐步转变。开发者不再仅仅是编码的匠人,而是转变为需求设计者,以及 AI 完成工作后的 review 角色。人类开发者更注重创意和策略,而 AI 则承担基础编码任务。

开发者实际上已经从单纯的代码编写者转变为整个需求或任务的设计者。人类开发者技能的边界也在不断扩展。过去,开发人员的分工相对明确,例如有的专注于 Java,有的负责 Go,还有的擅长 Python。随着 AI 编码工具的普及,许多原本无法胜任、缺乏技能和经验的任务现在也变得有可能实现了。

通义灵码2.0:AI程序员的进化

通义灵码目前是国内最受开发者欢迎的编码助手。我们的插件下载量已超过 1000 万次,被采纳的代码超过了 20 亿行。我们支持主流的开发工具,包括 VS Code、Visual Studio、JetBrains 等系列的 IDE 客户端。我们提供研发智能问答,包括研发领域问题、本地工程问答、企业级知识库问答以及 IDE 异常报错和代码问题的智能排查。我们还支持代码智能生成,如自动续写函数级别代码、自然语言生成代码、生成单元测试、代码注释以及解释生成的代码,并提供优化代码建议。此外,通义灵码还支持企业级管理和个性化需求。

在此过程中,人类程序员能够体验到一种沉浸式编码。我们能够实现全工程环境的感知,并且生成代码的精细程度可调。可以进行行级生成,也可以进行函数级或块级生成。生成速度极快,可以达到毫秒级,同时符合开发者原有的编程习惯。

在 1.0 版之后,我们推出了通义灵码 2.0 版本,它已经超越了最初的阶段,即面向编码辅助的阶段,在这个阶段中人的工作占据主要地位。人们从事技术研发、提供提示和确认。而在 2.0 阶段,我们目标是实现面向任务的协同编码模式,人的主要职责转变为任务的下发、干预以及最后结果的审查。在这个过程中,人的实际工作量开始减轻,AI 工作的占比显著提升。目前的 2.0 版本是我们最近上线的。

目前,我们正在研发通义灵码的下一阶段产品,即面向需求的自主编程。在这个阶段中,人的主要工作是创意,包括需求澄清和结果验收,而 AI 则负责完成编程任务。我们目前正致力于这一阶段的探索。

接下来,我将介绍通义灵码 2.0 的全新升级,即 AI 程序员的最新版本。引入 AI 程序员后,通义灵码具备了工程级多文件生成的能力,并支持多版本快照管理。这意味着,如果 AI 生成的内容不满足你的预期,或者是在某个阶段的生成结果未能达到你的要求,我们有高效的多版本快照管理功能,可轻松回滚至任意满意的版本。

通义灵码 2.0 支持多模态输入。用户不仅可以输入文本信息以协助 AI 程序员编写代码,还可以直接粘贴网页图片,让 AI 程序员将其实现。此外,用户还可以上传终端报错或其它日志平台的报错截图,让 AI 程序员帮助分析和解决。

在此过程中,用户可以自由地进行上下文丰富的组合。例如,可以将多个文件自由组合,将认为相关的文件、AI 程序员、代码片段或 git 提交记录提供给 AI 程序员,以协助其修改文件或分析特定历史时期的问题。此外,还支持批量生成单元测试,并且我们已为垂直场景智能体的能力提供了支持。

在这一阶段,我们的 AI 程序已经实现了对全工程环境的感知,包括力度和速度的控制,以及代码生成与决策模型的优化。我们还本地构建了一个强大的智能引擎和检索引擎。在代码生成方面,我们进行了深入的优化,以达到与业界最优秀模型相媲美的生成准确率和效率。

通义灵码 2.0 经历了四个主要升级。首先,AI 编码从片段级提升到多文件级别。在 1.0 版本中, AI 程序员主要帮助生成代码内部的补全,例如下一行或下一个方法的代码。而在 2.0 版本中,我们实现了多文件级别的代码生成能力。

其次,AI 协同编程可以协助人类完成复杂的编码任务。人类可以提供多种上下文感知,而 AI 程序员具备强大的意图理解和工具使用能力,能够与 AI 协同完成更复杂的编程任务。

第三,AI 程序 2.0 版本将自动完成工程内多个文件的代码差异生成,并提供多文件变更审查的视图,从而高效地确认 AI 生成代码的审查。

最后,值得一提的是,我们的 2.0 版本也是一项重大升级,它采用了面向任务的多轮对话迭代编码的交互模式。这意味着,如果我对 AI 程序员编写的首轮代码不满意,我可以继续提出新的需求或修改。在此过程中,我们有完善的版本管理系统,用户可以随时切换到历史上的任何一次满意版本。

通义灵码 2.0 产品亮点主要包括以下几点:

首先,它是全球首个全面覆盖主流 IDE 的 AI 程序员产品,包括 VS Code 等主流 IDE。专业开发者无需切换 IDE,安装通义灵码插件即可使用 AI 程序员产品。

其次,通义灵码 2.0 中的垂直智能体覆盖了更多业务场景,如支持单元测试的批量生成、强大的检索能力、包括 Diff Apply 能力以及前端图片生成代码的智能体建设,我们覆盖更多垂直编码场景。

第三个亮点是,我们的 2.0 版本将更加深入地理解开发者和企业的需求。我们提供了企业级别的加速增强功能和自定义扩展能力,以更加贴合企业私域的研发产品,同时提供多种版本的灵活选择。

我们还注重提供一个灵活的对话交互体验,使开发者可以通过与助手或编程伙伴般的对话方式来完成任务,从而提高编码效率。

通义灵码 2.0 在技术上具有多模态上下文感知、快速推理速度、企业私域数据支持等优势,能实现几秒内完成代码生成与修改。其召回率高达 92%,并基于通义千问系列模型,提供高质量代码生成。典型应用场景包括新功能开发、跨语言编程、单元测试编写、错误排查修复、前端页面生成及代码批量重构修改,显著提升开发效率和代码质量。

通义灵码 2.0 在典型场景中表现出色,第一个是新功能的开发,比如你有一个代码仓库,想添加新的需求,实现新的功能,可以使用通义灵码 2.0,它能感知原有工程代码,并结合原有代码添加新功能。

第二个是跨语言编程,比如你是一名 Java 开发者,可以借助通义灵码去编写前端代码,从而扩展自己不擅长领域的编程能力。

第三项是单元测试的编写。在 2.0 版本中,我们支持了一个智能体的能力,即能够编写高质量的单元测试代码。这种能力在可编译性、可运行性以及代码覆盖率方面均能展现出优秀的水平。

第四项是错误的排查与修复,可以将一些 ID 的编译或运行错误提交给 AI 程序员,让其协助进行错误排查和修复。

第五项是生成前端页面,只需提供一张图片,AI 程序员就能根据该图片生成相应的前端代码。

最后,对于代码的批量重构与修改,通过上下文的引入,可以指导 AI 程序员对特定文件进行重构,从而自动完成这一过程。

大模型时代的开发者成长策略

在大模型时代,学生开发者应重点提升 AI 工具的应用能力,熟练使用如 DeepSeek、千问、ChatGPT 等工具,以及通义灵码来辅助代码编写和文档生成,提高开发效率。

同时,需要提升创新能力和表达能力,将创意转化为实践。通过参与小项目和开源项目,保持技术敏感度,关注前沿技术,促进个人成长。此外,保持主动探索精神,勇于尝试新技术,不断刷新自我认知,适应 AI 行业的快速发展和变革。

如何跟AI程序员沟通

AI 程序员可以帮助开发者快速完成一个研发任务的代码编写工作,在与 AI 程序员对话过程中,可以遵循以下几点建议:

  • 清晰的需求描述:首先需要澄清我们需要 AI 程序员帮我们做什么,建议包含一个明确的目标,并通过步骤式的结构化描述,详细地描述你期望完成的开发任务要求;
  • 指定需要的上下文:选择代码文件、图片、codebase、codeChanges 等上下文,可以帮助 AI 程序员获取需求相关的语境。同时,结合详细执行步骤和要求,AI 程序员更精准地了解你的意图,生成最佳的方案和建议代码;
  • 明确生成要求:告诉 AI 程序员在生成代码修改建议时,你期望它遵循的要求,比如语言、规范、格式、变更目标等,如“生成变更时,同时为每个方法生成英文注释”;
  • 善用快照功能:当 AI 生成内容不符合预期,或你的需求有变化时,可以通过快照功能回退到之前的对话轮次和代码变更,继续重新提问;
  • 审查和修改变更:AI 程序员完成多个文件的代码变更后,开发者可以通过变更对比查看视图(Diff View)进行审查,以及对局部代码片段进行接受、拒绝、修改,保证最后得到符合预期的代码变更。

点击下载体验通义灵码:https://lingma.aliyun.com/download


阿里云云原生
1.1k 声望317 粉丝