网易首页 > 网易号 > 正文 申请入驻

从菜鸟到大神,Prompt设计的核心秘诀全在这里!

0
分享至

在数字化浪潮的推动下,人工智能大模型凭借其卓越的自然语言处理能力和智能交互特性,正迅速渗透到各行各业。与传统的客服方式相比,AI大模型展现出了显著的优势。通过精心设计的提示语(prompt),我们可以在客服外包、智能客服等多个项目和业务场景中发挥重要作用,显著提高工作效率并优化成果质量。

为了提升个人能力并促进产研学习氛围的建设,我在学习完吴恩达教授以及其他专家关于提示语的相关课程后,整理了一份学习资料,供大家进行交流和学习。这份笔记将深入分析提示语的定义及其撰写框架,详细介绍高效提示语的构建原则和策略。同时,从技术原理角度解读提示语的相关内容,帮助读者更好地运用大模型,从而提升业务的整体价值。


第一节:Prompt的定义及基本框架 一、什么是Prompt

在大语言模型的应用中,prompt指的是一种用于引导模型激活特定功能以解决实际问题的提问方式。最初,这种方法被称为“输入形式”或“输入模板”,但后来“prompt”(提示)这一术语逐渐获得认可,因为它更贴切地反映了在大语言模型语境下的关键作用。

大模型的核心能力大多数在预训练阶段已形成,而prompt就像钥匙一样,帮助模型从海量的预训练信息中精准提取出理解复杂文本、总结信息、生成内容和逻辑推理等能力,以满足用户的实际需求。它并不是将模型视为一个简单的知识库,而是有效地调用其智能,达到类似人类解决复杂问题的效果。了解和掌握prompt工程对充分利用大语言模型的潜力具有重要意义。


二、撰写Prompt的基本框架 1. Prompt的基本要素

  • 指令:用户希望模型执行的具体任务或指令。

  • 上下文:提供额外的信息或背景,以帮助语言模型更准确地响应。

  • 输入数据:用户提供的内容或问题。

  • 输出指示:明确所期望的输出类型或格式。

2. Prompt的五大框架 2.1 RTF框架

RTF(Role-Task-Format)框架是一个简洁且通用的提示语结构,适用于各种与大模型的对话场景。

  • R-Roles(角色):指定模型所扮演的角色(如程序员、数据分析师、讲解员、记者等)。

  • T-Tasks(任务):明确告知模型需要完成的任务。

  • F-Format(格式):指定返回结果的格式(如表格、Markdown、英文文本等)。

主要优点

  • • 简单易用。

  • • 指定角色能够限制模型的回答范围,对特定领域的知识需求作用显著。

  • • 指定角色还可以帮助在工程中更有效地检索相关知识,结合元数据可以获取更精确的结果。

  • • 结合RAG(Retrieval-Augmented Generation)知识内容检索时,可以使回答更加流畅自然。

2.2 思考链模式

思考链模式用于提升大模型的推理能力,特别适合处理复杂的任务,如:

  • • 分析性或逻辑推理任务

  • • 决策过程

  • • 问题解决(例如,程序员根据错误日志进行调试)

要使用此模式,只需在提示的末尾添加“让我们逐步思考”。这样可以引导模型进行系统性思考,从而得到更优质的答案。

# 数据源(与指令区分) user_datasource = """XXX……"""  prompt1 = """分析一下在人工客服服务场景下,'''{user_datasource}'''中客户有哪些诉求。用一句话概括。""" prompt2 = """分析一下在人工客服服务场景下,'''{user_datasource}'''中客户有哪些诉求。用一句话概括。让我们逐步思考。""" # 模型输出结果 output1:在人工客服服务场景下,客户主要诉求为:微信账号存在安全风险导致无法添加好友、单点拦截、下载安装微信出现问题等,寻求客服协助解决问题。 output2:在人工客服服务场景下,客户主要诉求为:微信账号存在安全风险导致无法添加好友,以及因违规行为被限制登录,客户希望客服能够尽快处理这些问题。 # 分析结果 output1中的”单点拦截”并不是用户的诉求,而output2显然更加正确


2.3 RISEN框架

  • R-Roles(角色):指定大模型所扮演的角色。

  • I-Instructions(指示命令):类似于任务的指示,明确告知模型需要执行的操作。

  • S-Steps(步骤):执行任务的具体步骤。

  • E-End Goal(最终目标):明确希望达成的最终结果。

  • N-Narrowing(约束条件):设定范围限制,这可以涉及回答内容的特定领域、字数限制等,与RTF框架中的格式约束有所不同。

