在本篇教程中,您将学会任何创建自己的第一个提示词,并使用调用文件调用得到结果输出。
提示词工程
为了从工程技艺的角度写出好的提示词,我们可以尝试以下规则,这有助于大语言模型给出更有针对性,更明确,更符合预期的答复:
- 明确的指令
清晰、具体的指令可以帮助模型理解用户的需求,减少歧义。例如:
不清晰的提示:请介绍一下北京。
明确的提示:请提供一份关于北京历史、文化和旅游景点的详细介绍,字数不少于500字。
- 提供必要的背景信息
如果任务需要特定的背景知识,提前提供相关信息有助于模型生成更准确的内容。例如:在中世纪欧洲背景下,描述一个骑士的日常生活。
- 提供使用示例
提供示例可以帮助模型理解期望的输出格式和风格。例如:
无示例的提示:请帮助我写一封正式的投诉信。
有示例的提示:
请帮助我写一封正式的投诉信。以下是示例:
尊敬的客服经理,
我于2023年10月1日购买了贵公司的XYZ产品,但在使用过程中发现存在严重的质量问题。...
- 分步骤指引
将复杂任务分解为几个步骤,可以提高生成内容的条理性和准确性。例如:
请帮助我撰写一篇关于气候变化的研究报告,包括以下部分:
1. 引言
2. 气候变化的原因
3. 气候变化的影响
4. 应对气候变化的策略
5. 结论
5. 指定输出格式
如果需要特定的输出格式,如列表、表格或特定的语言风格,应该在提示中明确指出。例如:请以项目符号的形式列出提高工作效率的五个方法。 请制作一个包含产品名称、价格和库存数量的表格。
- 使用思维链技巧
什么是思维链?思维链(Chain-of-Thought)是一种提示策略,通过在提示词中引导模型逐步思考和推理,帮助其生成更具逻辑性和深度的回答。它类似于人类在解决问题时的思考过程,通过一系列有序的步骤来达到最终结论。
如何使用思维链技巧? 我们可以在提示中明确要求模型按照特定的步骤进行思考和回答。例如:
- 请解释一下如何解决交通拥堵问题。请按照以下步骤进行:
1. 分析交通拥堵的原因
2. 提出可能的解决方案
3. 评估每个解决方案的优缺点
- 请回答以下数学问题,并展示你的思维过程:
问题:如果一个火车以每小时100公里的速度行驶,5小时后行驶了多少公里?
回答需要遵守下列思考过程:
1. 速度 = 60公里/小时
2. 时间 = 2小时
3. 距离 = 速度 × 时间 = 60 × 2 = 120公里
- 请详细说明电动汽车的优势。首先,讨论环保方面;然后,分析经济效益;最后,介绍技术创新。
- 请解释如何制定个人理财计划。按照以下思维步骤进行:
1. 评估当前财务状况
2. 确定理财目标
3. 制定预算计划
4. 选择合适的投资工具
5. 定期监控和调整计划
- 使用伪代码编写提示词工程
除了思维链以外,我们还能够用更加复杂的方式构建提示词,使其具备更复杂的调用风格与输出结果。在这里我们介绍李继刚prompt(之前在网络上因 claude 生成汉语新解而爆火的提示词撰写者),我们可以从他写的 prompt 中学会利用伪代码实现提示词的最佳实践:
;; 元数据
;; 作者:李继刚
;; 版本:0.6
;; 日期:<2024-09-06 周五>
;; 用途:生成单词记忆卡片
;; 模型:Claude 3.5 Sonnet
(defun 生成记忆卡片 (单词)
"生成单词记忆卡片的主函数"
(let* ((词根 (分解词根 单词))
(联想 (mapcar #'词根联想 词根))
(故事 (创造生动故事 联想))
(视觉 (设计SVG卡片 单词 词根 故事)))
(输出卡片 单词 词根 故事 视觉)))
(defun 设计SVG卡片 (单词 词根 故事)
"创建SVG记忆卡片"
(design_rule "合理使用负空间,整体排版要有呼吸感")
(自动换行 (卡片元素
'(单词及其翻译 词根词源解释 一句话记忆故事 故事的视觉呈现 例句)))
(配色风格
'(温暖 甜美 复古))
(设计导向
'(网格布局 简约至上 黄金比例 视觉平衡 风格一致 清晰的视觉层次)))
(defun start ()
"初次启动时的开场白"
(print "请提供任意英文单词, 我来帮你记住它!"))
;; 使用说明:
;; 1. 本Prompt采用类似Emacs Lisp的函数式编程风格,将生成过程分解为清晰的步骤。
;; 2. 每个函数代表流程中的一个关键步骤,使整个过程更加模块化和易于理解。
;; 3. 主函数'生成记忆卡片'协调其他函数,完成整个卡片生成过程。
;; 4. 设计SVG卡片时,请确保包含所有必要元素,并遵循设计原则以创建有效的视觉记忆辅助工具。
;; 5. 初次启动时, 执行 (start) 函数, 引导用户提供英文单词
当然,我们并非一定要使用类似的 emacs lisp 的函数式编程风格进行提示词工程的撰写;我们可以发展属于自己的独特提示词工程伪代码风格或直接使用某类型代码书写格式,实现相同的引导效果。
通过以上简单快速地提示词工程学习,你将能够使用明确的指令、结合必要的背景信息、使用示例、分步骤指引方法显著提升生成内容的质量。掌握这些提示词工程技巧,我们可以真正意义发挥大语言模型在特定场景的潜力。