免费!国产大模型编程助手豆包MarsCode上线,还登录即用的云端IDE
机器之心报道
机器之心编辑部
因为 AI 为自己的工作焦虑,这件事不是一天两天了。
然而,使用自动化工具辅助编程算得上是程序开发行业由来已久的传统,目前很多程序员都在使用 GitHub Copilot 类的工具,但担心被快速替代的人并不多。
相比自然语言,编程语言更加简洁、严谨、可预测。处理起编程语言,大型语言模型要得心应手得多。自 ChatGPT 爆火以来,AI 工具对工作的重要性上升到了新高度。GitHub Copilot、GPT-4 等 AI 编程助手极大地提升了程序员的工作和学习效率。据 GitHub 和微软 2023 年的一项研究发现,只是简单使用 AI 编程助手,就能将程序员完成任务的速度提升 55%。
对于那些已经跨过编程门槛的专业人员来说,拥有一个智能伙伴,就像是得到了一个能读懂你心思的超级助手。它不仅能迅速理解你的需求,补全的代码也是即插即用。在 Debug 环节,这些工具能从代码的海洋中精准地揪出 bug,并且还能自动调用各种工具进行修复,让开发者们可以把更多的精力投入到创新和思考中。
6 月 26 日,我们迎来了一个这样的国产 AI 编程助手:豆包MarsCode。豆包MarsCode 拥有编程助手和云端集成开发环境 Cloud ID 两种形态。豆包MarsCode 具备日常常用的代码补全、代码生成和代码解释等多项能力,让你的编程体验就像是在使用高配版的 Colab 和 Copilot。
链接:https://www.marscode.cn
豆包MarsCode:更好用的 AI 编程助手
豆包MarsCode 具备代码补全、代码生成、代码解释、代码注释生成、单测生成、缺陷修复、AI 问答等能力,非常好用。只需在官网注册一个帐号,就能直接通过云端 IDE 畅享,也可通过 Visual Studio Code 或 JetBrains IDEs 插件市场中的 MarsCode 插件便捷地将它引入你的本地 IDE。
下面我们通过一些简单用例来详细了解豆包MarsCode 的各项能力。
代码补全和生成
豆包MarsCode 能够阅读并理解当前代码,提供后续代码片段,也支持通过注释生成代码片段。令人惊喜的是,豆包MarsCode 不仅能阅读当前正在编辑的文件的代码,而且能阅读和分析整个仓库,从而理解其中的依赖关系以及函数和变量之间的关联。
如下图所示,只需提供简单的注释,豆包MarsCode 就能根据当前需求补全所需代码。
在代码生成方面,只需简单的指令,代码就能自动生成,这种场景已经触手可及。机器之心通过 Visual Studio Code 测试了一个简单的多步骤用例,只需使用自然语言表达自己的需求,键盘落定的瞬间,完整可用的代码就已经写好了。
编写一个简单的冒泡排序算法来对 10 个数进行从小到大排序。这 10 个数需要在代码运行后由用户输入。排序完成后,提取其中所有能被 3 整除的数。
视频加载中…
只需点击一下,就能将其完整地插入到当前代码文件中。豆包MarsCode 生成的代码不仅功能完备,而且非常规范,各步骤也都有简洁清晰的注释。
代码解释和注释生成
可以说有了豆包MarsCode,就再也不用担心看不懂代码了。基于大型语言模型强大的理解和生成能力,豆包MarsCode 能快速精准地解释项目代码。如上图中白色箭头所指示的位置,只需点击一下 Explain,豆包MarsCode 就能快速地为我们提供对这一函数的详细解释:
视频链接:https://mp.weixin.qq.com/s/0cUCWxBDDDKGUrR9UQpi5Q
豆包MarsCode 不仅能提供代码行和函数级层面的解释,还能融会贯通整个代码仓库,为整个项目提供全方位的解读。这就像是给开发者们配备了一个智能向导,让他们能够迅速地融入新项目的开发,同时也为编程新手们提供了一个高效的学习平台,让他们能够快速掌握新算法、新开发技巧,甚至是全新的编程语言。
用豆包MarsCode IDE 来学习不久前刚开源发布的多模态大模型 Cambrian-1 ,才发现原来学习一个新模型的学习成本已经被打得这么低了。
操作很简单,打开豆包MarsCode 云端 IDE,通过 GitHub 链接导入 Cambrian-1 代码库,向豆包MarsCode 提问。让豆包MarsCode 介绍 Cambrian-1 项目,挑选其中一段 Python 代码让它解释,理解没有偏差,表现非常出色。
视频链接:https://mp.weixin.qq.com/s/0cUCWxBDDDKGUrR9UQpi5Q
豆包MarsCode 是基于豆包代码模型打造的智能开发工具,在软件开发领域更加得心应手。通过定向优化,豆包MarsCode 现在能提供更高质量、更精准的解答,帮助开发者解决各种问题。这不仅意味着豆包MarsCode 是一个强大的编程助手,它还能成为你的学习伙伴,在你从编程新手成长为技术大牛的旅程中,提供高效的陪伴和支持。
这意味着,豆包MarsCode 就像是一个智能的辅导老师,无论你在编程路上遇到什么难题,都能迅速给出清晰、准确的指导,让你的学习过程更加顺畅,帮助你更快地掌握编程技能,实现从入门到精通的飞跃。
视频链接:https://mp.weixin.qq.com/s/0cUCWxBDDDKGUrR9UQpi5Q
豆包MarsCode 的代码理解能力如此强大,为代码生成注释就自然也不在话下了。豆包MarsCode 可以生成函数级注释或更详细的行间注释,并且其操作非常便捷:只需一两次点击或使用 /doc 命令即可。下图是豆包MarsCode 官网给出的一个示例。
单元测试与 Debug
在软件开发领域,测试有多重要,不必多言。但测试的过程往往既枯燥又耗时,甚至很多时候,测试代码所花的时间比写代码所花的时间还多。
但别担心,针对这一痛点,豆包MarsCode 装备了单元测试生成能力,这项功能就像是给豆包MarsCode 配置了「火眼金睛」,能够自动洞察你的代码,并为它量身定做单元测试用例,从而大幅提升开发效率。
举个例子,上一节我们用豆包MarsCode 自动生成了一段代码,现在想要测它一下。只需选中那段代码,然后点击一下或者输入 /test 命令,豆包MarsCode 就会立刻为你生成所需的单元测试用例。这样一来,你的测试工作就能更加高效,让你有更多时间去专注于代码的创新和优化。
视频链接:https://mp.weixin.qq.com/s/0cUCWxBDDDKGUrR9UQpi5Q
豆包MarsCode 不仅能帮你发现问题,还能帮你解决问题。借助大模型的力量,豆包MarsCode 能够迅速捕捉到代码中的小瑕疵,哪怕是隐藏得很深的微妙错误也不放过,并给出智能的优化建议。
视频链接:https://mp.weixin.qq.com/s/0cUCWxBDDDKGUrR9UQpi5Q
这还不算完,豆包MarsCode 还有一个更神奇的功能:它能够根据开发者对当前代码段的修改,贴心地自动调整后续的代码。当你在豆包MarsCode 中修改了一段代码,豆包MarsCode 就会立刻行动起来,默默地帮你整理后续的代码,确保整个项目保持一致性和正确性。脏活儿累活儿它都帮你干了,你的编程工作自然变得更加轻松和高效。
视频链接:https://mp.weixin.qq.com/s/0cUCWxBDDDKGUrR9UQpi5Q
豆包MarsCode IDE:打开浏览器即可使用的集成开发环境
除了豆包MarsCode 编程助手,字节跳动还同时发布了一个云端 IDE。不同于 Visual Studio Code 和 JetBrains 等基于本地的 IDE 工具,豆包MarsCode IDE 已经为用户配置好了开箱即用的开发环境,用户只需根据语言选择模板即可开始开发。并且由于豆包MarsCode IDE 位于云端,因此用户无需性能强大的计算机,只需一台可以访问浏览器的计算机、笔记本、平板电脑便可以打开豆包MarsCode 完成开发工作。
另外,如前文展示的那样,用户也可直接将 GitHub 仓库导入到豆包MarsCode IDE,能让你便捷地进行项目管理和版本控制。
接下来,我们用一个经典的 C++ 实践题目来试试豆包MarsCode IDE 在代码生成、解释和测试,一整个开发的过程中到底有多智能和便捷。
题目:从键盘输入一个字符串,判断其是否是回文。若是输出「Yes」,否则输出「No」。回文是指正向、反向的拼写都一样。示例:ABCBA、aaaa 等是回文;china、ABC 等不是回文。
首先打开豆包MarsCode IDE,创建一个 C++ 项目。
可以看到,豆包MarsCode IDE 生成了一个「Hello World!」模板项目。
接下来我们打开主程序 main.cpp,再向豆包MarsCode 编程助手表达我们的需求。豆包MarsCode IDE 的智能代码生成功能,可以帮我们快速生成基础代码框架。
正如你所见,豆包MarsCode 已经根据需求,生成了一整套解决这个问题的代码。现在,我们只需要做一些非常简单的工作:去掉模板代码,然后把豆包MarsCode 生成的代码放进去。
点击运行按钮,使用字符串测试。豆包MarsCode 生成的代码会立刻开始工作,准确地判断出你输入的字符串是否是一个回文。可以看到豆包MarsCode 生成的代码正确地完成了预期任务。
为了确保代码准确可用,我们依旧可以使用豆包MarsCode IDE 的单元测试功能,选中所有代码,然后点击「单元测试」,为这段代码生成测试用例,确保我们的程序能够正确地判断字符串是否为回文。
虽然这个问题很简单,但作为初学者,我们可能还是不理解这些代码的含义。在编写过程中,如果遇到不确定的地方,豆包MarsCode IDE 的代码解释功能就派上用场了。它可以帮助我们理解代码的工作原理,确保我们的代码逻辑是正确的。比如我们可以让豆包MarsCode 给我们解释一下代码中的 for 循环:
视频链接:https://mp.weixin.qq.com/s/0cUCWxBDDDKGUrR9UQpi5Q
可以看到,豆包MarsCode 生成了非常详尽的解释。我们也可以进一步让其为这段代码添加注释:
视频链接:https://mp.weixin.qq.com/s/0cUCWxBDDDKGUrR9UQpi5Q
接下来,我们转向 README 文件,借用豆包MarsCode 的理解能力对其进行重写。
运行该代码,然后输入汉语回文,我们会发现该程序并不能正确判断。原因是什么呢?向豆包MarsCode 提问一下。
原来如此,那么如何修正这个问题呢?豆包MarsCode 继续给出了非常详尽的解答和解释:
经验证,这段新代码可以正确判断汉语字符串回文。
在解答这个经典的 C++ 实践题目的整个过程中,从代码生成到代码解释,再到单元测试,豆包MarsCode IDE 都提供了非常智能和便捷的支持。它让编程变得更加简单,更加高效。当然,这个示例非常简单,豆包MarsCode 编程助手和 IDE 能为用户带来实际帮助将远不止于此。这一切,等待着你亲自上手挖掘和探索。
结语
除了技术上的优势之外,豆包MarsCode 完全没有使用门槛,现在就可以免费使用。目前每位用户可获得 2 核 4G 免费计算资源,并且每个项目有 10G 免费空间。相较于 GitHub Copilot 至少 10 美元 / 月的起步价,豆包MarsCode 真正做到了免费却依然强大;不仅如此,得益于字节跳动强大的服务器支持,豆包MarsCode 能为国内用户提供更加稳定可靠的服务。
另外,针对许多用户关心的数据安全与隐私问题,豆包MarsCode 团队表示 豆包MarsCode 使用的训练数据集都是开源合规的,并且绝不会使用用户的数据进行二次训练。同时,用户与豆包MarsCode 之间的通信也经过了加密以确保安全。
大模型为各行各业带来的变革已经显现,AI 辅助编程也正在成为程序员工作流程的标配。AI 不一定取代人,但会用 AI 的人一定取代不会用 AI 的人。
豆包MarsCode 虽然是新晋的 AI 编程助手,但它在开发实践中的成熟度已经使其成为一款合格的产品。加上便捷好用的云端 IDE,相信任何一个尝试豆包MarsCode 的开发者或学习者都会喜欢上它。
正如豆包MarsCode 负责人李东江在产品发布会上所说:「AI 与人类不是竞争关系,我们希望打造一款软件,能让开发者的效率变得更高,能让开发者把更多的时间和效率花在思考和创造上。」
分享在手机上敲 Python 代码几款App
相信多数安卓用户都使用过Qpython这款移动端的Python编辑器吧?之前我也研究过一阵子这个工具,但因为一次简单的爬虫让我对它失望之极。Qpython不支持lxml这个模块,然而python中lxml作为最底层的模块,不管是爬虫还是文档解析,都需要使用它。所以,Termux应运而生….
Termux不仅可以帮助你学习和使用Linux系统,更可以通过安装各种插件,当做我们python全栈开发利器!今天我就带大家了解下,如何在手机上玩转Python 爬虫、jupyter notebook、git代码托管、Web开发 等等全套炫酷的功能!
Termux介绍
Termux是一个Android终端的Linux环境仿真器。主要的是它无需root,就可以直接进行安装使用。可以使用apt包管理器或者这个工具推荐的pkg命令来定制安装其他的工具。何为其他工具?Linux下你能想到的工具,都可以去尝试,多数都可以直接安装,但也有部分工具需要你转个弯,比如在手机中安装mysql数据库!
Termux的Wiki官网:https://wiki.termux.com/wiki/Main_Page
Termux的Wiki
官网中可以看到推荐的下载方式是Google Play 和F-Droid。Google Play在手机上安装太麻烦了,所以推荐F-Droid,虽然它比较慢…当然你可以离线下载Termux的apk文件,虽然这样没办法获取更新。安装果果橙比较简单,下载F-Droid,完成安装后搜索Termux,下载即可。
Python开发者桌面
刚才说到Termux的简单介绍与下载方式,那么下载完成,安装的只是这个工具,而非我们的Python开发者桌面。Termux安装完成首次进入会进行相关的初始化工作,等待1-2分钟即可(此时需要联网下载工具)。截图如下:
安装Termux.png
之后就该进入我们的DIY时间了!
1.更新源:
为了我们能获取到最新的插件信息,需要更新一下镜像源列表
1pkg update
2pkg upgrade
3pkg install python python-dev
2.安装python及pip
系统为我们安装了最新的python3.7.4版本,紧追时尚潮流….
1pkg install python python-static
2pip install –upgrade pip
3.安装依赖插件
这一步阻塞了很长的时间,可以看到网上针对lxml的安装不管是linux系统还是咱们的Termux,都存在这很多的求助帖。
lxml安装报错
按照很多热心网友的回答去尝试安装插件,和其他解决办法,都没有成功。
多数的报错是提示libxml2插件未安装,可明明安装了,之后查阅资料了解python在使用该插件的使用需要通过clang插件的编译后才能使用,但是安装后有提示conv.h的文件无法获取等等。这个问题断断续续卡了我两天你的时间,光卸载安装Termux就搞了几次,每月20G的流量我就剩5G了…最终找齐了所有插件总结给大家:(最新安装依赖详见留言)
1pkg install libxml2 libxml2-dev libxslt libxslt-dev libiconv libiconv-dev libclang clang libzmq libzmq-dev libc++
2pip install lxml
lxml安装成功
目录说明
首先我们输入termux-setup-storage将手机目录共享给termux,完成后会在home目录下多出一个storage的文件夹。
目录说明
了解Linux的朋友应该比较清楚创建链接与挂载点的问题,手机的目录在Termux的/data/data/com.termux/files/home/storage/shared内。那么同样的,我们可以将手机的代码目录映射到Termux中。命令如下:
ln -s /data/data/com.termux/files/home/storage/shared/Codes_Repository ~/Codes
然后,我们将小说下载器的脚本Novels.py丢到手机的Codes_Repository,再去Termux中看看是否同步
目录共享
无意中暴露了我的Mate 20X,哈哈…之所以当时要买7.2英寸的20x就是为了将手机打造成python开发工具。
优化编辑器
大家都知道Linux环境下开发python,大神们都推荐的是vi,用其他的工具都显得不高端…那么如何优化我们的编辑器呢?安装vi的哥哥vim,针对vim下开发python安装vim-python 代码
1# 安装vim vim-python
2pkg install vim vim-python
3# 创建vim配置文件
4vim .vimrc
5# 添加 vim 配置文件
6set fileencodings=utf-8,gb2312,gb18030,gbk,ucs-bom,cp936,latin1
7set enc=utf8
8set fencs=utf8,gbk,gb2312,gb18030
9# 保存
10:wq
11# 立即生效
12source .vimrc
来看看vim-python的编码效果:
vim-python
vim-python
手机编程
最后来说说Termux的python开发问题,今天有朋友问到,Termux下写Python代码应该用什么编辑器呢?只用vim没有代码联想,写起来很麻烦…
你可以尝试使用Jupyter Notebook …
如果是按照我之前教程安装的Termux,那么直接pip install jupyter即可完成安装…
Termux权限设置
默认情况下Termux安装到手机后,是没有后台运行权限的,即如果你离开Termux桌面,那么将无法继续使用相关的web项目。你需要关闭手机启动管理的自动管理,然后添加上允许后台活动。
Termux设置
之后再输入jupyter notebook,即可达到后台运行的效果。
jupyter notebook
成功启动jupyter notebook后,会在命令行生成一个带token的url,复制它到你的手机浏览器上,现在在你的手机上好好练习代码吧…
代码运行
一道Leetcode上的练习题,在jupyter notebook上运行是不是完美….
爬虫代码运行
怎么样,不管是原生的vim还是大家喜爱的jupyter notebook,展示效果还算不错吧!再让我们执行一段爬虫代码
本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com
文章为作者独立观点不代本网立场,未经允许不得转载。