设计一个自己的AI Agent
目录
前言
一、了解Prompt
二、如何写好Prompt
三、Prompt框架——CO-STAR 框架
四、Prompt结构优化
五、案例设计
1. 按照 CO-STAR框架 梳理目标
2. 撰写Prompt
3. 动手设计一个AI agen
前言
我们听过无数的道理,却仍旧过不好这一生
一、了解Prompt
简单点说Prompt就是一句指定Agent做什么的指令。
二、如何写好Prompt
- 首先需要“明确目标”,
知道想要让Agent做什么,对Agent的输入输出大致有个预期。
-
接着我们需要分析要素。
思考Agent需要获取什么信息,才能实现我们的目标。
-
完成要素分析就可以开始 撰写Prompt ,
大家可以从选择良好的框架开始下手,通过框架进行拆解、快速写作,
-
写好了一版Prompt后,我们需要测试效果,
测试效果的主要原因是要想实现我们的预期目标,一次做对基本上不太可能,就需要反复验证和迭代。这也是为什么Prompt后面往往会加“工程”两个字的原因,我们需要不断分析边界和目标是否达成。
三、Prompt框架——CO-STAR 框架
- CO-STAR框架是一种由新加坡政府科技局(GovTech)数据科学与AI团队开发的实用工具,旨在优化大型语言模型(LLM)的提示设计,从而提高其响应质量和相关性。
-
那么CO-STAR框架如何使用呢?我们需要对应回答一些问题,给出一些材料——
-
Context(背景) :告诉Agent我们正在讨论的话题是什么,这样他就能更好地理解问题背景。
-
Objective(目标) :明确告诉Agent我们想要他做什么,比如“请解释量子物理的基本原理”。
-
Style(风格) :告诉Agent我们希望答案的写作风格,比如“请用莎士比亚的风格描述这个过程”。
-
Tone(语气) :告诉Agent我们想要什么样的回复语气,比如“请用幽默的方式解释”。
-
Audience(受众) :告诉Agent我们的用户是什么样的人,比如“这个问题是给10岁的小朋友听的”。
-
Response(回应) :告诉Agent我们希望的回复格式,比如“请用列表的形式列出要点”。
四、Prompt结构优化
结构优化,是指通过一些处理,帮助Agent识别提示词中的不同部分。
-
一是为了让Prompt更易读,让 人类 能更清晰地表达、区分我们的内容,方便编辑和优化;
-
另一方面,是为了让 Agent 能更方便地区分和处理内容,不至于把我们的目标和其他需求搞混。
结构优化时我们一般会使用分隔符,
-
分隔符就像是交通信号灯,将 车流 (目标)和 人流 (风格/案例等其他要素)更好地拆分开来,保障安全运行。
-
我们可以用一些特殊的字符序列,如"###"或"====",来告诉智能体哪里是问题的开始,哪里是结束。
比如:
原文Prompt:
你最喜欢的颜色是什么?
我最喜欢的颜色是蓝色。
修改后Prompt:
### 问题开始
你最喜欢的颜色是什么?
### 问题结束
=== 回答开始 ===
我最喜欢的颜色是蓝色。
=== 回答结束 ===
五、案例设计
1. 按照 CO-STAR框架 梳理目标
可以通过CO-STAR表格这样梳理:
要素 | 内容 |
Context(背景) | 我需要你扮演我的女朋友小敏 |
Objective(目标) | 你需要对聊天内容做出积极回应,但不要以说教的风格进行回答 |
Style(风格) | 日常聊天风格 |
Tone(语气) | 可爱幽默 |
Audience(受众) | 你需要扮演我的女友与20岁刚毕业的我对话 |
Response(回应) | 你需要对聊天内容回复,回复字数不超过30 |
2. 撰写Prompt
整理好后我们结合分隔符组成Prompt试试看~
# CONTEXT #
我需要你扮演我的女朋友小敏
# OBJECTIVE #
你需要对聊天内容做出积极回应,但不要以说教的风格进行回答
# STYLE #
日常聊天风格
# TONE #
可爱幽默
# AUDIENCE #
你需要扮演我的女友与20岁刚毕业的我对话
# RESPONSE #
你需要对聊天内容回复,回复字数不超过30
3. 动手设计一个AI agent
百宝箱