AI 时代,提示词便是生产力

news2024/10/5 17:16:52

作者:明明如月学长, CSDN 博客专家,蚂蚁集团高级 Java 工程师,《性能优化方法论》作者、《解锁大厂思维:剖析《阿里巴巴Java开发手册》》、《再学经典:《EffectiveJava》独家解析》专栏作者。

热门文章推荐

  • (1)《人工智能时代,软件工程师们将会被取代?》
  • (2)《超全人工智能 AI工具导航网站合集》
  • (3)《如何写出高质量的文章:从战略到战术》
  • (4)《我的技术学习方法论》
  • (5)《什么? 你还没用过 Cursor? 智能 AI 代码生成工具 Cursor 安装和使用介绍》
  • (6)《我的性能方法论》
  • (7)《New Bing 编程提效实践 - 语言识别功能》

【号外】学长主导的新星计划2023【AI 助力软件开发】学习方向,旨在引导大家学习 AI 工具的使用、学习如何写出高质量的技术文章。引导学员借助 AI 工具更好地学习,更快地解决问题。火热报名中,感兴趣快来报名吧!

一、背景

2023 年可谓是 AI 元年,随着 GPT 的发布,人工智能正在影响着人们的生活。甚至有些人会焦虑是否自己将会被取代而失业。
据 36 氪,如何看待 AI 代替人类工作
李彦宏表示,不管有多少工作被替代,这只是整个图景的一部分,另外一部分是,存在我们现在甚至无法想象的更多新机会。做一个大胆预测,十年以后,全世界有50%工作会是提示词工程(prompt engineering),不会写提示词(prompt)的人会被淘汰。

人工智能时代提示词.png

现在很多人都已经开始使用人工智能工具,如 ChatGPT 、 Bard、文心一言等聊天机器人,还有 New Bing 、Phind、You.com 等人工智能搜索引擎,还有 Notion AI、印象 AI 等人工智能笔记软件,还有其他诸多类型的工具。
使用人工智能工具的人比没使用工具的人会有很大优势,不同的人工智能工具对同一个问题的理解程度不同,同一款人工智能工具,不同的提问方式得到的答案也会有很大差异,因此提示词至关重要

二、反向示例

有些同学请教同事,在一些技术群里提问时,提出的问题都是模糊的,人都很难理解,更别说人工智能了。

2.1 示例一

比如“我想实现用户在某个网页提交时获取用户提交的信息,怎么实现?”
某个网页是哪个网页?是你开发的还是别人开发的?
获取信息的目的是什么?

2.2 示例二

比如“帮我给某个 Dao 类写一个缓存”,然后期待它能够写完美的实现自己的想法,然后大失所望,说人工智能也不咋地啊。
大哥,你这描述人都听不懂啊。
某个 Dao 是哪个 Dao?是不是可以给举个例子,比如有一个 StudentDao,其中包括增删改查方法。
写一个缓存是指啥?使用什么编程语言,使用哪个缓存框架?是内存缓存还是分布式缓存?是不是可以限定清楚是 Java 语言,使用 Guava框架。

三、什么是好的提示词

Prompt 是指对模型提出的问题进行描述和约束的文本片段,可以包括问题的主题、范围和关键词等信息。
image.png

好的 Prompt 应该具备以下几个特点:
清晰具体:好的 Prompt 应该简单明了,避免使用复杂或模糊的语言。Prompt 应该越具体越好,避免过于广泛或开放式的问题。例如,如果我们想让 ChatGPT 回答策略模式的使用场景,我们可以使用 “请描述下策略模式的使用场景” 而不是 “请描述下策略模式”。
Xnip2023-04-01_23-25-30.png

重点明确:好的 Prompt 应该有明确的目的,避免过于广泛或开放式的问题。Prompt 应该能够让 ChatGPT 理解问题的背景和范围,从而更好地回答问题。 有可能,提供可选项或问题列表供 AI 选择回答。对于有多个可能回答的 prompts,提供可选项或问题列表可以帮助 AI 选择最恰当的回答方式。但不要提供太多可选项,以免导致 AI 无法决定。 例如,我们可以使用 “请列举出可以提高代码拓展性的设计模式” 而不是 “请告诉我几个设计模式”。
Xnip2023-04-01_23-23-34.png

充分详尽:好的 Prompt 应该包含足够的信息,以便 ChatGPT 能够理解问题的背景和范围。例如,如果我们想让 ChatGPT 回答关于狗的健康问题,我们可以使用 “请描述下策略模式的使用场景,并给出 Java 语言的示例代码” 而不是 “告诉我一些策略模式的信息”。
Xnip2023-04-01_23-22-40.png

