在过去的很多年,学习编程都曾经是一件时髦的事,但随着生成式 AI 技术的发展,科技圈对此的态度似乎有些转向。
英伟达 CEO 黄仁勋就表示:「未来编程交给 AI 就行了,以后人人都是软件工程师。」不久之后,全球首个 AI 软件工程师 Devin 给开发者们带来了亿点点震撼,真正引发了人们对程序员这个职业未来前景的热议。难不成,码农的饭碗真要被 星空体育官方网站AI 端走了?其实不然,现在 AI 还只是程序员的工作助手。
它就是阿里云数万名工程师最近频繁打交道的新同事 ——「通义灵码」,专属工号「AI001」。
通义灵码在正式入职之前,先是在阿里云内部和外部「实习」了几个月。大家的评价都很不错,线%。
在传统的开发模式下,程序员每天需要耗费大量精力编写重复性代码、调试优化、编写代码注释,大幅挤压了核心业务代码编写的时间。但自从通义灵码入职,它在阿里云内部各个开发环节担任起了「代码助理」角色,包括在写代码星空体育app下载、读代码、查 BUG、优化代码的全流程中辅助工程师们。
而且,通义灵码的工作节奏比 996 还要极致:7x24 小时随叫随到……
几个月实习期结束后,通义灵码攒下了不少「工作成果」。以 API 开发测试工作为例,通义灵码可将数分钟甚至十几分钟的人工编写测试耗时缩短到秒级星空体育app下载,节省了人类程序员 70% 以上的测试代码工作量。
而阿里云今天也再次宣布,通义灵码在通义千问 APP 上线, 免费向全民开放,所有人可以随时随地在手机上写代码、读代码、学习编程技能。
先说「背景」,通义灵码由阿里云和通义实验室联合开发,目前下载量超过 200 万,每天都有数百万行代码被人类程序员采纳。
再说「专业」,通义灵码具有扎实的编程基础,深入学习过万亿量级的代码数据,目前能够熟练使用 200 多种编程语言,精通其中 16 种语言,包括 Java、Python、Go、JavaScript、TypeScript、C/C++、C# 等主流语言。
在去年云栖大会初次发布时,通义灵码的很多技能点就让人印象深刻,比如行级 / 函数级实时续写、自然语言生成代码、单元测试生成、代码优化、注释生成、代码解释等功能。
同时,通义灵码还具备研发智能问答、异常报错排查等能力,减少了原本排查工作的繁杂程度:
此次,正式入职阿里云的通义灵码新增了「代码优化」功能,升级后的问答模型也更加准确,同时增强了跨文件补全、函数补全等能力,说句「脱胎换骨」不为过。
得益于通义灵码的助力,无论是前端、后端还是运维等多个技术岗位的员工的工作效率都大大提升,尤其是在编码单元测试、构建脚本生成和理解、跨语言代码转换等任务上。
通义灵码还有一点优势在于支持企业级代码库专项训练,能够更好理解企业的代码和文档数据,并支持国产化适配。未来,阿里云还将在内部 JetBrains IDEs、Visual Studio Code 等开发工具中全面配置通义灵码插件,供所有员工使用。
在「测试」环节,通义灵码在生成测试框架、测试用例都非常高效,人类程序员需要几分钟甚至十几分钟的工作,对于它而言只是几秒钟的事。
此外,通义灵码编写运维脚本的效率也远远高于人类,还可随时协助查找运维问题的解决方案:
过程中,开发者有任何问题都可以提问,比如「我想用数据库来存储照片,怎么做」:
又比如「如何通过 Spring-Boot 编写一个照片上传下载的 Web 程序」:
用一个流行词汇来形容,通义灵码是个「全能型员工」。无论是开发、测试还是运维场景,都能展现出很强的实力。
阿里云内部的小伙伴给我们透露了几点:本质上,通义灵码能从一个编程助手变成一个全能助理,离不开通义大模型的深厚实力。
首先是「基于上下文感知的自适应生成粒度决策」。通义灵码具备根据语言类型和上下文场景生成正确的代码内容(词级 / 行级 / 块级 / 函数级 / 类级等)的能力,既能为开发者生成长代码、提高编码效率,又能适时生成短代码、减少打扰。
其次是「基于库内跨文件自动感知的代码生成」。为了解决幻觉问题,通义灵码通过先进的端侧实时代码语义分析技星空体育官方网站术,实时分析当前正在编写的代码,并基于代码语义分析、代码引用链路跟踪、动态语言类型推导、相似代码分析等先进的技术方法获取所需的相关代码引用、相似的代码片段等语义信息,弥补单纯关注当前代码文件所需的不足。
与此同时,通义灵码能够「基于检索增强进行代码生成及问答」。具体来说,它通过检索增强技术实时获取检索引擎中的私域知识,让智能编码助手根据企业知识生成代码或回答问题,企业可以即时更新及生效私域知识,使其始终基于最新的私域知识生成或回答问题。
让我们感慨的是,从微软此前推出的编程助手 Copilot 到 AI 程序员 Devin,AI 给程序员们带来了一波又一波冲击。这种革命性的进展,只花了两年多的时间。
而通义灵码在阿里云正式上岗,标志着编程率先成为大模型技术落地的领域之一。编程语言的边界从此被打破,Java 程序员也能轻松完成 Python、C 等不同编程语言的代码编写。问题是,会不会有更多的程序员被 AI 端走饭碗?
或许不用太悲观:正如汽车的出现让一部分马车夫没有了工作,但却产生了司机这个新的职业。人类程序员和 AI 程序员的关系,应该是相互促进、共同学习。正如软件开发方法学的泰山北斗 Kent Beck 所说,有了 AI 工具未来我们 10% 的技能会被 1000 倍的提升。
就比如接下来,迅速融入团队的通义灵码会承担起更艰巨的任务,对阿里云的工程师来说绝对是好消息:
「公司未来 20% 的代码将由通义灵码编写,但程序员仍然是研发的核心,他们将有更多时间专注于系统设计以及核心业务开发工作。」
对于普通人来说,未来也无需下载专业软件,使用通义千问就能写代码和学代码。针对没有代码基础的学生,通义千问可以提供学习建议,例如它可以从理论和实操层面帮助用户制定一套完整学习 Python 的计划。
本文为澎湃号作者或机构在澎湃新闻上传并发布,仅代表该作者或机构观点,不代表澎湃新闻的观点或立场,澎湃新闻仅提供信息发布平台。申请澎湃号请用电脑访问。