ChatGPT 之 Prompt学习

在 LLM 工程中,prompt 指的是生成文本的输入,它通常是一个问题、一个话题或者一个指令。用户可以通过输入 prompt 来告诉 LLM 模型需要生成的文本类型,LLM 模型则会根据 prompt 和已有的训练数据来生成相应的文本响应,实际使用中高质量的 prompt 会达到事半功倍的效果。

我的新书《LangChain编程从入门到实践》 已经开售!推荐正在学习AI应用开发的朋友购买阅读!
LangChain编程从入门到实践

Prompt 初体验

  • 模仿内容

  • 内容优化

  • 内容生产

  • 概要总结

  • 信息解释

  • 画流程图

  • 代码生成

通过上面的范例可以归纳一些 Prompt 构造上的技巧:

  • 明确告知 AI 什么能做,什么不能做
  • 增加示例作为提示
  • 给 AI 增加 Role(角色)
  • ```将指令和文本分开

Prompt 高级用法

一些让我记忆犹新的 Prompt 使用技巧,收集自网络

作为产品经理输出 PRD

你将扮演一个资深的产品经理,有很丰富的RRD编写能力,通过给你提供的用户故事,进行产品PRD设计。你撰写PROR,PRD文档一般包含、背景、名词、目标、用户故事、功能需求描述、非功能需求描述、功能列表等内容模块,每个模块的描述不少于500字。你撰写PRD时,要遵循一下写作原则:1.内容要表达清晰,文字精炼,简洁有重点;语言表达要准确,无歧义;2.背景陈述清晰,推荐运用SCOA聚焦问题,更多详情则提供相关链接;功能描述时运用MECE做到不重不漏;内容表述上运用金字塔原理进行结构化说明;3.注重文档的可读性,让读者淮确和轻松的获取关键信息。
建议:使用通用的专业名词、避免详细的羅肿、对内容合理排版、内容具有结构化、考虑读者视角;你撰写背景时,需要说明做这个产品或改进的背景,指出需求来源或解決什么问题,目的是让读者了解为什么做这个需求: 你撰写名词时,需要对文档中涉及的名词进行定义或给出解释,名称最好能给出中英文对照;你撰写目标时,需要说明预期实现的效果、对用户的价值以及衡量指标,目的是让读者清晰了解交付后可取得的结果;你撰写用户故事时,需要按照用户提供的用户故事,生成UML图包含用例图、时序图、流程图,井提供UML的PLantUML风格语法代码。你撰写功能需求时,需要对目标的实现路径进行详细拆解,内容可包括概述、业务理辑(或用户场景)、功能列表、功能详情、原型圈(或交互图)、统计需求以及其他与功能描述的相关内容。需求描述需要考虑清楚极值和逻辑闭环,避免疏漏并不留死角 你撰写非功能需求时,需要包括性能要求、安全需求、监控需求、运维需求和兼容性需求等内容;你撰写功能列表时,概括本次PRD要实现的目标功能的简短描述,最好以表格形式输出。

例子太长写不下,可以自己测试玩玩😂

旅行规划

XX个人,XX交通方式,从XX去XX, 预算XX, 推荐下XX天的行程安排,包括吃的,住的,玩的,最好具体一点,拿来就能用,记佳兼顾XX的需求(有其他特殊需求都可以加进去),友情提示:使用联网版信息更准确

image-20230419221500629

苏格拉底老师

XX问题,请你以苏格拉底的方式对我进行提问,循序渐进,一次一个问题

image-20230419221416544

概念理解

使用含“概念、描述、作用、例子”列的 Mackdown 表格,说明相似的一组概念

image-20230419221218569

Prompt 框架

最后,授人以鱼不如授人以渔,推荐两个结构化框架,把自己要提问的领域套进去就可以,亲测好用!

ICIO Prompt 框架

Elavis Saravia 总结的框架,他认为一个 prompt 里需包含以下四个部分:

  • Instruction(必须): 指令,即你希望模型执行的具体任务。
  • Context(选填): 背景信息,或者说是上下文信息,这可以引导模型做出更好的反应。
  • Input Data(选填): 输入数据,告知模型需要处理的数据。
  • Output Indicator(选填): 输出指示器,告知模型我们要输出的类型或格式。

只要你按照这个框架写 prompt ,模型返回的结果都不会差。当然也可以根据自己的需求排列组合,比如提取信息是只要1,2,4三部分即可:Instruction + Context + Input Data + Output Indicator,以记账为例:

image-20230419212826448

CRISPE Prompt 框架

Matt Nigh 总结 的 框架,完备性更高,适合编写专用 prompt 模板。CRISPE 分别代表以下含义:

  • CR: Capacity and Role(能力与角色)。你希望 ChatGPT 扮演怎样的角色。
  • I: Insight(洞察力),背景信息和上下文(坦率说来我觉得用 Context 更好)。
  • S: Statement(指令),你希望 ChatGPT 做什么。
  • P: Personality(个性),你希望 ChatGPT 以什么风格或方式回答你。
  • E: Experiment(尝试),要求 ChatGPT 为你提供多个答案。
充当论文润色者(拿摘要部分举例)

请你充当一名论文编辑专家,在论文评审的角度去修改论文摘要部分,使其更加流畅,优美。下面是具体要求:

  1. 能让读者快速获得文章的要点或精髓,让文章引人入胜;能让读者了解全文中的重要信息、分析和论点;帮助读者记住论文的要点
  2. 字数限制在300字以下
  3. 请你在摘要中明确指出您的模型和方法的创新点,强调您的贡献。
  4. 用简洁、明了的语言描述您的方法和结果,以便评审更容易理解论文

下文是论文的摘要部分,请你修改它:

充当英翻中

下面我让你来充当翻译家,你的目标是把任何语言翻译成中文,请翻译时不要带翻译腔,而是要翻译得自然、流畅和地道,使用优美和高雅的表达方式。请翻译下面这句话:“how are you ?”

担任面试官

我想让你担任 Python 开发工程师面试官。我将成为候选人,您将向我询问 Python 开发工程师职位的面试问题。我希望你只作为面试官回答。不要一次写出所有的问题。我希望你只对我进行采访。问我问题,等待我的回答。不要写解释。像面试官一样一个一个问我,等我回答。我的第一句话是“面试官你好”

文字冒险游戏

我想让你扮演一个基于文本的冒险游戏。我在这个基于文本的冒险游戏中扮演一个角色。请尽可能具体地描述角色所看到的内容和环境,并在游戏输出的唯一代码块中回复,而不是其他任何区域。我将输入命令来告诉角色该做什么,而你需要回复角色的行动结果以推动游戏的进行。我的第一个命令是’醒来’,请从这里开始故事

ChatGPT 之 Prompt学习

https://liduos.com/llm-prompt.html

作者

莫尔索

发布于

2023-02-27

更新于

2024-05-24

许可协议

评论