与任务相关:好的 Prompt 应该与任务相关,能够引导 ChatGPT 完成特定的任务。例如,如果我们想要 ChatGPT 回答某个特定的问题,我们可以将问题直接作为 Prompt,以确保 ChatGPT 能够理解任务要求。

语言上下文:好的 Prompt 应该包含一些语言上下文和限制条件,必要的背景信息和前提条件,以帮助 ChatGPT 更好地理解问题。例如,我们在上面的聊天中要求 ChatGPT 给我们准备一篇描写包装器模式的文章大纲,我们可以使用 “请根据上面的大纲帮我写一个草稿”,这样 ChatGPT 更容易理解问题。
Xnip2023-04-01_14-56-06.png
多样性:好的 Prompt 应该具备一定的多样性,不仅可以满足不同的需求和场景,还可以帮助 ChatGPT 更好地理解和生成不同类型的回答。例如,我们可以使用不同类型的 Prompt,例如填空式、选择题或开放式问题,以获得更丰富和多样化的回答。

总之,好的 Prompt 应该具备清晰简洁、重点明确、充分详尽、与任务相关、语言上下文和多样性等特点,这样才能帮助 ChatGPT 更好地理解问题和生成准确有用的回答。

四、经验

4.1 根据 AI 的表现调整 prompts

你可以根据 AI 的表现来调整和改进你给出的 prompts。找出哪些 prompts 使 AI 回答成功, 哪些则需要改进。适当调整 prompts 可以促进更好的互动体验。

另外,有时候不要期待一次提问就一定可以得到想要的答案,可以分步骤提问
比如想写一篇文章,可以先提问让 AI 给你写出一个大纲;如果大纲不符合你的要求,你可以再次提问让它修改大纲;大纲修改好之后,再让 AI 给你写出草稿;如果草稿不满意可以再描述自己的想法让它再次修改。

4.2 中文不满足时可以翻译成英文提问

现在很多大语言模型的语料中文占比较少,使用中文提问时有些模型会优先匹配中文的内容,很容易得不到想要的答案。
当使用中文得不到满意的答案,可以尝试将问题翻译成英文再去提问,或许会有意外收获。
image.png

4.3 预定义提示词模板可以提高效率

大家可以将常用的提示词定义成模板(参考 ChatGPT Sidebar 浏览器插件),下次快速使用。
Xnip2023-04-02_19-30-00.png

4.4 尝试多种语言模型

有时候哪怕提示词准确,某个大语言模型也未必能够得到满意的答案。
大家除了尝试调整提示词之外,还可以考虑换几个不同的语言模型。
通常结合不同的语言模型更能够得到更全面的答案。
Xnip2023-04-01_21-57-58.png
可以使用 Utools 的网页快开的功能,输入一个问题同时打开多个 AI 搜索引擎来搜索问题,效率翻倍。

在这里插入图片描述

Phind 网页快开的搜索结构:

https://www.phind.com/search?q={query}&source=searchbox

New Bing 网页快开的搜索结构:

https://www.bing.com/?q={query}&setmkt=zh-HK&setlang=zh-CN

You.com 网页开开的搜索结构:

https://you.com/search?q={query}&fromSearchBar=true&tbm=youchat
在这里插入图片描述

五、提示词教程

网上还有很多相对专业的提示词教程,大家可以参考学习。

5.1 prompt-patterns

网站地址:
https://prompt-patterns.phodal.com/
Xnip2023-04-01_22-16-00.png
四种基础模式:
特定指令(By specific):在这种模式下,我们给模型提供一些特定信息,例如问题或关键词,模型需要生成与这些信息相关的文本。这种模式通常用于生成答案、解释或推荐等。特定信息可以是单个问题或多个关键词,具体取决于任务的要求。
image.png
指令模板(Instruction Template):在这种模式下,我们给模型提供一些明确的指令,模型需要根据这些指令生成文本。这种模式通常用于生成类似于技术说明书、操作手册等需要明确指令的文本。指令可以是单个句子或多个段落,具体取决于任务的要求。
image.png

