豆包MarsCode AI 编程助手提效实战
豆包Marscode 豆包MarsCode 2024年12月26日 15:00 浙江
💡 近年来,开发者正迈入一个由 AI 引领的“大模型时代”,IDE 开发工具快速崛起,大语言模型在代码生成领域取得了令人瞩目的进展。本文整理自豆包MarsCode 开发工具技术专家李文超在 QECon 2024 全球软件质量&效能大会 · 北京的演讲《豆包MarsCode AI 编程助手提效实战》,内容围绕豆包MarsCode AI 编程助手的背景与发展历程、豆包MarsCode 在 AI Coding 领域的探索、分享者对 AI 编程助手的思考与展望,三部分展开。
分享人介绍
李文超,豆包MarsCode 开发工具技术专家,目前主要负责豆包MarsCode AI 插件工程,包括 VSCode、JetBrains 等的插件体系,毕业后从事过多年的客户端基础技术、开发工具等研发工作。目前聚焦 IDE 开发工具、AI Coding 等方向。
分享回顾
首先回顾一下 IDE 智能化的进程,最近两年大模型特别火爆,其中就有关注大模型的应用 Copilot,在 AI 编程领域 Copilot 也逐渐成为我们日常开发的好帮手,通过 AI 辅助我们的编码效率有了20%甚至更多的提升。豆包MarsCode 来源于字节内部的孵化项目,早期基于静态分析和机器学习探索编码提效工具,有了大模型之后,我们带着提升开发者编码效率和体验的初心,在 AI Coding 领域做了一番探索。作为探索的成果,我们在24年6月在国内发布了豆包MarsCode 编程助手这款产品。
豆包MarsCode 编程助手发展历程
我们最早从22年开始探索基于大模型的代码补全能力,在这个过程中,我们自研的代码 LLM 评测集和自动评测系统,帮助我们高效地离线评测我们的模型、工程策略的效果,构建相关工程链路和线上 A/B 验证体系,辅助我们更快地验证和迭代。后来,仅具备代码补全能力已不足以覆盖用户更多的研发需求,因此我们引入了基于对话的编程助手。直到最近,我们还探索了更高自动化水平的编码能力 - 代码补全 Pro,能够预测下一步想修改的代码,并给出推荐结果。
不过,AI Coding 的产品体验仍需继续优化,我们需要从工程和算法方面提升 AI Coding 的能力,比如补全这个课题,E2E 延时的优化。如何让补全更快,辅助用户更流畅地编码,这里还有很多细节工作要做。此外,对于模型和 Agent 领域的进步,我们也在思考什么样的产品形态能更好地辅助开发者编码。
AI Coding 的探索
接下来,我将围绕豆包MarsCode 代码补全和代码补全 Pro 这两个能力来展开介绍我们在这方面的探索与思考,然后会简要分享如何利用豆包MarsCode 帮助我们提高编码和学习效率。
代码补全
代码补全的核心机制在于预测下一个字符,这要求模型不仅要理解现有代码的上下文,还要预测开发者想续写的逻辑是什么样的,最终才能准确地为开发者推荐结果。实现这一突破的关键在于两点:一是模型需要具备强大的性能,以确保快速且准确地生成代码建