1

上周我受邀参加了豆包MarsCode的发布会,因为在现场我的编码和测试能力出众,字节面试官想当场面试我,让我去字节,当时因为心里有别的厂了,我还是婉拒了(我编的

说回发布会本身,现场的氛围也非常不错,汇聚了字节的很多技术大佬,该说不说,现场的小礼物和吃的是真的不错,就是室外发布会有点太热啦,世上最“热”发布会名不虚传!


豆包MarsCode 产品的两种形态 - AI编程助手 和 Cloud IDE 我是在还没发布前,就在现场体验了内测的版本,当时我就觉得挺惊喜的。所以第一时间就来跟大家分享。

两种形态都已经上线豆包Marscode官网了 大家感兴趣的可以去看看https://www.marscode.cn/home

MarsCode 编程助手

有一点要注意的是要设置下你偏好的语言,MarsCode会根据你设置的语言进行代码生成,对于国内的开发者可以设置下中文优先。

代码补全

这个算是AI编码工具必备项目,MarsCode当前版本也能做到自动根据用户编辑意图预测下一个改动点并给出代码推荐。

除了代码预测与补全,当编码中出现需要修复的代码 Lint 错误时,编程助手会直接在编辑器中主动给出修改代码,我们不需要去查看是什么报错原因,只需要判断修复结果是否正确,如果正确,一键采纳修复后的代码即可。

当我们写完代码,为了保障代码的质量与后续的可维护性,通常还需要写单元测试。这时只需要在编程助手中触发 test,就可以得到这个函数的测试用例。

Bug 修复场景

在 Debug 场景下,豆包MarsCode 的 AI 修复功能可通过理解报错信息、调用栈的代码、全局的项目代码,去分析错误原因,从而直接给出针对性的修复建议。

除了单轮修复,豆包MarsCode 也在尝试基于 Agent 方式实现多轮自动修复,AI 会自主调用一系列代码查询工具、调试工具获取报错信息、自主规划方案、自主写出代码并应用到项目当中去,来修复 Bug。听说目前该功能正在字节内部做验证,争取能够尽快发布与大家见面。

一些想法

字节的MarsCode 编程助手效果体验下来效果算不错的,据悉字节内部已经大量开始使用MarsCode编码了,在字节这么多工程师的体验下,我是很期待MarsCode的完全体的。

算法也是字节的强项,不知道未来会不会有更多AI编码和智能算法的结合?

当前关于AI智能编码赛道上,目前市面上已经有了不少优秀的产品,如GitHub Copilot、通义灵码、Comate、等,对开发者来说大公司入局去卷编码工具肯定是会给用户带来好处,完善工具不断提升大家的编程效率,作为开发者一定要去体验下这些新产品新工具,善于使用这些工具,才能不断地提升自己在工作中的竞争力。

MarsCode IDE

MarsCode IDE :这个是这次发布会的重磅产品,也是我想重点和大家分享的,一个内置Ai编码助手的 云端IDE 平台。

这应该是国内首款的云端AI IDE的产品,把AI和云计算结合到一起了。

首先个人觉得它的一些好处:

  • 不用配置环境: 对于入门选手来说非常不错,有过开发经验的同学都知道,搭建环境是很耗时的,如果报错了,对于新人还是很难解的, 现在不用搭建环境,可以直接进入开发了, 感觉对编程教育上也是一大好处,尤其对于少儿、新手编程...
  • 方便演示Demo:有时候朋友让帮忙做个功能,然后自己写完了代码,还要部署一个服务,但是如果不在局域网,朋友根本就访问不了你的功能,还要去弄服务器一大堆东西也非常的麻烦,现在用MarsCode IDE,可以直接启动服务,让远程的朋友也能直接使用你的功能,非常方便;
  • 小功能脚本管理:开发同学,有时候会写点脚本临时解决下某些功能,本地的脚本有时候四散各处,后面都忘了在哪里,我觉得IDE还可以充当我们一些小功能脚本的存储地方,把各种各样的小功能托管到了IDE上。 统一管理,结合AI编程助手帮你写脚本,想想也不错;
  • 插件功能: 开发者可能更熟悉了,MarsCode还支持一些插件,插件就是可以做各种各样的事情,在云端做各种各样的事情,大家可以尝试安装下释放下想象力。

如果说是一些大型项目的协作上,现在 IDE可以尝试下,但是觉得可能本地更方便,对于一些小型的编程协作力场景,感觉挺有效的。

给大家演示下功能:

支持各种编程环境

开源项目学习场景

豆包 MarsCode IDE 通过提供开发模版,让开发者能够快速进入项目而无需运维本地环境。

借助原生集成的 AI 能力,开发者不再需要自己去理解代码,从而更高效地上手项目。

MarsCode支持多种主流编程语言和常用开发模板,创建一个新项目非常简单。

  • 选择编程语言
  • 可以选择开发的脚手架模板
  • 也可以从Git仓库下载对应的代码


这就是ide的主界面啦,你可以在这里编写、运行和调试你的代码,下面还有进度条,以及侧边栏的各种功能,旁边的智能编程助手,会自带一些对话获取一些建议。

构建Web 服务

我们可以看一下快速 构建一个Web服务的速度,

提问:

问下如何构建一个Java Web服务;给出建议,

直接插入到文件中,几行就能运行了。然后还有对应的网络服务,朋友们也可以进行访问

集成Spring Boot Web,方便我启动一个Java Web服务,给出我对应的Maven依赖项;


快速写脚本

对于Python这样的脚本语言,开发效率就更高了,这里可以直接启动一个Python项目,让AI编程助手告诉我们代码怎么写,怎么做这个事情;

使用Python做个页面爬虫分析,阅读某个页面的内容进行提取,可以进行对话:

image.png

云端修复问题、安装对应的依赖

image.png

也可以在对接API上提供帮助,然后快速验证下代码

image.png

数据处理脚本:

帮我写个Python的脚本:输入是一个文件,然后对文件的格式进行处理转换成另外一种格式
输入文件格式:
```
{"id": 0, "text": "火箭迟早要上天,为什么不在天上发射?", "answer": "通常来说,在发射前,火箭会被竖直地立在发射架上,而不是在天上,那是因为,空气浮力带来的升力无法支撑它的重量。但是,如果是很小很轻的火箭,也可以由气球或飞机事先带到天上发射,这种技术还在研究中。", "author_type": "human"}
{"id": 1, "text": "用吸管喝水,喝的是下面的,为什么上面的水少了?", "answer": "上边的水掉下去了呗。", "author_type": "human"}
```
修改为目标格式
```
{"messages": [{"role": "system", "content": "You are a helpful "}, {"role": "user", "content": "谁在文艺复兴时期绘制人体?"}, {"role": "", "content": "文艺复兴时期是一个关于艺术、文化和学术的复兴运动,在这个时期,许多艺术家都绘制了人体。"}]}
{"messages": [{"role": "system", "content": "You are a helpful "}, {"role": "user", "content": "谁在文艺复兴时期绘制人体?"}, {"role": "", "content": "文艺复兴时期是一个关于艺术、文化和学术的复兴运动,在这个时期,许多艺术家都绘制了人体。"}]}
```

现在都是这种编码,帮我把脚本修改下,让其返回的里面是中文
{"messages": [{"role": "system", "content": "You are a helpful "}, {"role": "user", "content": "\u706b\u7bad\u8fdf\u65e9\u8981\u4e0a\u5929\uff0c\u4e3a\u4ec0\u4e48\u4e0d\u5728\u5929\u4e0a\u53d1\u5c04\uff1f"}, {"role": "", "content": "\u901a\u5e38\u6765\u8bf4\uff0c\u5728\u53d1\u5c04\u524d\uff0c\u706b\u7bad\u4f1a\u88ab\u7ad6\u76f4\u5730\u7acb\u5728\u53d1\u5c04\u67b6\u4e0a\uff0c\u800c\u4e0d\u662f\u5728\u5929\u4e0a\uff0c\u90a3\u662f\u56e0\u4e3a\uff0c\u7a7a\u6c14\u6d6e\u529b\u5e26\u6765\u7684\u5347\u529b\u65e0\u6cd5\u652f\u6491\u5b83\u7684\u91cd\u91cf\u3002\u4f46\u662f\uff0c\u5982\u679c\u662f\u5f88\u5c0f\u5f88\u8f7b\u7684\u706b\u7bad\uff0c\u4e5f\u53ef\u4ee5\u7531\u6c14\u7403\u6216\u98de\u673a\u4e8b\u5148\u5e26\u5230\u5929\u4e0a\u53d1\u5c04\uff0c\u8fd9\u79cd\u6280\u672f\u8fd8\u5728\u7814\u7a76\u4e2d\u3002"}]}

注意事项

1、只能创建10个项目,但是基本上足够了;

2、资源目前没有本地那么大,单个项目可以使用的最大资源如下:

3、还有一些需要展示的比如绘制图的无法做到,但是网络服务已经可以做很多事情了。

总结

豆包MarsCode在以下两个方面帮助开发者:

对于想的阶段,提供更好的信息,例如做代码解释,研发知识的问答,来激发开发者创造;

对于做的阶段,帮助开发者更快地完成编码,例如代码的补全、下一步编码动作的预测,代码的错误修复,来提升开发者效率。

豆包MarsCode 负责人 李东江 认为 AI 不是替代开发者的“竞争者”,而是开发者的“好帮手” ,团队更希望打造一款软件,能够助力提升开发者工作效率,让开发者有更多精力和时间用于思考和创造。

这我想也是多数开发者想要的状态,用更多的时间用于思考和创造,这样才能更快成长。

这也契合了这次marscode发布会的主题“用 AI 激发创造”。

新的模型、新的算力、新的产品、新的技术每天都在出现,无论是产品还是技术,一切都还处在早期,都在快速更新迭代。

在 AI 技术驱动下,一定会衍生出下一代的开发工具。希望我们能共同探索、建设,一起打造 AI 时代的新的开发者工具。

另外 我看到豆包MarsCode 将陆续在北、上、深、杭等城市举办 Meetup ,我个人对这样的活动是很感兴趣的,期待能和大家现场见面!


敖丙
4.7k 声望13.1k 粉丝