代理模式(By proxy):在这种模式下,可以充当了一个代理,代表某个实体(例如人、角色、机器人等)进行操作或交互。代理模式的核心思想是引入一个中介对象来控制对实际对象的访问,从而实现一定程度上的隔离和保护。诸如于在 ChatGPT 中,”act as xxx” 可以让 ChatGPT 充当一个代理,扮演某个角色或实体的身份,以此来处理与该角色或实体相关的任务或请求。
image.png
示例模式(By demonstration):在这种模式下,我们给模型提供一些示例文本,模型需要生成与示例文本类似的文本。这种模式通常用于生成类似于给定示例的文本,例如自动生成电子邮件、产品描述、新闻报道等。示例文本可以是单个句子或多个段落,具体取决于任务的要求。
image.png

该教程,还介绍了这些模式结合适用的混合模式。

5.2 Learning Prompt

网站:https://learningprompt.wiki/docs/%F0%9F%91%8B%20Welcome
提供了一些基础和高级提示词指导。针对不同的场景给出很多示例和使用技巧。
Xnip2023-04-01_23-46-07.png

5.3 learnprompting

网站:https://learnprompting.org/?ref=allthingsai
Xnip2023-04-01_23-36-08.png

该网站给出全面的提示词学习教程,包括一些基础概念、基础应用和一些进阶用法等。
Xnip2023-04-01_23-36-50.png
如思维链提示过程:
Xnip2023-04-01_23-39-34.png

5.4 ChatGPT 指令大全

网址:https://www.explainthis.io/zh-hans/chatgpt
该网站给出了很多经过提炼过的提示词,可以直接复制来使用。
Xnip2023-04-01_23-48-01.png

5.5 其他

未来有更好的提示词教程会补充到这里。

六、总结

很多人提出的问题连人都难以理解,却希望人工智能能够完全和自己“心有灵犀” ,自己描述不清楚还埋怨 AI 不够智能。

希望本文可以让大家意识到这个问题,并且通过提供的相关教程,尽早掌握提问技巧,更好地利用人工智能更快的学习和更快地解决问题。


创作不易,如果本文对你有帮助,欢迎点赞、收藏加关注,你的支持和鼓励,是我创作的最大动力。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/419231.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

AIGC技术周报|图灵测试不是AGI的智力标准;SegGPT:在上下文中分割一切;ChatGPT能玩好文字游戏吗?

AIGC通过借鉴现有的、人类创造的内容来快速完成内容创作。ChatGPT、Bard等AI聊天机器人以及DallE 2、Stable Diffusion等文生图模型都属于AIGC的典型案例。「AIGC技术周报」将为你带来最新的paper、博客等前瞻性研究。 牙科的未来:从多模态大型语言模型窥探 ChatGP…

Java基础教程之Object类是怎么回事?

前言 在前面的文章中,壹哥跟大家说过,Java是面向对象的编程语言,而在面向对象中,所有的Java类都有一个共同的祖先类,这就是Object。那么Object都有哪些特性呢?今天壹哥就简单跟大家分析一下。 -----------…

刷题记录|Day55● 392.判断子序列 ● 115.不同的子序列

● 392.判断子序列 题目描述 给定字符串 s 和 t ,判断 s 是否为 t 的子序列。 字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"…

pure-admin九州权限系统地址简单读

