[基石1]Prompt Engineering(提示词工程)
[基石1]Prompt Engineering(提示词工程)
为什么说【提示词工程】是基石?
因为后来火热的所谓的MCP、A2A、Skills本质都是要写好相关提示词,然后加上工程设计【那个叫上下文工程】结合,然后加上一点设计者的想法,沉淀出的一些协议和范式而已
- 所以,我认为AI开发的两大基石只有:提示词工程和上下文工程
Prompt:在大语言模型应用中,用于“提示”模型唤起特定能力以解决实际问题的提问方式,是prompt工程的核心。
不少技术背景用户初接触 Prompt Engineering 时的第一印象:“不过就是加个括号、写清楚点,没啥技术含量。”
但是prompt 工程的“门槛低”只是表象,真正的技术含量在于你能用 prompt 解决多难的问题、做出多稳的系统,此外prompt的设计其实还是有一些框架、套路(因为现代大模型预训练埋下的一些训练语料的刻意练习)
1、Prompt的整体设计框架选型
现在大部分情况都是直接使用RTF框架
| RTF框架:● R-Role(角色):指定大模型担当固定角色(程序员、数据分析师、讲解员、记者等等) ● T-Task(任务): 任务,告诉大模型需要为我们做的事情 ● F-Format(格式):大模型最终结果的返回格式(比如:表格、Markdown、英文等等) | RTF(Role-Task-Format)框架是一个非常简单通用的Prompt提示框架,我们和任意大模型对话场景都可以使用该规范进行输出。 | |
|---|---|---|
| 思考链模式:只需要在末尾添加”让我们逐步思考”即可。 | 通过这种模式来逐步改善大模型的推理能力,非常适合一些复杂的任务处理。例如: | |
| ?? | RISEN框架 | 该框架主要适合: |
| ?? | RODES框架● R-Role: 角色● O - Objective: 目标● D - Details: 详细的细节● E - Examples: 示例● S - Sense Check: 感官检查 | |
| ?? | 密度链模式 | 适合: |
2、格式化输出的核心技巧:分隔符
使用分隔符清晰界定输入部分,核心原因:标记符(如[]、<>、【】)有助于形成明确的结构边界,让模型能更容易理解上下文的角色和任务划分
在大量的 prompt 实验中,我发现使用结构符号、强调符号,可以显著提高模型响应的准确性和一致性。
在构建prompt时,使用分隔符将特定文本部分与提示的其他部分清晰隔开,能有效避免提示词冲突。任何能让模型识别出单独部分的符号都可作为分隔符,常见的包括:
- 章节标题:通过不同层级的标题区分不同内容模块。也就是markdown的那些
#、## - 三重双引号:
""",在代码编写中常用于包裹较长的文本字符串。【类似python中的那些】 - 三重单引号:
''',功能与三重双引号类似,适用于不同的语法环境。【类似python中的那些】 - 三重破折号:
---,在文本中起到明显的分隔作用。 - 角括号:
<>,常被用于标记特定元素。 - XML标签:,利用结构化的标签形式区分不同内容。
为什么这些符号这么有效?看上去能让模型“更聪明”?
1、大模型(如GPT系列)在**预训练**中接触了大量有明确结构的文本:
- 编程语言里的
<tag>、[param]、{value} - 网页/HTML/XML格式、Markdown、JSON 等结构化数据
- 各种提示工程(Prompt engineering)范例里大量使用
<>,[],---,###分隔语法 - 所以它习惯性地将这些字符视为一种“分隔任务”或“标记角色”的信号
- 编程语言里的
2、Token 分词更稳定
- 特殊字符如
[]、<>本身是**单独成一个token**,分词不会混乱; - 而中文如果没有加标记,模型可能对句子结构的切分就不明确,尤其是你输入的句子不够规范或存在歧义。
- 特殊字符如
3、还有一个影响你对自己Prompt水准判定的因素:基础模型本身的水准
比如,同一个好的prompt,可能你放国内某些模型就很差,但是放到claude之类,发现更差的prompt也都能做得很好
原因有2个
1、claude之类,本身的prompt工程可能做得更好
2、claude基础模型本身在特定领域水准领先日常某些模型,一方面是训练语料问题、一方面是
所以结论就是:你的prompt要和具体基础模型去微小绑定!而不是一条prompt吃遍所有大模型
比如,好的基模+比较一般的prompt:claude
绘制 xxx 结构图(SVG)
- 元素不重叠,避免内容过于拥挤
- 添加小型公式来解释关键计算
- 使用精确的专业术语
- 数学公式使用公式字体,英文使用 time news roman 字体,中文使用宋体效果也很好,但是在很多其他模型表现就很不好,那就需要更高端的prompt工程
上面的一般的prompt:完全可以让你的论文、演讲、教学材料立刻提升一个档次!
参考资料
- 大模型Prompt技巧全解析:https://mp.weixin.qq.com/s/u-79q3R0l01oO-7WWUNF2A
- ReAct模式,姚顺宇,https://arxiv.org/abs/2210.03629