ChatGPT探索:提示工程详解—程序员效率提升必备技能【文末送书】

文章目录

一.人工智能-ChatGPT

人类一直在追求、制造和运用工具,以拓展我们的能力、适应环境,甚至超越生物限制。每一项工具都在一定程度上塑造了我们的生活和社会,从火和轮子,到印刷术和电力,再到计算机和互联网。如今,我们站在历史性的分水岭上,迎来了人工智能(Artificial Intelligence,AI)的时代。

目前,以ChatGPT为代表的人工智能已成为不可忽视的力量。它们快速重塑着我们的世界,改变生活方式和思考方式。无论是否愿意接受,这已是世界的现状,也是未来的发展趋势。

大语言模型(Large Language Model,LLM)如ChatGPT代表的工具非常强大。然而,其真正的价值取决于我们如何使用它们。

1.1 ChatGPT简介

ChatGPT是由OpenAI训练的一种新模型,具有交互式对话的能力。该模型经过训练,可以按照提示中的指示,在对话的上下文中提供适当的响应。ChatGPT可以帮助回答问题、建议食谱、以特定风格写歌词、生成代码等等。

ChatGPT使用人类反馈的强化学习(RLHF)进行训练。虽然这个模型比以前的GPT迭代要强大得多(并且还经过了训练以减少有害和不真实的输出),但它仍然有一些限制。让我们通过具体的例子来了解一些能力和限制。

1.2 ChatGPT探索:提示工程详解

当涉及到程序员的效率提升时,提示工程(Snippet Engineering)是一个非常重要的技能。提示工程涉及创建、组织和使用代码片段(snippets),这些片段可以在开发过程中重复使用,从而节省时间和精力。

提示工程是一种通过创建和使用代码片段的方法,以提高程序员的开发效率。这些代码片段可以是小到一行代码的简短片段,也可以是完成特定任务的一组代码。

1.2 提示工程的优势

  • 提高生产力: 通过重复使用代码片段,减少重复劳动,从而提高开发速度。
  • 减少错误: 通过使用已经测试和验证过的代码片段,减少错误的可能性。
  • 保持一致性: 通过使用相同的代码片段,确保在整个项目中保持一致的代码风格和结构。

二.提示工程探索

将GPT的对话界面与编程语言的shell进行类比时,封装的提示可视为形成一个函数。这个函数有一个独特的名称,当我们用输入文本调用这个名称时,它根据内部设定的规则产生结果。简而言之,我们构建了一个可重用的提示,它有一个易于与GPT交互的名称。这就像有一个方便的工具,让GPT代表我们执行特定的任务 - 我们只需提供输入,就可以得到所需的输出。

通过将提示封装成函数,您可以创建一系列函数来建立工作流程。每个函数代表一个特定的步骤或任务,当按特定顺序组合时,它们可以自动化复杂的流程或更高效地解决问题。这种方法使得与GPT的交互更加结构化和高效,最终增强了其功能,使其成为完成各种任务的强大工具。

因此,在使用函数之前,我们需要让GPT知道它的存在。以下是定义该函数的提示内容。

提示:
我们将使用元提示来称呼这个提示。 这个提示已在 GPT3.5 上进行了测试,并在 GPT4 上表现得更好。

2.1 提示工程实例:

这是一个简单的提示工程实例

bash 复制代码
你好,ChatGPT!希望你一切都好。我正在寻求你的帮助,想要解决一个特定的功能。我知道你有处理信息和执行各种任务的能力,这是基于提供的指示。为了帮助你更容易地理解我的请求,我将使用一个模板来描述函数、输入和对输入的处理方法。请在下面找到详细信息:
function_name:[函数名称]
input:[输入]
rule:[关于如何处理输入的说明]
我恳请你根据我提供的细节为这个函数提供输出。非常感谢你的帮助。谢谢!
我将使用方括号内的相关信息替换函数所需执行的内容。这个详细的介绍应该能够帮助你更高效地理解我的请求并提供所需的输出。格式是function_name(input)。如果你理解了,请用一个词回答"好的"

2.2 英语学习助手