分成页面权限(ex:权限管理page) & 标签节点权限(ex:下载按钮) 【九州地址娜娜手机𝕍找看看kwk3589提供】以下是范例: /*** admin : 管理员角色* common : 普通角色*/const permissionRouter {path: "/permission"…

C++之入门之缺省参数函数重载引用

文章目录前言一、缺省参数1.缺省参数的概念2.缺省函数的分类(1)全缺省参数(2)半缺省参数3.使用注意二、函数重载1.函数重载的概念3.函数重载的原理--名字修饰(name Mangling)三、引用1.引用的概念2.引用特性3.引用的使用前言 重新…

工地人员工装穿戴识别系统 opencv

工地人员工装穿戴识别系统通过pythonopencv网络模型AI视频智能分析技术,工地人员工装穿戴识别算法模型可对施工现场人员是否佩戴合规穿戴进行自动识别预警。OpenCV的全称是Open Source Computer Vision Library,是一个跨平台的计算机视觉处理开源软件库&…

堆来咯!!!

堆是什么? 是土堆吗? 那当然不是啦~ 堆是一种被看作完全二叉树的数组。 那么什么是完全二叉树呢? 如果二叉树中除去最后一层节点为满二叉树,且最后一层的结点依次从左到右分布,则此二叉树被称为完全二叉树。 堆的特…

开源自动化测试框架有哪些?怎么选择适合自己的

目录 前言 一、Selenium 二、Appium 三、Robot Framework 四、Cypress 五、TestCafe 六、Nightwatch.js 七、JUnit 八、Pytest 总结: 前言 开源自动化测试框架是现代软件开发和测试领域中不可或缺的一部分。它们使得测试人员能够快速、准确地执行测试用例…

Mysql(十) -- 常见问题处理

1. MySQL数据库cpu飙升的话你会如何分析 重点是定位问题。 使用top观察mysqld的cpu利用率 切换到常用的数据库使用show full processlist;查看会话观察是哪些sql消耗了资源,其中重点观察state指标定位到具体sql pidstat 定位到线程在PERFORMANCE_SCHEMA.THREADS中…

HuggingGPT强势来袭,LLM+专家模型,迈向更通用的AI

出品人:Towhee 技术团队 超级组合:HuggingFace ChatGPT HuggingGPT强势来袭。人类仿佛距离真正的AGI又更近了一步。 HuggingGPT是浙江大学与微软亚洲研究院的联手研究,发布之后迅速引发关注,已经开源。 它的使用非常简单&#x…

计算机时间旅行者:NTP如何帮助计算机在时间上保持同步?

应用场景: NTP(网络时间协议)是一种用于同步计算机时钟的协议,它可以让多台计算机在网络上保持同步的时间。因此,NTP可以应用于各种需要时间同步的应用程序中,例如: 计算机网络:在…

《花雕学AI》20:ChatGPT使用之体验评测AI EDU的网页版+桌面端+Android+App store组合

最近准备出门,要去新疆哈密参加活动,一直在寻找手机上可用的AI移动端。昨天在网上偶然找到了AI EDU(这个不是 MSRA 创立的人工智能开源社区),其链接是:https://ai.aigcfun.com,今天就尝试做个相…

三菱FX2N PLC与昆仑通态(MCGS)之间无线通讯

三菱FX2N PLC与昆仑通态(MCGS)之间建立无线通讯,其实就是昆仑通态使用三菱 PLC FX2N 通信口扩展 485 接口通过专用协议对 PLC 站点相应寄存器进行读写操作, 从而实现对站点工作状态的控制。 这种情况下,可以使用三菱PL…

ChatGPT对我们的影响-ChatGPT能给我们带来什么

ChatGPT日常应用 ChatGPT是一种应用广泛的自然语言处理算法,其可以应用于多种日常场景。以下是一些ChatGPT的日常应用: 聊天机器人:ChatGPT可用于构建聊天机器人,通过与用户进行自然语言交互来提供个性化的服务和支持。 新闻稿和…

配置springboot的静态资源访问地址为本机,并使用docker部署

springboot版本 2.7.4开发工具 IDEA 2021.2.4 1. SpringBoot提供的默认静态资源访问方法 resouces目录下的 /static、 /public、 /resouces、 /META-INF/resouces、这四个目录下放置的静态资源都可以通过直接通过以下链接访问 http://localhost:8080/aaa.png 2. 将SpringBoo…

入门力扣自学笔记256 C++ (题目编号:1019)

1019. 链表中的下一个更大节点 题目: 给定一个长度为 n 的链表 head 对于列表中的每个节点,查找下一个 更大节点 的值。也就是说,对于每个节点,找到它旁边的第一个节点的值,这个节点的值 严格大于 它的值。 返回一…

C++中COM组件管理思想实践

在开发一个产品时,其往往有很多子模块,子业务和子功能,这些都可以抽象成组件(C中本质表现就是一个类)。但是如何更好的管理这些类的对象呢?我们可以借鉴微软的COM组件思想来进行对象的注册,创建…

OpenHarmony标准系统开机时长优化

简介 万物互联时代,产品性能至关重要,而系统启动时间是系统性能的重要组成部分,因为用户必须等待系统启动完成后才能使用设备。对于经常需要进行冷启动的汽车等设备而言,较短的启动时间至关重要(没有人喜欢在等待几十秒…

如何手写一个文件索引工具everything(第一章)

第一章(NTFS格式及USN日志) 背景介绍 Windows平台的Everything文件查找速度非常快,优势在于利用了NTFS的USN日志,以及Windows上的文件监测机制我们也可以仿照类似原理,通过查询USN日志、监测Windows平台文件修改、使…

亚马逊卖家如何用facebook推广?

亚马逊作为全球最大的电商平台之一,吸引了大量的卖家和买家。对于亚马逊的卖家而言,如何进行有效的推广和引流成为了他们最关心的问题之一。其中,利用Facebook广告为亚马逊进行推广是一种较为常见的做法。 但是,亚马逊可以用Face…