通义灵码官网,智能ai编码助手,基于通义大模型,提供代码智能生成、研发智能问答能力
简介
此前,通义灵码上线了 Visual Studio Code、JetBrains IDEs 等主流编程工具,全渠道下载量超350万,已经成为国内最受欢迎的 AI 辅助编程工具。灵动指间,快码加编,你的智能编码助手! 基于通义大模型,提供代码智能生成、研发智能问答能力
主要功能和特色
接下来我们来看下大语言模型引发的人机协同模式的演变。
在这一阶段,大语言模型作为 Copilot,辅助程序员完成任务,但并不改变软件工程的专业分工。它提供了一个强大的工具来增强领域内的专业技术,帮助人类程序员提升工作效率。人在这个过程中起主导作用,负责提供提示词和进行确认。
在这个阶段,大语言模型作为 Agent 智能体能够自主完成一部分任务,成为一个单一职能专家,能够自主使用工具完成预定的任务。人在这里的作用是给定上下文完成知识对齐,从而让模型更好地理解和执行任务。
在第三阶段,大语言模型作为 Multi-Agent 系统来协同处理复杂任务。多智能体互相协作完成复杂任务,人类则负责创意、纠偏和确认的工作。
阿里云在 AI 编程领域的产品演进分为三个阶段:第一阶段是基于 IDE 实现辅助编程。第二阶段依然基于 IDE 实现智能体自主处理专业任务。第三阶段则是跳出 IDE,基于多智能体实现自主研发。现阶段阿里云重点做深前两个阶段,同时在布局和探索第三阶段 AI 程序员方向。在 2023 年 10 月底的云栖大会上,阿里云发布了通义灵码产品,这是一款基于通义大模型的智能编码助手。通义灵码能够提供代码智能生成和代码智能问答等功能,帮助程序员更高效地编写代码。通义灵码支持Java、Python、Go、C++ 等 200 多种编程语言,并兼容 VSCode、JetBrains IDEs、Visual Studio 等主流 IDE 和操作系统,致力于帮助开发者将编码效率提升 100%,帮助企业将研发效率提升 50%。
通义灵码基于阿里云的 MaaS 产品体系构建,模型推理使用 PAI 灵积平台;模型训练使用 PAI 灵骏平台;基础模型使用通义大模型;模型定制和微调使用阿里云百炼。正是依靠这一整套产品体系,通义灵码得以快速构建、快速上线并高速发展。此外,基于通义大模型的优秀能力,通义灵码在多项模型指标上表现领先。以 72B 模型为例,我们使用超过 3 万亿个 token 的数据进行预训练,在多个中英文评测中显著超过竞争对手,并且能够稳定支持 32K 的上下文。这些优势使通义灵码成为一款顶尖的智能编程插件,极大地提升了开发者和企业的研发效率。
上图展示了通义灵码的功能架构。核心组件包括数据处理、专用模型、服务端和本地服务等。语料数据是整个系统的核心支撑,我们在数据采集、数据清洗、标注、解析和效果评测比对上下足功夫,确保数据的高质量和多样性。我们采用了混合专家模型思路,以应对不同使用场景对内容和响应时间的不同需求。具体使用的模型包括:代码补全模型帮助程序员高效补全代码;研发问答模型回答与编程相关的各种问题等。每种模型针对特定任务优化,以提供最佳的用户体验。
此外,有些企业客户有独特的技术特点、编码风格和最佳实践。通义灵码支持企业专属模型,通过自监督微调、检索增强等能力,满足企业的特定需求。从数据到模型,我们提供了服务端和本地服务的双重支持。在服务端实现了企业级的检索增强,通过微调模型访问企业知识库,提供更贴合企业需求的内容;本地服务侧实现了 RAG 增强功能,对本地工程有更深入的理解和更精准的回答。
身为程序员大家都有共鸣,写代码时最怕被打断,思路和效率都会受到影响。为了避免这种情况,AI 编程助手需要无缝融入程序员的工作流程。我们在生成粒度、触发时机和上下文理解方面进行了特别优化。AI 编程助手必须准确理解程序员在做什么、写什么,以及需要什么帮助,以确保能够真正提供帮助并提高效率。
通义灵码目前涵盖以下核心使用场景:
代码实时续写:这是最高频、调用量最大的功能,需要提供流畅的编程体验。
单元测试生成:帮助自动生成单元测试,提高测试覆盖率,减少重复性工作。代码注释生成:提升代码可读性和可维护性。 研发领域自由问答:回答各种与编程相关的问题。 - 异常报错智能排查:检测和排查代码中的异常,提供解决方案和示例代码。
通义灵码具备四个优势
毫秒级的生成速度,恰到好处的生成时机,恰如其分的生成长度,贴合代码库的业务场景。
我们通过几项关键技术优化显著提升了通义灵码的响应速度和服务质量。首先,实现毫秒级的生成速度,这是确保用户体验流畅的关键。我们在 IDE 端采用了流式补全,并在服务 API 调用过程中设置三级缓存,包括本地缓存、服务端缓存和模型 API 侧推理缓存,以便在不调用后端 API 的情况下快速给出解答。
其次,我们对通义灵码的请求类型进行了分析,发现 20% 的请求涉及研发内容问答,6% 涉及代码专项任务问答,而 73% 的请求是代码补全。对于高频次的代码补全请求,我们使用了专门训练的小参数模型 CodeQwen2,以平衡生成代码的效率和质量。对于代码专项任务,如代码注释、单元测试生成、代码优化、bug 查找和修复等,我们使用了中等参数模型 Qwen-Plus。对于研发问答,这需要更高更全面的知识面、编程能力和推理能力,我们使用了最大参数模型 Qwen-Max,并叠加了 RAG 技术来减少模型幻觉,从而提升问答质量。通过分级缓存和混合专家模型组合,大幅提高了通义灵码的响应速度和服务质量。
为了确保程序员在工作中不被打断,我们对用户的键盘输入、上下文解析和历史行为特征进行了深入学习,包括主观调研、埋点监控分析,以及针对不同平台的用户行为持续优化触发策略,使其更符合开发者的使用习惯。
基于代码的语义分析,模型能够理解不同场景需要生成的粒度,如行级、逻辑块、函数级或类级。通过自适应语义理解决策,让 Java 语言的代码生成准确率提高到 56% 以上,Python 语言的代码生成准确率提高到 44% 以上,仍有更大优化空间。
此外,我们设计了贴合代码库的业务场景,基于库内感知进行代码生成和问答。通过实时代码语义分析、引用链路追踪和动态类型推导,全面获取语义信息,避免只关注当前文件带来的幻觉问题,从而增强模型回答的准确性,库内跨文件感知评测集准确率因此从 22% 提升到 66.9%。
此外,我们通过本地库内检索增强,预处理本地工作空间中的源文件,建立本地向量化索引,并基于本地 RAG 进行操作。同时用户的代码、索引和向量信息都存储在本地,确保了代码的安全和隐私。同时,我们还实现了企业级 RAG,更贴近企业和行业的特点,特别是对于大中型企业,他们有基于自身特点的最佳实践和技术偏好。我们在企业管理需求方面也做了优化,包括用户管理、使用效果评估、数据洞察、审计日志、企业知识库和 RAG 增强等,使通义灵码成为更符合企业风格和最佳实践的编码助手。
我们简单比较一下市面上的产品选择,探讨企业为何选择通义灵码,而不是 ChatGPT 或其他解决方案。首先,许多程序员目前依赖 ChatGPT,但在境内无法顺畅访问,也无法进行定制和调优,因其模型服务部署在海外,存在代码数据出境和二次训练的风险,同时基于 ChatGPT 编程会打断程序员的工作流程。同样,海外的编码 Copilot 产品,不支持用户自有技术框架和技术特点的调优,也面临代码数据出境的风险。
相比之下,开源自建虽然是一个选择,但挑战巨大,不适合绝大多数企业。那么,选择通义灵码有哪些独特优势呢?
1. 端到端技术体系:我们构建了完整的端到端技术体系,采纳成本低兼容原有工作模式不打断程序员,提供低延时高质量的代码助手。
2. 个性化定制:企业私域数据语料 RAG 和 SFT 能力,满足企业个性化定制需求,中文语义理解能力表现更优秀。
3. 强大算力支撑:通义灵码依托阿里云的超强算力,使用国内目前最大且最优秀的 CodeQwen2 模型,在模型能力上具有显著优势。
4. 安全隐私保护:我们严格执行全链路加密,代码不落盘、灵码服务端不存储,确保企业数据的隐私和安全。
通义灵码自上线发布七个月以来,取得了显著的成果。目前,插件下载量已达 350 万次,每天推荐代码次数超过 3000 万次,这相当于每天进行超过 3000 万次的模型推理服务。AI 生成代码的采纳率超过 31%,采纳的代码行数超过一亿行。我们拥有百万注册开发者和超过 1 万家企业客户,用户数在国内同类产品中位居第一。
自通义灵码发布以来,阿里云内部进行了广泛推广和使用。2024 年四月,通义灵码正式”入职”阿里云,并取得了显著成效:周活跃开发者占比达 78%,研发效率提升超过 10%,AI 生成代码占比超过 30%。阿里云成为国内首家推行全员 AI 编码的云厂商。
通义灵码今年五月”入职”中华财险。中华财险积极拥抱云+AI 战略,利用通义灵码赋能内部研发场景,提高效率。中华财险的技术人员使用占比超过 60%,问答准确率达 90%,AI 生成代码占比为 25%。这一系列数据体现了通义灵码在提升研发效率方面的显著效果。
