以下是一些能够通过 Lisp 语言实现输出操作的 AI 示例:
在人工智能(AI)技术如火如荼发展的今天,一场悄然兴起的内容创作革命正在改变我们与信息交互的方式。AI"词生卡"技术,这个将文字描述魔法般转化为视觉图像的创新工具,正在重塑创意产业的格局。它不仅是AI技术的进步,更是AIGC领域的管用、实用应用在加速拓展、融合以及快速落地。从去年的百模大战、各式各样的聊天机器人,到今年的逻辑链、agent满天飞,渐渐地在大厂和用户之间也慢慢地形成了一个匹配的鸿沟,一个技术太快、用户需求更不上的减速带。问题有回到了最初的那个问题:我们普通人到底能用AI干什么?我们到底要AI干什么?[heading3]快速的需求适配:AI"词生卡"做对了什么?[content]使用Lisp撰写的词卡提示词古早的Lisp语言,再Claude3.5强大的理解力和绘图支持下,焕发了新生,制造了新卡,这不是Lisp语言的胜利,是技术发展的必然产物。而这一波经久不衰的热度,则是踩上了时代的脉搏、当前的主要矛盾——“人们日益增长的AI创作输出需求,与大厂们四处创新但不够实用之间的矛盾”AI的多模态输出能力已经基本成型,文生文、文生图、文生码、文生视频、图生视频等,但是大多都是“T型”不是“V型”,再某个维度上能力很强,但是想跨界融合,目前融合不够、跨界不多。而这波的“词生卡”的出现,算是国内独立开发者给大厂好好地上了一课,他做到了:信息提纯、跨界融合、文图合一、审美优先、情绪输出、管用好用。
你把这段提示词丢给Claude,然后输入文本,Claude大概率会直接输出SVG代码。这里我用的是Poe平台上的Claude模型,Anthropic官方的版本不知道是什么情况,你可以自己去试验下。如果是直接调用Claude API的话,则百分百是直接输出SVG代码。小确幸这个函数定义的子步骤被执行了吗?few-shot examples起作用了吗?小确幸这个函数到底有没有被执行?还是说它只执行了SVG-Card函数?我们无从得知。如果大语言模型没有输出任何中间过程,那么那些指定子步骤的关键词就只是作为锚点在上下文中起作用。至于起没起作用、起了什么作用,很难说。Andrej Karpathy说,”Models need tokens to think[2]”。如果大语言模型没有把“思考“过程用tokens外化出来,那几乎等于没“思考”。(PS.GPT o1系列模型也没有把“思考”过程给完全内化,它依然需要通过外部tokens来完成长链条“推理”,只是OpenAI把中间输出给隐藏起来了)
除去角色设定部分(村里有爱函数),“小确幸”这段提示词主要做了两件事:一、对用户输入的文本进行处理,生成小确幸表达(小确幸函数);二、生成SVG卡片(SVG-Card函数)。实际上它用Lisp语言描述了一个简单的工作流。小确幸这个函数内部又包含一系列的子步骤:不幸中的幸运→显微镜视角→独特经验→意外偶然→肯定生命→温柔感受→温暖表达→提炼一句。作者期望大语言模型能按照这些子步骤对用户输入进行逐步处理,输出一条响应。函数里还定义了一些few-shot examples,以供大语言模型学习。最后,这个函数里调用了SVG-Card函数,传入响应作为参数。SVG-Card函数根据响应完成生成SVG卡片的任务。这短短的一段文本里竟然压缩了这么多信息!这一方面是编程语言自身的特性所致,因为编程语言特别擅长描述程序(procedure)。另一方便则体现了Lisp这门特殊的编程语言的优势,它特别简洁,且特别有表达力。程序很难懂,因为你在读一段代码的时候,需要做大量的解码。并且,你得按照程序解释器运行程序的逻辑去解读代码。那么,大语言模型能“读懂”这段程序吗?你把这段程序丢给AI,让它去解释,它应该能解释的很好。但是,把这段程序作为提示词,让大语言模型去解释并按照程序描述的逻辑去运行,很难。这段程序还相对简单,如果程序涉及到更复杂的函数调用,大语言模型更难处理,因为大语言模型就不是用来做这件事的。术业有专攻,这是解释器的活。这就带来一个问题:怎么保证程序里定义的子步骤被按照正确顺序且无遗漏的执行了?