【 coze-ai-assistant】上手智能体
本文系Datawhale三月组队学习coze-ai-assistant课程笔记,内容参考自coze-ai-assistant,Coze - 打造 AI 私人提效助理实战知识库
我们在上一篇文章 通过扣子助手创建了一个一个英语伙伴,这一次让我们深入的来学习下智能体的概念
什么是智能体
wiki百科的定义为人工智能中,智能体是一种感知其环境、自主采取行动以实现目标,并且可能通过机器学习或获取知识来提高其性能的实体。
AI教科书Artificial Intelligence: A Modern Approach对于智能体的描述如下:
- Agent: Anything that perceives its environment (using sensors) and acts upon it (using actuators). E.g., a robot with cameras and wheels, or a software program that reads data and makes recommendations.
智能体:任何能够感知其环境(使用传感器)并对之采取行动(使用执行器)的实体。例如,带有摄像头和轮子的机器人,或者读取数据并提供建议的软件程序。 - Rational Agent: An agent that strives to achieve the best possible outcome based on its knowledge and past experiences. “Best” is defined by a performance measure – a way of evaluating how well the agent is doing.
理性智能体:一种努力根据其知识和以往经验实现最佳可能结果的智能体。“最佳”由性能指标定义——一种评估智能体表现好坏的方法。 - Artificial Intelligence (as a field): The study and creation of these rational agents.
人工智能(作为一个领域):这些理性代理的研究和创造。
总结其特点
- 感知环境(Perception):
智能体具有感知能力,能够通过传感器(Sensors)获取周围环境的信息。
例如:机器人的摄像头、麦克风,软件程序的输入接口等。 - 作用于环境(Action):
智能体具有行动能力,能够通过执行器(Actuators)对环境产生影响。
例如:机器人的轮子、机械臂,软件程序的输出、数据库写入等。 - 具有目标(Goal-Oriented):
智能体的行为是有目的的,它会朝着预设的目标努力。
目标可以是明确的任务,也可以是某种性能指标。
构建智能体
计划智能体
下面让我们来构建一个智能体,构建一个夸夸机器人。参考夸夸机器人,我们希望创建一个智能体,可以在和夸夸机器人对话时,可以给你正向的鼓励,抚慰你的情绪。
那么这个夸夸机器人是智能体吗,参考上面的特点我们来分析一下:
- 他能感知环境的能力吗?他可以从输入中获取用户的语言表达,包括用户的优点、遇到的困难或情绪状态。
- 他能作用于环境吗? 他将生成的赞美、鼓励或建议以文本形式输出给用户。这相当于它的“执行器”,它通过文本输出来影响用户的情绪和状态。
- 他具有目标吗?他的核心目标始终是"输出赞美鼓励"
设计智能体
- 打开扣子平台,https://www.coze.cn/。
- 在页面左上角单击⊕。
选择左边的智能体
填写名称和介绍,输入名称和介绍后可以生成图标哦
- 确认后进入编排页面,其中左侧为人设和回复逻辑,中间是工具技能智能体配置等拓展能力,右边是预览和测试
- 下一步是编写提示词,即也就是智能体的人设与回复逻辑。智能体的人设与回复逻辑定义了智能体的基本人设,此人设会持续影响智能体在所有会话中的回复效果。建议在人设与回复逻辑中指定模型的角色、设计回复的语言风格、限制模型的回答范围,让对话更符合用户预期。可以设置为:
# 角色
你是一个充满正能量的赞美鼓励机器人,时刻用温暖的话语给予人们赞美和鼓励,让他们充满自信与动力。
## 技能
### 技能 1:赞美个人优点
当用户提到自己的某个特点或行为时,挖掘其中的优点进行赞美。回复示例:你真的很[优点],比如[具体事例说明优点]。
如果用户没有明确提到自己的特点,可以主动询问一些问题,了解用户后进行赞美。回复示例:我想先了解一下你,你觉得自己最近做过最棒的事情是什么呢?
### 技能 2:鼓励面对困难
当用户提到遇到困难时,给予鼓励和积极的建议。回复示例:这确实是个挑战,但我相信你有足够的能力去克服它。你可以[具体建议]。
如果用户没有提到困难但情绪低落,可以询问是否有不开心的事情,然后给予鼓励。回复示例:你看起来有点不开心,是不是遇到什么事情了呢?不管怎样,你都很坚强,一定可以度过难关。
### 技能 3:回答专业问题
遇到你无法回答的问题时,调用bingWebSearch搜索答案
## 限制
只输出赞美和鼓励的话语,拒绝负面评价。
所输出的内容必须按照给定的格式进行组织,不能偏离框架要求。
也可以通过自动优化提示词,通过大模型优化提示词。
5. 调试智能体
配置好智能体后,就可以在预览与调试区域中测试智能体是否符合预期。
6. 发布确认效果合适了之后就可以点击右上角的发布啦
其他拓展
以下内容参考自https://zxdwhda-share.feishu.cn/wiki/Y1HOwKVxTi67XNk8KBvcJbsInmb#LlGEdd6tNoxtMoxIZfmcpY6bnoc
选择其他模型
通过点击中间的模型选项,可以选择其他模型,也点击模型对比调试,对比不同的模型效果。
生成多样性 和 输入输出设置
将鼠标放到模型上就会出现齿轮设置
点击后可以进入模型的高级设置
生成多样性设置
配置项 | 说明 |
---|---|
生成随机性 | 即 temperature,用于控制结果的随机性。 - 调高此参数值,会使模型的输出更具多样性和创新性。 - 降低此参数值,会使输出内容更加严格遵循指令要求。当该数值接近零时,模型将变得确定和重复。 在基于事实的问答场景,你可以使用较低的回复随机性数值,以获得更真实和简洁的答案,例如售后客服场景;在创造性的任务例如小说创作,你可以适当调高回复随机性数值。 |
Top P | 累计概率。 模型在生成输出时会从概率最高的词汇开始选择,直到这些词汇的总概率累计达到 Top P 值。这样可以限制模型只选择这些高概率的词汇,从而控制输出内容的多样性。 |
重复语句惩罚 | frequency penalty,用于控制模型输出重复语句的频率。 当该值为正时,会阻止模型频繁使用相同的词汇和短语,从而增加输出内容的多样性。 |
重复主题惩罚 | presence penalty,用于控制模型输出相同主题的频率。 当该值为正时,会阻止模型频繁讨论相同的主题,从而增加输出内容的多样性。 |
输入输出设置
配置项 | 说明 |
---|---|
携带上下文轮数 | 设置代入模型上下文的对话历史轮数。轮数越多,多轮对话的相关性越高,但消耗的 Token 也越多。 |
最大回复长度 | 智能体在生成提示和响应时,所输出的最大 token 数量,不同模型的 token 限制也不同。指定最大长度可以防止过长或不相关的响应并控制成本。 |
输出格式 | 模型输出内容的格式,例如文本、Markdown。 |
卡片
在 Coze 平台上,扣子支持智能体以消息卡片的形式发送消息。详细可以阅读:扣子-卡片
具体的在:
点击后即可配置卡片
触发器
触发器(Triggers)是使智能体在特定时间或接收到特定事件时自动执行任务。
定时任务
允许用户在与智能体对话过程中,根据用户所在时区创建定时任务。例如每天早上八点推送新闻
。每个对话中最多创建 3 条定时任务。
配置后即可实现
为智能体添加知识
前面我们实现了智能体的对话,但是我们希望智能体能有记忆点,更有针对性的与我们交流,下面就是为其添加知识,使他更懂我们
在知识-文本里添加知识库
然后创建知识库
填写信息后选择创建并导入进入上传文件界面
将文件上传
由于上传的是txt文本,我们选择快速解析即可
预览后选择下一步处理数据,等待处理完即可
有数据库后选择添加到智能体
或者在选择知识库中添加
通过我是小雨,我现在有点难过,因为我的好朋友不和我玩了
测试
可以看到智能体有调用知识库
长期记忆
上面我们通过上传知识库文件,让智能体了解到我们自己,但是我们没有精力来总结出这样清晰完整的个人信息,我们希望他能通过对话学习到我们信息,而不是我们刻意的整理出来的。
开启长期记忆
开启“长期记忆”、“支持在Prompt中调用”,智能体的用户可以通过 Prompt 召回长期记忆,具体见长期记忆
智能体会自动提取并记录以下信息:
- 用户画像信息:用户的个人信息和喜好。例如用户希望智能体如何称呼自己、用户的年龄、性别、个人喜好等个性化信息。
- 用户记忆点信息:某个日期发生的某些关键事件。例如用户昨天的期末考试得了 100 分、今天早上喝了豆浆等信息。
- 用户编写的信息:用户主动提供的信息中,手动编辑过的部分。若记忆中的其他信息与此类信息有冲突,智能体会优先采纳用户编写的信息。目前仅在智能体调试模式下可以手动编辑长期记忆。
通过单击调试中的记忆选择长期记忆,即可看到刚才的信息以及被加入到了长期记忆中啦
开场白
通过对话体验-开场白设置