首页 > 其他分享 >大模型应用开发基础 : 再探提示词工程

大模型应用开发基础 : 再探提示词工程

时间:2024-11-30 09:36:29浏览次数:5  
标签:工程 提示 模型 样本 ReAct 答案 Action

大家好,我是Edison。

所谓提示词工程,就是研究怎么写AI易懂的提示词。为了引导大模型给出更好的答案,提示词工程必不可少,本篇我们再探提示词,看看几个必须知道的技巧。

(少)样本提示

对于一些较为通用的任务,我们不需要给大模型过多的提示信息,就可以完成一个任务。这种提示词通常也叫作“零样本提示”,如下图所示:

 假设你想让大模型处理一个文本分类的任务,来帮助判断文本内容是属于哪个类别。针对这类任务,大模型通常知道分类是什么意思,无需给出更多提示就可以完成任务。因此,针对这类简单的任务,使用零样本提示就可以完成。不过,虽然大模型知识渊博,但也不是无所不知,这时候就需要给它一些示例,让它能够理解我们的工作任务,以便能协助我们完成任务。这种提示词也被称为“少样本提示”,如下图所示:

假设你想让大模型完成这样一个判断假期活动的任务,由于活动的内容大模型其实是不可能知道的,所以需要给它喂一些样本,也就是上图中的一些例子。有了这些例子,当你再问大模型的时候,它就会进行推理并得出正确的结论。

事实上,这个例子中的内容更像是我们在应用开发中的编写方式,即一堆if-else的规则集。我们也可以看到,只要我们能编写好的样本提示,就可以实现应用开发中的规则效果。

有时候,即使我们给出了少量的样本提示,也会在一些场景中力不从心,这就需要更强一点的提示工程技巧了,比如下面的思维链技术。

思维链提示

大模型属于典型的嘴比脑子快,很多答案都是未经思考就会蹦出来。而为了让大模型能够更准确的回答我们的问题,我们需要让它慢一点,思维链就是这样的一种提示技术。

例如下面这张图,来自Google研究院的思维链论文:

上面的例子中,左右两边都在解决同一个数学题,还给出了一样的样本示例,但却得到了不同的答案。我们可以看到,左边的答案属于“嘴比脑子快”的案例,得到了一个错误的答案。而右边的答案则显然经过了一个思考的过程,得到了一个正确的答案。相信你可以看出,所谓的思维链,就是这个慢下来思考的过程。

很多时候,即使提示词中不给出样本示例,但只要在提示词最后加上一句“请一步一步思考” 或 "Let's think step by step",就可以告诉大模型慢下来一步一步想答案。

在OpenAI今年发布的o1模型中,就引入了思维链到大模型中,虽然回复答案的时间可能长了一点点,但是大幅度提升了模型的推理能力。

ReAct框架

如果大模型不仅能够动口,还能够动“手”帮我们完成一些事儿那就更好了,而这就是目前Agent的使用场景。在Agent中,一个关键的核心框架就是ReAct,ReAct是 Reasoning + Acting 的缩写,翻译过来就是 推理 + 行动

例如下面这个例子,来自一篇提出ReAct的论文。

它提出的问题是:

Aside from the Apple Remote, what other devices can control the program Apple Remote was originally designed to interact with?

(翻译:除了苹果遥控器,还有哪些设备可以控制苹果遥控器最初设计用来交互的程序?)

使用ReAct框架的提示案例是:

在此案例中,大模型经历了多个循环,每个循环都由思考(Thought)、行动(Action)和 观察(Observation)三个阶段组成。思考,决定下一步做什么行动。行动,则是具体做某个事儿。观察,则是评估行动的结果如何,决定是否要结束这个过程。

目前,大模型主要擅长的实完成推理的部分,也就是思考这个步骤。但要完成行动,比如完成某个搜索动作,那就需要一些辅助的操作,比如调用某个搜索引擎的API完成搜索等等。

下面是来自LangChain社区的一个基于ReAct框架的提示词模板,我们可以直接套用:

Answer the following questions as best you can. You have access to the following tools: 
{tools} 
Use the following format:
Question: the input question you must answer
Thought: you should always think about what to do
Action: the action to take, should be one of [{tool_names}]
Action Input: the input to the action
Observation: the result of the action
… (this Thought/Action/Action Input/Observation can repeat N times) 
Thought: I now know the final answer
Final Answer: the final answer to the original input question 

Begin! 

Question: {input}
Thought:{agent_scratchpad}

如果我们能理解好这个模板,就可以快速理解Agent的开发基础。

小结

