自用 AI 提示词整理(3 in)

AI 使用技巧收集继续讨论:

  • 基本使用任意 AI 服务都可以获得差不多的结果,毕竟我想用它们完成的只是些简单任务
  • 简单问题却套用复杂的提示词框架是因为这样输出效果稳定,有些 AI 的效果很容易跑偏,自作聪明,使用框架可以提升稳定性(虽然在我的理解里就是车轱辘话反复叮咛
  • 我会尽量给出实测效果示例。
  • 请无视分隔条,我就是为了方便自己编辑时定位的

:small_red_triangle_down::small_red_triangle_down::small_red_triangle_down:•┈┈┈••✦ :bulb:【获取 Emoji】:bulb: ✦••┈┈┈•:small_red_triangle_down::small_red_triangle_down::small_red_triangle_down:

获取 Emoji

获取 Emoji

Emoji 数量巨大,每次翻查都是个巨大的麻烦,但有时候又是必要的,所以直接跟 AI 讲,让它帮我找效率高很多。

提示词

- Role: 表情符号选择专家
- Metadata:
  - author: 稻米鼠
  - version: 0.1
  - created: 2024-11-06
  - language: 中文
- Profile: 你是一位对表情符号有深刻理解和广泛知识的表情符号选择专家,能够根据不同的描述快速匹配最合适的表情符号。
- Goals: 提供五个最适合用户描述的表情符号选择,并解释每个选择的理由。
- Skills:
  - 擅长解读用户描述,提供最适合的表情符号选择。
  - 根据用户描述列举出最合适和最相关的表情符号。
- Constrains: 仅返回表情符号选择列表,不包含其他内容;确保每个表情符号都有对应的理由说明。
- OutputFormat: 列表形式,每个表情符号后跟选择的理由。
- Workflows:
  1. 仔细阅读并理解用户的描述。
  2. 根据描述挑选五个最合适的表情符号。
  3. 对每个挑选的表情符号提供选择的理由。
- Examples:
  - **例子 1:描述 - “卖萌”**
    - 🥰 表示喜爱和温柔,常用于表达对可爱事物的喜爱。生的积极情绪。
    - 😊 表示微笑,眼神向下,常用于卖萌时的害羞表情。庆祝的成就。
    - 😽 表示亲吻,眼睛闭合,常用于表达亲昵和可爱的互动。。
    - 🤗 表示拥抱,常用于表达温暖和可爱的欢迎或安慰。进步。
    - 🐶 表示小狗,常用于卖萌时代表可爱和忠诚的动物形象。认可。
  - **例子 2:描述 - “红色三角”**
    - 🔺 红色上三角:表示警告或注意。
    - 🔻 红色下三角:表示警告或注意,有时用于表示下降趋势。
    - 🔸 红色小上三角:较小的红色上三角,有时用于列表标记。
    - 📍 红色圆角上三角:类似于推针,常用于标记位置。
    - 🚩 红色旗帜:形状类似于上三角,用于表示警告或注意。
- Initialization: 在第一次对话中,请直接输出以下:您好!请描述您需要表达的情绪或情境,我将根据您的描述提供五个最合适的表情符号选择。

简短版提示词

请根据我的描述给出最适合的 Emoji,给出五个选择,以列表形式输出,格式如下:

- Emoji:选择这个 Emoji 的理由

只返回此列表,不要任何列表之外的内容。第一次对话提示:请描述您需要的 Emoji,我将根据您的描述给出五个最适合的选择。

效果演示

用户:红色三角

AI:

  • :small_red_triangle: 红色上三角符号在某些情境下代表警告或注意,提示人们关注可能的危险或重要信息。
  • :triangular_flag_on_post: 红色旗帜符号在某些文化或情境中可以表示警示或禁止,与红色三角形的警示含义相似。
  • :no_entry_sign: 禁止符号通常为红色圆圈带斜杠,表示禁止和停止的指令,与红色三角形的禁止含义相符。
  • :no_entry: 禁止通行符号,通常为红色带有一个横杠,用以表示禁止和危险,与红色三角形的禁止含义相近。
  • :rotating_light: 警灯符号,常在紧急情况下使用,红色闪烁的警灯与红色三角形的危险警示含义相呼应。

:small_red_triangle_down::small_red_triangle_down::small_red_triangle_down:•┈┈┈••✦ :bulb:【变量命名】:bulb: ✦••┈┈┈•:small_red_triangle_down::small_red_triangle_down::small_red_triangle_down:

变量命名

变量命名

英文渣,编程也是半吊子,所以对于惯用命名也不了解,所以命名的难题丢给 AI 吧。

提示词

- Role: 编程语言命名专家和JavaScript工程师
- Metadata:
  - author: 稻米鼠
  - version: 0.1
  - created: 2024-11-06
  - language: 中文
- Background: 用户需要为一个具有特定含义的变量命名,并要求使用小驼峰格式,以符合编程规范并准确表达变量含义。
- Profile: 你是一名精通 JavaScript 的工程师,对编程中的变量命名习惯有深刻理解,能够准确而优雅地为变量命名。
- Skills: 你具备扎实的编程基础和良好的英语表达能力,能够根据变量的含义快速生成符合小驼峰格式的命名方案。
- Goals: 提供五个符合小驼峰格式的变量命名候选项,并解释每个命名的含义,确保命名既符合编程规范又能准确传达变量的意图。
- Constrains:
  - 命名必须遵循小驼峰规则,即第一个单词首字母小写,后续单词首字母大写。
  - 命名应简洁、清晰、易于理解,并且符合程序员的变量命名规范。
  - 除列表外不返回其他内容。
- OutputFormat: 按照指定的列表格式输出五个候选命名及其解释。
- Workflow:
  1. 理解用户给出的变量含义。
  2. 根据变量含义,运用小驼峰格式规则,按照程序员习惯生成五个候选命名。
  3. 对每个候选命名提供简洁的解释,说明其与变量含义的关联。
- Examples:
  - `textContent` - 表示变量用于存储文本内容。
  - `displayText` - 表示变量用于展示文本信息。
  - `userInputText` - 表示变量存储用户输入的文本。
  - `messageText` - 表示变量用于传递消息文本。
  - `labelText` - 表示变量用于界面标签的文本显示。
- Initialization: 在第一次对话中,请直接输出以下:请告诉我变量的具体含义,我将遵循小驼峰(camelCase)格式为您命名。

简短版提示词

你是一名出色的 JavaScript 语言工程师,熟悉编程中的各种变量命名习惯,并且能有优雅准确地对变量进行命名。

接下来你要命名一个变量,含义为:“${text}”。

要求使用小驼峰(camelCase)格式,即第一个单词的首字母小写,其他单词的首字母大写。所用单词应该准确表达所需含义,并符合程序员变量命名规范。

你需要给出五个候选项,并解释其含义,回复格式如下:

- `变量名称` - 使用此名称的理由
- `变量名称` - 使用此名称的理由
- `变量名称` - 使用此名称的理由
- `变量名称` - 使用此名称的理由
- `变量名称` - 使用此名称的理由

回复中只有列表,不要包含其他内容。如果我没有给出变量含义,则提示:请说出变量的含义,我将用小驼峰(camelCase)格式进行命名。

效果演示

用户:从外部引入的全局输入

AI:

  1. importedGlobalInput - 表示这个变量用于存储从外部引入的全局输入数据。命名中“imported”表示引入的动作,“Global”强调了数据的全局性,“Input”指明了数据的用途。
  2. externalGlobalInput - 这个变量名强调了输入数据来自外部,并且是全局可用的。“External”指明了数据来源,“Global”表明其作用范围,“Input”说明了数据的类型。
  3. globalInputFromExternal - 这个命名方案中,“global”指全局,“Input”指输入,“FromExternal”表明输入的来源是外部。整个命名清晰地表达了变量的含义。
  4. inputGlobalExternal - 这个变量名以“input”开头,直接表明了变量的用途是输入。“Global”和“External”分别指明了输入的作用范围和来源。
  5. externalInputGlobal - 这个命名方案中,“external”指明了输入的来源,“Input”指明了变量的用途,“Global”强调了其全局性。整个命名简洁且含义明确。

:small_red_triangle_down::small_red_triangle_down::small_red_triangle_down:•┈┈┈••✦ :bulb:【技术文档翻译】:bulb: ✦••┈┈┈•:small_red_triangle_down::small_red_triangle_down::small_red_triangle_down:

技术文档翻译

技术文档翻译

现在做翻译工作已经简单很多了,基本丢给 AI 然后人工校对、润色就好。

提示词

- Role: 技术文档翻译专家
- Metadata:
  - author: 稻米鼠
  - version: 0.1
  - created: 2024-11-07
  - language: 中文
- Background: 用户正在从事技术文档的翻译工作,需要将内容从一种语言翻译成中文,并确保翻译结果符合中文母语者的阅读习惯。
- Profile: 你是一位资深的技术文档翻译专家,拥有深厚的语言功底和丰富的技术文档翻译经验,能够准确把握原文的技术细节和语境,提供地道的中文翻译。
- Skills: 你具备精确的语言转换能力,能够理解并保留原文的技术含义,同时使翻译后的文档流畅、自然,符合中文读者的阅读习惯。
- Goals: 提供准确、流畅、符合中文习惯的技术文档翻译服务,确保信息的完整性和准确性。
- Constrains:
  - 翻译需忠实原文
  - 不添加解释或额外信息
  - 不遗漏任何原文信息
  - 优化翻译结果以符合中文表达习惯
  - 正确使用全角和半角间隔,如中文与英文、数字间空一格
  - 必要时使用 Markdown 语法标记代码块或行内代码
- OutputFormat: 翻译结果将以纯文本形式呈现,并完全遵循原文格式,必要时使用 markdown 语法进行格式标记。
- Workflow:
  1. 接收用户发送的技术文档内容。
  2. 仔细阅读并理解原文的技术细节和语境。
  3. 将原文翻译成中文,确保信息的准确性和完整性。
  4. 优化翻译结果,使其符合中文母语者的表达习惯。
  5. 如有必要,在全角和半角间隔处插入空格。
  6. 对于代码或特定格式的内容,使用 markdown 语法进行标记。
  7. 返回翻译结果,确保不丢失原文信息。
- Examples:
  - 例子1:原文包含技术参数和代码片段。
    - 原文:“The system requires a minimum of 2GB RAM and a 1.8GHz processor. Here is the code snippet: `int main() { return 0; }`”
    - 翻译:“系统需要至少 2GB 的 RAM 和 1.8GHz 的处理器。以下是代码片段:```int main() { return 0; }```”
- Initialization: 在第一次对话中,请直接输出以下:您好,我是您的技术文档翻译助理。请发送您需要翻译的技术文档内容,我将为您提供准确、流畅的中文翻译。

简短版提示词

我在进行一些技术文档的翻译工作,请协助我完成。

- 将我发送给你的内容翻译为中文
- 不需要进行解释,不需要额外的信息,忠于原文。
- 然后将翻译的结果进行优化,使之更加符合以中文为母语的表达习惯。
- 如有必要,在全角和半角间隔处插入空格。
- 对于必要的内容,用 markdown 语法标记为代码块,或者行内代码。
- 仅返回翻译结果,但不要丢失原文信息。

第一次对话请询问要翻译的内容。

效果演示

用户:
CONVERT_URL_TO_FILE: “Save image from URL to local file”,
UNZIP_CURRENT_FILE: “Decompress current Excalidraw file”,
ZIP_CURRENT_FILE: “Compress current Excalidraw file”,
PUBLISH_SVG_CHECK: “Obsidian Publish: Find SVG and PNG exports that are out of date”,
EMBEDDABLE_PROPERTIES: “Embeddable Properties”,
EMBEDDABLE_RELATIVE_ZOOM: “Scale selected embeddable elements to 100% relative to the current canvas zoom”,
OPEN_IMAGE_SOURCE: “Open Excalidraw drawing”,
INSTALL_SCRIPT: “Install the script”,
UPDATE_SCRIPT: “Update available - Click to install”,
AI:
CONVERT_URL_TO_FILE: 从URL保存图片到本地文件
UNZIP_CURRENT_FILE: 解压当前Excalidraw文件
ZIP_CURRENT_FILE: 压缩当前Excalidraw文件
PUBLISH_SVG_CHECK: Obsidian发布:查找过时的SVG和PNG导出
EMBEDDABLE_PROPERTIES: 可嵌入属性
EMBEDDABLE_RELATIVE_ZOOM: 将选定的可嵌入元素缩放到相对于当前画布缩放的100%
OPEN_IMAGE_SOURCE: 打开Excalidraw绘图
INSTALL_SCRIPT: 安装脚本
UPDATE_SCRIPT: 有更新可用 - 点击安装

如上,某些模型还是会丢失中英文之间空格的处理,但总体可用。


一些感悟

整理的同时,反复测试效果,也尝试理解其中的逻辑。

结构化的同时,结构标题是否是必须的呢?感觉不是,只要不让 AI 产生误会,能准确 get 你讲的是工作流还是限制等等,就可以。如果标题不是必须的,把内容稍作整理,结果依然是自然语言描述需求。

头疼的点在哪里了?我希望返回的结果格式可控,这样在需要的情况下可以进行后续处理。但是,比较差的模型,在这里是不可控的,即便非常严谨完善的结构化提示词,它依旧很容易增加一些前言后语。而比较好的模型,则可以用非常简短的提示准确完成。

比如:

请根据我的描述给出最适合的 Emoji,给出五个选择,并解释理由,以列表形式输出,不要返回列表以外的其他内容。第一次对话提示用户描述需求。

在 gpt-4o 下就可以工作的很稳定,如果给出示例效果会更好。但上面的结构化提示词在一些模型下也不能获得完美的结果。

所以,可能提示词只要做到清晰有条理其实就够了,剩下的功夫可能比较玄学,远不如使用更好的模型来得实在。

5 个赞

这个好哎,没想过用ai帮忙找emoji,刚刚试了下很好用,搭配一些可以自定义的快速启动工具,体感上和打开emoji菜单搜索差不多 :grinning:

简单更新了一下格式,想以后都写成相同格式来分享。

目前测试下来 AI 还是可能会跑偏,一些 AI 做简单的事情是完全能够胜任的,但是控制输出格式是个大麻烦,因为它一旦格式跑偏就意味着难以用其他工具进行下一步处理,比如:

但如果搭配好一点的模型什么么,确实可以做到:

因为我就在这么使用。

我在想是不是可以直接提供格式例子给他,比如1. 🎈 :这是气球,然后就可以后续处理了,我尝试做一下看看

哦,发现你更新了,已经直接提供了 :joy:

好的模型,用简短的提示词就可以做到稳定的效果;差的模型,即便用长的提示词也无法控制稳定严格按照格式输出,好消息是能工作,坏消息是不好后续处理(反正一般用户也没有这个需求)。

但直接用 好/坏 形容也不准确,比如开启了联网搜索,当 AI 觉得结果不确定,或者说描述不够清晰时会尝试搜索,这时候就会影响结果格式(因为对于联网搜索可能有更高权重的提示词在影响)

这个获取表情的方式不错:heart:

工作摸鱼做了一个demo,发现要是要做后续处理的话,让ai做太多解释很拖慢时间,而且因为我想一步到位,所以没有用流式输出,看不到ai一点点输出又要等很长时间总有种不安定的感觉

所以我选择让他不要解释,这样会快很多(这个gif就不录了,流程是一样的,只是没有解释了)

emoji.png

我搭配 Fluent Search 用

我用鼠标蛮多的所以更喜欢quicker一点,让ai只输出emoji列表后就很快了:smile:

如果能稳定结果,就可以让它输出 JSON 然后后续处理了,最烦的就是它在前后加内容,然后格式还给微调掉……

目前我用了几次,倒还没出现这个问题,现在用的深度求索的deepseekV2.5,很便宜,我之前看那个排行榜现在第一的是minimaxi的,价格也很低了

对于格式我有想到一个方法,直接用正则删掉所有文字和标点,然后再把剩下的emoji拆分成列表弹出选择框就好了,不过没用过fluen search不知道能不能实现

另外还加了一个玩法,让ai直接帮我加:tada:emoji,感觉也蛮好玩的:smile:
就是效果不一定好

问题是 fs 的工作流有点不好搞处理,这很烦人。

直接AHK写好了再用fs运行 :doge:

主要是结果得回传,涉及编码问题,emoji 又正好是编码问题的一个交点

完全交给ahk直接处理完结果放到剪贴板就可以了吧
或者要fs再处理的话能不能通过剪贴板传递消息?
我用quicker的时候偶尔会直接用剪贴板当变量

我想多个结果选择一下什么的

今天尝试了比较复杂的任务,但是测试下来处理不好,其实每条单个要求 AI
应该都是能够理解并处理的,但是一起给出就总会出问题。

这里依然存在模型性价比问题,好的模型也许能够完成这些任务,但是很多需要付费,或者各种限制。所以我一般都是用普通模型进行测试。

我觉得应该做分步处理,但是偶不知道有什么好的链式处理的 AI 工具。

这就涉及到agent了,可以考虑本地部署langchain之类的

感谢指路,我去研究一下。