以下是创建一个英语学习助手的示例,包括一个名为 trans_word 的函数,用于将中文翻译成英文。请注意,这仅是一个简单的示例,您可以根据自己的需求扩展和修改这些函数。

首先,将上面定义的 GPT 元提示粘贴到这一节中:

python 复制代码
# 将 GPT 元提示粘贴在这里

然后,创建 trans_word 函数:

python 复制代码
def trans_word(chinese_text):
    """
    将中文文本翻译成英文。

    参数:
    chinese_text (str): 待翻译的中文文本。

    返回:
    str: 翻译后的英文文本。
    """
    prompt = f"将以下中文翻译成英文:\n{chinese_text}\n翻译结果:"
    return gpt3(prompt, temperature=0.7, max_tokens=150)

这个函数使用 gpt3 函数,该函数负责调用 GPT 进行生成。请确保在您的代码中有适当的 GPT 调用逻辑,以便这些函数能够正常工作。

使用这个 trans_word 函数时,只需提供中文文本作为参数,它将返回相应的英文翻译。这样,您可以建立更多类似的函数,以创建一个更全面的英语学习助手。

提示:

bash 复制代码
function_name: [trans_word]
input: ["文本"]
rule: [我希望你能扮演英文翻译员、拼写纠正员和改进员的角色。我将提供包含任何语言中"文本"的输入形式,你将检测语言,翻译并用英文纠正我的文本,并给出答案。]

编写一个扩展文本的函数。

提示:

bash 复制代码
function_name: [expand_word]
input: ["文本"]
rule: [请充当一个聊天机器人、拼写纠正员和语言增强员。我将提供包含任何语言中的"文本"的输入形式,并输出原始语言。我希望你保持意思不变,但使其更具文学性。]

编写一个纠正文本的函数。

提示:

bash 复制代码
function_name: [fix_english]
input: ["文本"]
rule: [请充当英文专家、拼写纠正员和语言增强员的角色。我将提供包含"文本"的输入形式,我希望你能改进文本的词汇和句子,使其更自然、更优雅。保持意思不变。]

最后,你可以独立运行这个函数,或者将它们串联在一起。

提示:

bash 复制代码
trans_word('婆罗摩火山处于享有"千岛之国"美称的印度尼西亚. 多岛之国印尼有4500座之多的火山, 世界著名的十大活火山有三座在这里.')
fix_english('Finally, you can run the function independently or chain them together.')
fix_english(expand_word(trans_word('婆罗摩火山处于享有"千岛之国"美称的印度尼西亚. 多岛之国印尼有4500座之多的火山, 世界著名的十大活火山有三座在这里.')))

通过以这种格式表示函数,你可以清晰地看到每个函数的名称、输入以及处理输入的规则。这为理解工作流程中每个步骤的功能和目的提供了一种有组织的方式。

提示: 如果你不想让 ChatGPT 输出过多的信息,你可以在定义函数规则后简单地添加一句话。

除非你不理解该函数,否则请不要说其他事情。

2.3 Active-Prompt思维链(CoT)方法

思维链(CoT)方法依赖于一组固定的人工注释范例。问题在于,这些范例可能不是不同任务的最有效示例。为了解决这个问题,Diao等人(2023)最近提出了一种新的提示方法,称为Active-Prompt,以适应LLMs到不同的任务特定示例提示(用人类设计的CoT推理进行注释)。

下面是该方法的说明。第一步是使用或不使用少量CoT示例查询LLM。对一组训练问题生成k个可能的答案。基于k个答案计算不确定度度量(使用不一致性)。选择最不确定的问题由人类进行注释。然后使用新的注释范例来推断每个问题。

2.4 提示工程总结

目前,有多个基于 GPT 的编程工具项目,如:

  1. GitHub Copilot
  2. Microsoft AI
  3. chatgpt-plugins
  4. LangChain
  5. marvin

这些项目主要服务于产品客户或懂得使用 Python 等编程语言的用户。对于普通用户而言,可以使用以下简单模板进行日常工作,并进行几次迭代:

  • 使用笔记应用记录函数
  • 将其逐步更新为一个库