本文快速温习了提示词工程的几个常见技巧,样本提示、思维链提示 与 ReAct框架,它们可以应用在不同的任务场景中。应用提示词工程,可以帮助引导大模型给出更准确的答案。最后,更多地提示词工程,可以阅读《提示词工程指南》。

推荐学习

郑晔,《程序员的AI开发第一课》(课程)

黄佳,《ChatGPT和预训练模型实战课》(公开课,免费)

黄佳,《动手做AI Agent》(图书)

产品二姐,《成为AGI产品经理》(课程)

 

作者:周旭龙

出处:https://edisonchou.cnblogs.com

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。

标签:工程,提示,模型,样本,ReAct,答案,Action
From: https://www.cnblogs.com/edisonchou/p/-/llm-foundation-part3

相关文章

  • 解释下css3的flexbox(弹性盒布局模型),以及它应用场景有哪些?
    CSS3的Flexbox,即弹性盒布局模型,是一种用于页面布局的强大工具。它提供了一种更有效的方式来排列、对齐和分配容器内项目的空间,即使它们的大小是未知的或动态的。Flexbox解决了传统布局方法(如浮动和定位)在处理复杂布局时的许多限制。核心概念:Flexbox布局由两个主要组成部分......
  • 非接触式河道流量监测系统:水利工程的得力助手
    在水利工程领域,准确监测河道流量对于水资源管理、防洪减灾、水利设施运行调度等工作具有极为关键的意义。传统的接触式流量监测方法往往面临诸多局限性,而非接触式河道流量监测系统的出现,为这些难题提供了创新性的解决方案,成为水利工程不可或缺的得力助手。河道流量监测系统组......
  • T5模型口语化解析
    引言        在自然语言处理(NLP)领域,T5(Text-to-TextTransferTransformer)代表了一种革命性的方法。它不仅继承了Transformer架构的强大能力,而且通过将所有任务转化为文本到文本的形式,简化了任务之间的迁移学习过程。这种统一的方法使得T5能够在翻译、问答、摘要生成......
  • 【随笔】AI大模型对软件开发的影响
    随着AI技术的不断发展,AI大模型正在重塑软件开发流程,从代码自动生成到智能测试,未来,AI大模型将会对软件开发者、企业,以及整个产业链都产生深远的影响。欢迎探讨AI是如何重塑软件开发的各个环节以及带来的新的流程和模式变化,并展望未来的发展趋势~流程与模式在AI产于的软......
  • 实战评测Qwen2.5-Coder:开源代码大模型的性价比之选?
    引言在人工智能快速发展的今天,代码生成大模型作为重要的开发工具,正在深刻改变着软件开发的方式。阿里云通义千问团队最新发布的Qwen2.5-Coder系列模型,不仅标志着开源代码大模型的重大突破,更展现了中国AI技术在全球舞台上的实力。之前正好研究了一下通义千问的代码模式,单网......
  • Java的内存模型是如何工作的?深入浅出解读堆、栈、方法区和程序计数器的作用
    Java的内存模型是如何工作的?深入浅出解读堆、栈、方法区和程序计数器的作用Java的内存模型是如何工作的?深入浅出解读堆、栈、方法区和程序计数器的作用摘要引言Java内存模型的组成部分JVM内存结构1.堆(Heap)堆的作用:堆内存的细节:新生代与老年代垃圾回收的影响代码示例:......
  • 大模型落地应用
    大模型(如大型语言模型、深度学习模型等)在各个领域的落地应用已经成为当前技术发展的热点。这些模型通常具备强大的数据处理和分析能力,能够在多个行业中提供智能化的解决方案。以下是一些大模型落地应用的具体场景和案例,涵盖金融、医疗、制造、教育等多个领域。前排提示,文末......
  • 为什么大模型在企业落地难?(LLM技术挑战和解决篇)
    0、前言AI是下一代颠覆性的机会,已经是很多人的共识。尤其是在媒体的大力宣传下,大模型显得格外火热,但为什么已经到2024年了,在企业落地应用上颇有“雷声大,雨点小”的态势呢?前排提示,文末有大模型AGI-CSDN独家资料包哦!落地遇到的挑战是什么?希望尝试从3个不同的角度来讨论:1)大......
  • 【软件工程】一篇入门软件开发中的需求分析
    ......
  • MySQL底层概述—3.InnoDB线程模型
    大纲1.InnoDB的线程模型2.IOThread3.PurgeThread4.PageCleanerThread5.MasterThread 1.InnoDB的线程模型InnoDB存储引擎是多线程的模型,因此其后台有多个不同的后台线程,负责处理不同的任务。 后台线程的作用一:负责刷新内存池中的数据,保证缓冲池中的内存缓存是最新......