当前位置: 首页 > article >正文

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框架 


http://www.kler.cn/a/460794.html

相关文章:

  • 【Vue】vue项目中命名规范(结合上一篇项目结构)
  • 共阳极LED的控制与短路问题解析
  • 【C语言】可移植性陷阱与缺陷(三):整数的大小
  • stm32 智能语音电梯系统
  • Python 将文字和二维码 生成到BMP上 可以做标签打印等
  • 如果Adobe 退出中国后怎么办
  • 7个国内框架 Agent应用
  • Qt 教程全集目录公布(方便查阅2024)
  • 前端Python应用指南(八)WebSocket与实时应用:用Flask和Django实现聊天系统
  • Java中实现对象的深拷贝(Deep Copy)
  • LeetCode 3219.切蛋糕的最小总开销 II:贪心——先切贵的
  • 计算机毕业设计Hadoop+Spark美团美食推荐系统 美团餐厅推荐系统 美团推荐系统 美食价格预测 美团爬虫 美食数据分析 美食可视化大屏
  • Android Studio 安装教程
  • httpslocalhostindex 配置的nginx,一刷新就报404了
  • Java系列之:读写文件、Callable接口、Runnable接口、线程池
  • 【2024年-10月-16日-开源社区openEuler实践记录】OpenStack:开源云计算的巨擘
  • 21_HTML5 WebSocket --[HTML5 API 学习之旅]
  • 京准科普:车辆测速网络时间同步系统的概述
  • JAVA八股文-序列化和反序列化
  • vsCode调试Vue项目
  • HuatuoGPT-o1:基于40K可验证医学问题的两阶段复杂推理增强框架,通过验证器引导和强化学习提升医学模型的推理能力
  • 【亚马逊云】基于Amazon EC2实例部署 NextCloud 云网盘并使用 Docker-compose 搭建 ONLYOFFICE 企业在线办公应用软件
  • 混合精度训练(Mixed Precision Training)如何在 bf16 到 fp32 转换中保留信息:数值模拟与代码实现(中英双语)
  • 移动 APP 设计规范:构建高效、易用与美观的用户体验
  • 【2024年-10月-8日-开源社区openEuler实践记录】深度分析 Gala-Gopher:革新分布式系统运维的开源力量
  • archlinux使用