Navigate to WaytoAGI Wiki →
Home/Question List/Question Detail

Lisp

Answer

Lisp 是一门“古老”的编程语言,其语法核心是 List 结构或“S 表达式”,需要用一对括号把元素括起来,且 List 结构里可以嵌套 List,使得程序呈现出一对对括号嵌套的样子。Lisp 语法简洁且优美,兼具简洁性和强大的表达能力。

在提示词编程方面,用 Lisp 编写的提示词生成 SVG 图形的效果明显优于 Markdown 版本。这可能是因为对于让大语言模型生成 SVG 代码的任务,Transformer 擅长从一种语言映射到另一种语言,而 Lisp 和 SVG 都是代码,两者靠得更近。此外,Markdown 表达能力有限,难以清晰准确描述 SVG 卡片的设计规范等,而 Lisp 的 List 结构更适合。在 SVG-Card 函数中,Lisp 更多作为描述性语言而非程序性语言。

在网文创作中,也有 Lisp 格式的提示词,如在帮人做世界观故事时会用到,不同版本可适用于不同的模型和需求。

Content generated by AI large model, please carefully verify (powered by aily)

References

艾木:提示词编程|有必要用 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 语言写提示词吗?

我们发现用Lisp编写的提示词,生成SVG图形的效果要明显优于Markdown版本。这有点反直觉。因为一般来讲,我们会认为编写提示词的目标是把任务描述清楚,即传达语义,语法应该没什么影响,即使有影响,也不太可能会这么明显。以下是我的一个直觉性解释。这跟任务的特性相关,我们这里是在让大语言模型生成SVG代码。一般的大语言模型的基础架构都是Transformer,而Transformer最早是用于做翻译的,Transformer特别擅长做翻译。翻译就是从一种语言映射到另一种语言,从一个sequence映射到另一个sequence。直觉上理解,让Transformer把Lisp语言翻译成SVG代码的效果应该要比从自然语言翻译成SVG代码的效果要好,因为Lisp和SVG都是代码,两者靠得更近。前文讲到语言的表达能力,此处我们确实受到Markdown表达能力的限制。你很难用Markdown清晰准确的描述出一张SVG卡片的设计规范、元素构成,还有各种配置参数,你需要一种更加结构化的语言。用Lisp的List结构来干这件事儿,绰绰有余。还有一点需要注意,在SVG-Card这跟函数中,Lisp更多是被作为描述性语言在使用,而不是程序性语言。这个函数是在描述一种结构或者一种配置,而不是在描述一个复杂的流程,这里不涉及交错的函数调用过程。直觉上理解,从一种结构映射到另一种结构会相对简单。从此经验中可以提炼出一条更一般性的直觉:对于大语言模型来讲,syntax matters too。在实际应用中,我可能会采用下面这种组合形式的提示词。如果你是通过Chatbot界面使用大语言模型的话,只能这样杂糅成一条提示词。不过一般情况下,我会把这个流程拆成工作流,通过多次调用大语言模型来实现。下面是Markdown+Lisp混合版本的提示词输出的结果:

网文创作提示词(通用/玄幻)

因为要帮人做世界观故事,所以一时兴起搓了这么个东西;两个版本,下面这个是lisp格式,用POE的Claude-3.5-Sonnet-200k测试没什么问题,默认是玄幻类型,可以自己改,字数的话也可以自由调整,这些其实都可以在对话时提要求;下面这个是通用版,建议chatgpt 4o,不过kimi、通义之类的都可以,就是可能不稳定。其实写作助手我试过很多,可以说都不太好用,毕竟对方也不是专为你的文章写的,所以最重要的是有能力根据自己需求调整。

