普通视图

发现新文章,点击刷新页面。
昨天以前首页

谷歌的 NotebookLM 能生成中文播客了

作者 阮一峰
2025年5月1日 12:26

两天前,谷歌发了一个公告

它旗下的 AI 笔记产品 NotebookLM,现在支持50种语言生成播客了(原来只支持英文)。

我一定要分享这个消息,终于能生成中文播客了。这是我一直想要的功能,相信也是很多朋友想要的。

我演示一下,大家听听效果,会惊到你的。

首先,访问它的官网,点开右上角的设置,选择"Output Language"(输出语言)。

切换到"中文(简体)"。

然后,在首页新建一个笔记本。一般来说,一个学习主题,对应一个笔记本。

作为演示,我新建了一个"中国小说"的笔记本。进入后,在 Source(原始材料)标签页上传了鲁迅的《阿Q正传》。

注意,上传的文件格式目前只限于 PDF、TXT 和 Markdown。

另外,经过我测试,如果是图片扫描的 PDF 文件,它会自动进行文字识别。

接着,切换到 Studio(工作室)标签页,点击 Generate(生成)按钮,它就开始生成播客。

几分钟以后,播客就生成了,里面是一男一女在谈论你上传的资料。

大家听听看,是不是很像那些精心准备的真人播客。

NotebookLM 不仅可以上传文本材料,还可以针对网站和 Youtube 视频,生成播客。

我随便找了一个 Youtube 的英文视频,内容是国产旗舰手机的摄影能力比较。

下面是生成的播客

我听了以后,觉得都不必看视频了。而且,中文播客比英文视频,更容易抓住重点。

总之,有了中文播客以后,任何枯燥的学习资料,都能变成平易近人的播客节目。走路、休息、锻炼、开车的时候都能听,学习时间和途径都变多了。

需要注意的是,免费账户一天只能生成三个播客,更多需要付费。

除了播客,NotebookLM 的 AI 笔记功能,也非常好用。

你可以上传自己的学习材料,也可以用它搜索某个主题的学习材料。

下面是我用它搜索 PostgreSQL 数据库的学习材料。

指定学习材料以后,你可以跟这些材料聊天。

它还会自动生成各种笔记:学习指导、内容摘要、常见问题、时间线等等。

以上就是 NotebookLM 的基本用法。

我的评价是,NotebookLM 是一款革命性的笔记工具,属于少数几个真正有重大用处的 AI 产品。

它会改变做笔记的方式和学习方式,每个学习者都应该知道有这样一个工具。

它属于谷歌的产品,似乎还没有竞品,希望国内的厂商能够做出替代品。

(完)

文档信息

  • 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证
  • 发表日期: 2025年5月 1日

巨头的新战场:AI 编程 IDE(暨 字节 Trae 调用 MCP 教程)

作者 阮一峰
2025年4月22日 15:08

一、引言

本周,我要加写一篇文章。

因为 AI 编程 IDE 突然成了热门,国内外都有大事发生。

先说国外,OpenAI 要用30亿美元收购 Windsurf

这个消息太惊人。Windsurf(前身叫做 Codeium)的历史很短,发布至今两年多,市场份额也不高,居然值这么多钱!

OpenAI 最新一轮融资(今年3月)不过400亿美元,现在一下子要拿出30亿去收购,看中 Windsurf 哪一点呀!

OpenAI 自己没有编程助手,所以唯一的解释是,它要收购 IDE 打入 AI 编程市场,这个市场对它很重要。

二、MarsCode 更名 Trae

再看国内,字节也有大动作。

它旗下的编程助手,最早是 MarsCode 插件,后来又多了一个独立的 AI IDE 产品 Trae

本周,MarsCode 宣布改名为 Trae 插件,不再作为独立品牌发展了。

以后,字节的 AI 编程助手,将只有 Trae 这一个品牌,分成两种产品形态。

习惯传统 IDE 的用户,可以加装 Trae 插件;想要更好 AI 体验的用户,可以安装独立的 Trae IDE。

这个消息公布的同时,Trae 新版本也一起发布,加入了重磅的新功能(后面会详谈)。

可以看出,字节是下了决心,整合了产品,准备在 AI 编程工具上发力了。

三、AI IDE + MCP

为什么国内外的巨头,在同一个时间,不约而同都看上了 AI IDE?

我猜想,答案是 MCP 的出现。

有了 MCP 以后,AI IDE 可以扩展外部能力,从而无所不能,这让它成为巨头的必争之地。

下面,我来解释 MCP 是什么,怎么在 Trae 里面调用。大家看了,就会理解为什么 MCP 这么重要。

四、Trae 的简介

我选择 Trae 来演示,主要因为它是国产软件,有中文界面和文档,并且完全免费(国外产品都需要付费)。

前面说过,Trae 分成插件和 IDE 两种形态,它的 IDE 又分成国内版和海外版。这些产品的功能基本一致,就是内置的 AI 模型不一样。

国内版:内置 deepseek R1、V3、v3-0324 和 doubao 1.5 pro 模型

海外版:内置 Claude 3.5、3.7,Gemini 2.5 pro,GPT-4o、GPT-4.1 模型

我建议使用国内版,因为海外版的内置模型经常需要排队,很浪费时间,而且可能还会通信不畅。

不过,这两个版本都支持自定义模型,你可以提供密钥,接入你指定的模型。所以,版本的差别也不算很重要。

顺便提一下,Trae 这个词的意思是"The Real AI Engineer"(真正的 AI 工程师)。我以前总是以为 Trae 的意思是 True Ai。

五、Trae 的新版本

Trae 的 MCP 调用功能,是从新版本 v0.5.0 开始加入的。

没安装的朋友,可以去官网下载新版。已经安装的朋友,请检查一下版本。

它的界面这一次简化了,聊天框和 Builder(项目生成)合并成一个对话框(下图)。所有跟 AI 的对话,都在这里输入。

上图中,左下角多了两个按钮:"@智能体"和"#上下文"。这就是本次新增的核心功能。

至于 Trae 的基本用法,这里就不提了,可以看以前的文章

六、调用智能体

MCP 调用的入口,就是上图左下角的"@智能体"按钮。

如果想要扩展 AI 的功能,就要使用这个按钮。因为 AI 模型的本质只是语言模型,自身的功能是有限的,必须通过外部应用(智能体)来扩展功能。

点击"@智能体"(或者输入@),就会弹出一个对话框,显示目前可用的智能体(下图)。

可以看到,Trae 内置了两个智能体:"@Build" 和 "@Builder with MCP"。

其中,"@Build"用来让 AI 生成一个可运行的新项目。

@Build 俄罗斯方块网页小游戏

输入上面的命令,就会生成一个 HTML 文件,打开就是俄罗斯方块小游戏。

另一个内置的智能体"@Build with MCP",就是用来连接 MCP 服务器。

七、MCP 是什么

我先解释一下,MCP 是什么,很容易理解。

我们知道,AI 模型通过连接外部应用,来扩展功能。每个外部应用的接口,都不一样,如果要接入10个应用,就要写10种接入代码,非常麻烦。而且,要是换一个模型,可能所有接入代码都要重写。

有鉴于此,Anthropic 公司在2024年11月提出了 MCP 协议。外部应用只需要支持这个协议,提供一个 MCP 接口(又称 MCP 服务器),那么 AI 模型就可以用统一的格式接入,不需要了解外部应用的接入细节。

所以,MCP 可以理解成一个 AI 与外部应用之间的适配层。对于 AI 来说,只要安装某个应用的 MCP 服务器,就能接入该应用,不用写任何代码(除了少数的配置项)。

由于 MCP 解决了 AI 应用的接入痛点,诞生至今仅半年,已经变得极其流行,就连 Anthropic 的竞争对手 OpenAI 公司都公开支持,网上开源的 MCP 服务器项目已经有上万个。

八、调用 MCP

现在就来看 Trae 怎么调用 MCP。

点击 AI 标签栏右上角的齿轮图标,弹出一个菜单,选择菜单项 MCP。

它会跳出一个 MCP 的标签页(下图),点击底部的"+ 添加 MCP Servers"。

Trae 内置了 MCP 市场,提供一些常用的 MCP 服务器。如果里面没有你需要的,可以点击"手动配置",添加你自己的 MCP。

为了便于演示,我选择第一个服务器 Puppeteer,让 AI 可以调用无头浏览器。

鼠标点击 Puppeteer 的名字,会进入该开源项目的主页,可以查看一下它提供的内部命令(即能力)。

上图中可以看到,这个 MCP 服务器提供 puppeteernavigator(打开指定网址)、puppeteerscreenshot(截图)、puppeteer_select(选中页面元素)等内部命令,供 AI 模型调用。

用户不需要记住这些命令,只需了解它有哪些能力就可以了。

接着,点击它后面的加号,添加该 MCP 服务器。

这个 MCP 带有"轻松配置"标签,表示不需要任何设置,可以直接运行。

所有自己添加的 MCP,默认都放在内置的智能体"@Build with MCP",所以可以通过这个智能体来使用。

在 AI 对话框里面,选中智能体"@Build with MCP",然后输入下面的命令"打开 https://www.baidu.com",试试看新安装的 Puppeteer 服务器。

正常情况下,Trae 会让你选择一个项目文件夹,然后就会打开一个浏览器窗口,显示百度的首页。

这就是 MCP 的作用。AI 本来没有能力控制浏览器,但是现在就可以通过 MCP 来控制。

接着,可以给出一些更复杂的命令,比如生成截图,也能顺利完成。

