以下是「豆包 MarsCode 体验官」优秀文章,作者萌新杰少。

前言

不知道大家刷B站视频有没有注意到评论区下面会有人@课代表,随后就会有一个B站的用户回复该视频的总结内容。

没有错!我们今天就要复刻这个功能,不过是在掘金的评论区,通过回复指定内容来召唤 BOT 对这篇文章进行总结!相信你看完本文后也可以做出自己想要的机器人,不仅仅是服务于掘金社区,你可以做的更好更多!

想必大家就已经迫不及待的要看看成果了!


成果预览

这是已经用豆包MarsCode 开发的成品,由于掘金尚不支持@功能,目前只能由用户在BOT的文章下评论文章地址,再由BOT到链接文章下回复!不知道掘金社区能不能加一个@功能,丰富社区交流!😽

爽了!直接口诉让豆包MarsCode 开发文章评论区BOT!_API

当你在 BOT 的文章下评论其他文章链接时,BOT就会阅读该文内容,并且在对应文章下评论总结内容!

爽了!直接口诉让豆包MarsCode 开发文章评论区BOT!_开发_02

你可以试着给本文评论文章链接,等待你的评论过审后就可以看到BOT给你自动评论的文章总结啦!

让我们一起看看这个省流大师是怎么完成的!


环境准备

特别的:如果你已经知道怎么去把豆包MarsCode装到本地IDE,那么就不需要阅读本节!跳到下一节直接去看开发过程!

这里我们将采用豆包MarsCode 的云端平台进行开发,相信我,你会喜欢上用这个云平台的,特别是你希望快速的切换开发环境与本机存储吃紧的情况下,这很有用! 


注册平台

点击注册豆包MarsCode

爽了!直接口诉让豆包MarsCode 开发文章评论区BOT!_开发_03

注册应该不用多说什么了,这里我们直接点击稀土掘金账户登录!

开发环境

豆包MarsCode 本身是支持在云平台 和 本地IDE(vscode、jetbrains全家桶) 使用的,这里我们主要说下本地是怎么做,因为云平台几乎不需要你做什么!

爽了!直接口诉让豆包MarsCode 开发文章评论区BOT!_大学生_04

登录后我们点击首页。

爽了!直接口诉让豆包MarsCode 开发文章评论区BOT!_云平台_05

和许多AI一样,豆包MarsCode 也提供了 IDE 插件,你可以无差别的平移到豆包MarsCode,你也可以搜索这个名字的插件,同样可以安装。

爽了!直接口诉让豆包MarsCode 开发文章评论区BOT!_API_06

剩下的操作插件提示已经给到位了,我们就不再多说啦!


豆包MarsCode 开发

明确需求

先别着急,我上学期和老师去了一家 AI 文创公司,他们公司有一部分文创业务就使用AI完成。在演示他们使用 AI 文创之前,他这么说:

在这个AI时代下,不是问他能做什么,而最重要的是你想要什么,需要明确自己的想法。

我觉得说法很对,因此想要发挥豆包MarsCode 的完全实力就需要提问者发问合适!

我们需要实现一个掘金机器人,有人在机器人的文章下评论其他文章链接,BOT 就需要阅读这篇文章,总结内容,再将总结的内容发到这篇文章的评论区。

OK,实现上面的功能,我们需要有

  • 评论信息接口
  • 评论接口
  • 阅读评论接口
  • 豆包MarsCode AI对话接口

我们的任务有:

  1. 轮询评论信息接口
  2. 判断评论是否未读
  3. 过滤评论中的掘金文章链接
  4. 调用 AI 总结文章内容
  5. 调用评论接口评论内容
  6. 调用阅读评论接口

接下来我们只需要口述这些任务即可! 这里我们不讲解 API 抓获过程了,有需要的大家可以自己去F12看看或者看看我给 AI 提问的接口。

创建项目

根据我们的预想这个机器人是个后台轮询服务,那选 JS 或者 Python 再好不过了,由于我平时接触 JS 多一些那么我们这里就选 Node 项目。如果你是本地开发那么就初始化一个本地项目即可,不过云平台实在是太方便了,很适合这种脚本项目,我们就用云平台吧!

爽了!直接口诉让豆包MarsCode 开发文章评论区BOT!_大学生_07

创建后可以看到 Node 环境已经准备好啦,甚至我们可以用控制台安装外部依赖,你可以做你任何想要的!

