# 技能 & 记忆

## 什么是技能

技能是以 Markdown 格式编写的可复用自定义指令。它可以教 agent 如何准确前往特定站点，也可以教 agent 如何一步一步完成特定任务。你可以将技能理解为一个详细的教程。当 agent 在执行任务时，它会学习有关教程进行工作。

<figure><img src="https://3657150132-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAVkWkYQheefIjsWOM7id%2Fuploads%2FQ4KVGaxuHmL6tMfwd9bn%2Fimage.png?alt=media&#x26;token=c29ef52f-cf8a-492b-8d2b-ec91e97a1bb7" alt=""><figcaption></figcaption></figure>

#### 如何创建并编辑技能

1. 在左侧边栏打开技能界面，点击 <创建新技能> 。
2. FlowithOS 会打开一个空白的 Markdown 文件，编辑你的自定义技能。
3. 给新建的 \<new-skill.md> 文件重新命名。注意，技能的命名会影响调用，请将技能合适概括并命名。
4. FlowithOS 会自动保存编辑内容，你也可以手动保存。
5. 之后需要再次编辑此技能时，可以直接点开 Markdown 文档进行编辑。

#### 如何确认技能已被调用

在任务执行过程中，如果右侧边栏的 steps 中出现了一个粉丝大脑![](https://3657150132-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAVkWkYQheefIjsWOM7id%2Fuploads%2FKkdaEg2DktWPQAknC6kq%2Fimage.png?alt=media\&token=eaaa7d99-993d-4531-b3cb-77ebc4a9ff40)图标，则说明该步调用了技能。可以鼠标悬浮在该图标上查看技能调用的具体情况。

#### 如何编写高质量的技能

* 给技能一个清晰的名称和一句概括其目标的描述。
* 明确指定需要 FlowithOS 操作的页面位置。
* 对于 UI 复杂的网站使用精确的点击和输入指令。
* 说明成功标准和最终的交付物。
* 设立约束条件，如日期范围、数量目标、格式和必要的确认步骤。
* 使用简短的，命令式的语句。<br>

#### 技能参考案例

```
技能名: 在Youtube上发布视频
描述: 在YouTube网站上发布长视频或Shorts短视频。

在Youtube上发布视频
操作指令
1. 获取需要上传的文件的ID。这可能是上一步下载操作返回的文件ID，也可能是根据上传文件描述在文件系统中手动找到的文件的ID，或者是用户作为附件上传的文件。
2. 前往 https://studio.youtube.com/channel/ ，点击右上角的“创建”按钮，在出现的下拉菜单中点击“上传视频”。
3. 使用 upload_file Action 能力，将需要上传的文件上传到弹出的模态框中的“选择文件”元素上。严禁直接点击此元素进行上传。
4. 等待10秒，直到上传完成且模态框显示详细信息表单。如果未出现，则继续重复此步骤。
5. 在表单中填写视频标题和描述，然后根据视频具体内容和受众填写“是否为儿童打造”的表单项。
6. 如果出现任何确认弹窗，点击关闭。
7. 在接下来的几个步骤中，持续点击“下一步”，直到到达“公开范围”步骤。根据需要选择公开范围，然后点击“发布”。

```

#### 长期使用建议

* 确保技能专注于单一工作流。必要时，为不同的网站或单个网站上的复杂任务创建新的技能。
* 检查未被调用的技能。根据需要更新指令或详细说明特定操作步骤。

#### 常见问题排查

* 技能未被调用：确保输入的提示词与技能名相匹配。&#x20;
* 指令步骤被跳过：可以尝试直接将技能中的执行步骤添加进提示词，确保执行准确。

## 什么是记忆

记忆是用户希望 agent 能够跨任务存储的长期固定的信息。用户可以使用记忆来来提供上下文，提高决策和任务执行的质量。常见的记忆内容包括：品牌形象、格式偏好、目标地区、认可的工具以及非机密的稳定账户信息。

<figure><img src="https://3657150132-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAVkWkYQheefIjsWOM7id%2Fuploads%2Fl3BqAk8RwPnd4U0P0qg5%2Fimage.png?alt=media&#x26;token=f47ae69e-ce70-4e14-a5f6-632187ef6baf" alt=""><figcaption></figcaption></figure>

#### 创建或编辑记忆

1. 在左侧边栏打开 <记忆> 界面，点击 <创建新记忆> 。
2. FlowithOS 会打开一个空白的 Markdown 文件，编辑你的自定义 <记忆> 。
3. 给新建的 new-memory.md 文件重新命名。注意，记忆的命名会影响调用，请选择合适的命名。
4. FlowithOS 会自动保存编辑内容，你也可以手动保存。
5. 之后需要再次编辑此记忆时，可以直接点开 Markdown 文档进行编辑。<br>

#### 如何确认记忆已被调用

在任务执行过程中，如果右侧边栏的 steps 中出现了一个粉丝大脑![](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FAVkWkYQheefIjsWOM7id%2Fuploads%2FH17fei8Poxi7eoPBy6UZ%2Fimage.png?alt=media\&token=7c346f40-da97-4ddb-ad69-757f847a2dce)图标，则说明该步调用了记忆。可以鼠标悬浮在该图标上查看记忆调用的具体情况。

#### 如何编写记忆

适合存储为记忆的：

* 品牌形象和语调指南及对应具体示例。
* 格式规则，例如首选交付物格式、内容排列顺序和命名格式。
* 稳定约束条件，例如预算范围、时间窗口期和安全信息源。
* 工具偏好，例如输出存储位置和优先使用的应用程序。
* 你个人生成内容时喜欢的语言习惯。

不适合存储为记忆的：

* 机密信息和凭证。
* 快速变化的信息，例如每日价格或日程。
* 应存放在技能或一次性提示词中的使用指令。

#### 记忆参考案例

```
记忆名称: 用于研究和报告的营销默认设置

声音与语调:
自信、清晰、友好
避免使用俚语
优先使用短段落，并用项目符号列出要点
 
产出物默认设置:
主要交付物: Google 文档总结
次要交付物: 当列表超过10行时，在“产出文件”中生成CSV表格
文件命名: {yyyy-mm-dd}_{项目}_{简短标题}
 
质量规则:
始终为声明和数据提供来源链接
市场数据优先选择过去90天内发布的来源
不确定时，在继续前先问一个澄清性问题
 
研究范围:
优先来源: 公司官网、官方文档、一手数据
可接受来源: 有署名的可信新闻和分析机构
排除: 除非明确要求，否则不包括论坛内容
 
约束条件:
预算示例应使用美元（USD）
目标地区: 美国和加拿大
```

#### 进阶技巧

* 保持记忆简短且稳定。如果内容较长，将其拆分为用途更明确的多个记忆。
* 每月检查一次记忆，归档不再有用的内容。

#### 常见问题排查

* 产出物忽略了格式规则：确认记忆存在且处于激活状态，然后在你的指令中重申相应的关键规则。
* 调用了过时的记忆：打开该记忆，更新过时的内容，然后保存。
* 出现了错误的内容或信息来源：在指令中限定范围，并且指定将特定内容或信息源排除在外。