这就是调用 MCP 的基本流程。你还可以把添加的 MCP 服务器保存成智能体(下图)。

然后,通过你起的名字,调用该智能体(下图),从而连接指定的 MCP 服务器。

九、上下文功能

除了 MCP 调用,Trae 的本次更新,还加强了上下文功能,这里也简单提一下。

所谓上下文,就是额外提供的信息,帮助 AI 模型思考,来完成任务。

通过#号,可以调出上下文菜单。

从上图可以看到,可以提供的上下文,包括额外的代码(code)、文件(file)、目录(folder)、工作区(workspace)。

本次更新多了两个选项,"Doc"表示额外的文档。

点击"添加文档集",就可以添加文档目录,作为 AI 模型的上下文。

另一个选项"Web",表示用网上信息作为上下文。这为 AI 提供了实时联网能力。

上图的实时天气问题,AI 只有具有联网能力,才能回答。

十、总结

有了 MCP 调用和联网能力,AI IDE 就具备了巨大的想象空间,不仅仅是编程工具,而成了一个无所不能的 AI 控制台。

那些大公司一定是看到了这一点,所以才愿意投入大量资源,去做这个产品。

我认为,在 AI IDE 里面调用 MCP 服务器,将成为近期软件业的热点,值得大家重点关注。

(完)

文档信息

  • 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证
  • 发表日期: 2025年4月22日

办公类 AI 初探:扣子空间

作者 阮一峰
2025年4月21日 10:50

一、AI 的风口

问问大家,AI 产品的风口是什么?

我的意思是,什么样的产品有最大的机会。

现在的 AI 多如过江之鲫,大部分都是昙花一现,走不远。

在我看来,最有机会的产品,既不是面向普通大众的问答类 AI,或者内容生成 AI,也不是面向开发者(API 用户)的编程 AI。

真正的风口是办公类 AI

企业和个人的办公市场巨大无比,而且有真金白银。

谁能把 AI 引入文档、会议、决策......,谁就会吃到肉。就像 Office 软件是商业软件之王一样,企业级办公 AI 也一定会是 AI 的销售之王。

二、办公类 AI 的现状

不过,办公类 AI 眼下寥寥无几。不要说赢得市场,就连想得起名字的产品都不多。

究其原因,一是 AI 现阶段的能力,还达不到企业级软件的安全、稳定、准确、高效。

二是办公类 AI 到底是什么样的产品形态,大家还在摸索。

我一直非常关注这个领域,对于新出现的办公类 AI 有着强烈的兴趣。

下面介绍一个新产品"扣子空间",我这些天一直在试用。大家看看,它怎么用 AI 完成办公任务。

三、扣子空间

先说一下,扣子(coze.cn)是一个国内的平台,提供基于浏览器的低代码环境,来搭建 AI 应用,有免费额度。

我一直是它的用户,以前还写过文章,介绍它的工作流模式:在图形化界面上,用鼠标编排 AI 工作流,生成独立应用。

工作流模式号称不需要编码,小白也能用,但用户最好有编程基础,所以还是有一点点门槛。

于是,扣子现在又推出了"扣子空间",真正零基础,无门槛完成任务。

它的最大特点是,内部自动调用各种 Agent(智能体),不需要用户介入,就能完成各种任务。你可以把它想象成一个"Agent 的自动调用器"。

对于用户来说,因为有了底层的 Agent 能力,它不仅可以回答问题,还能解决问题(任务),从而成为你的办公助手和工作搭子。

正如它的宣传语:"和 Agent 一起开始你的工作"。

注意,它现在需要邀请码,可以去扣子公众号和扣子空间官网(space.coze.cn)领取。

四、界面

扣子空间的网址是 space.coze.cn,点进去就可以使用。

界面很简单,左侧是任务列表,右侧是一个对话框,用来输入新任务。

执行任务要求时,默认是"探索模式",AI 自动完成各个步骤,速度较快。

你也可以改成"规划模式",显示 AI 思考的中间步骤,便于随时调整。

除此以外,就没有需要设置的地方了,很符合直觉。

五、任务示例

下面是我的一些使用实例,都是办公类的任务。

大家看看,它完成得怎么样,像不像一个精通各种技能的实习生。

5.1 撰写研究报告

最常见的办公任务,肯定是撰写文档。我让 AI 撰写下面的研究报告。

我需要一篇研究报告,关于上海茶饮行业近几年的发展情况,以及投资机会的分析,包括行业发展、热门产品等信息。

注意,文档类的任务最好指定输出格式,否则生成的内容以 Markdown 格式展示在对话页上,不方便利用。

我一般是在提示词最后,加上这样一句。

同时做一个可视化的网页。

开始运行后,它就会分解任务,按步完成。

最后,它给出生成的 markdown 文件和网页文件。

你可以在新窗口打开网页预览。下面就是它生成的网页,图文并茂,有数据也有论述。

整个报告分成四个部分,可以根据需要增减,自己使用或交差,总体上没有问题。

5.2 多种输出格式

前面说过,扣子空间内置了各种 Agent。

除了生成网页的 Agent,还有生成 Office 文档、PDF、飞书文档的 Agent,都可以用,下面是一个例子。

帮我比较一下T3、滴滴出行、高德,作为新手网约车司机,在重庆跑,哪个平台最推荐,并说明详细原因,输出一份飞书文档。

由于飞书文档是带有布局的,实际生成时,也是从文字报告生成网页,然后系统提示你将网页内容复制到飞书。

如果输出 PDF 文件或幻灯片 PPT 文件,系统会直接给出文件下载。

我正在编排行程,目的是安徽皖南地区,包括黄山和当地的其他风景点,请详细研究行程、交通路线、景点介绍、门票、住宿和当地饮食等信息,形成一份完整的行程安排,以 PPT 形式展示。

它生成了一个28页的 PPT 文件,下载后,完全可以直接上台演示。

5.3 表格能力

办公类的 AI,一定要有表格处理能力。

请生成一个表格,包含上证50指数成分股,及其最新的收盘价。

默认情况下,表格生成后,会显示在网页上。

系统还会给出一个 csv 文件,供下载。

如果想要完备的电子表格功能,可以把 csv 文件导入电子表格软件。

5.4 其他功能

扣子空间内置的 Agent 很多,还可以调用高德地图、生成网页游戏等等。

请生成一个互动式的学习网站,帮我学习 CSS 的 oklch 颜色函数。

上面是网页小游戏的例子,下面是调用地图的例子。

用高德地图分析一下上海外滩地区所有瑞幸咖啡的门店选址,做成一个可视化的网页给我。

如果内置的 Agent 不足以满足需求,你还可以设置让它接入各种 MCP,扩展能力。

5.5 专家系统

最后,它还自带了专家系统,也就是高级的专业知识库,提供深度的分析能力。

目前,内置了两个专家系统:用户研究专家和 A 股观察助手。

前者用来用户问卷调查、访谈、生成分析报告;后者用来分析自选股和大盘,提供研究分析报告。

深度的分析和处理任务,需要特定的专业知识,可以试试它们。

六、总结

经过初步的试用,我对扣子空间评价很好,非常好用的办公助手和 AI 实习生,确实能够提高办公效率。

我觉得,它的设计思路很正确,自动调用各种 Agent,既能扩展各种能力,又能消除了上手难度,同时具备深度研究(deep research)能力。

更难得的是,它的完成度相当不错,没遇到明显的 bug,可以用于实际的办公。

总之,作为办公类的 AI 产品,它的"工作搭子"的模式,我觉得可用也可行。

后面,办公类 AI 产品相信会大量涌现,鉴于它的重要性,我还会介绍和评测更多。

(完)

文档信息

  • 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证
  • 发表日期: 2025年4月21日

Trae 国内版出来了,真的好用吗?

作者 阮一峰
2025年3月3日 16:00

年初一月份,我就看到新闻,字节面向海外发布了一款 AI IDE,叫做 Trae

我心想,现在的 IDE 都有 AI 插件,功能完备,字节自己也有 MarsCode 插件,有必要再做一款单独的 IDE 吗?

我就没有特别关注这个工具。

上周,我遇到字节的同学,得知 Trae 国内版就在本周发布,我还提前拿到了内测版,这可是国内市场的首个 AI 原生 IDE。

今天,就来说说我的使用心得,顺便也探讨一个更大的问题:AI 工具已经这么多了,该不该造新的轮子?

先透露一下结论:Trae 国内版值得用。它作为一个 AI IDE,整体比插件好用,而且内置的大模型----豆包 1.5 pro、DeepSeek 满血版----无限量免费使用。

一、国外版与国内版

介绍使用体会之前,我先解释一下,两个版本的区别,主要是模型的差异。

Trae 国外版使用国外的模型,对于国内用户来说,存在连接不上、等待时间长、网速较慢等问题。

Trae 国内版使用国内的模型,连接可以保证稳定快速,界面也根据国内用户的习惯进行了定制。

我也问了字节的同学,Trae 国内版和 MarsCode 是什么关系。回答是,它们是同一个团队的作品,适用于不同场景

如果你想保留原来使用的 IDE,只增加 AI 编程相关功能,那就用 MarsCode 插件。如果想体验一个全新的围绕 AI 设计的原生 IDE,那就试试 Trae。

这两个产品后续都会长期开发,可以根据自己的需要选择。

二、安装

Trae 国内版需要去官网 trae.com.cn下载。

目前,有三个版本:Windows 版、macOS Intel 芯片版、macOS M 系列芯片版。

安装启动后,会出现下面的画面。