爽了!直接口诉让豆包MarsCode 开发文章评论区BOT!_大学生_08

这个环境配额可太棒了!!!

爽了!直接口诉让豆包MarsCode 开发文章评论区BOT!_开发_09

轮询检测评论信息

让我们来先开始第一个任务!我们希望网络请求是 axios 来进行的。

爽了!直接口诉让豆包MarsCode 开发文章评论区BOT!_ai_10

接下来我们让他轮询评论列表接口,让我们试试看,利用 setTimeout 来进行轮询

爽了!直接口诉让豆包MarsCode 开发文章评论区BOT!_大学生_11

现在豆包MarsCode 已经给出了答案,让我们删除已经有代码,把新代码插入进来

爽了!直接口诉让豆包MarsCode 开发文章评论区BOT!_大学生_12

哦!让我们看看这个代码,哦,很好,他按照要求完成了我们的第一个需求。

爽了!直接口诉让豆包MarsCode 开发文章评论区BOT!_ai_13

现在我们希望它加一些注解,试试看它的上下文补全,我们在请求上方加个注解 // 注解豆包MarsCode 会自己联想上下文补全我们的注解。

爽了!直接口诉让豆包MarsCode 开发文章评论区BOT!_API_14

接下来你可以告诉豆包MarsCode 优化掉不需要的代码,比如刚刚的http服务我们就不需要,可以删除,这里就不贴图了!


判断是否未读

我们用鼠标选中这块代码,再向豆包MarsCode 提问,这样豆包MarsCode 会基于这段代码进行联想,现在我们把生成的代码粘贴回来,点击插入到光标处!这很方便。

爽了!直接口诉让豆包MarsCode 开发文章评论区BOT!_ai_15

这样我们就获得了未处理的信息

爽了!直接口诉让豆包MarsCode 开发文章评论区BOT!_开发_16

过滤评论中的掘金文章链接

现在我们试着再进一步处理,用正则表达式来获取评论的文章 ID。

爽了!直接口诉让豆包MarsCode 开发文章评论区BOT!_开发_17

现在我们就有了过滤文章 ID 的能力,这很有用。

爽了!直接口诉让豆包MarsCode 开发文章评论区BOT!_ai_18

调用AI总结文章内容

这里我们需要配合其他 API 使用,不知道大家记不记得之前的扣子 Coze,它提供了豆包MarsCode API 的能力扣子 - 开发指南 (coze.cn),详细的内容大家可以阅读开发文档,下面我们看看扣子 BOT 的配置。

扣子API创建

爽了!直接口诉让豆包MarsCode 开发文章评论区BOT!_ai_19

这里我们需要给 BOT 一个设定和读取网页内容的插件,接下来发布 BOT 后就可以利用 API 调用 BOT 对话了!

调用API总结文章

我们给豆包MarsCode 来个有挑战性的任务,这是系列任务的聚合,现在来看,豆包可以完成,不过也有一些瑕疵,比如它可能忘记了上下文,重新给我写了一个函数,但是实际上我们只是需要一段代码。

不过我们可以自己手动复制需要的部分代码!

爽了!直接口诉让豆包MarsCode 开发文章评论区BOT!_云平台_20

现在我们已经完成了调用 AI 总结文章的代码!

爽了!直接口诉让豆包MarsCode 开发文章评论区BOT!_API_21

调用评论接口评论内容

现在,我们只需要将获取到的内容评论出去即可。

爽了!直接口诉让豆包MarsCode 开发文章评论区BOT!_API_22

现在我们已经成功调用了评论的接口!

爽了!直接口诉让豆包MarsCode 开发文章评论区BOT!_云平台_23

调用阅读未读信息

最后一个任务也是复杂的,它不是在我们之前的代码后面加,而是必须要到循环外面去写这个逻辑。

那就是阅读未处理内容,该接口传入的ID为最后一条未处理信息ID,也就是最早的一条,为此我们必须要在遍历外面写这个网络请求,看看豆包MarsCode 能否完成!

爽了!直接口诉让豆包MarsCode 开发文章评论区BOT!_开发_24

显然它做到了!

爽了!直接口诉让豆包MarsCode 开发文章评论区BOT!_大学生_25

豆包MarsCode 输出了整个项目的代码,说明它可能理解了这是最后的任务,接下来它在消息遍历后进行了网络请求,阅读了所有未处理信息,现在我们成功做到了豆包MarsCode AI开发整个项目,我们来试试看运行。

扩展体验

