我的扣子使用体验

38 阅读5分钟

扣子是字节推出的一款基于大模型的 AI 应用开发平台,可以利用大模型的能力做各种应用程序,也可以做智能体,智能体我们后面再说,先说应用程序这里。

在扣子上做一款小应用是不用写代码的,但需要我们自己梳理清楚这个小应用的:

  1. 功能流程,有哪些步骤。
  2. 对应的展示形式,就是UI 界面。

扣子平台宣称“无论你是否有编程基础,都可以在扣子上快速搭建基于大模型的各类 AI 应用”,但是其实真的上手搭一个应用,没有编程的思维的话还是有些门槛的。

流程概述

避免一开始做复杂的应用我无法上手,咱们老老实实“hello,world”,跟着官方文档做一个网页端的 AI 翻译工具。

首先思考一下翻译这件事,

  1. 输入翻译内容,可能是一段文字,可能是一个包含文字的图片,甚至是一段视频。
  2. 将输入的内容翻译至指定的语言,可以是一份清单,英语日语法语……
  3. 触发翻译
  4. 展示翻译的结果

接下来就可以创建一个 AI 项目了,在扣子里叫做“工作空间”,在这个空间里创建各自独立的小应用,然后将咱们刚刚想好的业务流程编排一下。

Image

这种形式有点类似我们工作中做的流程图,但是看到这个“开始”的详情我就意识到事情并不简单,我们需要把之前的想好的业务流程翻译到计算机思维中。

首先计算机的基本理念是:输入=>黑盒=>输出,这个黑盒我们可以理解为一种计算方式或者处理办法,比如加减法。

所以这个时候突然顿悟为什么用翻译应用作为 hello,world 了,这就是典型的:输入(要翻译的内容)=>黑盒(翻译)=>输出(翻译结果)过程。

然后我们再来看“输入”部分,这里在技术人员视角里是非常熟悉的“变量名”、“变量类型”,这时候程序员会轻车熟路的输入“content”。而没有技术基础的可能直接在“变量”这里就卡住了。

Image好的我们听话,输入“content”,然后变量类型……其实就是翻译内容的类型,比方说你要输入一堆字符,string 类型就可以了;如果想上传一张图片翻译,可以再加一个 image 类型的变量。

接下来我们增加一个指定的翻译语言种类的变量,一样的方法。

完成内容的输入后,我们要配置一下“黑盒”,这里我们选择一个大模型,选完之后仍然需要配置这个大模型节点输入的内容。这里稍微补充一下,编排的流程是可以拥有众多分支的,我们在“开始”节点里配置了很多输入项,这些输入项可以编排不同的“黑盒”来处理,所以我们在大模型节点里也需要选择相应的,由对应大模型处理的输入项。

比如说我们希望翻译输入的文本内容,那这个时候需要大语言模型来帮我们翻译;如果我们需要翻译图片中的内容,那此时我们就需要一个大模型来识别图片中的内容,然后再翻译,这只是一个例子,真正在使用的时候我们可以选择带视觉识别功能的大模型即可。

使用体感

配置工作进行到这里,我在使用的过程中一直有一种别扭感,这种别扭感的来源在于,如果我没有这份说明书,我真的不知道要怎么使用这个平台,我做产品的理念是,尽可能的降低用户使用的门槛。

产品绕不开的一个问题是目标用户,扣子仿佛也没有特别明确的指向,毕竟确实不需要写代码就可以搭一款应用。非技术人员上手比较困难,而程序员上手也不见得能够用起来,说几个我意识到的点:

  1. 业务到节点,脑袋转换起来是不容易的。 每一个节点要做的事,和我们一开始想的业务环节是怎么对应的呢?而每个节点的任务应该是什么,其实在使用的时候自己不见得是非常有数的。如果有一个 业务=>节点 的转换环节就好了。其实跟我们做事是一样的,都会有一个大概的计划,然后再去细化。

  2. 界面上的一些措辞其实可以修改的更有可读性。比如在配置大模型提示词的时候,“系统提示词”、“用户提示词”,我看到这个名字根本不知道要填什么,而我们知道提示词对于大模型执行结果是很重要的,在阅读文档后我知道,“系统提示词”其实就是告诉大模型要怎么干活,“用户提示词”是告诉大模型要做什么,不如把“系统提示词”改成“执行提示词”,把“用户提示词”改成“功能提示词”。

  3. debug 的支持过于少了。毕竟翻译还是一个很白给的应用,但凡涉及稍微复杂一些的流程业务,哪里配错了完全看不出来,而配置本身我们可以看出来是非常细节的,约等于乐高代码了,但对于 debug 流程的支持确实是太少了。

很多人都在讲说 大模型应用场景之年就要来啦,会出现“杀手级应用”,我们回头想想为什么 chatgpt 会大爆,就是他真的用起来太简单了,谁都可以上去问一嘴。再往下想一想,在日常工作中我们可能会需要一些需要编排工作流的场景,但是在扣子上搭建应用的时间就已经够我们自己完成任务了,在扣子用户使用的“安全感”得到解决之前,恐怕是不能被广泛使用的。我也保持乐观,毕竟扣子的发展可能才刚刚开始。