豆包MarsCode
豆包MarsCode是字节跳动基于豆包大模型开发的智能开发工具,于2024年6月26日在北京发布,面向国内开发者免费开放。它提供编程助手和云端集成开发环境(IDE)两种产品形态,支持代码补全、代码生成、单元测试生成、错误修复与智能问答等功能,覆盖Go、Python、Java等上百种编程语言。其编程助手后升级为Trae插件,并支持在豆包大模型、DeepSeek-R1、DeepSeek-V3等模型间切换[1]。
定义
豆包MarsCode是字节跳动推出的智能开发工具,由豆包大模型提供模型能力,产品形态分为编程助手和云端集成开发环境(Cloud IDE)两种。编程助手以插件形式安装在本地IDE中,云端IDE则允许开发者直接在浏览器里编写和运行代码,不必在本地配置开发环境。
作为AI编程助手,它的核心作用是理解当前代码上下文,在开发者编写过程中给出代码补全、代码解释、注释生成、单元测试生成和问题修复等建议[1]。除辅助编码外,它还提供面向研发领域的智能问答,可回答与编程相关的技术问题[1]。产品面向国内开发者免费开放,基础功能不收取费用。
原理
代码补全的基本机制是预测开发者接下来要写的内容。模型需要同时理解已有代码的上下文和开发者意图,再给出续写建议;实现效果既取决于模型本身的性能,也取决于输入提示(Prompt)的构造方式。为提升准确度,产品会把当前文件的类与函数定义、注释、用户打开文件的行为以及历史编辑记录作为上下文一并提供给模型。
为衡量补全效果,团队采用每次机会字符数(CPO)作为指标,其计算可表示为:CPO = 尝试率 × 反馈率 × 采纳率 × 每次采纳平均token数 × token平均字符长度[2]。其中尝试率指开发者操作时AI实际给出建议的频率,反馈率指建议被传递到界面的比例,采纳率指展示的建议中被实际接受的比例[3]。团队认为单看采纳率容易产生误导,因而把CPO作为主要优化目标,并通过A/B测试验证模型与Prompt策略的改动[3]。
代码补全Pro面向修改已有代码的场景,预测的不再是下一个字符,而是下一次编辑动作,包括光标位置、操作类型和编辑内容[4]。其训练数据来自Git仓库的提交历史,通过规则提取相互关联的修改记录,以理解diff格式的数据[4]。在面向仓库的问答与缺陷修复中,相关框架还会构建代码知识图谱,以图结构表示函数、变量、类等代码实体及其调用、引用、继承关系,配合语言服务器协议完成代码检索[5]。
发展历程
豆包MarsCode源自字节跳动内部孵化项目。2022年初,其代码智能团队开始探索由大语言模型驱动的代码补全产品,并自研代码评测集和自动评测系统,搭建数据链路与线上A/B测试体系[2]。此后团队引入基于对话的编程助手,并进一步探索自动化程度更高的编辑推荐能力[4]。
2024年6月26日,字节跳动在北京发布豆包MarsCode,同时推出编程助手和云端IDE两种形态,面向国内开发者免费开放。发布时演示了项目问答、代码补全、单元测试生成和Bug修复等功能,产品负责人为王海建[6]。
2025年2月,编程助手完成模型升级,接入豆包大模型1.5、DeepSeek-R1与DeepSeek-V3,用户可在多个模型之间切换。2025年3月至5月,原MarsCode编程助手以Trae插件的形式在Visual Studio Code和JetBrains系列IDE中上线Builder模式,支持以自然语言交互从零开发项目。该编程助手此后正式升级为Trae插件[1]。
应用
编程助手以插件形式集成到Visual Studio Code和JetBrains系列IDE中,支持的JetBrains产品包括IntelliJ IDEA、PyCharm、GoLand、Android Studio、WebStorm、CLion等,可在Windows、macOS和Linux系统上运行[1]。支持的语言和框架覆盖后端、前端与应用端,包括Go、Python、C++、Java、Rust、HTML、TypeScript、JavaScript、Kotlin、Swift等[1]。
云端IDE形态为开发者提供线上开发环境,可通过浏览器访问,无需在本地安装和运维环境,支持从模板创建项目或从Git仓库导入项目。除编码场景外,产品也被用于代码学习与面试刷题,并推出过面向编程学习的系列线上课程[7]。2024年11月,豆包MarsCode与开发者社区稀土掘金共同主办首届AI红人创造营活动[8]。
局限
代码补全的效果受延迟影响明显。从上下文检索、网络传输到模型推理都会引入延迟,若响应过慢,开发者会继续编辑并触发新的推荐机会,使原有建议失去意义;工具也可能因置信度不足或触发过滤规则而不展示建议[3]。CPO指标越高意味着AI贡献越大,但过高的CPO会带来干扰,采纳率往往随之下降,需要在两者之间取得平衡。
在处理大型代码库时,大语言模型存在上下文长度限制。代码知识图谱可覆盖目标项目内的类与函数定义、引用检索,但难以准确获取目标项目之外的类、函数和变量定义与引用,例如标准库和第三方库;遇到多个同名实体时,也需要借助语言服务器协议来精确定位[5]。此外,团队在探索中发现,当前大语言模型对代码修改的描述能力总体偏弱,直接生成统一diff格式的改动、只给出行号范围或重写整个文件等方式都存在稳定性或成本上的问题[5]。
参见
参考资料
- 什么是豆包 MarsCode 编程助手? . w3cschool.cn [引用日期2026-10-08]
- [豆包MarsCode]:豆包MarsCode落地编程助手场景的探索与实战 . fxbaogao.com [引用日期2026-10-08]
- sgpjbg.com 上的网页 . sgpjbg.com [引用日期2026-10-08]
- 李文超:豆包MarsCode落地编程助手场景的探索与实战_代码_Prompt_Git . sohu.com [引用日期2026-10-08]
- MarsCode Agent: AI-native Automated Bug Fixing . bytedance.com [引用日期2026-10-08]
- 字节跳动发布“豆包MarsCode”智能开发工具,面向国内开发者免费 . sina.com.cn [引用日期2026-10-08]
- 豆包 MarsCode . marscode.cn [引用日期2026-10-08]
- 首届“AI红人创造营”启动 用人工智能探讨创作新可能 . news.cn [引用日期2026-10-08]
浏览次数:4 次
阅读量:0 次 · 阅读完成量:0 次
最近更新:2026-10-08T12:36:05Z
完成率 = 阅读完成量 ÷ 阅读量,分母是阅读量不是浏览次数 —— 关了 JS 的、秒退的都在浏览次数里、不在阅读量里。 详细口径在后台的「数据统计」页。