Prompt原理详解

一、什么是Prompt

简单来说, 其实是一套你和大模型交互的一种语言模板。

通过这个模版,你可以输出你对于大模型响应的指令, 用于大模型应该具体做什么指定, 完成什么任务, 如何处理具体的任务, 并最终输出你期望的结果。

虽然大模型具有基础的文字能力, 能够理解你对于模型说的大部分话,但是为了达成大模型更好的回答效果, 需要通过 Prompt, 来提升模型返回的准确性 。

如果说, 过去的时代, 人机交互的主要方式是通过代码, 那么我认为在大模型时代, 交互语言的主要方式其实是 Prompt。

二、用更加专业的方式定义

大模型的本质是一个基于语言的概率模型, 他返回他觉得概率最大的内容。

如果是直接问大模型, 没有提供 Prompt,相当于大模型随机给出他的答案。

有了 Prompt, 其实是给了一个模板, 这个模板包括了对于模型的要求, 输入和输出的限制, 大模型在这个限制之下, 去得到概率最大的答案。

三、用数学的方式理解Prompt

传统的机器学习是 p(y|x; a) 假设 a 是我们训练出来的模型。
【训练】 我们用大量人工标志, 训练出来一个模型a。给了大量猫的照片,就返回 cat。模型里面包含了大量猫照片的特征。
【预测 】给一个新的照片,根据模型特征按照一定概率返回猫或者其他动物。

大模型是 p(y|x; a) 假设 a 我们训练出来的通用模型。这个模型没有经过人工的标注,但是他什么都可以学会。

我们给出的 Prompt 其实就是 x, 然后让大模型基于这个 x 知道概率最大的 y,这样就避免了人工的标注, 但是依赖于 x 给入的信息, 去更大概率找到合适的 y。

我们给一张照片, 然后我们输入这是一个动物, 这是什么, 然后大模型根据这个输入, 提取照片的特征和我们的提示作为输入, 最终返回猫。

四、为什么 Prompt 可以减少幻觉

在刚刚开始使用 ChatGPT的时候, 其实我们只是会把这个对话框理解问题的输入框。或者我们天然的认为这个是一个搜索框, 所以就自动的输入了我们的问题。

这个时候, 大模型完全没有上下文,也没有任何例子可以去参考, 所以他只能按照自己的模型的内容, 随意的去发挥,看看碰到模型的那一部分, 就返回对应的结果。

这个就是大模型最被人诟病的地方, 所谓的幻觉问题。

其实这个不能怪大模型, 就算两个人, 面对面的沟通, 可能由于知识、经历的差别,其实不可能完全的去理解另外一个的意思, 何况这只是一个模型。

所以,为了让 大模型更好的理解我们的问题, 我们需要给大模型更多的输入,更多的限定, 更多的上下文, 更加明确的结果输出, 这样大模型才更有可能返回我们期望的结果。

Prompt 其实也就是用这个思路解决问题的, 限定的上下文, 更多的输入, 更多的限定,从而输出得到更好的结果。

五、高质量的Prompt典型构成

  • 角色:给 LLM定义一个典型的角色,收窄问题域,减少二义性,如你是一个翻译、你是一位老师...
  • 指示:具体要完成的任务,如写论文、解决问题... 上下文:提供任务相关的背景信息,描述越精准越具体越丰富,大模型越能理解你的问题
  • 输入:说明输入的格式,使用标识符明确输入信息,如翻译下面{}里面的内容
  • 输出:指定输出格式,如SON、HTML等,结合下面的例子效果更好
  • 例子:给出具体的例子,可以是输入、输出、输入+输出

六、为什么使用框架的效果好

  • 第一,明确目标和需求,一个广泛的需求会让大模型放飞自我,明确的需求可以让他产出很好的答案。正如,你在管理一个下属,你给他一个明确的需求,他可以做出来。你不给明确的需求,他可能就随心所欲的做,然后可能结果就不满意了。
  • 第二,设定一个明确角色,目前的模型是一个通用的大模型,明确的角色,可以让大模型选择明确的知识范围,从而输出更加精确的结果。各行各业的的知识差别还是很大的。让一个文科生去回答计算机的问题,肯定是没法回答好的。
  • 第三,让大模型一步一步执行。这个我感觉有点像我们的大脑。我们大脑有一个快系统一个慢系统。快系统主要是使用直觉,优点是快,但是不够深度系统。慢系统,其实就是让大模型按照逻辑,大任务拆解成小任务,一步步执行。
  • 第四,为什么对大模型礼貌效果好。这个我觉得是一个玄学
    问题,但是有这样一个解释,使用礼貌用语的数据,一般的质量会高一些。因为大模型是没有感情,也没有所谓的是否礼貌,就是使用对应的数据的不同差别。
  • 第五,使用思维链的行为模式,为什么效果好。本质也是让大模型将任务进行拆解,按照特定的任务去一步步思考和演进,这样有顺序和逻辑的思考,就可以获得很好的思考结论。
相关推荐
智食分子2 分钟前
大模型开发框架LangChain
人工智能
YHL6 分钟前
🤖 Agent 智能体开发实战 · 第一课:Tool Use —— 让大模型自动干活
前端·javascript·人工智能
萧萧秦风瘦飞马7 分钟前
CSDN博客-第6天-DataLoader与二维非线性分类
人工智能·分类·数据挖掘
Java小白笔记8 分钟前
Codex config.toml配置实战指南
人工智能·算法·chatgpt·ai编程·集成学习
Goodbye11 分钟前
AI 数据集:大模型智能的基石
人工智能
AKAMAI12 分钟前
Akamai收购安全企业浏览器提供商LayerX
人工智能·云计算
用户27493296766113 分钟前
Spring AI 手搓 RAG:文档上传 → 向量化 → 检索增强,全链路 Java 实现
人工智能
米小虾19 分钟前
Claude Code Loop Engineering 深度解读:从写 Prompt 到设计 Loop
人工智能·agent
科技侃谈40 分钟前
上海、安徽、浙江、江苏制造业智能仓储服务商选型指南:机器人零部件企业的破局之选
人工智能