前面我们给豆包MarsCode 了许多提示词,我不是说网络请求的接口和提交参数这些,而是告诉他我们需要内容在 Json 里对应的字段,这样豆包MarsCode 确实很好的理解了,不过我希望豆包MarsCode 做的更好!

关键数据筛选

现在我们试试看,给他一个修改当前程序的需求,并且给它较多的数据信息,让豆包MarsCode 自己决定如何筛选内容,我们只是提供给它可选信息。

下面我们希望评论时带上评论者的信息,比如评论者的用户名。

爽了!直接口诉让豆包MarsCode 开发文章评论区BOT!_大学生_26

我们将整个Json丢给他,就说我们需要发送总结时带上用户名,豆包MarsCode 也巧妙的明白的我们的意思。

爽了!直接口诉让豆包MarsCode 开发文章评论区BOT!_ai_27

爽了!直接口诉让豆包MarsCode 开发文章评论区BOT!_云平台_28

可以看到给出的代码里已经包含了用户名的信息了。

很多时候我们不希望自己观察Json信息,那么交给 AI 也是一个相当不错的选择。


代码优化

光是这样还不够,我希望豆包MarsCode 可以重构我的代码,提高复用和维护,这需要豆包MarsCode 了解全局业务和代码结构,让我们试试看!

爽了!直接口诉让豆包MarsCode 开发文章评论区BOT!_大学生_29

哦天哪,这就是我想要的,你还可以让它帮你加上注释!

成果展示

爽了!直接口诉让豆包MarsCode 开发文章评论区BOT!_开发_30

这里我们先填写好 BOT 机器人的掘金账户 Cookie!

爽了!直接口诉让豆包MarsCode 开发文章评论区BOT!_开发_31

然后我们点击这里运行即可让 node 服务跑起来!

现在我们用另一个账户给 BOT 的文章下评论一个掘金链接试试看!掘金的评论是带审核的哦,大概是为了防止广告,评论后稍等才会看到,API 接口获得也是一样!

成品体验

现在给本文章发送某篇文章链接,等待评论过审核,即可看到 BOT 评论的文章总结啦!

爽了!直接口诉让豆包MarsCode 开发文章评论区BOT!_开发_32

当评论传出后,我们可以看到输出日志,成功完成评论!

爽了!直接口诉让豆包MarsCode 开发文章评论区BOT!_开发_33

然后看看对应的文章,可以看到已经成功评论啦!

爽了!直接口诉让豆包MarsCode 开发文章评论区BOT!_云平台_34

项目导出

为了让服务24小时运行,我们这里把项目进行导出!看下图,我们通过另存为的方式将项目导出!

爽了!直接口诉让豆包MarsCode 开发文章评论区BOT!_大学生_35

emm说实话导出文件的位置还是有一些深。

爽了!直接口诉让豆包MarsCode 开发文章评论区BOT!_ai_36

最后我们点击显示本地即可完成啦,现在你只需要将这个 node 服务跑到你的服务器上就ok,这里就不演示了。

还能做什么?

就单独对于我们这个业务来说,有时候豆包总结是简单一句话,我们可以在 BOT 的设定中要求必须分条作答。

对于掘金而言,你可以做评论自动回复、关注后自动回复等功能,相当于一个额外的自动客服!

面向其他平台,可见如果你有了充分的准备,即使你不会这个平台的语言也没关系,我们只需要向豆包MarsCode 描述需求即可,我们可以很快的将脚本迁移到其他平台,或者开发其他平台的类似功能。

文末与感想

我是一名学生,在校期间我许多东西都在使用 AI 了,最简单的就是向 AI 查询代码问题和编写文稿了,这类 AI 的出现很大的降低了我的学习成本,事实上大部分时候我只知道这里可能需要什么,但是我不知道具体怎么做,那这个时候 AI 就能帮到我了。说这个就是希望大家不要无视 AI 的存在,我们必须要接纳它,让它成为我们的工具。

但是我却往往发现把 AI 落地的往往是一些非技术同学,他们利用 AI 生成视频、音频、配音,然后做一些自媒体靠流量产生收益,而我们技术的同学许多时候只是使用它做一些疑问解答和文档编写,真的很难不羡慕,那么对我们技术的同学来说也要想想如何将 AI 技术变现,产生商业价值。

总之,希望大家看完后可以动手试试看这个,引入豆包MarsCode 到日常开发里也能提高不少效率,相信你能发现更多有意思的东西!