AI 时代的 Prompt 工程入门

devtools/2025/1/20 22:49:24/

引言

网络有句话流行的话—— “未来,淘汰你的不是AI,而是掌握了AI的人”。那我们应该怎么掌握AI?我自己的理解是学会面向AI提问,利用好AI工具为我们的工作提效和赋能。毕竟我们普通人不太可能直接去开发大模型,我们更多的是去使用它。

本文所分享的Prompt工程,就是给大模型输入提示词(告诉模型我们要它干什么),让AI更准确的理解我们的意图,从而输出我们想要的内容(文本、图片、视频等等)。

什么是Prompt 工程?

Prompt是一个简短的文本输入,用于引导AI模型生成特定的回答或执行特定任务。高质量的Prompt可以让AI更准确地理解需求,从而提供更有用的回答。

例如:给我推荐一本关于心理学的书籍

交互示意图如下所示:
在这里插入图片描述

举例:我们日常所使用的AI 应用,比如元宝、豆包、Kimi等都是大模型的应用,我们通过输入的文本内容就是Prompt,然后大模型通过理解我们的文本的意图生成符合意图的答案。

总结一下:

我们跟大模型交流的文本或指令就是Prompt,然而如何设计、组织、优化则被称为“提示工程”—— Prompt Engineering

为什么Prompt会起作用?

大模型是基于大量文本数据训练而成的深度学习模型,其内部通过复杂的神经网络结构学习到了语言的模式、规律和知识。当输入一个Prompt时,大模型会根据Prompt的内容,在其内部的知识库中寻找与之相关的信息和模式。

具体来说,模型会将Prompt转化为一系列的向量表示,这些向量包含了Prompt的语义信息。然后,模型通过其内部的神经网络层,对这些向量进行处理和计算,逐步生成下一个词或短语的概率分布。这个过程是基于模型对语言的理解和对知识的内在关联的把握,模型会综合考虑Prompt的上下文信息、任务要求以及自身的知识储备,不断调整生成内容的概率,最终生成一个与Prompt相匹配的输出。

例如,当Prompt是“夏天的夜晚,微风轻拂,……”时,模型会根据这个开头的语义和情境,预测接下来可能出现的词汇和短语,如“繁星点点”“蝉鸣声声”等,然后继续生成后续的内容,形成一段完整的描述夏天夜晚的文本。整个过程中,Prompt起到了引导和激发模型生成特定内容的关键作用。

Prompt vs 传统搜索

对比项目传统搜索AI时代Prompt生成答案
理解能力依赖关键词匹配,对意图理解有限,需多次调整关键词利用NLP和语义理解技术,深入分析查询意图,精准作答
信息获取效率需浏览大量网页自行筛选判断相关信息通过上下文关联和个性化推荐直接提供答案,节省时间精力
交互方式输入关键词,返回链接列表,点击链接查看内容支持自然语言提问,可多轮对话,提供连贯回答
数据处理能力主要处理结构化数据,对非结构化数据处理能力弱能理解处理多种内容形式,利用多模态技术作答
个性化体验基于历史搜索记录,个性化功能较基础通过动态学习和推荐,提供定制化结果
技术原理基于关键词匹配和文本匹配技术结合深度学习、知识图谱和生成式AI技术,进行语义理解和生成
应用场景适用于信息检索和初步数据分析在医疗、金融、教育等多专业领域广泛应用提供深入方案
挑战与局限性信息过载、筛选难数据隐私、内容可信度、伦理问题突出,需人工审核和反馈机制

如何写好Prompt?

什么是好的Prompt,需要具备以下几个关键要素:

  1. 明确目标:清晰定义任务,以便模型理解。
  2. 具体指导:给予模型明确的指导和约束。
  3. 简洁明了:使用简练、清晰的语言表达Prompt。
  4. 适当引导:通过示例或问题边界引导模型。
  5. 迭代优化:根据输出结果,持续调整和优化Prompt

示例1:代码编程

以下是一个与代码编程相关的Prompt示例,结合了上述关键要素:

Prompt:

"请你编写一个Python函数,该函数的功能是计算两个数的最大公约数(GCD)。请确保:

  1. 函数名为 calculate_gcd
  2. 接受两个整数作为参数。
  3. 使用欧几里得算法实现。
  4. 提供函数的完整代码,并附带简短的注释说明。

示例输入:

calculate_gcd(48, 18)

Plain Text

示例输出:

6

Plain Text

注意事项:

  • 请确保代码简洁明了,避免冗余。
  • 函数应能处理负数输入,并返回正的最大公约数。
  • 如果输入的两个数相同,函数应返回该数本身。

请根据以上要求和示例,编写符合规范的Python函数。"