该框架主要适用于:

  • • 撰写具有特定限制的任务,例如博客文章。

  • • 具有明确指导方针的任务,比如商业计划书的撰写。

2.4 RODES框架
  • R-Roles(角色):定义模型的角色。

  • O-Objective(目标):明确任务的目标。

  • D-Details(详细信息):提供任务所需的具体细节。

  • E-Examples(示例):列举相关实例以提供参考。

  • S-Sense Check(感官检查):确保输出符合预期,进行有效性检查。

2.5 密度链模式

密度链模式是一种由Salesforce、麻省理工学院和哥伦比亚大学研究人员提出的新型提示方式。它通过递归的方法生成更有效的输出,生成的摘要相比普通提示产生的内容更加紧凑且易于理解。

适用场景:

  • • 内容总结

  • • 改进已有提示

  • • 使用递归生成长格式内容



第二节:打造高效Prompt的两大核心原则

在Prompt工程领域,掌握高效的撰写策略是充分发挥语言模型潜力的关键。本节将重点介绍构建有效prompt的两大核心原则,教您如何通过优化指令,使得模型生成更符合需求和质量更高的输出。

一、原则一:编写明确且具体的指令

为了让模型准确理解我们的意图,撰写清晰、具体的指令至关重要。这不仅能够减少误解的风险,还能大幅提升输出结果的相关性和准确性。

策略1:使用分隔符清楚区分输入部分

