以下是一份关于 Lisp 语法风格提示词的教程:
Lisp 是一门“古老”的编程语言,其语法核心是 List 结构,也叫“S 表达式”,典型特征是用一对括号把元素括起来,并且 List 结构里可以嵌套 List,使得程序呈现出多层括号嵌套的样子。Lisp 语法简洁且优美,具有很强的表达能力。
在提示词编程方面,李继刚写的提示词有用 Lisp 语言编写的例子。用 Lisp 写提示词具有一些特点和优势:
但平时写提示词用的更多的是 Markdown 语法,它简单且大语言模型能很好“理解”。对比两者,在多数场景下,从文本处理后的输出结果可能看不出太大差异,但逐步思考有正向收益。
在“情绪价值营销”中,可以用 Lisp 构建 prompt,让 Claude 直接根据用户输入输出情绪营销语句。用 Lisp 这种编程语言在 prompt 圈曾被带火,其更为凝练和简洁。当然,用 Markdown 格式写 prompt 效果也一样。
使用 Lisp 格式 prompt 时(Claude 专用),需要注意一些事项。例如,对于 GPT 等模型在卡片生成这步需要进行一些调整,不稳定,最好自定义 html/css 样式来进行强约束。使用时,直接打开 Claude 首页,发送上述提示词进行初始化,然后即可使用。
我们平时写提示词用的更多的是Markdown语法。Markdown语法很简单,并且大语言模型能很好的“理解”标题、列表、加粗强调等这些语法。用Markdown写提示词不是更直白吗?我们把这段Lisp提示词翻译成Markdown试试效果。Markdown版本与Lisp版本的提示词在语义上几乎是一致的。只是中间我多加了一句“一步步思考,严格按照大步骤以及处理流程执行。”因为不加这句,Claude还是不能保证会逐步执行。下面是Lisp版本提示词的输出效果。不知啥原因,我通过API调用Claude,输出效果很难达到李继刚文章中那种水平,用网页版也许会好一些。下面是Markdown版本的提示词输出的结果:对比下两者的效果,可以发现一个明显差异:在Lisp版本中,SVG图形的丰富度和表现力稳定地优于Markdown版本。这是个意外发现!我们会在后面再细细探讨。Markdown版本与Lisp版本提示词的另一个重要差异在执行过程,它会输出中间“思考”过程。小确幸这个函数的所有子步骤都被充分展开并且按顺序执行了。而且,由于大语言模型的自回归机制,前面步骤的输出,会自然地被作为上下文传入给后面的步骤。虽然在这个任务中,从文本处理后的输出结果上可能看不出太大差异,但在多数场景下,这样一步一步思考是会有正向收益的。除此之外,让大语言模型将“思考”过程外化出来后有一个很大的好处,就是你可以调试优化这个流程。从过程输出中你可以看到哪些步骤生成了有用的增量信息,哪些步骤是无用的。另外在调试过程中,你还可能从大语言模型的输出中发现新的灵感。然而,用Lisp版本的提示词,很难让大语言模型这么有条理地执行一个流程。
李继刚写的提示词有个特点——它们是用Lisp语言编写的。比如,[下面这段提示词](https://mp.weixin.qq.com/s?__biz=MzkxMzc1NzM1Mw==&mid=2247483803&idx=1&sn=485c2f271172a7efcb0735310f8ff191&scene=21#wechat_redirect):Lisp是一门“古老”的编程语言。Lisp语言有个特点——它的语法非常地简洁且优美。它的语法核心是List结构,或者叫“S表达式“,其典型特征就是需要用一对括号把元素括起来。List结构里又可以嵌套List,所以Lisp程序呈现出来的样子就是一对对括号里嵌套着一对对括号嵌套着一对对括号。List结构使得Lisp的语法足够简洁,同时又有非常强的表达能力。这两者兼备,才可以称得上优美。也许你会觉得,语言最重要的功能是传递语义,语法其实没那么重要。如果你是程序员,你就不会这么觉得了。对编程语言来讲,syntax matters[1]。对于大语言模型来讲,语法重要吗?看了李继刚的提示词,你可能会有一个随之而来的疑问:有必要用Lisp语言写提示词吗?接下来,我们就以“小确幸”这段提示词为例子来解构一下。
接下来,我们直接用Lisp来构建prompt,让Claude直接根据用户输入的领域和产品(也可自定义我们的产品特点),直接输出情绪营销语句~用Lisp这种编程语言是之前prompt圈李继刚刚哥带火了一波,使用下来更为凝练和简洁。当然,用我们一直倡导的Markdown的格式来写prompt的效果是一样的~[heading3]Lisp格式prompt(Claude专用)[heading3]Markdown格式prompt(GPT/国内大模型可用)@TODO待优化[content]备注:GPT等模型在卡片生成这步需要进行一些调整,不稳定。最好自定义html/css样式来进行强约束。[heading3]极简版输出(GPT o1系列,一步步思考推理)[heading2]打开Claude进行初始化[content]直接打开Claude首页,把上述提示词发送。初始化完成,接下来就可以直接进行使用~