接着,让你选择亮色/暗色主题,以及语言(简体中文)。

它还会问你,要不要导入原来 IDE(VS Code/Cursor)的配置,算是很贴心的设计了。

最后,问你要不要登录。不登录也可以用,只是某些功能会受到限制。登录的话,就跳转到 Trae 官网,用你的手机号登录。

一切完毕,就会进入使用界面。

三、使用界面

Trae 的使用界面,相当简洁。左侧就是 VS Code 的界面,熟悉的话,上手没有任何难度。

界面的右侧是 AI 区域。可以看到,它分成两个模式:Chat 和 Builder。

Chat 模式是默认模式,也就是问答模式。AI 回答问题,也可以生成代码,但不会生成项目,需要自己手动把代码复制过去。

Builder 模式是项目模式,你给出文字描述,让 AI 一键生成项目。

下面,就来试试这两个模式。

四、Chat 模式

Chat 模式的主体就是一个对话框,右下角按钮可以选择底层模型。

国内版目前有三个模型可供选择。

  • 豆包 1.5 pro
  • DeepSeek R1
  • DeepSeek V3

这三个模型都是免费无限量使用,DeepSeek 系列模型都是满血版。我实测,速度令人满意,能够较快地给出回答,没有遇到"服务器繁忙"的提示,包括最耗时的 DeepSeek R1 模型都是如此。

至于,回答问题的质量,老实说,现阶段领先的大模型,这方面已经没有太多可挑剔的了。

任何问题都可以问,包括非技术类的问题。

我直接让它生成代码,回答的格式非常友好。

大家注意,上图中,第一个代码块是终端代码,右上角有三个按钮(下图)。

上图右上角的三个按钮,分别是"复制"、"添加到终端"和"运行"。如果点击后两个按钮,会直接把代码传入 Trae 内置的终端,就像下面这样。

这部分,我感觉用起来比插件版流畅,整体感更强,这大概就是把 AI 做成 IDE 的好处了。

五、Builder 模式

再看 Builder 模式,它可以一键生成项目。

点击上方的标签页,切换到该模式。可以看到,第一次进入,会有一个"启动 Builder"按钮(下图)。

系统会提示你(下图),这里可以从零到一完成项目构建,并且所有修改会自动保存,并显示两个示例项目:贪吃蛇和 Todo List。

为了测试正常的流程,我就直接在下方的对话框输入:"请用 React 生成一个 Todo List 应用。"

系统会提示你指定一个目录,作为项目目录。然后,它不断给出操作步骤(下图)。

上图中,需要执行具体的命令时,它会附有"运行"按钮,要你点击确认。

点击后,Trae 会自动打开内置的终端,执行该命令(下图)。

然后,它会一个个生成所需的文件,要求你审查。

所有文件生成完毕,就出现了启动本地预览服务器的命令。

运行后,Trae 会启动一个内置的 webview 页面,展示渲染效果,实时更新。

这个很赞,任何修改都可以马上看到结果。

但是我必须说,不知道是不是内测版的缘故,Builder 模式目前还不完善,只适合为项目生成架构,做不到一步到位,离理想状态有些差距。我试了多次,如果需求复杂一点,生成的代码很难一次就跑起来,需要多次修改。大家对它要抱有合理期待,这个模式后续还需要不断完善。

六、其他功能

除了两大模式,Trae 的其他功能也可圈可点。

(1)代码智能补全。

这是 AI 编程助手的基本功能,就不多说了。只要按回车键换行,Trae 会阅读并理解当前代码,然后自动补全后续代码。

如果有注释,它会根据注释,生成缺少的代码。

(2)指定上下文。

Trae 允许指定对话的范围(上下文)。具体方法是在对话框输入#号。

上图中,在对话框输入#后,系统就会自动弹出一个菜单,让你选择上下文(context),一共有四种。

  • Code(代码)
  • File(文件)
  • Folder(文件夹)
  • Workspace(工作区)

默认的上下文是当前工作区(Workspace,即目前打开的项目),也可以指定为某个函数或类(Code)、某个文件(File)、某个文件夹(Folder)。

一旦指定了上下文,AI 的回答会更有针对性。比如生成代码时,就会结合上下文的场景。

(3)一键转对话。

为了方便地将代码编辑框的内容,传送给 AI,Trae 提供"一键转对话"按钮,省去了复制粘贴的麻烦。

上图中,选中某段代码,系统就会弹出"添加到对话"的浮动菜单,一键复制到 AI 对话框,便于提问。

终端窗口的报错信息,也有这个功能(下图),这就很方便让 AI 来 debug。

(4)模型自定义功能。

我听字节的同学说,Trae 后面会支持模型自定义功能,用户可根据自己的喜好,接入对应的模型API。

七、总结

我试用 Trae 国内版后,感到它有几个显著优点。

(1)产品设计周全,最常用的场景都考虑到了,用户体验比较流畅。

(2)界面友好,交互设计良好,开发者容易上手。

(3)AI 模型(包括满血版 DeepSeek)无限量免费使用,响应始终稳定快速。

不足之处是 Builder 模式还不够强,生成的程序有 bug,第一次生成往往跑不起来,需要不断调整,耗时较多。

总结就是,一个完整的 AI IDE 还是比 AI 插件,用起来更容易,有"一体感",达到了更大的定制程度。

随着 AI 的能力进一步发展,AI IDE 的想象空间会更大,也许会成为未来 IDE 发展的主要方向。

Trae 国内版刚刚上线,开发团队希望大家下载试用,多提宝贵意见。

(完)

文档信息

  • 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证
  • 发表日期: 2025年3月 3日

AI 搞定微信小程序

作者 阮一峰
2025年1月16日 08:23

一、前言

AI 生成代码,早不是新鲜事了,但是 AI 生成微信小程序,似乎还不多见。

究其原因,大概是小程序的开源项目较少,模型训练不好搞。

上周,我遇到腾讯的同学,得知"腾讯云开发"最近有一个大的版本更新,大幅加强了小程序的 AI 能力。我还挺期待的,腾讯自己搞小程序 AI,要比其他人更合适。

后来,我试用了本次更新的 AI 功能,有一个强烈的感觉,微信小程序可能很快就会成为国内 AI 应用(又称"智能体")的主要载体

因为本次更新以后,小程序调用 AI 模型,以及生成智能体,变得非常方便。并且,小程序从 API 到开发工具,都把 AI 整合进去了,整个开发过程都有 AI 辅助,不仅开发效率提高了,而且大量代码可以通过 AI 生成。

下面就是我的试用过程的介绍和记录。这些功能都是公开的,大部分已经上线,剩下的也即将发布,大家现在就可以跟着做,体验 AI 生成小程序。

二、云开发助手:进入方法

我的第一步是体验小程序的"云开发助手"(又称云开发 Copilot)。它的作用是通过 AI 加快小程序的开发

它的全功能版,目前要通过"腾讯云开发平台"网站使用。

此外,还有一个游客版的小程序,可以体验部分功能。如果你手边只有手机,可以先试试游客版。

手机上,点击"从 AI 开始探索云开发",就能进入。

手机版看一下就可以了,正式的开发还是要使用网站。本文下面的内容,都是基于网站的全功能版。

首先,登录"云开发平台"后,页面右下角就会出现小助手图标。

点击它,就能打开"云开发助手"。

它的右上角有一个"全屏"图标(下图)。

点击进入完整界面。

三、云开发助手:文档功能

"云开发助手"的主要功能如下图。

这些功能可以分成两大类,一类是文档相关的功能,另一类是代码生成。

先看看文档功能。

(1)Copilot

这个功能是 AI 问答引擎,任何关于小程序的问题,都可以向它提出。

这大大减少了文档查阅,有些简单的函数,可以让它生成,还能让它教你如何开发小程序。

(2)AI 识图

这个功能是通过上传页面截图(或者设计稿),生成需求文档。

我上传了一张抽奖的转盘。

它生成了如下的需求文档,用文字详细复述了这个页面的界面布局、设计细节、功能需求等。

大公司的程序员,一般都是根据产品需求文档(PRD)进行开发,所以这个功能可以简化产品经理的工作,需求文档也可以作为 AI 代码生成的文字记录保存下来。

生成的需求文档,下一步可以传入"云开发助手",来生成页面代码,所以它也是 AI 生成小程序的中间步骤。

(3)写需求高手

这个功能跟"AI 识图"作用相同,都是生成需求文档,区别是它输入文字描述。

由于不需要截图,它适合只有功能需求、没有设计稿的场景,即让 AI 来设计页面。

四、云开发助手:生成小程序前端代码

接着,我们就来试试,让"云开发助手"生成小程序的前端代码。

选择左侧菜单的 "AI 生成可视化应用",这个功能就是根据截图或者文字描述,直接生成应用(Web 或者小程序)。

上传一张微信页面的截图。

它会自动生成该截图的页面代码,可以预览效果(下图)。

可以看到,生成的页面还原了原始布局,但是有许多细节差异。

目前阶段,好像还做不到100%还原,比较适合当作代码基础,在它生成的页面基础上,进行手动细节调整。

除了上传截图,还可以输入文字描述(或者上一节的需求文档),也能生成应用。

让它生成程序员的个人小程序,效果还是可以的。

预览初步效果后,你可以在云开发平台上,直接线上编辑代码。

编辑完这个页面以后,还可以反复这个过程,向小程序添加更多页面(下图)。

有了多个页面,就能设置页面之间的跳转,这样就基本是一个可用的小程序了。