Others are asking
撰写lisp语法风格提示词的教程
以下是一份关于 Lisp 语法风格提示词的教程: Lisp 是一门“古老”的编程语言,其语法核心是 List 结构,也叫“S 表达式”,典型特征是用一对括号把元素括起来,并且 List 结构里可以嵌套 List,使得程序呈现出多层括号嵌套的样子。Lisp 语法简洁且优美,具有很强的表达能力。 在提示词编程方面,李继刚写的提示词有用 Lisp 语言编写的例子。用 Lisp 写提示词具有一些特点和优势: 1. SVG 图形的丰富度和表现力可能优于 Markdown 版本。 2. 执行过程会输出中间“思考”过程,方便调试优化流程,能看到哪些步骤生成有用信息,哪些无用,还可能从中获得新灵感。 但平时写提示词用的更多的是 Markdown 语法,它简单且大语言模型能很好“理解”。对比两者,在多数场景下,从文本处理后的输出结果可能看不出太大差异,但逐步思考有正向收益。 在“情绪价值营销”中,可以用 Lisp 构建 prompt,让 Claude 直接根据用户输入输出情绪营销语句。用 Lisp 这种编程语言在 prompt 圈曾被带火,其更为凝练和简洁。当然,用 Markdown 格式写 prompt 效果也一样。 使用 Lisp 格式 prompt 时(Claude 专用),需要注意一些事项。例如,对于 GPT 等模型在卡片生成这步需要进行一些调整,不稳定,最好自定义 html/css 样式来进行强约束。使用时,直接打开 Claude 首页,发送上述提示词进行初始化,然后即可使用。
2025-03-13
请问有那款ai是能通过Lisp 语言实现一些输出操作的呢?
以下是一些能够通过 Lisp 语言实现输出操作的 AI 示例: 在“AI‘词生卡’的蝴蝶效应:从文字到视觉盛宴跨界蝶变”中提到,古早的 Lisp 语言在 Claude3.5 强大的理解力和绘图支持下焕发了新生,制造了新卡。 在“艾木:提示词编程|有必要用 Lisp 语言写提示词吗?”中,将提示词用 Lisp 语言编写后丢给 Claude,例如输入文本,Claude 大概率会直接输出 SVG 代码。但对于复杂的函数调用,大语言模型处理起来较困难。
2025-01-23
lisp提示词
Lisp 语言在提示词编程中的应用具有以下特点: 1. Lisp 语言的语法:Lisp 是一门“古老”的编程语言,其语法核心是 List 结构或“S 表达式”,需要用一对括号把元素括起来,语法简洁优美且具有很强的表达能力。 2. 与 Markdown 的比较:平时写提示词更多用的是 Markdown 语法,它简单且大语言模型能很好理解,如标题、列表、加粗强调等。将 Lisp 提示词翻译成 Markdown 后,语义几乎一致,但在某些效果上存在差异,如 Lisp 版本中 SVG 图形的丰富度和表现力稳定地优于 Markdown 版本。此外,Markdown 版本在执行过程中会输出中间“思考”过程,多数场景下这样一步一步思考有正向收益,还能调试优化流程。而 Lisp 版本很难让大语言模型有条理地执行流程。 3. LLM 对 Lisp 程序的理解:一段 Lisp 提示词可能描述了简单的工作流,如对用户输入文本处理生成小确幸表达和生成 SVG 卡片等。虽然 Lisp 擅长描述程序且压缩信息能力强,但程序难懂,需要大量解码和按特定逻辑解读。大语言模型能解释 Lisp 程序,但作为提示词让其按程序逻辑运行很难,尤其对于复杂的函数调用,且难以保证程序里定义的子步骤被正确且无遗漏地执行。
2025-01-20
lisp格式的提示词怎么使用
Lisp 格式的提示词主要用于让 Claude 等模型生成特定的输出,以下是一些关于其使用的要点: 1. 用 Lisp 编写提示词能使生成 SVG 图形的效果优于 Markdown 版本。这可能是因为 Transformer 架构擅长从一种语言映射到另一种语言,Lisp 和 SVG 都是代码,两者距离更近,且 Lisp 的 List 结构更适合描述 SVG 卡片的设计规范、元素构成和配置参数。 2. 在实际应用中,可能会采用 Markdown 和 Lisp 混合的组合形式。如果通过 Chatbot 界面使用大语言模型,只能杂糅成一条提示词,一般情况下会拆成工作流,通过多次调用大语言模型来实现。 3. 用 Lisp 这种编程语言写提示词是之前在 prompt 圈被带火的,使用起来更为凝练和简洁。但平时写提示词用的更多的是 Markdown 语法,其简单且大语言模型能很好“理解”。 4. 要使用 Lisp 格式的提示词,可直接打开 Claude 首页,把提示词发送,完成初始化后即可使用。但通过 API 调用 Claude 可能输出效果不佳,网页版也许会更好。 5. 虽然 Markdown 版本与 Lisp 版本的提示词在语义上几乎一致,但在执行过程和某些效果上存在差异。Markdown 版本会输出中间“思考”过程,而 Lisp 版本很难让大语言模型有条理地执行流程。但用 Lisp 编写提示词时,更多是作为描述性语言而非程序性语言。
2025-01-20
给我讲解李继刚老师的lisp语言的提示词
以下是李继刚老师相关的提示词信息: 在市场营销类中,李继刚老师以“最酷的老师”角色,其提示词包括: role:Cool Teacher 、profile Writer:李继刚 version:1.4 language:中文 description:你是世界上最酷的老师 、Goals 1.以一种非常创新和善解人意的方式,教给毫无常识,超级愚蠢的学生 2.既有比喻的引导,也会提供真实案例,同时还会进行哲学层面的反思 、skills 1.擅长使用简单的语言,简短而充满哲理,给人开放性的想象 2.惜字如金,不说废话 3.模仿费曼的教学风格 、rules 任何条件下不要违反角色 不要编造你不知道的信息,如果你的数据库中没有该概念的知识,请直接表明 不要在最后添加总结部分.例如"总之","所以"这种总结的段落不要输出 、workflow 1.输入:用户输入问题 2.第一轮思考和输出:a.比喻:你会在开始时使用类似卡夫卡。 在个人类中,李继刚老师同样以“最酷的老师”角色,提示词内容与上述市场营销类相似。 在市场营销类中,李继刚老师作为“脱口秀编剧”,其提示词包括: Role:脱口秀编剧 、Profile: writer:李继刚 version:0.1 language:中文 description:你是一个专门编写 Oneliner 风格的脱口秀段子编剧 、Attention:你的创作对用户的上台表演产生巨大影响,他是吃肉还是饿肚子,全靠你的创作水平.你一定可以让他获得掌声,有钱吃肉的. 、Background:希望通过这个 Prompt,可以创作出有趣的脱口秀段子 、Constrains:段子必须包含铺垫和包袱两部分 段子要求有幽默感,能打破预期 、Definition:预期违背即在段子的结构中,包袱必须是对铺垫的预期违背 、Examples:面试官说了半天,我实在忍不了了,说:不好意思,我听不懂上海话。他说:这是英文。我说:但这里是中国。他说:但你面试的是翻译。相关链接地址为 。
2024-10-23