示例2:旅游攻略

以下是一个生成旅游攻略的 Prompt 示例:

“我打算去杭州旅游 3 天,预算大概 2000 元左右。我比较喜欢自然风光和历史文化遗迹,不太喜欢人太多过于拥挤的热门景点。你能为我生成一份详细的旅游攻略吗?包括每天的行程安排、推荐的景点、交通方式、住宿建议以及大致的费用预算。行程不要太紧凑,要留出一些休息和自由活动的时间。另外,最好是能有一些当地特色美食的推荐。”

一些精选的Prompt框架

根据这些优秀的Prompt框架,我们可以结合自己的需求跟AI进行交流,能够极大的提升我们的效率。

总结

本文介绍了Prompt 是什么、为什么要学习Prompt工程、并且对比了跟传统搜索的差异,最后给出了好的Prompt关键要素。AI时代,我们需要将人脑思维转换为AI思维时,就像把“需求转化为程序语言”,我们需要精确的告诉AI怎么做,这对我们的语言表达能力要求是更高的。毕竟要描述清楚一件事情其实对于没有专门训练的人而言并不容易,可以说AI时代会表达的人会更有优势。

回到前面说的 未来淘汰你的不是AI,而是掌握了AI的人,我们可以进一步理解为能更好跟AI沟通的人会更具有竞争力。未来已来,我们需要持续学习,才能让AI更好的为我所用。

更多参考

  • https://blog.csdn.net/Taobaojishu/article/details/132074133
  • https://platform.openai.com/docs/guides/prompt-engineering
  • https://waytoagi.feishu.cn/wiki/ByWEw79g5icSQGkAcNrcgbBonUc

http://www.ppmy.cn/devtools/152209.html

相关文章

主从复制

简述mysql 主从复制原理及其工作过程,配置一主两从并验证。 主从原理:MySQL 主从同步是一种数据库复制技术,它通过将主服务器上的数据更改复制到一个或多个从服务器,实现数据的自动同步。 主从同步的核心原理是将主服务器上的二…

ComfyUI 矩阵测试指南:用三种方法,速优项目效果

在ComfyUI中,矩阵测试也叫xyz图表测试,作用是通过控制变量的方式来对Lora模型以及各种参数开展测试,并进行有效区分。其中测试方法有很多种,可以通过借助插件也可以自行搭建工作流实现,下面介绍3种方式: 1…

简单介绍JSONStream的使用

地址 作用 这个模块是根据需要筛选出json数据中自己所需要的数据 使用 var JSONStream require("JSONStream"); var parse require("fast-json-parse"); var fs require("fs");fs.createReadStream("./time.json").pipe(JSONSt…

RabbitMQ---TTL与死信

(一)TTL 1.TTL概念 TTL又叫过期时间 RabbitMQ可以对队列和消息设置TTL,当消息到达过期时间还没有被消费时就会自动删除 注:这里我们说的对队列设置TTL,是对队列上的消息设置TTL并不是对队列本身,不是说队列过期时间…

QT的TCP通讯

目录 一、引言 二、QT 中与 TCP 通讯相关的类 1.QTcpSocket 类 1.1 常用信号 1.2常用函数 2.QTcpServer类 2.1常用函数 三、QT TCP通信的详细代码实现 1.TCP服务器端实现 2.TCP客户端实现 四、总结 一、引言 在网络编程领域,TCP(Transmission…

C++:用bfs解决洪水覆盖问题与最短路问题习题

1. flood fill(洪水覆盖)算法 岛屿数量 力扣 200(题号)200. 岛屿数量 - 力扣&#xff08;LeetCode&#xff09; 提示&#xff1a; m grid.lengthn grid[i].length1 < m, n < 300grid[i][j] 的值为 0 或 1 思路 这个题就是寻找岛屿的数量&#xff0c;我们遍历整张地…

[Linux] linux 系统中如何添加自动启动程序

背景&#xff1a;在嵌入式系统中&#xff0c;需要开机自动启动所编写的程序【可执行文件】。 解决方法&#xff1a;原理就是Linux开机会自动执行一些文件。在/etc/profile中添加执行程序的脚本。/etc/profile 是一个系统级的配置文件&#xff0c;在用户登录Linux系统时自动执行…

(RAG系列)FastGPT批量添加索引

&#xff08;RAG系列&#xff09;FastGPT批量添加索引 引言版本使用说明脚本代码 引言 索引制作&#xff1a; 通过模型对分块内容进行概况 根据文本内容划分特点&#xff0c;例如&#xff0c;文档有明显的大小标题&#xff0c;把标题作为索引 … 版本 fastgpt v4.8.10 使…