调整小程序的样式时,云开发助手还提供了一个贴心的功能"AI 编辑组件样式",也就是根据指令,自动修改样式。

上图就是让 AI 为页面添加渐变背景,这样修改样式,就方便了很多。

大家可能看到了,左侧菜单栏还有一个"AI 生成组件"的功能。该功能用来生成页面的组件,适合为现有的页面添加功能。但是,它暂时只支持 Web 应用,不支持小程序,所以这里就忽略不介绍了。

完成前端开发以后,云开发平台可以直接发布小程序。当然,你也可以复制或者下载代码,通过微信开发工具发布。

五、云开发助手:生成小程序后端代码

小程序除了前端 UI 代码,还需要后端的业务逻辑和数据库读写。"云开发助手"也能生成后端代码,主要用到下面两个功能。

(1)AI 生成云函数

云函数是微信平台在云端执行的函数,可以用来获取各种后端能力。

"云开发助手"可以帮我们生成云函数。下图就是让 AI 生成获取小程序 OPENID 的云函数。

AI 在给出示例代码的同时,还会展示各个文件的写法(下图)。

如果你觉得可以接受,就点击"创建云函数"按钮 ,代码就会进入新打开的云 IDE 环境,用来编辑和调试。

编辑完成后,点击"部署"按钮,就可以将云函数部署到线上了。

(2)AI 生成数据模型

这个模型用来生成数据库的数据模型(也就是"表结构")。

比如,生成一个博客的数据模型,包括文章、作者和评论。

点击"查看",显示一个 JSON 数组,表示数据结构。

点击"确认生成",数据结构就会以表格形式呈现,确认没有问题,就可以保存。

六、AI 大模型接入

上面都是介绍"云开发助手",即 AI 辅助小程序开发。下面介绍 AI 开发的另一个重头戏:如何做出 AI 智能体的小程序,也就是让小程序本身具有 AI 功能。

还是在"云开发平台",左侧菜单选择 AI+。

这时,页面会让你选择,接入大模型还是开发智能体(下图)。

(1)开发智能体(AI Agent)

这里可以简单把"智能体"想象成一个 AI 对话应用,用户输入要求,AI 给出响应。

腾讯云开发平台将"智能体"的后端大模型,默认指定为腾讯的混元模型。

你自己需要定制开场白、提示词、知识库(你自己的训练材料)。

然后,定制前端界面(对话组件)。

基本流程就完成了:用户在前端界面,根据开场白的提示,输入他的要求,系统收到后,传给后端模型,再将回复展示给用户。

是不是很简单?一个智能体就这样做好了。

(2)AI 大模型接入

如果选择自己接入大模型,页面会根据开发类型(Web/小程序/云函数),给出接入指引。

小程序 API 已经对大模型做了适配,按照指引,只要几行代码就能接入。

具体来说,从小程序基础库3.7.1开始,新增了wx.cloud.extend.AI对象,专用于 AI。

  • wx.cloud.extend.AI.createModel():用来接入大模型
  • wx.cloud.extend.AI.bot:用来调用智能体

用了这个 API,就不需要任何 SDK,也不需要后端服务器,系统直接负责 AI 接入,同时处理好鉴权、加密、流式传输,不需要用户介入。

下面是示例代码,详见官方文档

七、总结

以上就是我试用的全部内容,我的总体感觉是,这些已经做好的部分,对小程序的开发有巨大的助力。如果你正在开发小程序,一定要试试这些功能。

小程序的 AI 能力,后面还会持续扩展。腾讯希望把云的基础设施、微信小程序、AI 大模型都打通,从而让小程序开发的门槛更低,效率更高。

我听腾讯的同学说,下一阶段有几个开发重点。

(1)用 AI 生成前后端完整的小程序,进一步与微信开发环境打通。

(2)加强 AI 的代码生成能力,搭配小程序模版和低码编辑器,快速生成小程序。

(3)在 AI 的帮助,无痛接入数据库和调用云函数。

(4)客户端、服务端、大模型三者之间数据交互的标准化和统一接口。

上面的每一点,都能解决目前小程序开发的痛点,期待早日看到突破。

(完)

文档信息

  • 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证
  • 发表日期: 2025年1月16日

Do not play 100% Orange Juice on Linux or Steam Deck

作者 石樱灯笼
2024年12月14日 21:38

TL;DR: The Developers in charge of Steam Cloud Save File Sync for 100% Orange Juice don’t know how to handle it. They may mess up your save files, and you may be unaware of it until the loss is done.

Notice: This advice may become obsolete in the future.

Notice 2: English isn’t my native tongue.

Developers are stubborn.


I will use 100oj as 100% Orange Juice for short.

100oj is a beloved game. I declare it as the best online board game ever, with no hesitation.

The Beginning of Playing 100oj on Linux

The very original 100oj is surely made for Windows.

The earliest Steam page capture from web.archive.original

screenshot_on_b85m_by_flameshot_at_2024-12-13_17-40-21

Meanwhile, Valve is making Steam OS, and then, Steam Deck. Proton made Playing Windows Games on Linux become a real thing. (Nah, I don’t want to talk about wine. No one would really want to use those for real generic gaming).

So basically, Proton is a fork of Wine, and this software can run Windows games on Linux, and players don’t need to worry about most of the How to run Windows games on Linux things.

It is also very convenient for most game Developers. Proton just works. No need to change anything, unless you use some very unrecommended/unofficial/deprecated/obsoleted Windows API, which may happen in very old days.

100oj v3.3 on Linux Mint.

screenshot_by_flameshot_at_20210119135409

Sora on Linux Mint.

screenshot_by_flameshot_at_20210117104610

Funny thing is, the OP animation is in WMV format (Windows Media Video), which was made by Microsoft and was not kind of an open/free format. So if you play Sora on Linux with Proton, the game will crash if you stay at the start screen long enough, and try to wait for the OP animation to play.

screenshot_on_b85m_by_flameshot_at_2024-12-14_17-57-13

Funnier thing is, the OP animation WMV file is actually

  • Container: WebM
  • Video Coding: VP9
  • Audio Coding: Opus

All of them are open and royalty-free.

screenshot_on_b85m_by_flameshot_at_2024-12-13_18-24-57

Well, let’s not talk about Sora right now.


The Official announcement: Support for 100oj on Linux?

I don’t remember when it was exactly.

The wiki says it was Sep 20th, 2024, v3.23 Versioned Hotfix 1, but the official Discord announcement is Oct 6th, 2024.

screenshot_on_b85m_by_flameshot_at_2024-12-13_18-42-57

screenshot_on_b85m_by_flameshot_at_2024-12-13_18-39-08

screenshot_on_b85m_by_flameshot_at_2024-12-13_18-37-55

100oj now officially has a Linux native build.

This is where/when/how a nightmare begins.


The first time when an inexperienced programmer gives a name without knowing case-sensitive

Here it is. You can read the paragraph heading, and if you know Linux, you already know what I am talking about.

On Oct 7th, 2024, while I was checking on the Linux side, I found my save file on the Linux side is kinda outdated compared to the save on the Windows side, despite Steam already saying Cloud Status is Up to date. Also, the Free Weekly Character is different from the Windows side.

Turned out there were two directories.

screenshot_on_b85m_by_flameshot_at_2024-10-07_15-55-32

I posted this on the official Discord Support Channel.

screenshot_on_b85m_by_flameshot_at_2024-12-13_22-29-34

After that, a developer from 100oj Official replied:

screenshot_on_b85m_by_flameshot_at_2024-12-13_22-21-26

So basically, the old Steam-Play, aka the Proton one worked fine, but when the Linux native build came out, they messed up the path because of case-sensitive.

That’s kinda acceptable for a developer who doesn’t have much experience on Linux.

Well, the easiest way to fix my problem is, because I play 100oj on Windows most, I just wanted to keep the Windows savefile, so just delete both Save and save on my Linux side, and let Steam re-sync from the steam-cloud. That worked well.

I thought this case-sensitive crisis was over.


Major update 3.24

Well the most recent major update of 100oj is 3.24, released on Nov 24th, 2024.

Talking from my point of view, it was a terribly stupid idea to accomplish all these at one time.

  • Adding new play mode
  • Graphics engine changing
  • New Platform MacOS support
  • Dropping support for 32bit

I mean, what are they? Fresh inexperienced just-graduated noob programmers? What are they thinking?

100oj game crashed, a lot, after that release. The Discord support channel became a total mess.

Look at the Version 3.24 release note on orangejuice.wiki. There are one versioned hotfix and 4 unversioned hotfixes, lasting for 16 days. You should know it was a mess.


Linux Steam Overlay Issue

I mean, look at this one:

screenshot_on_b85m_by_flameshot_at_2024-12-13_22-58-08

This was reported by me, and what’s the first reply I received?

screenshot_on_b85m_by_flameshot_at_2024-12-13_23-01-01

“You are not doing that right that’s your fault lmao bronze you noob gamer trash.”

Well funny thing: the 100oj start-entry is a shell script. It looked like this:

screenshot_on_b85m_by_flameshot_at_2024-11-27_20-59-32-2

To no programmers, I will explain it: The script wants to load a file, and it should be at ‘/home/rapha/.steam/debian-installation/ubuntu12_64/gameoverlayrenderer.so’. The path is formed with:

  • Prefix ‘/home/’
  • User name ‘rapha’
  • Steam installation directory ‘/.steam’
  • Steam file ‘/debian-installation/ubuntu12_64/gameoverlayrenderer.so’

There are two problems.

The first one: Who is rapha? It’s not me, obviously.

