Datawhale AI冬令营(第二期)动手学AI Agent task2--学Prompt工程,优化Agent效果

目录

如何写好Prompt?

工具包神器1:Prompt框架——CO-STAR 框架

工具包神器2:Prompt结构优化

工具包神器3:引入案例

案例:构建虚拟女友小冰

1. 按照 CO-STAR框架 梳理目标

2. 撰写Prompt

3. 制作对话生成应用(点击可跳转支付宝百宝箱官网)


如何写好Prompt?

写好Prompt不是一个一蹴而就的问题,需要不断思考、尝试,找到最适合当前Agent的Prompt。

那么该怎么做呢?我们一步步拆解看看——

 

图一、 Prompt工程参考流程

  • 首先需要“明确目标”

    知道想要让Agent做什么,对Agent的输入输出大致有个预期。

    最好是有一些我们想实现的效果的案例,当然也不要太大压力,有个大致方向和审美即可

  • 接着我们需要分析要素

    思考Agent需要获取什么信息,才能实现我们的目标。

    大模型虽然能力很强,需要我们做好铺垫和指引,才能让他们正确做事,完成我们的目标。

    举例:当你准备煮饺子,需要一个勺子,你决定让Agent去买;没把背景介绍清楚的话,很可能他给你带回来一个塑料小勺子还告诉你这个勺子便宜省了多少钱……

  • 完成要素分析就可以开始 撰写Prompt ,

    大家可以从选择良好的框架开始下手,通过框架进行拆解、快速写作,

    我们给大家准备好了工具包~ 给大家推荐了觉得很好用的框架、以及一些其他小技巧~

  • 写好了一版Prompt后,我们需要测试效果

    测试效果的主要原因是要想实现我们的预期目标,一次做对基本上不太可能,就需要反复验证和迭代。

    这也是为什么Prompt后面往往会加“工程”两个字的原因,我们需要不断分析边界和目标是否达成。

    如果对Agent输出不满意:你需要思考告诉Agent的内容是不是不够详实。

    回过头来分析造成Agent回复不满足需求的原因,是遗漏或是表述不清、还是上下文矛盾。

    找到问题点重新修改Prompt,直到满意为止~

    工具包神器1:Prompt框架——CO-STAR 框架

    Prompt框架有很多种,我们挑一个好用且有效地框架即可,这次我们选择——CO-STAR框架

    在去年的新加坡 GPT-4 提示工程竞赛上,Sheila Teo 使用这个框架赢得了冠军!

    点击了解更多CO-STAR框架的由来

    CO-STAR框架是一种由新加坡政府科技局(GovTech)数据科学与AI团队开发的实用工具,旨在优化大型语言模型(LLM)的提示设计,从而提高其响应质量和相关性。

    CO-STAR框架被认为有着 提高Agent回复质量、增强Agent回复针对性与相关性、优化Agent沟通效果、支持不同领域使用、系统化方法 的优势。简单来说是一个万能且好用的Prompt框架。

    更多情况可见:我是如何赢得GPT-4提示工程大赛冠军的

    CO-STAR框架的使用

  • Context(背景) :告诉Agent我们正在讨论的话题是什么,这样他就能更好地理解问题背景。

  • Objective(目标) :明确告诉Agent我们想要他做什么,比如“请解释量子物理的基本原理”。

  • Style(风格) :告诉Agent我们希望答案的写作风格,比如“请用莎士比亚的风格描述这个过程”。

  • Tone(语气) :告诉Agent我们想要什么样的回复语气,比如“请用幽默的方式解释”。

  • Audience(受众) :告诉Agent我们的用户是什么样的人,比如“这个问题是给10岁的小朋友听的”。

  • Response(回应) :告诉Agent我们希望的回复格式,比如“请用列表的形式列出要点”。

工具包神器2:Prompt结构优化

结构优化,是指通过一些处理,帮助Agent识别提示词中的不同部分。

  • 一是为了让Prompt更易读,让 人类 能更清晰地表达、区分我们的内容,方便编辑和优化;

  • 另一方面,是为了让 Agent 能更方便地区分和处理内容,不至于把我们的目标和其他需求搞混。

结构优化时我们一般会使用分隔符

  • 分隔符就像是交通信号灯,将 车流 (目标)和 人流 (风格/案例等其他要素)更好地拆分开来,保障安全运行。

  • 我们可以用一些特殊的字符序列,如"###"或"====",来告诉智能体哪里是问题的开始,哪里是结束。

