--- article.previous.md
+++ article.md
@@ -8,25 +8,25 @@
---
-## 正文
+## 动机与构思:为什么需要这样一个AI小工具
-说起来可能有些迟,但这本就是原生的工具思路。最初,实际的产品说明书对老人们来说,只是一份“能用”的文件,但我发现,它同样可以被程序化。与其只做一份静态的说明,不如直接在物品上赋予一个功能——让自己做的东西自己能“开口说话”。起初我也不知道到底做了什么,后来不知不觉就做起来了。于是,我们决定做一个面向老年人的 AI 工具,让它能够成为一个真正可用的东西。
+现在的产品说明书对老年人来说往往不够友好。于是,我想做一个简单的 AI 工具,只要拍张照片,就能自动识别物品,并告诉用户这是什么。实际需要的流程非常直观:我做出来的这个程序产品,可以让用户一眼就知道该怎么用,而不像其他很多产品那样复杂。其实只要理清思路,哪怕是从零开始,在一两天内,你也能自己做出一个属于自己的应用来。
-具体而言,这个 AI 工具可以调用手机摄像头:拍一张照片,就能识别包装上的信息,并通过 AI 翻译或直接告诉老人“这是什么”。所以,实际需要一个清晰的处理流程——我实际做的就是一个能接入 AI 的小程序。这样一来,用户就能知道这个东西到底是什么,又该怎么用,而不至于和我们做的 APP 产品脱节。
+## 技术实现:小程序 + AI API 的快速搭建
-而且,只要思路理清,哪怕只花一两天,一个人也完全可以自主做出自己的应用。后来,面向这个领域的一种“AI 自动处理器”文件也出现了,在近一百个案例中,我看到了许多由个人自己打造出的程序。细细回想,其实里面一个又一个的,都是所谓的“AI 类程序”。本质上看,一个最简单的 AI 工具,就是制作这样一个载体,然后把 AI 连接进去,你也可以做出 AI 的东西。后来由人来实现的最合适的载体之一,当然就是小程序。我们只要找到一个对自己来说方便的 AI 工具,把它“装”进去就行,让它成为一种可调用的智能资源。AI 会帮你处理问题、提供数据,而你需要做的,只是做好对应的 AI 交互界面。
+后来我发现,最简单的 AI 工具,本质上就是先搭建起一个装置,再把 AI 接口接进去。你可以先做一个 AI 的处理程序,再去实现最终的装置,而这个装置对我来说,就是一个小程序。我们只需要找到一个自己用得顺手的 AI 工具,把它接入进来就好了。AI 会帮你处理问题、提供数据,你只需要做好与之对应的 AI 界面。简单来说,这个应用的流程就是:把需要解析的素材发给 AI,AI 把处理完的数据反馈回来,最终呈现给用户。
-简单来讲,这个应用的处理流程就是:把需要解读的材料交给 AI,AI 处理完之后把数据反馈给你,再呈现给用户。因为之前我没有搞过小程序的开发经验,所以我就直接用 AI 帮我来生成小程序的代码。大概只需要几次对话,就能做出这样一个能用的东西。而且,其实不用 AI,你很快也能够理解整个实现方式。如果你把这种基于文档生成代码的方式用在开发过程中,那么在写程序时只需要关注怎么处理这个流程就好了。所以,所谓“AI 程序代码”,也就是你把组件和工件组合在一起的地方,是理解机器编程的地方,也是控制工程逻辑的地方。在做这个小程序的过程中,甚至还能体会到一种“AI 版的费曼学习法”——用这种方法,你实际上能够很好地练习组件搭建和样式调整的基本功。
+因为之前从来没有做过小程序,所以我直接让 AI 帮我生成程序代码。大致上,程序也就这样做出了相应的功能。其实即便不用 AI 生成,你也能很快掌握其中的方法。所谓程序代码,无非就是把界面组件、解析逻辑和控制流程的地方组织起来而已。做这个程序的过程中,我还联想到 AI 辅助下的费曼学习法——用这种方式,你实际上可以练习组件格式的基础功。如今我们只要把 AI 接入进去就行了。不管你要接入哪一种 AI 工具,一般调用方式都是使用它提供的 API。所以,只需要找到对应 AI 工具的 API 与操作文档,再按照文档说明来改造自己的小程序功能实现代码就好。这里的关键点,就是你调用的 URL、API Key,以及与它配合的参数。
-接下来就是接入 AI 了。不管你想接入哪一种 AI 工具,一般来说,我们使用的都是 AI 的功能层,所以只要找到对应 AI 工具的 API 以及开发文档,按照文档说明来改造自己小程序的功能实现代码就可以了。重点就在于你调用的 URL、API Key 以及对应的参数等。而如果你要问我用的具体是哪一种 AI 工具——在当前大模型如此“卷”的情况下,其实有很多免费的模型和 API 可以选择。这样一来,AI 的程序功能就能直接发挥作用,你可以借助这些产品去实现图像识别、音视频识别等能力,也就是让模型程序的能力真正“输入”到你的作品里。你可以让程序按照特定的结构返回你需要的东西,包括结构化数据。而我们作为开发者要解决的,就是如何去承接这些结构化内容,让程序能够正确地写出来并展示给用户。如果这些操作上的问题都搞定,那基本就成了。
+如果你还在纠结该用什么工具,可能会问:AI 工具到底是什么?在 AI 大模型竞争如此激烈的当下,你已经有很多免费模型和 API 可以用了。这些 AI 程序功能直接就能工作,你可以利用这类产品的接口来识别音频、图片、视频等内容。你可以在程序功能里设置输入点,让程序根据输入去反写特定的内容,包括各种结构化的信息。那我们又要如何承接这些结构化的东西呢?程序写成代码以后,确实可以把这些内容展示出来。如果大家在这些操作上遇到问题,只要花些时间搞定,就能看到对应的工具效果,进而把它变成一个可工程化的工具。以一个工具的基本功能来看,这正是很多产品的常规实现方式,也是一种 AI 工程化结果及其工具功能的体现。后来,越来越多的 AI 工具已经能够实现各种各样的文字输出效果。而我这个小程序的开发模式,其实就是针对具体工具去调整程序代码。
-之后,你就可以看到对应功能实现后的效果,也不会再觉得程序工程有多难。所以,做出一个可用功能之后,你会发现,这其实正是很多 AI 产品的常规做法,是一种“AI 工程化”的落地方式。如今可以使用的 AI 工具越来越多,它们能够实现各种文字输出的效果。我做的这个小程序中的某个功能,就是围绕这个思路去调整代码实现的。对一个已有的小程序来说,接入 AI 其实只需要几次代码调整就能完成。但是,用简单的东西做出文字型的 AI 功能,就像对待一件给人用的工程一样,这样一来,你有时候就会发现,原来很多事情都可以用 AI 工具来帮你实现。这才是最重要的——你到底能怎样去运用 AI 程序的能力,做出一个对人有实际效用的“AI 工程产品”。
+## 扩展与展望:修改提示词即可适配多种场景
-所以,这件事究竟可以怎么做呢?我就是实现了一个文字型的程序功能,然后基于这个小程序,在看到效果之后,再复制修改,做成了一种可以灵活调整的模块化程序。几乎所有想要实现的东西,都可以通过 AI 程序功能来完成,而不再是必须一行一行埋头写代码。再加上程序的 AI 能力,我最终得以实现自己的一个程序法想。这大概就是自然语言编程的魅力吧——不管怎样,我们都能把一个程序做出来,变成一个实实在在有功能的作品。
+这个小程序真正接入 AI,其实只需要几个步骤就能完成。而用这种简单的思路去做出一个文字类的程序——比如面向人机交互的场景——可以让你真正理解结果是怎样产生的,以及如何利用 AI 工具帮你实现类似的成果。重要的东西,是对 AI 程序能力形成一种清晰的认知。像这类 AI 工程化的产品,往往容易达到比较好的效果。那么,到底怎么用这个思路来做这个程序的功能呢?我这套东西,实际上就是先做一个文字式的程序工具,然后在一个程序里看到效果后,把它复制出来,再去尝试做各种动态的程序式功能。所有的功能,都是围绕 AI 展开的程序化能力。我现在做的虽然是一个工程化的程序功能,但在加入 AI 之后,甚至可以演化出自己的实现方法。这大概就是自然语言编程的魅力所在。
-因此,除了基本的文字识别工具,你其实还可以让这个工具“活”起来,而不是让它坏在那里。更进一步,只要有任意物体识别能力,就可以为老人提供应用识别、药品说明解读,甚至是食谱识别等效果。而这些功能的实现,都只需要简单地修改提示词,完全不用去操作复杂的代码。
+无论如何,你总能看到一个程序确实能实现相应的功能。所以,除了最基本的文字识别工具外,你完全可以成功让它运转起来,为老年人提供物品识别建议、识别谱效果等,而这些任务之前几乎是空白的。这些功能只需要简单地修改提示词,完全不用动代码。同样的思路,我们也可以拓展到其他功能上去,比如对应工作图式的效能提升等等。希望这些内容能对你有所帮助。
-按照这种思路,我们当然也可以做出各种各样的其他功能,自行对应到图示、说明书以及效能优化等不同的场景中。希望这些思路能对你有所启发,让你也体会到,属于你程序的“东西”,这个小程序本身就具备可扩展性,并且可以把简单的程序分享出去,让老人也能用起来。而当真正给老人们用的时候,我发现他们是实实在在开心的。我意识到,解决这些程序难题的方法其实不难,更重要的是:我能够亲手做出一个真正有用的东西,让老人们也感受到 AI 带来的那份贴心和效能。这样一种融入 AI 的工具,完全可以是小程序这个形态的。我们下期再见。
+这个程序我会拿出来共享,写下简单的文件,让大家直接就能使用。如果你们还希望在这个程序中实现什么功能,也可以让程序告诉我。但当我把程序交到老人们手上,看她们使用后露出开心的神情时,我意识到,我已经找到了解决问题的一些有效方法。重要的是,我能做出一个东西,让老人们真切感受到 AI 带来的便捷。而这种工具,本身也是可程序化、可复用的。这个小程序我们就分享到这里,我们下期再见。
---