如何更好地与小龙虾(Openclaw)交流(一)–提示词工程的基本原理
从技术上来讲,大模型是一个预测引擎。基于某个输入(即提示词),它试图预测可能跟随其后的词,这样循环出发生成,从它那庞大的训练好的高维数据空间中,根据概率,逐步生成给你的答案反馈 。从本质上讲,只需少数几个词,就能激发大模型做出响应。然而,实际应用的时候,我们提问的方式不同,往往会导致模型反馈的质量差别非常大。
为了让模型给我们更高质量的反馈,我们要用模型更能理解的方式和它交流。
首先,我们把提示词进行结构分解,以结构化的方式,来给模型输入更清晰的提示信息。
指令+数据+输出指示器的基本结构模式
这是最为基础的结构化Prompt的模式。其中,指令包括了明确我们需要模型做的事情的目标、需要的约束,构建模型精准的认知坐标系,从而让模型聚焦在我们的目标领域进行思考和生成。指令应该尽量是明确的,避免模糊的、矛盾的指令要求。
数据是给出模型的参考或处理对象,从而进一步约束模型的能力方向和边界。
输出指示器是用来约束模型产出内容的风格、质量、字数等的要求。
以下是三个典型的提示词不当导致模型能力受限及相应优化改进的案例:
案例1:模糊指令
原始提示:”写一个故事”
问题:未指定类型/背景/角色/基调,模型可能输出通用童话模板
改进:”用悬疑风格写一个关于AI考古学家发现远古外星遗迹的短篇,要求结尾有反转”
案例2:概念冲突
原始提示:”把这段文字翻译成更简洁的英文”
问题:”简洁”与”翻译准确性”的潜在矛盾导致结果失真
改进:”将这段技术文档用工程领域术语浓缩为300字英文摘要,保留所有关键参数”
案例3:隐含前提缺失
原始提示:”解释相对论”
问题:未说明受众基础(高中生/物理学者),未指定形式(数学推导/类比说明)
改进:”用日常物品类比向中学生解释狭义相对论的时间膨胀效应,配合2个简单计算示例”
夜雨聆风