The second one: in the Steam installation directory ‘/.steam’, the file ‘ameoverlayrenderer.so’ is actually located at ‘/ubuntu12_64/gameoverlayrenderer.so’, thus there is no such a prefix ‘/debian-installation/’.

After some tests, I figured out there were some useful variables when starting something from steam client.

 

https://www.bilibili.com/video/BV1R6BRYmEoD/

Both STEAM_BASE_FOLDER and STEAM_COMPAT_CLIENT_INSTALL_PATH are reliable. I also searched on Google but didn’t find any official valve/steam document about how to locate where the steam client is installed.

I recommended “$HOME/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so” and “${STEAM_COMPAT_CLIENT_INSTALL_PATH}/ubuntu12_64/gameoverlayrenderer.so”, but got refused.

screenshot_on_b85m_by_flameshot_at_2024-12-14_00-01-24

Well of course he didn’t know what a symbolic link is.

During the discussion, a new unversioned hotfix was released:

  • Fixed Steam Overlay not working on Linux.

screenshot_on_b85m_by_flameshot_at_2024-12-14_00-04-30

Fixing by this:

screenshot_on_b85m_by_flameshot_at_2024-11-27_20-59-32-1

So they removed the ‘/home/rapha/’ part but still kept the ‘/debian-installation/’ there. I don’t know why.

screenshot_on_b85m_by_flameshot_at_2024-12-14_00-03-37

I asked. No response.

Thankfully, some Linux users are aware of that and they know how to search and read.

screenshot_on_b85m_by_flameshot_at_2024-12-14_00-04-04

Turns out there is no need to  load the steam overly library manually when start from Steam.

Well, at least I helped someone.

Note: Right now they have fixed it stealthily, with no release notes. The entry script is just like this:

screenshot_on_b85m_by_flameshot_at_2024-12-14_00-27-59

 

Well. No credit to me.


The save path issue continues

Now they supported MacOS.

New platform, new steam cloud sync issues.

They even made a post on How to deal with save problems.

screenshot_on_b85m_by_flameshot_at_2024-12-14_00-15-16

But there isn’t any of the cross-platform savefile case-sensitivity issue information. I had to ask for adding that part.

screenshot_on_b85m_by_flameshot_at_2024-12-14_00-17-31


Mess up steam cloud sync again

I think it’s about Unversioned Hotfix 4 when they tried to fix the macOS saves sync issue.

After that update, my Linux 100oj couldn’t sync saves anymore.

screenshot_on_b85m_by_flameshot_at_2024-12-10_01-13-03

I tried the old way, removing all save files on Linux, expecting that steam client could just download the saves from steam cloud.

screenshot_on_b85m_by_flameshot_at_2024-12-14_00-29-54

Nope, that was not happening.

After a lot of trying and testing, I figured out what is happening.

screenshot_on_b85m_by_flameshot_at_2024-12-11_23-29-04

On Linux, 100oj is using both Save and save at the same time. When there are no save files:

  1. Try to convert old format saves user.dat into the new format at save/{userid}/, which the file should be very old before steam family sharing
  2. Uploading save files at Save/{userid}/
  3. If anything is missing when uploading, steam will call Unable to sync / Cloud Conflict
  4. Stuck.

screenshot_on_b85m_by_flameshot_at_2024-12-14_00-53-13

And here is the official response.

screenshot_on_b85m_by_flameshot_at_2024-12-14_00-48-47

See, that’s why I didn’t even bother explaining it.

screenshot_on_b85m_by_flameshot_at_2024-12-14_00-50-43

And you thought at least they managed to make macOS work? Too bad. Look at this screenshot of a macOS user’s Steam Cloud Storage, and see what a mess they had made.

screenshot_on_b85m_by_flameshot_at_2024-12-14_00-53-24

screenshot_1316429008703062187


Conclusion?

Well for now, they could still change anything stealthily with no release note. May become better, or become worse. I don’t know.

I even talked about this to the guy who was taking charge of 100oj Chinese localization.

screenshot_on_b85m_by_flameshot_at_2024-12-13_22-32-42

Developers are stubborn.

Well I don’t want to care about it anymore. I get no paid nor credit.

 


Update in 2024-12-23

100oj Official admitted they messed up the steam cloud setting for savefile sync.

They also said they fixed it.

 

I’m not buying it. Anyway, there is no credit to me.

The post Do not play 100% Orange Juice on Linux or Steam Deck first appeared on 石樱灯笼博客.

AI 应用无代码开发教程:工作流模式详解

作者 阮一峰
2024年12月2日 18:39

一、引言

一个月前,我写了一篇《AI 开发的捷径:工作流模式》,引起了很多读者的兴趣。

大家都认同,AI 应用是开发者的机会,而图形化、低代码/无代码、不需要编程基础的"工作流模式",正是 AI 应用开发的入门捷径。

但是,我的那篇文章只介绍概念,没有操作步骤。很多读者实际上手时,遇到了困难,有些地方不理解,做不下去。

今天就是后续,我详细演示,一步步图解,没有编程基础,如何搭建一个最简单的 AI 应用。只要你跟着做,就能做出来。

二、开发工具

这篇教程使用的开发工具是扣子(Coze),所有操作都在它的浏览器 IDE(集成开发环境)中完成,

选择扣子(Coze),主要原因有三个。

(1)它是国产的 AI 应用开发平台,字节跳动的产品,界面、文档、客服都是中文。

(2)它有无代码编辑器 Project IDE,包含组件拖拽的 UIBuilder,可以生成全功能的前端界面,上手门槛相对低。

同时,它也提供后端数据库,可以数据读写。

(3)它免费使用(只要不超过使用额度),发布上线也不收费,适合新手练习。

三、示例项目

我们的示例项目,是一个最简单的"AI 文言文生成器"。

大家先看成品,可以点进去试用。(建议 PC 访问,UI 还没有适配手机。)

输入一段汉语白话文,点击按钮,AI 就会自动生成文言文。

架构上,它非常简单:前端是一个网页表单,将用户的输入发送给后端的 AI 模型,并展示后端的返回结果。

它的开发只需要两步,第一步先让后端的 AI 模型跑起来,第二步做一个网页,连接后端即可。

扣子的方便之处在于,前后端的生成都是图形化操作:后端是编排工作流的节点,前端是 UIBuilder 的界面拖拽组件。

下面就是开发步骤。为了保证大家跟得上,我写得比较详细,看起来有点长,但是实际操作是很快的,熟练的话,10分钟就能完成。

四、创建项目

首先是开发的准备工作,先创建 AI 应用。

(1)访问扣子官网,点击右上角的"基础版登录"。(基础版只比专业版少一些企业级功能,普通用户完全够用。)

(2)登录后,自动跳转到个人主页,点击左侧菜单的"工作空间"。

工作空间里面,有"项目开发"和"资源库"两个页面。进入"项目开发",可以看到你所有的项目。

(3)点击右上角的"创建"按钮,跳出一个弹框。

上面有两个选项,"创建智能体"是创建一个传统的 AI 聊天,"创建应用"则是创建一个自定义界面的 AI 应用。

(4)选择"创建应用",这时会让你选择应用模版,点击"创建空白应用"。

接着,输入项目的名称,这里是"AI 文言生成器"。

至此,项目创建完毕,系统会自动进入"AI 文言生成器"的应用主页(下图),正式的开发工作就要开始了。

五、业务逻辑

应用主页的最上方,有"业务逻辑"和"用户界面"两个分页,默认是"业务逻辑"页面。

这一节就讲解如何创建业务逻辑,也就是后端的 AI 模型。

我们采用工作流模式,即将业务逻辑编排成一个个节点。

(1)点击左侧菜单的"工作流"后面的"+"号,选择"新建工作流"。

输入工作流的名称和描述。(注意,名称只能是英文字母、数字和下划线,本例是 classicalchinesecreator。)

(2)工作流创建成功后,名称会出现在左侧菜单的"工作流"标签下方。点击它,就进入该工作流的"节点编排"画布。

画布上,默认有"开始"和"结束"两个节点。

(3)点击下方的"添加节点",添加一个新节点,类型设为"大模型"。

然后,将这三个节点连起来(通过拖动边框上的控制点)。

(4)配置"开始"节点。双击该节点,在配置框增加一个 content 变量,表示用户的输入内容。

(5)配置"大模型"节点。

配置窗口的各个选项,填写如下。

模型:可以按自己的需要选择,这里保持默认值"豆包 Function call 模型"。

输入:将原来的 input 参数改名为 content,并跟"开始节点"的 content 变量连接起来。

系统提示词:输入以下内容,用来设定大模型的行为。

角色

你是一个专业的汉语文言文作者,能够准确地将用户输入的汉语白话文内容改写为文言文,不进行随意扩写。

技能

技能 1:文言文写作

  1. 当用户提供一段汉语白话文时,迅速将其改写成文言文。
  2. 确保改写后的文言文的准确性和完整性。

限制:

  • 只进行文言文改写,不回答与文言文改写无关的问题。
  • 严格按照用户提供的汉语白话文进行改写,不得擅自增加内容。

用户提示词:输入以下内容,作为给系统的直接命令。

将用户输入的汉语白话文{{content}}改写成文言文。

上面文本中的{{content}},表示此处系统将插入 content 变量的内容。

输出:将输出格式改为"文本"。

(6)配置"结束"节点。首先点击配置框上部的"返回文本"。

输出变量:将 output 参数关联"大模型"节点的 output 变量。