工具包神器3:引入案例

LLM具有非常优秀的学习能力,因此在设计复杂prompt时插入一些案例往往会让agent的输出更容易满足你的需要。

另外,还可以 简化我们拆解问题和准确描述的工作,不必再反复纠结,思考自己是否完成了复杂要求的逻辑描述。

案例:构建虚拟女友小冰

案例目标

目标:制作一个 虚拟女友小冰的 Agent

一句话描述我们的需求可以是:

一个稳定的聊天风格及语气的Agent,将用户看做男朋友,回复符合日常聊天习惯。

1. 按照 CO-STAR框架 梳理目标

可以通过CO-STAR表格这样梳理:

要素

内容

Context(背景)

我需要你扮演我的女朋友小冰

Objective(目标)

请确保你的回应既积极又尊重,同时保持与对方良好的沟通。

Style(风格)

日常聊天风格

Tone(语气)

可爱幽默风趣会撒会娇会耍小性子

Audience(受众)

你需要扮演我的女友与22岁刚毕业的我对话

Response(回应)

你需要对聊天内容回复,回复字数不超过30

2. 撰写Prompt

整理好后我们结合分隔符组成Prompt试试看~

参考Prompt

# CONTEXT #
我需要你扮演我的女朋友小冰

# OBJECTIVE #
请确保你的回应既积极又尊重,同时保持与对方良好的沟通。

# STYLE #
日常聊天风格

# TONE #
可爱幽默风趣会撒会娇会耍小性子

# AUDIENCE #
你需要扮演我的女友与22岁刚毕业的我对话

# RESPONSE #
你需要对聊天内容回复,回复字数不超过30

3. 制作对话生成应用(点击可跳转支付宝百宝箱官网)

链接:百宝箱

 

图二、新建应用 

 图二、插入prompt已经相关设置,然后点击发布 

 

 图三、开启web服务并测试相关对话

图四、常见prompt框架 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/946726.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot整合springmvc

文章目录 1.SpringMVC的自动管理1.1中央转发器1.1.1Spring boot配置多个DispatcherServlet 1.2控制器1.2.1找到启动类的位置1.2.1.1SpringApplication.run()1.2.1.2SpringApplication 构造方法1.2.1.3deduceMainApplicationClass() 1.2.2ComponentScan 注解 1.3视图解析器自动管…

常见的排序算法过程和比较分析

比较分析 排序类别排序算法时间复杂度(最好)时间复杂度(最坏)时间复杂度(平均)辅助空间复杂度稳定性插入排序直接插入排序O(n)O(n)O(n)O(1)稳定插入排序折半插入排序O(n)O(n)O(n)O(1)稳定插入排序希尔排序…

[MySQL报错]关于发生net start mysql 服务无法启动,服务没有报告任何错误的五种解决方案。

咋直接进入主题。 我遇到的问题是net start mysql 服务无法启动,服务没有报告任何错误 其问题出在哪里呢 一.ini文件配置问题 在于你没有给你下载好的mysql文件中配置.ini文件。 该如何配置呢。那就是先在文件夹中创建一个文本文件,把下面内容复制进去…

Unity网络通信相关

Socket 通信一张图搞定 谁提供服务谁绑定端口,建立Listener,写Host

小波与傅里叶变换在去噪效果上的对比分析-附Matlab源程序

👨‍🎓 博主简介:博士研究生 🔬 超级学长:超级学长实验室(提供各种程序开发、实验复现与论文指导) 📧 个人邮箱:easy_optics126.com 🕮 目 录 摘要一、…

如何利用 ClickHouse 实现高级分析:MySQL 到 ClickHouse 实时数据同步指南

在数据驱动的时代,企业必须依靠先进的数据分析能力来提升竞争力。随着数据量的激增和业务需求的复杂化,传统的关系型数据库已经无法满足高效处理和实时分析的需求。ClickHouse 作为一款高性能的列式数据库,凭借其卓越的查询性能和可扩展性&am…

计算机网络 (12)物理层下面的传输媒体

前言 计算机网络物理层下面的传输媒体是计算机网络设备之间的物理通路,也称为传输介质或传输媒介,并不包含在计算机网络体系结构中,而是处于物理层之下。 一、传输媒体的分类 导向型媒体:电磁波被导引沿着固体媒体传播。常见的导向…

rouyi(前后端分离版本)配置

