机器之心报道
作者:Panda、泽南
5 分钟就能完成真人程序员一天的工作量。
太轻松了。
在 AI 程序员的帮助下,一个几乎没有专业编程经验的初中生,在人头攒动的展台上从零开始,两分钟就做出了一个倒计时网页。
他需要做的,只是输入包含几句话的提示词。数秒钟后,大模型就生成了代码,还列出了环境需求,复制完代码就可以使用了。
这不是程序员父亲带自家小孩做的网红项目,而是人人都可以尝试的事。在大模型的帮助下,代码正在成为低门槛的设计工具。
昨天,阿里云完成了「可能是历史上最大规模的模型开源发布」,开源了通义千问 Qwen2.5 系列模型,又在云栖大会的年度重磅发布中实现了阿里云通义大模型「全尺寸、全模态、多场景」的升级。
与此同时,阿里云「通义灵码」也完成了进化,给人们期待已久的 AI 程序员打了个样。
通义灵码的「AI 程序员」已经正式和大家见面。相比于以往 IDE 上的「AI 编程助手」,「AI 程序员」不需要你去启动 IDE 软件,直接在 web 端就可以完成需求分析、开发、测试等一系列工作,全面接手了复杂的开发任务。
AI 程序员,表现超出预料
还不到一岁的通义灵码,在通义大模型的加持下,现在能够自主执行任务拆解、代码编写、缺陷修复、测试等开发全过程任务,而且生成的速度最快可达分钟级,开发效率一下提升了数十倍。
在阿里云的定义中,「AI 程序员」是能独立自主完成研发任务的 AI 智能体,可承接人类指派的软件研发生命周期中的各类任务。它目前预置了三个使用场景:缺陷修复、需求 0-1 实现、研发问答。
我们可以合理地认为,这是三个针对不同任务配置了不同系统提示词(system prompt)的通义大模型,因此,你也可以在自由形式的「研发问答」中通过合理构建提示词来配置最适合自己的场景。
在云栖大会现场,阿里云演示了通义灵码 AI 程序员自主进行缺陷分析、制定修复计划等功能。开发者全程只需一键确认,即可快速完成缺陷修复代码和代码提交的全过程;针对从 0 到 1 的开发任务,用户也只需输入自然语言描述需求,即可自动完成理解需求、拆解开发任务、编码、测试和修复等全链路开发过程。
大会的展台上,一位 13 岁的中学生在通义灵码上输入了几句话,AI 程序员在两分钟内就生成了一个 Python 语言编写的倒计时网页。
从机器之心的体验来看,如果从研发问答到需求实现再到缺陷修复全流程地完成一个小应用的开发,用时不到 10 分钟。而阿里云表示,如果使用 AI 程序员来开发网页,只需 5 分钟就能完成从需求到编程到测试的结果的全过程;相对的,如果让人类程序员来做同样的事情,则通常需要一整天时间。
目前,AI 程序员支持集成两个平台:阿里云一站式 DevOps 平台云效以及大家熟悉的代码托管平台 GitHub。我们可以让 AI 程序员直接克隆代码库或读取 issue,也能将 AI 程序员生成或修改过的代码直接提交到我们的项目代码库。
案例:升级魂斗罗游戏
首先我们来看一个使用场景,缺陷修复。大会现场,有参与者体验了一个非常有趣的案例:使用 AI 程序员修改经典街机游戏《魂斗罗》的代码,解决了手残党难以通关游戏的难题。
简单来说这个过程分为两步。
第一步,明确需求。手残党玩《魂斗罗》游戏最大的问题是难以避免伤害,而在该游戏中,角色只要一受到伤害就会死亡。
那么,我们的需求就是让游戏角色在面对伤害时能更加坚挺。为此,我们可以采用的做法是修改《魂斗罗》的伤害判定机制:从受伤即死改为伤害数值判定;同时提高角色的血量。另外,为了更好地帮助玩家判断,也自然需要增加血量显示。同时,为了让玩家能轻松地制霸战场,这里也对角色的跳跃高度进行了调整。
第二步,就是让 AI 程序员完成这些需求。可以看到,接入云效平台之后,只需一个定义了需求的链接,AI 程序员就可以立马开始工作,拉取代码库之后,AI 对需求内容进行了分析。用户开发者检查无误之后,点击「确认」。之后,AI 程序员生成相应代码文件。
一路「确认」下去,AI 程序员最终完成了整个项目,并且 AI 程序员的执行效率非常高,速度非常快,几分钟内就完成了对 9 个代码文件 2000 多行代码的分析和修改。
视频链接:https://mp.weixin.qq.com/s/bZplIk6suVd5sUxsYEw7zg
这样一来,游戏就修改成功了,下面来试玩一下。
可以看到,现在的游戏角色在撞到人类士兵时不会再立即死亡了,但撞到坦克单位还是会死亡;同时,也能看到跳跃高度变高了,生命值也提升了。《魂斗罗》游戏手残党的核心难题被 AI 程序员成功解决。
实现需求、边聊边研发
在需求实现场景中,目前 AI 程序员预置了 3 种服务:用于快速搭建微服务的 SpringBoot、轻量级 Python 框架 Flask、用于构建用户解码的高效且灵活的 JavaScript 库(没错,就是最受程序员欢迎的 Java、Python 和 JavaScript)。
当然,用户也可以添加自己的已有代码库,在自己的框架上进行开发工作,这样就可以支持所有常用的编程语言。
首先我们来考验一下 AI 程序员的基本功:生成一个 Python 程序,可以翻转用户输入的字符串的顺序。
可以看到,AI 程序员毫无压力地完成了这个任务,输出的代码实测有效。
接下来上一点难度:基于轻量级 Python 框架 Flask 开发一个猜数字小游戏;游戏规则是「系统随机生成一个 1 到 100 之间的数字(包括 1 和 100),玩家有 10 次机会猜测该数字。」
要开发这样一个游戏,不管是人类开发者还是 AI 程序员,首先必须熟悉 Python 和 Flask 框架,同时还需要理解我们使用自然语言表达的开发需求,并将其准确地转译成代码。
下面来看 AI 程序员将如何完成这一开发任务。
为此,首先我们定义一个目标:开发一个猜数字小游戏。
目标很简单,但要让 AI 程序员准确理解我们的需求,我们需要给出详细的描述。但我们很懒,这件事就放在 AI 程序员的研发问答场景中解决吧。
AI 程序员生成的完整需求较长,此处并未完整展示。
当然,你也可以与 AI 程序员进行讨论,逐步调整具体需求的细节,比如我们可让 AI 程序员细化前端需求,以便后续生成更符合我们审美的游戏界面。
接下来,就让 AI 程序员帮助我们实现这个小游戏吧。以下动图展示了机器之心测试员与 AI 程序员的完整交互过程。
可以看到,AI 程序员一开始生成了基本上完整可用的代码,但略有瑕疵。经过测试员简单反馈了报错信息后,AI 程序员很快便执行了修正。我们也得到了功能完备的 Python 小游戏:
另外,我们在需求实现场景中还可以拉取已有的代码库来进行迭代升级,比如这里我们拉取了最近比较热门的一个开源项目 g1—— 据称可极大提升 LLM 的推理能力。
我们让 AI 程序员简单地分析了这个项目并提出了改进意见。点击「确定」,AI 程序员就能替我们完成代码改进。
在机器之心的试用过程中,AI 程序员基本可以正确理解测试员用并不严谨的自然语言表达的开发需求或修改意见,并且能够基于自己的理解准确地完成开发或修复任务。同时,由于 AI 程序员可集成阿里云 DevOps 平台云效及 GitHub,因此我们可以很方便地更新我们的项目代码库,推进开发进度。
总结下来,我们发现通义灵码的 AI 程序员和以前的 AI 编码助手有着明显不同的定位:
- AI 编码助手的核心场景是辅助开发者完成代码智能生成和研发智能问答,帮助程序员写代码、补代码、写注释、写单测、写代码优化和排查问题,其是在 IDE 工具中作为 Copilot 提供辅助。
- AI 程序员的自主程度更高,可以实现自动缺陷修复和自动需求实现,还能与开发者进行开放式的问答。因此,比起作为 Copilot 的 AI 编码助手,AI 程序员更像是一个可以在用户指挥下自主工作的开发者。用户本身只需要检查 AI 程序员的生成结果并点击「确认」或提出修改意见即可,并且这一切都可以仅通过自然语言实现
另外不得不提的是,通义灵码 AI 程序员无需任何 IDE 工具,web 端就支持全部功能。没错,也就是说,你可以在任何可使用浏览器的设备上进行项目开发!
在手机浏览器上也能流畅地使用 AI 程序员。
背靠通义大模型,能力全面升级
大模型爆发以来,能「自动写代码」的 AI 辅助编程便不断成为人们的话题。最近一段时间里,AI 程序员正逐渐走向实用化。其中,通义灵码又是最吸引关注的工具之一。
今年 4 月,阿里云就放出消息称,公司正在内部全面推行 AI 编程,使用通义灵码辅助程序员写代码、读代码、查 BUG、优化代码等。通义灵码还被专门分配了一个工号——AI001,顺利「入职」了阿里云。
过去一年中,通义灵码凭借强大的辅助编程能力收获了不少用户:其 IDE 插件下载量超 500 万,并已入职中华财险、哈啰集团、长安汽车等公司,累计生成代码超 10 亿行,每日辅助开发者生成代码超 3000 万次,客户行业包括金融、制造、互联网、交通、汽车、能源等,是国内最受欢迎的辅助编程工具。
具体能力上,通义灵码 AI 编码助手立足通义大模型,采用了阿里云首创的代码仓库知识图结构,支持 64K 上下文,具备跨文件感知、检索增强式生成(RAG)和自适应生成能力,研发问答准确率超过 90%。据统计,通义灵码为已有用户贡献的代码比例已经接近 30%。
与此同时,随着通义大模型在语义理解、代码生成、开发工作流等方面全面进化,通义灵码的能力也在全面提升。较之通义灵码 AI 编码助手,最新升级的 AI 程序员同时具备了架构师、开发工程师、测试工程师等多种岗位技能。
这样的应用体验,离不开基础大模型能力的提升。在阿里云昨天上午发布的通义千问 Qwen 2.5 系列模型中,就包括一个针对编程任务微调的模型 Qwen2.5-Coder(目前有 1.5B 和 7B 版,即将推出 32B 版),其在多项评估基准上都取得了卓越表现。
通义灵码 AI 程序员正是基于通义大模型构建的多智能体应用,并且由于其参数量(千亿级)必定远高于开源版通义大模型,因此其表现也必定要优秀得多。
再往底层看,阿里云还有坚实的基础设施。进入 AI 时代之后,云计算正在向 MaaS(模型即服务)演进。阿里云正在全面投入 AI 大基建的升级过程,已构建了全栈的技术储备。其中包括围绕 AI 应用自研开发的磐久服务器系列,其具备由多种芯片支持的异构算力,可支持 AI 不同侧面的计算需求。
周靖人表示,通过技术的优化,模型快速迭代、推理架构和系统的优化,阿里云希望能把计算的红利带给更多人。不过,今天大模型的应用与创新还处于早期阶段。
结语
正如阿里 CEO 吴泳铭在云栖大会上说的:随着技术的进步,未来统一通用的语言或许会是 Token,新的产业革命就在眼前。
AI 程序员的加入,正在颠覆科技公司的工作方式。它不仅能显著缩短工程师们的日常开发时间,提高效率,优化工程资源的分配,使人们能够专注于更具战略性的创新任务。
对于那些鲜少接触编程的普通人来说,AI 程序员也将很快使复杂的开发流程变得触手可及。无需深入的编程知识或繁琐的环境配置,只需依靠 AI 的力量,人们便能轻松完成从规划、开发到部署和优化的全流程操作,一站式构建新应用,实现以前无法想象的创新。
展望未来,我们或许可以见证黄仁勋的预言,技术正在进入正反馈的循环,用 AI 自动写 AI 的方式,我们将会以「摩尔定律平方」的速度前进。
以 AI 程序员为起点,技术发展的速度只会愈加惊人。我们正站在一个前所未有的拐点上,科技的进步不再仅仅依赖于人类的智慧,而是通过 AI 的赋能,实现新的技术进化与革新。