回答内容:输入{{output}}(表示插入 output 变量的内容),并打开"流式输出"(即打字机效果)。

至此,整个工作流的搭建全部完成,可以单击画布右上角绿色的"试运行"按钮,测试工作流是否正常运行。

在 content 输入框,输入测试内容,比如"今天天气很好"。

然后,点击下方的运行按钮,就可以得到运行结果(今日,天善)。

如果一切正常,就可以开始搭建用户界面。

六、用户界面的搭建:页面布局

(1)点击进入画布上方的"用户界面"分页。

(2)在左侧菜单的组件面板,找到布局组件 > 容器组件,将其拖入中间的画布,作为页面的标题区域。

系统自动将这个容器命名为 Div1,双击进行配置。

尺寸:宽度为100%,高度为 60px。

布局:排列方向为"横向"。

样式:去除背景色,将边框设为灰色(#E2E8F0)。

(3)在 Div1 下方,再拖入一个容器组件,系统自动命名为 Div2,用作功能区域。

配置基本一样:尺寸部分,宽度和高度都设为填充容器;布局部分,排列方向为横向;样式部分,去除背景色。

(4)在 Div2 内部的左侧部分,拖入一个容器组件 Div3,用作用户输入区域。

宽度设为50%,高度设为 550px,样式删除背景色。

(5)在 Div2 内部的右侧部分,拖入一个容器组件 Div4,用作展示结果区域。

宽度设为50%,高度设为 550px,样式删除背景色。

至此,页面布局如下图。

七、用户界面的搭建:页面细化

做好布局后,下一步完善页面细节。

(1)在 Div1 内部,拖入推荐组件 > 文本组件,作为标题文本。

标题内容设为"AI 文言文生成器",字号改成24,字重为粗体。

(2)在 Div3 中拖入一个表单组件,删除不需要的元素,只剩下文本输入框和按钮。

表单组件:宽度和高度都设为填充容器,并删除边框。

文本输入框:拉伸高度,宽度设为填充容器,标签和占位文案设为"输入汉语白话文"。

按钮:文本改为"生成文言文"。

完成后的表单效果如下图。

(3)在 Div4 中拖入一个展示组件 > Markdown 组件,作为展示文言文区域。

删除 Markdown 组件的已有内容,改成"###### 生成结果"。高度和宽度改为填充容器,圆角设为10,内边距设为20,边框设为灰色(#CBD5E1)。

至此,页面细化完成,单击属性面板上方的预览,查看效果。

八、用户界面的搭建:配置事件

页面外观做完后,要配置事件,将后端的业务逻辑与用户界面连接起来。

(1)点击"生成文言文"按钮,在配置面板切换到"事件",点击"新建"。

事件类型设为"点击时",执行动作设为"调用 Workflow",workflow 设为已经创建好的"classicalchinesecreator",并将工作流的入参content设为文本输入框的值 {{ Textarea1.value }}。

(2)配置生成结果区域,展示工作流的返回结果。

选中 Markdown 组件,点击"内容"栏的扩展按钮。

扩展面板中,在###### 生成结果后面添加一行,插入工作流的返回结果{{ classical_chinese_creator.data }}

完成所有配置后,单击右上角"预览"按钮,测试整体效果。

如果一切正常,这个 AI 应用就算开发完成了。

九、应用发布

开发完成后,就可以发布该应用,让其他人也可以使用。

点击右上角"发布"按钮,版本号设为 v0.0.1,发布平台设为发布到扣子商店。

至此大功告成,"AI 文言生成器"就登录扣子商店,向世界公开了。

十、总结

大家可以根据这个示例,改变输入 AI 模型的提示,让它做不同的任务,就能变化出很多不同功能的应用。

比如,官方的"AI 翻译"示例,就是让 AI 把用户输入的中文译成其他语言,跟"AI 文言文生成器"异曲同工。

除了文本生成,扣子还提供许多其他能力,比如抓取外部数据、数据库读写等,从而可以做出更强大的 AI 应用。

总之,"工作流模式"使用图形化界面搭建一个 AI 应用,简单而便捷,随时查看效果,一键发布,值得大家尝试。

(此处有分割线。)

最后是一个活动预告。

扣子邀请我,参加12月19日在上海举行的"扣子开发者日",也欢迎大家参加。

届时,字节的 AI 工程师会跟大家面对面交流,如何开发和推广 AI 应用。这是很好的学习交流、获取资源的机会,点击这里了解详情。

扫描下方海报二​维码,或者点击链接现在就可以线下报名参加,或者线上预约直播

(完)

文档信息

  • 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证
  • 发表日期: 2024年12月 2日

AI 开发的捷径:工作流模式

作者 阮一峰
2024年10月31日 03:24

一、引言

大部分人使用 AI,大概都跟我一样,停留在初级阶段。

平时,就是向 AI 提问(又称聊天),偶尔也用一些现成的服务:生成图片、生成代码、翻译文章等等。但是,时间久了,就觉得不够用,很多个性化需求,根本找不到工具,需要自己想办法。

我想,这是很多人面临的问题:如果深入使用 AI,就必须自己做开发

今天,我就介绍一种 AI 开发的简单方法,没有那么高的门槛,普通人也可以上手。

二、AI 开发的三种模式

按照从难到易,我把 AI 开发分成三种模式。

(1)自建模型:自己搭建 AI 模型,并寻找数据进行训练。

这种模式难度高,成本大,必须是 AI 专业人士或大公司,才会使用。

(2)API 调用:自己编写脚本,去调用他人运行的模型 API。

这种模式要求使用者必须会编程,优点是适应性强,什么需求都能编程解决,缺点是编写和调试脚本要花不少时间,还要自己部署服务端。

(3)工作流模式采用 AI 服务商提供的工作流(workflow),编排每个步骤,形成自动化操作。

这种模式最简单,不懂编程的人也能上手,可以不编写脚本,有现成的服务端,省时省事。缺点是受限于 AI 服务商提供的能力,对方不提供,就做不了。

我是 AI 新手,就选择了最后这种模式,尝试 AI 开发。

三、GPT 商店和 Copilot 模板

很多 AI 大厂都提供"工作流模式",允许开发者在他们的模型上,定制自己的应用。

最有名的大概就是 OpenAI 公司的 GPT 商店

它开放 ChatGPT 的底层能力,让开发者定制某个领域的专用 GPT,比如学术论文的 GPT、处理 Excel 文件的 GPT 等等。

微软的 Copilot 也有类似的功能,叫做"模板"(template)。

不过,这些都是国外的服务,需要收费,服务器在境外。好在国内有免费的替代品,我就选择了国内产品。

四、工作流演示

我先演示一下,工作流的操作界面。大家就能明白,它是怎么回事了。

工作流其实就是把一个 AI 应用,分成若干个步骤。每个步骤是一个节点,你在上面设置这一步的操作,然后所有节点按照流程,完成任务。

上图是扣子 AI(coze.cn)的工作流编排界面,包含四个节点。

扣子是字节跳动旗下、免费的 AI 应用开发平台。使用过程非常直观,就是在网页画布上,通过图形化操作,一步步创建 AI 应用。我就用它来演示。

它的开发页面左侧是不同类型的节点,下图是其中一部分。

新建节点时,点击对应类型就可以了。一般来说,第一步总是新建"模型节点"或"插件节点"。

新建模型节点后,如果你想用自己的数据训练模型,可以在项目管理页面上,新建一个知识库,上传数据文件。然后在工作流里面,创建一个"知识库节点"。

如果你想启用持久记忆能力,记住用户的历史对话,那么可以新建数据库,保存用户数据,然后在工作流创建"数据库节点"。

所有节点设置完毕,这个 AI 应用就可以运行了。最后一步,就是发布该应用。

扣子会让你选择发布渠道(上图),目前支持发布到商店(在扣子平台使用)、第三方平台(在飞书、抖音、微信使用),以及 API 和 SDK(在用户自己的软件使用)。

以上就是工作流模式的使用界面,只是一个简单介绍,大家有一个大概的理解就可以了,具体操作可以看文档

它还是很容易上手的,熟练以后,开发一个 AI 应用,一两个小时就可以搞定。

五、工作流开发的例子

为了加深理解,我举一个实际开发的例子。某餐饮企业想要搭建一个 AI 应用,用来分析用户的点评。

为此新建一个工作流,基本功能只需要三个节点----输入节点、分析用户点评的 AI 模型节点、输出节点。

然后,把这个工作流发布成 API。用户的点评传入这个 API,它就会返回一段 JSON 数据,里面有 AI 模型识别出的用户评价(正面、负面、中性),以及点评关键词(环境/服务/菜品)。

上图是这个工作流的预览调试界面,输入了一段真实的点评,运行结果以 JSON 格式返回。

可以看到,AI 识别出该用户对产品是中评,对环境是差评,对上菜速度是好评。

六、模板功能

工作流除了自己使用,还可以保存成模板(template),发布到模板商店,让别人使用和借鉴。

在模板商店,你可以看到官方和其他用户搭建好的工作流,目前已经有上千个,还在快速增长。

这些工作流可以直接使用,也可以作为模板复制。用户复制模板后,对它们进行学习和修改,将其改造为适合自己的应用。

对于模板作者来说,可以对模板设置价格,实现变现。

很多模板提供非常有意思的功能,值得一看。比如,"抖音转小红书"的模板。

你输入一个抖音的短视频链接,AI 自动生成10个可用标题和一段文案,你可以把它们连同视频一起发到小红书。

七、教程:情感故事爆文专家

网上已经有不少工作流模板的开发教程,大家可以去搜一下。

我看到一篇"情感故事爆文专家"的模板教程,非常有趣。情感类的网文现在流量很好,作者就开发了一个 AI 应用,专门生成这类文章。

先看成品,点击这个模板链接,体验一下它的效果。你输入一个文章主题,比如

一对情侣在大学里认识,毕业后分手,10年后再次相遇。

这个 AI 应用会输出文章的大纲和正文。

还带有配图,可以直接发布。

它背后的工作流,大致分成六个节点。

  1. 开始节点:接收用户输入的文章主题
  2. AI 模型节点:通过 AI 模型,根据文章主题,生成文章的大纲。
  3. 扩写节点:根据文章大纲,进行内容扩写,生成正文。
  4. 内容总结节点:根据正文,生成文章的内容总结。
  5. 文生图节点:根据内容总结,生成文章配图。
  6. 结束节点:汇总所有内容,输出结果。

设置完成后,点击"发布"按钮,这个 AI 应用就可以直接使用了。

八、结束语

工作流模式相比自己从头写,容易和快捷很多,服务端也一起解决了。如果你有 AI 开发的需求,可以试试这种模式。

下一步不妨就从文档开始,做出你的第一个工作流节点,发布到模板商店。

任何开发问题(估计肯定会遇到),可以加入官方咨询群去问,下面是微信群二维码。

我遇到问题,就咨询扣子的同学。他们告诉我,现在正好有两个活动,有大量的奖品,建议我参加。

我看了觉得很不错,下面把活动信息转发出来。如果你正好做了模板,就不要错过。

(1)模板比赛

工作流开发完成后,上架到模板商店,现在可以获取奖励

你可以对模板设置价格(官方审核通过后),实现模板变现,他人复制模板需要付费。在活动期间,官方根据模板复制的数量,会发放1000元到10000元的奖金,以及随机抽取的50个无线充电器的纪念奖。

(2)万圣节抽奖

官方现在有一个万圣节抽奖,在那里上传你的照片,会得到一张万圣节主题照,以及一次抽奖机会。

抽奖的奖品有 iPhone 16 Pro Max、Switch、咖啡机。

(完)

文档信息

  • 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证
  • 发表日期: 2024年10月31日

白话多集群:工具和应用助手

作者 阮一峰
2024年9月11日 20:52

一、引言

上周,我参加了腾讯全球数字生态大会

今天,就跟大家分享,我的一点收获,就是理解了多集群工具。

软件开发的同学,应该都听说过 Kubernetes 吧。它是一个容器管理工具,本身很复杂。

可想而知,同时管理多个 Kubernetes 集群的工具,一定更复杂。但是,我这次发现,多集群其实很好理解。

当时,大会有一个演讲,关于腾讯的一个新服务,跟多集群管理有关,叫做 TKE AppFabric,讲得很浅显,我一下就听懂了。

下面,我尽量用最简单的语言,解释什么是 Kubernetes,什么是多集群工具,什么是最简单的使用方法

二、从 Docker 讲起

为了理解 Kubernetes,需要从 Docker 讲起。

2013年,Docker 诞生,创造性地将软件应用的运行环境与源代码打包在一起,做成一个容器镜像(image)。

容器镜像本身是一个二进制文件,可以直接发布。其他机器只要安装了 Docker,就能运行这个文件。它能让软件运行在一个虚拟环境(称为"容器")里面,从而保证运行环境和开发环境一致,避免了环境配置、启动报错等等麻烦事。

更重要的是,容器镜像是一个标准化文件,不管软件使用什么语言开发,最后做成容器,都是一个格式。因此,就可以用一个工具去处理所有容器项目的发布,完全忽略开发语言的差异。

正是因为 Docker 提供了标准化、一站式的软件运行流程,才为后来通用的"容器应用管理工具"铺平了道路。

现在,Docker 已经成为软件部署的标准。不管软件是以源码发布,还是以容器镜像发布,最后都部署运行在 Docker 里面。

三、微服务架构

Docker 出现后,大大简化了软件部署,变成只需运行容器镜像。很自然地,开发者就开始考虑,能不能把单体的巨型软件,拆分成为多个组件(即多个容器)部署?

早期的企业级大型应用,通常都是一个巨大的单体软件(monolithic),包含不同功能的多个组件。哪怕只修改一个组件,也需要把整个软件重新部署一次。

现在的实践则是,把较大的功能组件拆分出来,每一个组件都是一个独立的服务,作为一个 Docker 容器单独发布和部署。

于是,单体软件就变成了多个 Docker 容器组成的软件系统,这就是现在流行的"微服务架构"(microservices)。软件包含多个微服务,每个微服务对应一个 Docker 容器。

四、容器管理工具 Kubernetes

微服务意味着,每次发布都涉及大量不同的容器,管理它们就成了一种挑战。容器管理工具就应运而生。

各种容器管理工具之中,名气最大的非 Kubernetes 莫属。

它是谷歌开发的一款开源软件,因为词首K和词尾s之间有8个字符,所以常常写成 K8s。它已经成为事实上的容器管理标准。

具体来说,它主要有以下功能。

(1)统一的硬件接口。开发者不必关注底层的硬件细节,不管底层服务器有什么差异,都被抽象成统一的操作接口。

(2)自动扩展。它可以根据软件负载情况,快速完成水平扩展。

(3)高可用。当某个容器失败时,它会自动重启或替换掉该容器,保证流量流向可用的节点。如果软件发布出现问题,还能自动回滚。

(4)其他功能。它还具有服务发现、负载均衡、资源监控等大量相关功能,同时带有庞大的插件和扩展,以及活跃的社区。

五、多集群是什么?

Kubernetes 的底层就是一组服务器,上面运行着许多容器。每个 Kubernetes 实例,就被称为一个集群(cluster)

普通的软件应用,只要一个集群就够了。但是,出于下面提到的原因,企业级应用往往需要部署在多个集群。

多集群(multi cluster)可以在同一个机房,也可以在不同机房。实际应用中往往是后者,即分布在不同机房,这时如果集群来自不同的云服务商,或者是不同性质的云,就称为"多云"(multicloud)。

多集群的主要考虑如下。

(1)容灾。如果一个集群出问题,那么还有另一个集群,可以保证可用。

(2)隔离。集群之间可以做到非常强的物理隔离,从而实现上层用户(租户)的隔离。

(3)灵活性。多云有助于减少供应商锁定,可以根据需求选择最合适的基础设施和服务。

(4)合规性。不同地区可能有不同的监管要求,多集群可以为每个集群实施更精细的安全策略和访问控制。

六、多集群的挑战

多集群虽然有上一节的好处,但是复杂性也随之加倍,为使用者带来了许多挑战。

(1)配置和管理复杂性。所有集群需要一致的配置和部署,尽量消除差异。

(2)网络连接和延迟。如何保证不同地理位置的集群,有安全可靠的连接,同时最大限度地减少延迟。

(3)服务发现和负载均衡。某个服务如何发现不同集群中的其他服务,以及如何让不同集群负载均衡。

(4)监控。所有集群的指标和日志,最好汇集在一起,便于集中式监控。

(5)安全和访问控制。多集群的安全策略、访问控制、凭证管理都变得更加复杂,需要仔细规则和逐一设置。

七、多集群工具及其问题

为了解决上面的挑战,就诞生了专门的多集群管理工具,比如 Argo CD、Rancher Fleet、Karmada 等。

它们可以看作是开发者与 Kubernetes 之间的中间层,解决集群管理的复杂性。

问题是,要使用它们,必须先学会 Kubernetes,再去学习这些工具本身。这是巨大的学习成本,所以多集群工具不是针对应用开发者,而是针对集群管理员

现实中,多集群是高度专业的领域,其他领域的开发者根本看不懂。开发者完成软件开发后,会把应用交给集群管理员,让后者去部署。

这对双方都很麻烦。一方面,开发者不能决定部署策略,也不了解底层资源,许多情况下可能不得不接触容器管理。另一方面,集群管理员会被迫介入应用层,一旦发生底层资源的调整,还需要通知开发者,让其参与进来保证应用的运行。

八、面向应用的多集群助手 TKE AppFabric

怎样才能让开发者更简单地使用多集群呢?

腾讯云的解决方案,就是增加一个面向应用的中间层,把多集群工具这一层隐藏,降低使用门槛,这种服务就起名为 TKE AppFabric。

它的名字中,TKE 指的是"腾讯云容器服务"(Tencent Kubernetes Engine),AppFabric 指的是把应用容器像织物一样编织在一起。

它面向应用开发者,定位就是"向上服务好应用,向下管理好集群",可以看作是应用的多集群助手。

由于封装了多集群工具这一层,所以它没有复杂的专业术语,特别好懂,开发者能够快速理解和上手,不用关心底层资源,甚至不需要知道"集群"这个概念。

它的简单性,体现在下面几个方面。

首先,它使用开发者更容易理解的"可用区"(availability zone)。应用部署时,你只需要指定在哪几个区(比如广州1区、上海1区),也就是部署位置,就可以了。

整个过程都面向应用,跟 Kubernetes 解耦。这一方面,有利于开发者将更多精力放在业务上面,另一方面使得云服务商可以充分调配资源,提高资源利用率。同时,集群的升级和维护,上层用户也是无感的。

其次,它简化了设置,采用声明式设置,只需要写好声明文件即可,进一步降低了学习成本。

再次,它封装了 Kubernetes 跟应用运行相关的一些功能,让其更易用,各种监控指标和日志也汇集在一个地方,更容易发现。

九、多集群案例:腾讯健康

腾讯健康就架设在 TKE AppFabric 之上,我们通过它,来看看怎么使用多集群架设大型服务。

下图就是腾讯健康的后台架构。

上图中,网关(gateway)是访问入口,下面同时部署了三个可用区:zone1,zone2 和 zone3。它们部署在不同的机房。

这三个可用区是一模一样的,每个区都部署一个系统实例。每个系统实例包含三个层层依赖的应用:app1 依赖于 app2,app2 依赖 app3。这三个应用本身,每一个都是容器组(app pods)。

这样的架构有三个好处,可以保证高可用和负载均衡。

(1)容灾部署。如果一个可用区出现故障,可以切换到另一个可用区(比如 zone1 的 app2 出现故障,可以切换到 zone2 的 app2),保证可用。

(2)路由控制。自动为用户分配就近的可用区,提高访问速度。

(3)灰度发布。新功能可以先在单个可用区进行灰度验证,完成之后再全可用区发布,降低发布风险。

根据现场演讲,所有腾讯内部资源上云的业务,比如 QQ、腾讯会议、音视频业务都会部署在 TKE AppFabric 上面。今年第四季度,它就会对外试运行,明年一季度正式对外开放。

十、总结

对于采用"微服务架构"的企业级应用,如果业务比较重要,需要高可用,那么多个 Kubernetes 集群几乎是必然的选择。

如果公司有专门的团队,你可以选择自己来做多集群管理,否则可以考虑云服务商的工具。

我相信,越来越多的云服务商,以后可能会同时提供两套工具:一套是原始的多集群工具,专门供高级用户使用,另一套就是 TKE AppFabric 那样的面向应用、隐藏多集群细节的助手工具,供普通开发者使用。

对多集群或者 TKE AppFabric 感兴趣的同学,可以微信扫描下面的二维码,查看产品手册。

(完)

文档信息

  • 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证
  • 发表日期: 2024年9月11日

AI 编程助手测评:GitHub Copilot vs 豆包 MarsCode

作者 阮一峰
2024年7月3日 11:10

一、引言

AI 怎么用于编程?

目前有各种尝试,最激进的大概是 Vercel 公司的 v0.dev

你告诉它,想要什么网站,它就给你几张设计图。你选一张,它就生成写好的网页。

这很有未来感,想要什么程序,机器帮你写。但是实际上,它只能生成网页 UI(用户界面),无法生成互动脚本,并且其他的 UI(比如手机 App 页面),它都无法生成。

这反映了 AI 的局限,至少现阶段,AI 无法取代程序员,只能充当编程助手。

根据我的使用体会,作为编程助手,AI 的作用非常大,能够大大节约程序员的时间,显著提高编程效率和代码质量。

今天,我就来测评两款 AI 编程助手,看看孰强孰弱,顺便也作为一个入门教程,向还没用过的同学,展示它们的用法。

大家看了以后,就能明白,为什么编程已经离不开 AI 了,它真的能让程序员如虎添翼。

二、GitHub Copilot 和豆包 MarsCode 简介

我要测评(或者说介绍)的两款 AI 编程助手,分别是 GitHub Copilot豆包 MarsCode

GitHub Copilot 是最早出现的 AI 编程助手,也是市场占有率和知名度最高的一个。

它是微软出品,底层是 OpenAI,又依托着世界最大的程序员社区,自然是实力非凡。

豆包 MarsCode 是基于豆包大模型打造的智能开发工具。

它的背后是字节跳动,本来是内部工具,据说字节超过70%的工程师都在用,每月贡献百万行量级的代码。

6月26日,它正式在北京对外发布,外界可以免费使用,属于新鲜出炉。

它们都来自大厂,有足够的代表性,而且功能相近,下面就来看看,国产 AI 能否替代国外主流产品。

三、使用环境

AI 编程助手一般不单独使用,而是作为 IDE(集成开发环境)的插件,在编辑器界面提供各种 AI 功能。

我选择的 IDE 是目前最流行的 VS Code。此外,豆包 MarsCode 还支持 Jetbrains IDE,Copilot 则支持更多。

大家在 VS Code 插件市场搜索 Copilot 和 MarsCode,就能找到它们。下面是安装后的页面。(上图为 Copilot,下图为豆包 MarsCode,后面都是这个顺序。)

如果你没有 VS Code,甚至也没有其他 IDE,问题也不大。豆包 MarsCode 提供免费的云 IDE(下图),无需下载和安装,直接在浏览器使用,并且内置数十款开发模板,还可以拉取 GitHub 仓库,用起来很方便。

GitHub 也有云 IDE,就是它的 CodeSpace,里面也能用 Copilot。不过,每月使用60小时之后,就要收费,这里就不推荐了。

四、聊天功能

AI 编程助手的主要用户界面,就是一个聊天窗口,用户向它提出各种问题。

我首先问了一个问题"什么是 CAP 定理?",测一下它们的聊天功能。

可以看到,它们的回答都是准确的、可用的,Copilot 的格式编排稍微好一点。

第二个问题"请推荐学习 JavaScript 的书籍",两者的回答差不多。

聊天的问题不限于编程,什么样的问题都可以问,比如"2025年春节是什么时候",它们的回答也没问题。

不过,这个功能的日常使用场景,应该是查找软件文档,真的好用。

五、代码生成

接下来,就来测 AI 编程助手的最主要功能:自动代码生成,让它来写代码。

使用很简单,只要有按键输入,它就会自动建议后面的代码是什么

你可以将其当作参考,也可以按下 Tab 键,接受它为正式代码。如果想逐个单词确认,按下 Ctrl + 右箭头(Mac 为 Cmd + 右箭头)。

我让 AI 生成一个检验电话号码的函数。

上面的代码,除了第一行"// 验证电话号码"是我输入的,后面都是 AI 生成的。

这段代码完全正确,并且还有两个地方令人很满意。(1)因为文件的后缀名是 JS,所以它们自动生成的是 JavaScript 代码;(2)它们验证的是中国的手机号码,而我并没有明确给出这一点,它们是自己推断的。

有点奇怪的是,Copilot 和豆包 MarsCode 给出的代码是一样的。莫非它们使用同样的材料训练?

我又加了一个条件,要求包括手机和座机两种情况。它们给出的代码还是(基本)一样。

这个环节,它们打平。另外,如果对给出的实现不满意,Copilot 可以按下 Ctrl + Enter,会有多种实现供选择(下图)。

豆包 MarsCode 则是在代码建议时,有一个浮动工具栏,可以切换多种实现(下图的箭头)。

值得一提的是,豆包 MarsCode 还有一个特色功能"代码补全 Pro",不需要手动给出提示,根据现有代码,自动预测下一个改动点,并给出推荐代码。

这个功能需要自己在设置里面打开(下图)。

打开以后,它就会加强代码预测。首先,在期望触发代码推荐的地方,按下 Ctrl + Shift + Enter 主动触发推荐,然后你按下 Tab 采纳。

这时,它会预测下一个改动点,点击 Tab 就可以跳转到那里。这在代码修改的场景中非常有用,修改了一个地方,它帮你跳到下一个(预测的)改动点,并给出推荐代码。普通的代码补全做不到这一点。

六、生成注释,代码解释

除了生成代码,AI 的另一个重要作用,就是生成编程文档,也就是代码的文字说明。

文档功能主要有两种:注释和代码解释。首先,Copilot 的注释需要自己手动生成。

豆包 MarsCode 则在代码上方有生成注释的快捷按钮。

点击后会唤起/doc命令,用起来相对方便一点。

至于代码解释功能,我觉得相比之下,豆包 MarsCode 更好一些,Copilot 太冗长了,有点不易读。

七、其他功能

(1)代码翻译

它们都能够将一种语言的代码,翻译成另一种语言。

我试了 JS 代码翻译成 Python,没有任何问题。豆包 MarsCode 还会自动将翻译后的代码,保存成当前目录下的一个单独文件。

(2)生成单测

单元测试写起来很麻烦,AI 能够自动生成,真是省事不少。

同一段代码,Copilot 生成了4个测试用例,豆包 MarsCode 生成了5个。

并且,豆包 MarsCode 对测试用例有文字总结(下图),这很有用,可惜 Copilot 没有。

我认为,在这个环节,豆包 MarsCode 做得比较好。

(3)修正错误

AI 还可以自动修改报错的代码。如果测试用例或者自动构建没有通过,它会解释报错的原因,并给出修改建议。这里就不举例了。

八、总结

经过上面的一系列测试,两者的表现总体相差不大。我认为,国产 AI 编程助手完全可以替代 GitHub Copilot,而且在某些细节上做得更好。

GitHub Copilot 的优势在于功能较多(比如调用终端命令),而且它的训练材料可能比较多,在一些小众语言上也许表现更好一点。

但是,它是收费的,每月10美元,而 豆包 MarsCode 是免费的,单单这一点就值得推荐后者。

目前,豆包 MarsCode 只是一个初期的版本,后面会不断增加功能。但是,对于大多数程序员,现有功能已经完全够用了。

另外,我在使用中明显感到,豆包 MarsCode 的响应速度更快,毕竟服务器是在国内。相比 Copilot 的境外服务器,这也是一个优势。

总之,豆包 MarsCode 值得大家试用,体验一下国产 AI 的进步。如果你从来没接触过 AI 编程助手,就更不应该错过这种提高效率的编程神器了。

(完)

文档信息

  • 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证
  • 发表日期: 2024年7月 3日
❌
❌