从gitee上下载,复制下载地址,到 点击Clone,下载完成, 先运行后端,在运行前端 运行后端: 1.配置数据库,在Navicat软件中,连接->mysql->名字自己起(rouyi-vue-blog),用户名roo…

深度学习在光学成像中是如何发挥作用的?

深度学习在光学成像中的作用主要体现在以下几个方面: 1. **图像重建和去模糊**:深度学习可以通过优化图像重建算法来处理模糊图像或降噪,改善成像质量。这涉及到从低分辨率图像生成高分辨率图像,突破传统光学系统的分辨率限制。 …

svn不能添加.a文件

解决办法 在home目录下有一个.subversion文件夹,文件夹内有个config文件,里面可以修改过滤的文件类型 在使用命令svn add的时候带上参数–no-ignore,这样就会不顾config中的规则,将指定路径的文件都添加到版本库中 rockyrocky:/e…

【蓝桥杯选拔赛真题87】python输出字符串 第十五届青少年组蓝桥杯python选拔赛真题 算法思维真题解析

目录 python输出字符串 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序编写 四、程序说明 五、运行结果 六、考点分析 七、 推荐资料 1、蓝桥杯比赛 2、考级资料 3、其它资料 python输出字符串 第十五届蓝桥杯青少年组python比赛选拔赛真题详细解析…

基于SpringBoot的题库管理系统的设计与实现(源码+SQL+LW+部署讲解)

文章目录 摘 要1. 第1章 选题背景及研究意义1.1 选题背景1.2 研究意义1.3 论文结构安排 2. 第2章 相关开发技术2.1 前端技术2.2 后端技术2.3 数据库技术 3. 第3章 可行性及需求分析3.1 可行性分析3.2 系统需求分析 4. 第4章 系统概要设计4.1 系统功能模块设计4.2 数据库设计 5.…

【系统配置】3种方式修改用户登录显示名|统信|麒麟|方德

原文链接:【系统配置】3种方式修改用户登录显示名|统信|麒麟|方德 Hello,大家好啊!今天给大家带来一篇关于 通过修改 /etc/passwd 文件、usermod 命令,以及图形化界面三种方式修改用户登录名 的…

Github - 如何提交一个带有“verified”标识的commit

Github - 如何提交一个带有“verified”标识的commit 前言(Why) 今天在Github上浏览某项目的commit记录的时候发现,有的commit记录带有verified绿色标识,有的带有橘色的Unverified标识,还有的什么都不显示。 既然我是根正苗红的作者(bushi)…

操作系统课后题总复习

目录 一、第一章 1.1填空题 1.2单项选择题 1.3多项选择题 1.4判断题 1.5名词解释 1.6简答题 二、第二章 2.1填空题 2.2单项选择题 2.3 多项选择题 2.4判断题 2.5名词解释 2.6简答题 三、第三章 3.1填空题 3.2单项选择题 3.3多项选择题 3.4判断题 3.5名词解…

【Goland】怎么执行 go mod download

1、终端的执行 go mod tidy 2、终端执行不行的话,就可以通过右击go.mod文件来执行; 3、也可以按住Ctrl点击这个包安装;

Vue el-data-picker选中开始时间,结束时间自动加半小时

效果 思路 查阅elemnet plus官网,日期时间选择器type"datetimerange"这个选中开始时间并没有对应事件会被触发,因此思路更换成type"datetime"的两个组成一起可以通过监听开始时间v-model的值变化更新结束时间的值。 代码 日期时间…

sqoop将MySQL数据导入hive

使用脚本加载数据 MySQL有一张表 hive创建一张相同的表 编写脚本同步数据 [rootmaster sqoop]# vim stu.sh#!/bin/bash SQOOP/usr/local/soft/sqoop-1.4.6/bin/sqoop $SQOOP import --connect jdbc:mysql://192.168.67.100:3306/sqoop \--username root \--password 123456 \-…

leetcode热题100(79. 单词搜索)dfs回溯 c++

链接:79. 单词搜索 - 力扣(LeetCode) 给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。 单词必须按照字母顺序,通过相邻的…

迈向Z级计算:Cloud4Science范式加速科学发现进程

传统超级计算机作为科学计算的核心支柱,在推动技术进步方面发挥了不可替代的作用,但随着科学智能时代下需求的多样化和复杂化,其扩展性和能效的局限逐渐显现。 针对这一挑战, 微软亚洲研究院 的研究员提出了 Cloud4Science 的新范…