海口分类信息网站,宁波网站开发,石家庄网站建设浩森宇特,重庆传媒公司文章目录 每日一句正能量前言基础介绍什么是Prompt?什么是 Prompt Engineering#xff1f;为什么需要 Prompt Engineering#xff1f;如何进行 Prompt Engineering#xff1f;Prompt的基本原则Prompt的编写模式AI 可以帮助程序员做什么#xff1f;技术知识总结拆解任务阅读… 文章目录 每日一句正能量前言基础介绍什么是Prompt?什么是 Prompt Engineering为什么需要 Prompt Engineering如何进行 Prompt EngineeringPrompt的基本原则Prompt的编写模式AI 可以帮助程序员做什么技术知识总结拆解任务阅读代码/优化代码代码生成生成单测更多 AI 应用/插件 AI可以帮助其他人做什么能在表格中规范便捷地记录多元数据数据的收集、填报、协同功能灵活可满足多种场景数据的可视化和统计分析简单实用支持自动化提醒、自动化规则办公自动化轻松高效可自定义各种审批流程、任务流转流程实现对工作流程管理的自动化和整合化 Prompt Engineering 的前景和挑战后记 每日一句正能量 既然降生到这世上我就要好好看看它找到属于自己的世界第一。 前言
人工智能AI是当今科技领域的热门话题尤其是自然语言处理NLP技术它可以让机器理解和生成自然语言。随着大型语言模型LLM的发展如 GPT-3、DALL-E 等我们可以利用这些模型来完成各种有趣和有用的任务如写诗、画画、编程等。但是要让这些模型按照我们的意愿工作并不是一件容易的事情。这就需要用到一种叫做 Prompt Engineering 的技术。
当你还在错误使用对话 AI 工具如 GPT可能会觉得其作用不过是知识平移总结或简单问答。实际上当了解先进的用法、知悉如何做到 better prompt你会发现AI 不是来替代你的是来帮助你更好工作。如果还用搜索引擎的“关键词匹配”、“关键词命中”思路去思考人工智能的使用已然有些落后。本篇在详细介绍几个GPT帮助程序员工作干货满满的应用场景之后将为你分享AI的正确打开方式——better prompt。
基础介绍
AIGC提示词通常由多个单词、词组或短句构成以,分割组成提示词分为正向提示词positive prompt和反向提示词negative prompt。正向确定生成方向反向排除生成方向总数量建议不超过75个AI程序会依照概率来选择性执行如果提示词之间有冲突AI会根据权重确定的概率来随机选择执行哪个提示词生成图片的尺寸越大需要的提示词就越多否则提示词之间会相互污染提示词支持使用emoji : call_me_hand:且表现力较好。
什么是Prompt?
prompt顾名思义就是“提示”的意思。prompt简单来说就是你给AI的指令。prompt可以是一段文字比如你和ChatGPT等对话的也可以是按照一定的格式的参数描述比如AI绘图的软件使用参数的情况比较多。
提示词Prompt是与AI模型交流的语言用以告诉AI模型想要生成的图像的特征。提示词的准确性、精准度直接决定了生成的图像是否符合我们的预期。
和Prompt对应的一个专业词汇是Prompt EngineeringPE。PE是人工智能AI领域中的一个概念尤其是自然语言处理NLP领域。PE通常通过将问题转换为特定格式的输入并使用预定义的模板、规则和算法来处理让AI能够更好地理解任务并给出相应的回答。PE的优点是可以使AI更加灵活和精确地理解任务并且能够减少因为语言表达不清晰而导致的误解和错误使其能够准确、可靠地执行特定任务。
通俗来说就是你要掌握和AI对话的技巧让AI真正的懂你特别是现在很多的AI产品的智能化水平都还有待进一步的提升因此学一点Prompt Engineering的知识是很有必要的。
什么是 Prompt Engineering
Prompt Engineering 是一种在人工智能领域特别是自然语言处理领域的概念。它指的是如何设计输入数据使其能够清楚地描述任务并引导模型给出正确和合理的输出。换句话说它就是给 AI 模型的指令。
Prompt 可以是一个问题、一段文字描述甚至可以是带有一堆参数的文字描述。AI 模型会基于 prompt 所提供的信息生成对应的文本或图片。
为什么需要 Prompt Engineering
你可能用过不少 AI 相关的产品你或许会觉得好像只需要会说话、会打字就能让 AI 输出答案。好像不需要什么技术。
但实际上并不是所有的 prompt 都能得到满意或精确的答案。因为人类的语言从根本上说是不精确的2目前机器还没法很好地理解人类说的话3。所以才会出现 Prompt Engineering 这个技术。另外受制于目前大语言模型 AI 的实现原理4部分逻辑运算问题、格式问题等等都需要额外对 AI 进行提示。
举个例子在 ChatGPT 里输入这样一个简单数学题
What is 100*100/400*56?ChatGPT 会返回一个错误答案
0.4464但如果我们稍微改变一下 prompt 的格式
Calculate: (100*100)/(400*56)ChatGPT 就会返回正确答案
0.04464可见 prompt 的设计对于结果有很大影响。
如何进行 Prompt Engineering
Prompt Engineering 是一门艺术也是一门科学。它需要结合创造力和逻辑思维来设计出最优化的 prompt 。目前还没有统一标准或规则来指导 prompt 的设计 但有一些基本原则和建议可以参考
包含完整且相关的信息prompt 应该尽可能地提供足够多和具体化的信息来描述任务并避免无关或冗余信息。
简洁易懂并减少歧义prompt 应该使用简单明了且无歧义性质词汇表达任务并避免使用复杂或模棱两可词汇。
明确标签空间prompt 应该清楚地定义输出结果所属范围并在示例中按照真实分布采样标签。
统一格式prompt 应该保持输入和输出数据格式统一并在示例中展示格式的要求。
下面是一些 prompt 的实例可以看出不同的 prompt 对于结果有不同的影响
Less effective prompt
Write a poem about OpenAI.Output:
OpenAI is a visionOf a future that is brightWhere machines can learn and createAnd help us do whats rightOpenAI is a missionTo make AI accessibleTo everyone who wants to use itAnd make it beneficialOpenAI is a challengeTo push the boundaries of AIAnd explore the possibilitiesThat lie beyond the skyBetter prompt
Write a short inspiring poem about OpenAI, focusing on the recent DALL-E product launch (DALL-E is a text to image ML model) in the style of William Blake.Output:To see the world in a grain of sand,And a heaven in a wild flower,Hold infinity in the palm of your hand,And eternity in an hour.This is the power of DALL-E,The latest wonder from OpenAI,A model that can generate images,From any text that you supply.With DALL-E you can create,A new world of imagination,Where anything you can think of,Becomes a visual sensation.DALL-E is not just a tool,But a source of inspiration,A glimpse of what AI can do,To enrich our human nation.Prompt的基本原则
和AI交互时Prompt的基本原则是十分重要的。提交Prompt时应该遵循以下原则以确保机器能够更好地理解用户的意图并给出相应的回答 明确任务描述在提交Prompt时应该尽可能清晰明确地描述任务的具体信息包括任务目标、所需操作、相关条件等。 例如在与AI聊天机器人交互时可以通过简单的问题来引导机器理解用户需求。如“你需要我帮你做什么” “你需要查询什么信息” 能够尽量明确任务描述让机器能够更好地理解用户需求并给出相应建议。 使用常用词汇在提交Prompt时应使用常见的词汇和语言表达方式避免使用生僻单词和复杂的句式以便机器更容易理解。 考虑语境和上下文在提交Prompt时应该考虑到所处的语境和上下文环境以便机器能够从语言环境中获取更多的信息来理解用户的意图。 提供多样化信息在提交Prompt时应该尝试提供多样化的信息包括文字、图像、语音等以促进机器更全面地理解用户需求。 确定回答形式在提交Prompt时应该确定回答的形式例如文字、语音等并确保机器可以合理地解析和输出回答信息。
更进一步的原则包括向机器提供足够的上下文信息、结构清晰地组织Prompt以使机器更容易进行处理使用简单明了的问题引导用户去表述建议从而更好地理解需求。此外在交互中用户还应该尽量用简短的句子提出问题以便AI机器人更快速和准确地回答问题。
Prompt的编写模式
这里介绍4种常用的Prompt模式平时遇到的可能是这几种的变种或是组合。
特定指令By specific 在这种模式下我们给模型提供一些特定信息例如问题或关键词模型需要生成与这些信息相关的文本。这种模式通常用于生成答案、解释或推荐等。特定信息可以是单个问题或多个关键词具体取决于任务的要求。
如以 翻译、告诉我等关键字开头
翻译一下Prompt Engineering
告诉我“Prompt Engineering”的定义
在这种模式下AI可以帮我完成补全句子文字翻译文本摘要问答和对话等任务这是最常用的Prompt模式。
指令模板Instruction Template 在这种模式下我们给模型提供一些明确的指令模型需要根据这些指令生成文本。这种模式通常用于生成类似于技术说明书、操作手册等需要明确指令的文本。指令可以是单个句子或多个段落具体取决于任务的要求。
这种模式下可以让AI具体地了解你想要的内容
例如让AI推荐三本中文科幻小说可以这样写
给我推荐三中文的科幻小说
推荐格式1、书名2、作者3、主要内容4、推荐理由
在这种模式下你还可以将一段话按照你给的模板让AI帮你总结。也可以是你给AI一些答案的例子AI通过学习给出他的答案。
代理模式(By proxy) Proxy 模式是指用户可以要求 ChatGPT 以特定的身份、角色或者身份扮演某个特定的人、角色或对象来生成回答。这种模式通常用于模拟某个特定人物的语言风格和语境生成特定情境下的对话、回答或其他形式的文本。
这个模式也是比较的常用的前段时间大家让chatGPT写申论就是代理模式。例如描述秋天小学生、大学生、老年人的不同身份内容是有很大的不同AI的身份和角色的把握还是很准确的。因此在提问前告诉你的身份很重要。
示例模式By demonstration 在这种模式下我们给模型提供一些示例文本模型需要生成与示例文本类似的文本。这种模式通常用于生成类似于给定示例的文本例如自动生成电子邮件、产品描述、新闻报道等。示例文本可以是单个句子或多个段落具体取决于任务的要求。
AI 可以帮助程序员做什么
技术知识总结
刚开始接触学习一门技术的时候难免需要去查看文档。现在的手册非常丰富。往往对于一个初学者来说需要接触的信息太多、排版五花八门学起来云里雾里。
这时候就可以借助 ChatGPT 的总结能力例如我想学习一下 K8S 的相关知识我发给它一个文档的地址让它帮我总结。
prompt: https://kubernetes.io/zh-cn/docs/concepts/overview/ 总结这篇文档。可以看到它很好地总结了这篇中文的文档并且对每一个关键点进行了概括。用最少的语言让你能够搞懂你想要的知识点。
因为 ChatGPT 是有上下文的它知道你需要的内容是中文的总结所以在这里你继续发一篇英文的文档给它它也会用中文帮你总结。
prompt: 总结这篇文档https://kubernetes.io/docs/concepts/overview/components/ 。目前 chatgpt 的免费版本数据库的截止时间是 2021 年也就是说如果问它比较新的内容它是无法总结的甚至是会随意编撰。例如这里询问一个关于电影《流浪地球 2》的问题让它总结一下 wikipedia 里的介绍。
prompt: 总结https://zh.wikipedia.org/zh/%E6%B5%81%E6%B5%AA%E5%9C%B0%E7%90%832因为这时候电影还没有上映所以之前的内容还都是错误的它的总结是不准确的。
当我们将整个网站的内容复制进来让 chatgpt 进行总结。但是这时候会发现文章太长了会收到报错。 这时候就要运用自己的想象力使用 prompt 来进行突破了。我们需要把文章进行段落拆分每一段都符合它的标准。 将内容拆分成 7 段发送完成之后它就会自动总结了。 这样才能得到了一篇文档的正确总结。
拆解任务
上文所描述的内容可以算是借助 AI 让程序猿日常生活效率提升。那么在工作当中AI 如何帮助我们提效
我们从需求端获取一个需求以后很多情况下我们的任务并不能够非常准确的估计时原因就是我们并没有将任务拆分清楚所以并不能够对每一项任务进行估计导致风险的发生。
这时候可以简要描述一下我们这次的需求点让 ChatGPT 帮我们进行任务拆解。 可以看到任务整体被拆成了一个个细小的任务。它可以很快的让我们将任务转换为 task或者是需求跟踪单。这既方便和产品经理进行沟通也便于我们自身排期。转换成 KANBAN 模式也便于了解当前进度。
如果对方仍有疑问可以继续询问拆解。比如我们想要询问第三步应该如何进一步实现。可以看到它甚至给了我们具体的 UI 交互。我们可以利用这样的提示对我们的交互以及实现提供一定的参考。
阅读代码/优化代码
开发者经常接手别人的代码。质量参差不齐还会夹在很多奇怪的命名。当我们阅读整体逻辑或者修改逻辑可能会因为自身阅读的问题造成理解偏差进一步引发 bug。
如果将这个方法交给 AI 去阅读呢可以看看效果。
prompt:逐行解释下面的代码 代码内容, (在这里使用了一段在 github上面的开源代码进行展示, 这段代码是一段定时器相关的内容)。 可以看到 ChatGPT 正确的理解了我们的代码对代码进行了解释和说明。
但是这时候只是生成了一个整体的说明并没有对每一行分别进行解释。这时候继续和它对话
prompt:可以在每一行代码上面加上注释便于我理解吗这时候它会逐行的进行代码标注便于你对每一行进行理解。如果你接着对它提出一个粗浅的优化需求它也会照做。
prompt: 这段代码可以进行重构和优化吗逻辑有些繁琐。你可以对某一个部分提出更细节的要求为它提出更好的优化方向。在这里我们提出了关于参数顺序耦合的问题可以看到 GPT 也理解到了我们的需求并且做出了对应的优化如下
prompt:
children: (isCounting: boolean, durationTime: number, startCount: () void) React.ReactNode // 子组件接收三个参数返回一个React节点这里面的参数太多了而且对顺序有强依赖该怎么优化这里代码生成
开发者在工作中还有一种场景的工作量比较大需要复杂的逻辑思考。但是实际上最终的代码可能只需要几行就可以搞定。你在思考过程中觉得很痛苦想和身边的同事去沟通。也许你给他解释完这个逻辑以后他非但不能帮你思考反而将一人份痛苦变成两人份。
例如我们要进行数据转换是否也可以交给AI来做我们发送给 GPT 这样的 prompt将数据结构进行转换。数据源为
[{candidates: null,candidatesX: null,description: role---用户角色,label: 角色,name: role,optional: true,schema: null,type: String},
{candidates: null,candidatesX: null,description: Topics of the pulsar server to create---需要创建的主题,items: {schema: [{candidates: null,candidatesX: null,description: topic name---主题名称,label: 主题名称,name: name,schema: null,type: String},{candidates: null,candidatesX: null,default: 1,description: partition number---分区数,label: 分区数,name: partitions,schema: null,type: Integer,validator: 0}],type: Object},label: 主题列表,name: topics,optional: true,schema: null,type: List}]
我想要得到的数据是 type 为 List 的数据并且数据结构为:
[
{type:List, name:topics, needValidates:[{name:name, type:String
},{name:partitions, type:Integer}] }]GPT 会为我们得到正确的结果 我们只需要输入目标数据结构转换后的数据结构无需指定语言。因为它会从你的上下文里理解到你是想要问什么实现方式。
还有执行脚本我们只需要描述清楚我们的需求它也会帮助我们进行完善。 此外它还可以进行进行解释说明 上面可以看到我们在这里使用了一次“自然语言编程”的操作流程。不论你是否会使用 python、bash 你都可以正常的描述你的需求。进行生成。
我们还可以进行代码转换例如你写了一段 js 代码你希望将这段代码转化为python以前我们会通过 Google 搜索看看有没有对应的转换器现在就只需要交给 gpt 来执行。提出你的诉求它会在 10s 内为你生成一段没有 bug包含异常处理的代码。这里我们不展开举例。
生成单测
我们刚刚那段数据转化的代码如果我们想要进行测试。以前我们可能会苦思冥想很多场景进行补充。现在只需要告诉 AI 帮我生成单测即可。
prompt:(代码内容) 为这段代码生成 unit test。如果你觉得测试条件不够那就再问它让它再生成。
prompt: 数据源不够丰富多测试集中边界条件比如数据不存在数据类型无法转换数据类型不对等。它还会给你解释这里都做了什么操作这些测试用例覆盖了不同的场景包括
当数据源中没有类型为 List 的字段时应该返回空数组当数据源中有类型为 List 的字段时应该返回正确的字段数组包括需要的验证。
更多 AI 应用/插件
AI 就像是一个基础应用, 在它上面还有着很多的可能。随着你用的越多解锁的技能也就越丰富。例如现在 GPT 系列甚至推出了自己的应用市场。下面我们来为各位简单介绍几款热门插件
AIPRM 它是 ChatGPT3.5 时代的应用商店。用户通过不同的 prompt对它进行训练达到自己的目的。
例如我们在文章最开始介绍的“长文总结”能力我们普通的和它进行交流那么字数限制就会成为瓶颈。但是如果我们转化了沟通技巧那么就可以突破这一限制。AIPRM 就是一个充满了奇思妙想的插件系统你可以在里面查找/发布各种你想要的 prompt。
Voice Control for ChatGPT 依托于这样的系统我们可以使用它锻炼英文(伪需求)。或者是直接用语音和它进行对话让它替自己写代码例如我们刚刚所有的脚本说明都可以让它直接语音转文字发出去。
它也很好的服务了一些视障人士因为它还会读出每一次 GPT 生成的内容。让每个人都拥有平等接触 AI的机会。
ChatGPT Sidebar 随着使用的人越来越多ChatGPT 的响应速度越来越慢。有时候只不过想问一个简单的问题却要等上很久。这时候就可以使用 ChatGPT Sidebar 插件。
它内置了 ChatGPT 的 API可以直接集成在你的搜索引擎里你的每一次搜索都会触发(也可以设置为手动)免注册使用方便。还可以让它提示你如何搜索相关的关键词。 在它的侧边栏里我们还可以进行其它的操作。
著名应用工具使用体验Bing Copilot、ChatGPT、Google Bard 那我们再回头看看几个影响力比较高的AI工具。笔者个人现常用的基础 AI 工具大概有 3 种分别是 Bing Copilot、ChatGPT、Google Bard。最被广泛使用的 ChatGPT(GPT3-5)我们先来看看它的自我介绍是什么。
ChatGPT使用频率最高的 AI。它有强大的上下文还可以拆分成为不同的 conversation便于它处理不同的对话。
例如一个控制台的项目可以单独做一个对话这样它聊的上下文都是围绕这个主题进行每次新的问答也无需补充上下文信息。 Bing Bing 在很早就使用了 GPT-4可是因为对话数实在是太少了(从 5 次扩充到了 15 次)每一次对话的内容长度也很有限(截止目前仍只有 2000 字) 而且不能保存对话上下文导致使用起来实在很不方便。好处是它是实时联网的所以作者主要用于搜索最新的资讯以及总结一些文章和文档的摘要以及辅助 ChatGPT 使用对比一下两遍生成的逻辑是否一致。优点就是搜索结果会给出详细的出处以及引用地址。 Google Bard (LaMDA)Google 近期发布的AI工具目前只支持英文。特点是能够给出多个回答而且响应速度很快。集成了 Google it点击之后会帮你生成一个最适合你的问题的 google 搜索关键词。这算是和 Bing Copilot 反其道而行之一个是将 chat 集成到搜索里一个是将搜索集成到了 chat 中。
AI可以帮助其他人做什么
就笔者身边的情况来看电脑的的初级应用会多一点比如Excel、Word文档、PPT等的自动化办公应用帮助人们进行考勤、薪酬等的自动化管理和优化等。
办公自动化Office Automation简称OA是将现代化办公和计算机技术结合起来的一种新型的办公方式。办公自动化没有统一的定义凡是在传统的办公室中采用各种新技术、新机器、新设备从事办公业务都属于办公自动化的领域。 通过实现办公自动化或者说实现数字化办公可以优化现有的管理组织结构调整管理体制在提高效率的基础上增加协同办公能力强化决策的一致性 。
从使用场景来说有文案修改、数据收集、数据协作、数据保存、数据处理、数据可视化、统计分析、图表制作、审批流程、应用制作等从种类来说也比较多样比如传统的 Excel、WPS、Word、PPT、Photoshop、Seafile等就是比较基础的办公软件或办公自动化软件甚至可以再进行细分比如企业微信、钉钉就是比较主流的企业通讯与办公工具可以助力企业高效办公和管理属于生态型办公平台。但无论是哪种软件目的都是为了有效解决工作中的问题节约资源提高工作效率和管理效益。甚至它还可以和一个企业的业务结合的非常紧密比如定制化软件、个性化应用只需点击按钮就可以得到想要的结果。话说回来软件只是一个工具关键靠人去用企业应用深度与否取决于企业的重视程度以及配套的管理制度保证和供应商的服务能力两者缺一不可。总体上一般具备以下特点的办公自动化软件更受企业和使用者青睐
灵活的自定义傻瓜式的操作性能要求便于维护性价比高
能在表格中规范便捷地记录多元数据
SeaTable 表格支持多达24种数据类型不仅能记录文本、数字、日期这类基础数据还可以记录文件、图片、长文本、单选、多选、勾选、地理位置、评分、邮箱、URL、创建者、创建时间、修改者、修改时间等还能用按钮、公式、链接其他记录、链接计算实现交互办公、同表计算、跨表关联及计算等。要比 Excel 更简单方便。
数据的收集、填报、协同功能灵活可满足多种场景 数据的可视化和统计分析简单实用 支持自动化提醒、自动化规则办公自动化轻松高效 可自定义各种审批流程、任务流转流程实现对工作流程管理的自动化和整合化 Prompt Engineering 的前景和挑战
Prompt Engineering 是一个新兴且有趣的领域它为人工智能的应用提供了更多可能性和灵活性。随着大语言模型的不断进步我们可以期待更多惊喜和创新。
但 Prompt Engineering 也面临着一些挑战和限制比如
如何评估 prompt 的质量和效果
如何自动化或半自动化 prompt 的生成和优化
如何保证 prompt 的安全性和道德性
如何适应不同语言、领域、场景、用户等因素
这些问题需要我们持续地探索和研究以提高 Prompt Engineering 的水平和价值。
后记
Prompt Engineering 是一种在人工智能领域特别是自然语言处理领域的技术。它指的是如何设计输入数据使其能够清楚地描述任务并引导模型给出正确和合理的输出。Prompt Engineering 需要结合创造力和逻辑思维来设计出最优化的 prompt这也就是 Prompt Engineer 存在的价值所在。
几乎对于所有入门计算机课程的人来说题图中的两个单词 “hello world” 就是大家最开始使用计算机语言与机器沟通的第一句话不过随着 AI 及时的发展和普及大家都可以直接用最简单最自然的话语让 AI 告诉你怎么让机器来执行和输出 “hello world” 。
转载自https://blog.csdn.net/u014727709/article/details/133977517 欢迎start欢迎评论欢迎指正