在构建prompt时,使用分隔符将特定文本部分与提示的其他内容明确分开,可以有效防止提示词之间发生冲突。任何能够让模型识别独立部分的符号都可以作为分隔符,常见的包括:

  • 章节标题:通过不同层次的标题来区分内容模块。

  • 三重双引号("""):在编程中常用于包围较长的文本串。

  • 三重单引号('''):与三重双引号功能相似,适用于不同的语法环境。

  • 三重破折号(---):在文本中提供明显的分隔效果。

  • 角括号(<>):常用于标记特定元素。

  • XML标签:利用结构化标签区分不同内容。

示例1:如果我们希望总结一段产品描述,可以采用如下方式进行分隔:

product_description = f"""这是一款全新的智能手表,具备心率监测、睡眠追踪等健康功能,还支持多种运动模式记录,拥有高清显示屏和长达7天的续航能力。""" prompt =  f"""请总结以下产品描述:'''{product_description}'''"""

示例2:如果需要让模型对一段用户评论进行情感分析,示例如下:

user_comment = f"""这款手机的拍照效果真的太棒了,色彩还原度高,夜景模式也很出色,唯一不足的是电池续航有点短。""" prompt = f"""分析以下用户评论的情感倾向:''' {user_comment}''' """

这种方法可以确保模型清晰地分辨指令和待分析文本,避免因指令混淆而导致的错误输出。

策略2:请求结构化结果

为了便于后续解析和处理模型输出,我们可以要求模型采用特定的结构化格式,比如HTML或JSON。这样可以显著提高数据处理效率,特别是在Python编程环境中,结构化的输出可直接导入字典或列表中,便于后续分析和操作。

示例 1:请要求模型以JSON格式给出输出。

prompt = "请以json格式列出每个nodeType所体现的用户诉求、客服方案。每一个json-value不超过20个字" # 数据源(与指令区分) user_datasource = """XXX……""" # 模型输出 { "IVR": { "用户诉求": "微信使用问题求助", "客服方案": "引导正常使用或自助处理" }, "ASYNC": { "用户诉求": "账号封禁等相关申诉", "客服方案": "按规则处理或引导自助" }, "AI": { "用户诉求": "支付相关问题咨询", "客服方案": "要求用户详细描述问题" } }

示例2:请以HTML格式提供一本书籍的简单信息。

prompt = "请以HTML格式列出三本你推荐的科幻小说及其作者。" # 模型输出     《三体》 - 刘慈欣     《基地》 - 艾萨克·阿西莫夫     《银河帝国:机器人五部曲》 - 艾萨克·阿西莫夫

策略3:引导模型检查条件是否成立

在处理复杂任务时,如果依赖于某些假设条件,而这些条件并不总是有效,那么需要指导模型首先验证这些假设。如条件不满足,模型应清晰说明并终止任务执行,以避免无意义的计算和错误结果。同时,考虑可能的边缘情况并制定相应的处理规则,可以有效降低意外错误的发生,确保模型输出的稳定性和可靠性。

示例:假设我们要求模型进行一个数学表达式的计算,但前提是所有的表达式都必须为正数。

expression = "5 + 3 - (-2)" prompt = f"""首先检查表达式 '{expression}' 中的所有数字是否都为正数。如果是,请计算该表达式的值;如果不是,请输出'表达式中存在非正数,无法计算'。""" # 模型输出 表达式中存在非正数,无法计算

策略4:少样本提示

在让模型执行任务时,提供成功完成该任务的示例可以帮助模型更好地理解要求和期望的输出格式。通过这些示例,模型能够掌握任务的模式和规律,从而在处理实际输入时生成更符合预期的结果。少样本提示特别适用于处理复杂任务或具有特定格式要求的情境,能够显著提升模型的表现。

示例:请要求模型将中文词汇翻译成英文,并使用特定格式造句。

prompt = """ 示例1: 中文词汇:苹果 翻译:apple 造句:I like to eat apples. 示例2: 中文词汇:学校 翻译:school 造句:I go to school every day. 中文词汇:图书馆 翻译: 造句: """ # 模型输出 翻译:library 造句:I often read books in the library.


二、原则二:给予模型足够的思考时间

当模型因急于得出结果而发生推理错误时,可以通过优化策略为其提供更加清晰的推理路径,促使模型进行更深入和全面的思考。

策略1:清晰指明完成任务所需的步骤

详细列出模型完成任务时需要遵循的各个步骤,有助于模型进行系统的推理和计算。这样一来,模型能够更好地理解任务的逻辑结构,避免因为思路混乱而导致的错误。例如,要求模型按照特定格式输出信息,可以有效引导其在处理过程中关注信息的组织和表达方式。

示例:请要求模型分析一首古诗,输出格式为“诗歌主题 - 主要意象 - 表达情感”。

poem = "床前明月光,疑是地上霜。举头望明月,低头思故乡。" prompt = f"""请按照“诗歌主题 - 主要意象 - 表达情感”的格式分析这首诗:{poem}""" # 模型输出 思乡之情 - 明月 - 对故乡的深切思念

策略2:引导模型在得出结论前进行充分思考

明确要求模型在形成最终结论之前,先进行深入的推理和分析,这通常能得到更好的结果。这种方法能够促使模型更全面地理解问题的本质,综合考虑多个因素,从而减少因片面或急于下结论而产生的错误。

示例:询问模型“怎样提升公司员工的满意度”。

prompt = "在回答如何提高公司的员工满意度之前,请先思考至少三个方面的因素,然后综合这些因素给出全面的建议。" # 模型输出 首先,从薪酬福利方面,可适当提高薪资水平、完善福利体系,如增加带薪休假天数等;其次,从职业发展角度,为员工提供更多培训机会和晋升通道;再者,从工作环境来看,营造舒适、和谐的办公氛围,加强团队建设活动。综合这些方面,提高公司员工满意度可以从优化薪酬福利、提供职业发展机会以及改善工作环境等措施入手。


三、模型的局限性与应对策略

尽管语言模型在经过大量数据训练后展示出强大的能力,但它们并非没有缺陷。其中,“幻觉”现象是模型面临的一大挑战。

模型“幻觉”

即使模型在训练过程中接触了丰富的知识,它也无法完美记住所有信息,且难以准确识别自身的知识边界。这导致在处理较为复杂或冷僻主题时,模型可能生成看似合理但实际上错误的内容,这种现象被称为“幻觉”。

解决幻觉的策略

为有效应对幻觉问题,我们可以要求模型在回答问题之前,先从提供的文本中提取相关引用,并基于这些引用来构建答案。这种方式使得模型的回复将基于可靠的信息来源,而非主观判断,从而显著提升回答的准确性和可信度。同时,这样的方法也增强了答案的可追溯性,便于对模型输出进行验证和审查。

示例:在给定一段关于历史事件的文本后,要求模型回答相关问题。

text = """1861年,美国爆发了南北战争,这场战争是美国历史上的重要转折点,它主要围绕奴隶制的存废问题展开,北方主张废除奴隶制,南方则坚持保留。最终北方取得了胜利,为美国的工业化发展铺平了道路。""" prompt = f"""请从上述文本中找出相关信息,回答南北战争主要围绕什么问题展开?""" # 模型输出 南北战争主要围绕奴隶制的存废问题展开,北方主张废除奴隶制,南方则坚持保留。


第三节:Prompt技术分析与应用

在深入研究prompt技术的过程中,我们将详细解析多种关键技术,帮助您准确理解其核心要点及应用场景,从而有效提升应用能力。

一、零样本提示(Zero-Shot Prompting)

零样本提示是一种技术,允许模型在没有具体示例的情况下直接执行任务。其基本原理是,模型通过大量数据的训练和指令的调整,已经具备了一定的通用知识和任务理解能力。例如:

prompt = "判断此文本的情感倾向为积极、消极或中性:这部电影情节紧凑,特效惊人。情感:" # 模型会依据自身预训练知识对这个提示进行处理并输出结果

模型可以基于自身预训练的知识输出“积极”。然而,在缺乏具体示例的引导下,对于复杂任务,它的效果可能受到限制。

二、少样本提示

当零样本提示的效果不理想时,少样本提示派上用场。通过向模型提供少量任务示例,这种方法能够帮助模型学习任务的模式与规律。例如:

prompt = """“whatpu”是坦桑尼亚的一种小型毛茸茸的动物。一个使用 whatpu 这个词的句子的例子是:我们在非洲旅行时看到了这些非常可爱的whatpus。“farduddle”是指快速跳上跳下。一个使用 farduddle 这个词的句子的例子是:""" # 模型会根据前面的示例学习并生成新的句子

通过提供类似于新词汇造句的示例,模型可以模仿这些示例的结构和逻辑来生成新的内容。然而,在复杂推理任务中,仍需进一步优化。

三、思维链提示(Chain-of-Thought Prompting)

思维链提示的目的是为模型提供明确的推理步骤,引导其在复杂推理任务中的表现。通过在提示中展示详细的推理过程,模型能够学习如何逐步分析和解决问题。比如:

prompt = """Roger 有 5 个网球,他又买了 2 罐网球,每罐有 3 个球,他现在共有多少球? Roger 一开始有 5 个球。 2 罐网球,每罐 3 个,共 6 个球。 5 + 6 = 11。 答案是 11。""" # 模型按照提示中的推理步骤进行计算和回答

这种技术可以与少样本提示相结合,以增强效果,特别适用于算术和常识推理等任务,帮助模型更有条理地处理问题。

四、自我一致性

自我一致性技术主要用于优化思维链提示中的推理路径选择。其核心理念是通过提供多个少样本推理示例,让模型从多样的推理结果中筛选出最一致的答案,从而提高在算术和常识推理任务中的可靠性。例如:

prompt = """Q:林中有 15 棵树。林业工人今天将在林中种树。完成后,将有 21 棵树。林业工人今天种了多少棵树? A:我们从 15 棵树开始。后来我们有 21 棵树。差异必须是他们种树的数量。因此,他们必须种了 21 - 15 = 6 棵树。答案是 6。 Q:停车场有 3 辆汽车,又来了 2 辆汽车,停车场有多少辆汽车? A:停车场已经有 3 辆汽车。又来了 2 辆。现在有 3 + 2 = 5 辆汽车。答案是 5。 Q:当我 6 岁时,我的妹妹是我的一半年龄。现在我 70 岁了,我的妹妹多大? A:""" # 模型会参考前面的推理示例对最后一个问题进行回答,并从多个可能的回答中选择最一致的答案


五、生成知识提示

生成知识提示旨在解决模型在处理需要额外知识的任务时所面临的局限。其操作方式是先让模型生成与任务相关的背景知识,再将这些知识整合起来以得出准确的答案。比如:

prompt = """输入:高尔夫球的一部分是试图获得比其他人更高的得分。 知识:高尔夫球的目标是以最少的杆数打完一组洞。一轮高尔夫球比赛通常包括 18 个洞。每个洞在标准高尔夫球场上一轮只打一次。每个杆计为一分,总杆数用于确定比赛的获胜者。 解释和答案:""" # 模型根据生成的知识对问题进行回答

像这样先生成相关知识,然后整合这些知识以得出准确答案,“不是,高尔夫球的目标是以最少杆数完成比赛,而非追求更高得分”,有效提高了模型在常识推理任务中的准确性。

六、链式提示(Prompt Chaining)

链式提示是一种将复杂任务拆解为多个子任务的方法,通过逐一生成子任务提示并传递结果,从而实现有序处理复杂任务。例如,在文档问答中:

# 第一个提示用于提取相关引文 prompt1 = """你是一个很有帮助的助手。你的任务是根据文档回答问题。第一步是从文档中提取与问题相关的引文,由####分隔。请使用 输出引文列表。如果没有找到相关引文,请回应“未找到相关引文!”。#### {{文档}} ####""" # 假设这里有一个文档变量 doc,将其代入提示中进行处理 # 处理后得到引文列表,假设为 quotes_list # 第二个提示根据引文和文档生成回答 prompt2 = """根据从文档中提取的相关引文(由 分隔)和原始文档(由####分隔),请构建对问题的回答。请确保答案准确、语气友好且有帮助。#### {{文档}} #### {quotes_list} """ # 模型根据第二个提示生成最终回答

这种方法提升了任务处理的准确性和可靠性,使模型能够逐步深入地应对复杂问题。

七、思维树(ToT)

思维树框架是专为帮助模型应对复杂的探索性任务而设计的。它通过构建一棵思维树,使模型在解决问题时能够生成和评估中间的思维步骤,并结合搜索算法进行系统性的探索。示例如下:

# 假设给定数字为 4、9、10、13 prompt = """输入: 4 9 10 13 4 + 9 = 13 (left 10 13 13) 10 - 4 = 6 (left 6 9 13) 13 - 6 = 7 13 - 9 = 4 4 + 6 = 10 (left 7 9 4 * 6 = 24 (left 4 6) 评估是否能得到 24: sure """ # 模型按照思维树的步骤进行推理和计算,并根据评估结果继续搜索或得出答案


八、检索增强生成(RAG)

检索增强生成(RAG)技术结合了信息检索与文本生成,特别适用于处理知识密集型的任务。通过检索相关文档来为模型提供额外的知识支持,这一方法有助于减轻模型的“幻觉”现象。例如:

# 假设这里有一个检索函数 retrieve_documents 和一个生成答案的函数 generate_answer question = "谁是首次登上月球的人?" documents = retrieve_documents(question) prompt = "根据以下文档回答问题:" + str(documents) + " 问题是:" + question answer = generate_answer(prompt) # 最终得到的 answer 即为模型结合检索结果生成的答案

这确保了答案基于可靠的知识来源,使得模型在自然问题、事实验证等基准测试中表现出色。

九、自动推理与工具使用(ART)

自动推理与工具使用(ART)技术使模型能够自动生成包含推理步骤的程序,并在需要时调用外部工具。例如:

prompt = """计算 16 个苹果平均分给 4 个人,每人几个,再加上 3 是多少? 请生成解决这个问题的程序步骤。""" # 模型会生成类似下面的程序步骤 # result = (16 / 4) + 3 # 然后可以在代码中执行这个程序步骤得到最终答案

在BigBench和MMLU基准测试中,ART在多项任务上表现优异,明显超越了少样本提示和自动思维链等方法,从而提升了模型解决问题的能力和效率。

十、自动提示工程师(APE)

自动提示工程师(APE)是一种能够自动生成和筛选任务指令的技术。该技术利用大型语言模型生成指令候选项,然后根据评估分数选择最佳的指令,从而提高提示生成的效率和效果。例如:

# 假设这里有一个生成指令候选项的函数 generate_candidates 和一个选择最佳指令的函数 select_best_instruction article = "这里是一篇新闻文章的内容" candidates = generate_candidates(article) prompt = select_best_instruction(candidates) + " " + article # 模型根据最终的 prompt 生成文章总结

例如,在总结新闻文章时,它首先依靠大型语言模型生成指令候选项,如“提取文章的关键人物、事件和时间”以及“概括文章的主要内容并突出重点”,然后根据评估分数选择最佳指令,以指导模型生成高质量的总结。

十一、Active-Prompt

Active-Prompt技术主要用于解决思维链示例有效性的问题。它首先查询模型生成多个答案,计算不确定性后,选出最不确定的问题让人类进行注释示例,随后利用新的示例推断其他问题,以优化模型对不同任务的适应能力。例如:

# 假设这里有一个查询模型生成答案的函数 query_model 和一个计算不确定度的函数 calculate_uncertainty prompt = "对以下文本进行分类:这是一篇科技类文章。" answers = query_model(prompt, num_answers=5)  # 生成 5 个答案 uncertainty = calculate_uncertainty(answers) if uncertainty > threshold:  # 如果不确定度大于设定阈值     # 选择最不确定的问题由人类注释示例,然后更新提示并重新查询模型     new_prompt = update_prompt_with_annotated_example(prompt)     final_answer = query_model(new_prompt) else:     final_answer = select_most_consistent_answer(answers) # 最终得到的 final_answer 即为经过 Active-Prompt 处理后的答案

通过这种方法,可以提升模型在文本分类等任务中的准确性。

十二、方向性刺激提示(Directional Stimulus Prompting)

方向性刺激提示通过训练策略语言模型生成引导性提示,从而增强对模型生成结果的控制能力。例如,在文本摘要任务中:

article = "这里是一篇文章的内容" prompt = "请根据文章内容生成一个引导提示,重点关注文章的主要事件和结果。" # 策略 LM 会根据这个提示生成如“重点提取文章中事件的主体、发生的时间和最终结果”的引导提示 # 然后可以将这个引导提示用于后续的文本摘要任务中

在文本摘要任务中,策略语言模型根据文章的主题和关键信息生成引导提示,从而指导模型生成符合需求的摘要,提高摘要的质量。

十三、PAL(程序辅助语言模型)

PAL(程序辅助语言模型)技术使得模型能够生成程序以解决问题,通过编程运行时增强其处理复杂问题的能力。以日期计算问题为例:

question = "今天是 2023 年 2 月 27 日,我出生于 25 年前,我的出生日期是多少?" prompt = """ import datetime from dateutil.relativedelta import relativedelta # Q: 2015 年在 36 小时后到来。从今天起一周后的日期是多少(格式为 MM/DD/YYYY)? # 如果 2015 年在 36 小时后到来,那么今天是 36 小时前。 today = datetime(2015, 1, 1) - relativedelta(hours=36) # 从今天起一周后, one_week_from_today = today + relativedelta(weeks=1) # 格式化后的答案 one_week_from_today.strftime('%m/%d/%Y') # Q: 今天是 2023 年 2 月 27 日,我出生于 25 年前,我的出生日期是多少? """ # 模型会生成类似下面的代码 # today = datetime(2023, 2 27) # born = today - relativedelta(years=25) # born.strftime('%m/%d/%Y') # 然后可以在代码中执行模型生成的代码得到最终答案


十四、ReAct 框架

ReAct 框架通过交替生成推理过程和执行操作,提高了答案的可靠性和可解释性。例如,在回答问题时:

question = "除苹果遥控器外,哪些设备可控制其设计交互的程序?" prompt = """问题:除苹果遥控器外,哪些设备可控制其设计交互的程序? 思考 1:我需要搜索苹果遥控器相关程序及可替代控制设备。 操作 1:搜索 [苹果遥控器 可替代控制设备] 观察 1:搜索结果为…… 思考 2:根据搜索结果,分析哪些设备符合要求。 操作 2:筛选 [符合要求的设备] 观察 2:筛选结果为…… 思考 3:整理最终答案。 操作 3:整理 [最终答案] """ # 模型会按照提示中的推理轨迹和操作步骤进行处理,并最终得出答案

在知识密集型和决策任务中表现良好,通过与外部环境交互获取信息来辅助推理。

十五、自我反思(Reflexion)

自我反思框架包含参与者、评估者和自我反思三个模型,旨在帮助模型从错误中学习并提升性能。模拟编程任务的示例如下:
请重新整理下,不要用原话

# 假设这里有参与者模型 actor、评估者模型 evaluator 和自我反思模型 reflexion code = "这里是一段初始代码" # 参与者模型生成尝试解决问题的代码和动作 result = actor(code) # 评估者模型评价输出 score = evaluator(result) # 自我反思模型根据评价结果生成改进建议 reflection = reflexion(score, result) # 将改进建议应用到下一次的代码生成中,实现自我学习和提升

例如,当代码存在语法错误时,自我反思模型会提供可能的错误原因和修正建议,帮助模型迅速学习并纠正问题。


附录 一、术语表

  • Prompt:在大型语言模型的应用中,提示模型激活特定能力以解决实际问题的提问方法,是提示工程的核心。

  • RTF框架:Role - Task - Format框架,通过明确角色、任务和输出格式来规范大模型的输出,简单且通用。

  • 思考链模式:在提示的结尾加入“让我们逐步思考”,引导模型逐步分析复杂任务,从而改善推理能力。

  • RISEN框架:包含角色、指示、步骤、最终目标和约束条件,适用于特定限制或明确指引的任务。

  • RODES框架:涵盖角色、目标、详细信息、示例和感官检查的提示框架。

  • 密度链模式:通过递归生成更优输出的提示,使产生的摘要更为简洁且易于理解,适合总结等任务。

  • 少样本提示(Few-shot prompting):通过提供少量的任务示例,帮助模型学习任务的模式、规律,提升其在复杂或特定格式任务中的表现。

  • 零样本提示(Zero-shot Prompting):模型在没有特定任务示例的情况下,依靠其预训练知识和对任务的理解直接处理任务。

  • 思维链提示(Chain-of-Thought Prompting):为模型展示详细的推理过程,从而提升其在复杂推理任务中的表现,且可以与少样本提示相结合。

  • 自我一致性(Self-Consistency):通过提供多个少样本推理示例,让模型筛选出最一致的答案,增强在算术和常识推理任务中的可靠性。

  • 生成知识提示(Generated Knowledge Prompting):先让模型生成相关知识,再整合这些知识得出准确答案,解决模型在处理需要额外知识的任务时的限制。

  • 链式提示(Prompt Chaining):将复杂任务拆解为多个子任务,逐一生成提示并传递结果,提高任务处理的准确性和可靠性。

  • 思维树(ToT):通过维护思维树,帮助模型生成和评估中间推理步骤,结合搜索算法解决复杂探索性任务。

  • 检索增强生成(RAG):将信息检索与文本生成结合,检索相关文档为模型提供知识支持,从而减轻“幻觉”现象。

  • 自动推理与工具使用(ART):使模型能够自动生成包含推理步骤的程序,并在必要时调用外部工具,以提升解决问题的能力和效率。

  • 自动提示工程师(APE):利用大型语言模型生成指令候选项,并根据评估分数选择最佳指令,从而提高提示生成的效率与效果。

  • Active-Prompt:首先查询模型生成多个答案,计算不确定性后选择最不确定的问题进行人类注释,从而优化模型对不同任务的适应能力。

  • 方向性刺激提示(Directional Stimulus Prompting):训练策略语言模型生成引导提示,以增强对生成结果的控制力,提升文本摘要等任务的质量。

  • PAL(程序辅助语言模型):使模型能够生成程序以解决问题,并通过编程运行时提升其处理复杂问题的能力。

  • ReAct框架:通过交替生成推理过程和执行操作,提升答案的可靠性和可解释性,尤其在知识密集型和决策任务中表现良好。

  • 自我反思(Reflexion):由参与者、评估者和自我反思三个模型组成,帮助模型从错误中学习并提升性能。

二、常见问题解答
  1. 1.如何选择合适的Prompt框架?
    选择合适的框架应依据任务类型和具体需求。例如,简单的对话可以使用RTF框架;复杂的分析任务可考虑思考链模式或RISEN框架;如果对输出格式有明确要求,可以在RTF或RISEN框架中重点考虑相关格式和约束条件;如进行总结类任务,则密度链模式可能更为合适。

  2. 2.为什么模型会出现“幻觉”现象?
    尽管模型经过大量数据的训练,但无法完美记住所有知识,且在面对复杂或不熟悉的主题问题时,可能会编造表面看似合理但实际上却是错误的内容。

  3. 3.如何利用少样本提示提升模型性能?
    提供与任务相关且格式规范的成功示例,确保这些示例包含任务的关键要素和模式,使模型能够学习示例中的规律和逻辑,从而在处理实际输入时生成更符合预期的结果。这尤其适用于复杂任务或对输出格式有特定要求的情况。

  4. 4.链式提示在实际应用中有哪些优势?
    链式提示可以将复杂任务拆分为多个子任务,使得模型在处理过程中更加清晰和有序,逐步深入解决问题,从而提高任务处理的准确性和可靠性,避免在处理复杂问题时由于任务复杂性导致的混乱或错误。


我们相信人工智能为普通人提供了一种“增强工具”,并致力于分享全方位的AI知识。在这里,您可以找到最新的AI科普文章、工具评测、提升效率的秘籍以及行业洞察。 欢迎关注“福大大架构师每日一题”,让AI助力您的未来发展。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
拟聘用4人均毕业于国外高校,遭质疑“萝卜岗”,邯郸学院回应:只是凑巧,面试10人,拟聘4人

拟聘用4人均毕业于国外高校,遭质疑“萝卜岗”,邯郸学院回应:只是凑巧,面试10人,拟聘4人

扬子晚报
2026-01-21 19:15:36
见鬼了!登场16分钟,所有数据都挂0,连犯规也是0,球迷:真混子

见鬼了!登场16分钟,所有数据都挂0,连犯规也是0,球迷:真混子

弄月公子
2026-01-22 22:31:21
父亲术后46天离世,交大硕士怒扒60万账单:34次会阴清洗,撕开医院医保黑洞

父亲术后46天离世,交大硕士怒扒60万账单:34次会阴清洗,撕开医院医保黑洞

犀利辣椒
2025-12-08 06:23:07
刚刚,肯德基崩了!

刚刚,肯德基崩了!

深圳晚报
2026-01-22 20:50:14
农业农村部副部长喊话:大家到农村去看看,进步非常大!

农业农村部副部长喊话:大家到农村去看看,进步非常大!

极目新闻
2026-01-22 11:34:49
中国拒绝后,土耳其变脸,比亚迪宣布,中国不再吃亏

中国拒绝后,土耳其变脸,比亚迪宣布,中国不再吃亏

梦史
2026-01-23 15:51:09
郭艾伦接受采访,感慨万千

郭艾伦接受采访,感慨万千

体育哲人
2026-01-23 13:42:02
北京连下六道指令,陕西硬抗整整四年,最高指示:让749局来

北京连下六道指令,陕西硬抗整整四年,最高指示:让749局来

小哥很OK
2025-12-12 14:33:01
降幅高达52%!华为旗舰上架:1月22日,正式开卖!

降幅高达52%!华为旗舰上架:1月22日,正式开卖!

科技堡垒
2026-01-22 11:08:41
赢了官司却亏到吐血!嫣然医院搬家,房东成年度最大笑话!

赢了官司却亏到吐血!嫣然医院搬家,房东成年度最大笑话!

达文西看世界
2026-01-20 13:35:51
中美默契淋漓尽致,中方拒绝日本入常,特朗普一句话直戳高市痛点

中美默契淋漓尽致,中方拒绝日本入常,特朗普一句话直戳高市痛点

科普100克克
2026-01-22 18:01:11
嫣然医院房东身份遭深扒:疑是医美机构老板,不卖楼或想重操旧业

嫣然医院房东身份遭深扒:疑是医美机构老板,不卖楼或想重操旧业

古希腊掌管月桂的神
2026-01-21 15:21:20
美专家:就算大陆夺下台湾也没啥用,但我们介入,美国本土就完蛋

美专家:就算大陆夺下台湾也没啥用,但我们介入,美国本土就完蛋

通文知史
2026-01-23 19:30:03
中途岛海战的几十年谎言:日本航母被炸时,飞行甲板其实是空的

中途岛海战的几十年谎言:日本航母被炸时,飞行甲板其实是空的

史之铭
2026-01-18 17:31:05
47年前,11岁就考上中科大的神童谢彦波,现在怎么样了?

47年前,11岁就考上中科大的神童谢彦波,现在怎么样了?

涵豆说娱
2026-01-23 10:53:12
大爆发!601012,午后涨停

大爆发!601012,午后涨停

证券时报
2026-01-23 17:11:03
很多人低估了一万块的威力

很多人低估了一万块的威力

洞见
2026-01-12 20:34:37
李亚鹏越扒越亮!母子带一千元去李亚鹏医院做手术,回家还剩990

李亚鹏越扒越亮!母子带一千元去李亚鹏医院做手术,回家还剩990

八斗小先生
2026-01-20 10:35:50
美国专家也看不懂!中国为何又把顶尖材料,给干成“白菜价”了?

美国专家也看不懂!中国为何又把顶尖材料,给干成“白菜价”了?

爱史纪
2026-01-22 09:50:37
米娜酒后直播耍酒疯,先脱衣服后劈叉,粉丝刷礼物后大方展示身材

米娜酒后直播耍酒疯,先脱衣服后劈叉,粉丝刷礼物后大方展示身材

小霍霍
2026-01-18 15:26:37
2026-01-23 20:24:49
moonfdd incentive-icons
moonfdd
福大大架构师每日一题
1108文章数 53关注度
往期回顾 全部

科技要闻

TikTok守住了算法"灵魂" 更握紧了"钱袋子"

头条要闻

阿姨和未离婚男子同居四十年 晚年只求分居被索要25万

头条要闻

阿姨和未离婚男子同居四十年 晚年只求分居被索要25万

体育要闻

跑个步而已,他们在燃什么?

娱乐要闻

演员孙涛澄清闫学晶言论 落泪维护妻子

财经要闻

2026年,消费没有新故事?

汽车要闻

主打家庭大六座 奕境首款SUV将北京车展亮相

态度原创

时尚
游戏
教育
健康
手机

告别臃肿!这种简约的高级穿法,别拒绝

《FF7RE》第三章进度超预期!备受好评小游戏确认回归

教育要闻

重磅!绵阳外国语学校校长、副校长调整

耳石脱落为何让人天旋地转+恶心?

手机要闻

165Hz 满帧生态 + 极客面板 真我Neo8全面评测:这才是新一代潮玩电竞旗舰该有的样子

无障碍浏览 进入关怀版