此外,一些开源的 ChatGPT 工具如 ChatGPT-Next-Web、chatbox 和 ChatGPT-Desktop 也可供使用。ChatGPT-Next-Web 目前支持在启动新聊天前添加片段,可以利用此功能添加自定义函数并进行使用。

三.文末推荐与福利

免费包邮送出3本!

3.1《ChatGPT进阶:提示工程入门》

内容简介

本书是一本面向所有人的提示工程工具书,旨在帮助你掌握并有效利用以ChatGPT为代表的AI工具。学习完本书后,你将能够自如地将ChatGPT运用在生活和专业领域中,成为ChatGPT进阶玩家。

本书共分为9章,内容涵盖三个层次:介绍与解读、入门学习、进阶提升。第1~2章深入介绍与剖析了ChatGPT与提示工程,并从多个学科的角度探讨了提示工程学科。第3~5章演示了ChatGPT的实际运用,教你如何使用ChatGPT解决自然语言处理问题,并为你提供了一套可操作、可重复的提示设计框架,让你能够熟练驾驭ChatGPT。第6~9章讲解了来自学术界的提示工程方法,以及如何围绕ChatGPT进行创新;此外,为希望ChatGPT进行应用开发的读者提供了实用的参考资料,并介绍了除ChatGPT之外的其他选择。

推荐理由:

  • 系统:全面剖析ChatGPT应用技巧,带你从小白变身ChatGPT应用专家。
  • 实用:内含开箱即用的"提示公式",聚焦ChatGPT实际应用。
  • 有思路,有办法,能落地:带你将ChatGPT真正转化为生产力,开启AI驱动的工作流程。
  • 简单易读:深入浅出,循序渐进,内含60+个示例,适合初学者和进阶读者。
  • 深度:理论结合实际,涵盖提示工程学科深度讨论,授人以鱼更授人以渔。
    爆火全网的原创提示词设计框架BROKE,带你5步掌握向人工智能提问的艺术

从小白变身ChatGPT应用专家,将AI转化为生产工具,重塑你的工作流!
购买链接:

当当网链接:http://product.dangdang.com/29612772.html

京东的链接:https://item.jd.com/14098844.html

3.2领书方式

抽奖方式:评论区随机抽取3位小伙伴免费送出!

(采取随机算法程序在满足点赞、收藏、评论的用户中随机抽取~)

参与方式:关注博主、点赞、收藏、评论区评论"人生苦短,拒绝内卷!"(切记要点赞+收藏,否则抽奖无效,每个人最多评论三次!)

活动截止时间:2023-12-6 20:00:00
名单公布时间:2023-12-6 21:00:00

本页面末更新名单

相关推荐
懒惰才能让科技进步3 小时前
从零学习大模型(十二)-----基于梯度的重要性剪枝(Gradient-based Pruning)
人工智能·深度学习·学习·算法·chatgpt·transformer·剪枝
水豚AI课代表5 小时前
分析报告、调研报告、工作方案等的提示词
大数据·人工智能·学习·chatgpt·aigc
学习前端的小z9 小时前
【AIGC】如何通过ChatGPT轻松制作个性化GPTs应用
人工智能·chatgpt·aigc
DisonTangor9 小时前
苹果发布iOS 18.2首个公测版:Siri接入ChatGPT、iPhone 16拍照按钮有用了
ios·chatgpt·iphone
晨欣9 小时前
Elasticsearch和Lucene之间是什么关系?(ChatGPT回答)
elasticsearch·chatgpt·lucene
爱技术的小伙子16 小时前
【ChatGPT】如何通过逐步提示提高ChatGPT的细节描写
人工智能·chatgpt
johnny23316 小时前
《大模型应用开发极简入门》笔记
笔记·chatgpt
ToToBe1 天前
L1G3000 提示工程(Prompt Engineering)
chatgpt·prompt
龙的爹23331 天前
论文 | Legal Prompt Engineering for Multilingual Legal Judgement Prediction
人工智能·语言模型·自然语言处理·chatgpt·prompt
bytebeats1 天前
我用 Spring AI 集成 OpenAI ChatGPT API 创建了一个 Spring Boot 小程序
spring boot·chatgpt·openai