# 技能 & 记忆

## 什么是技能

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

<figure><img src="/files/8IWVODMRsblqVLwaWRfg" alt=""><figcaption></figcaption></figure>

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

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

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

在任务执行过程中，如果右侧边栏的 steps 中出现了一个粉丝大脑![](/files/uu2RrR3f4bNTLZuF4mNQ)图标，则说明该步调用了技能。可以鼠标悬浮在该图标上查看技能调用的具体情况。

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

* 给技能一个清晰的名称和一句概括其目标的描述。
* 明确指定需要 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="/files/vDscBtUvrG4PHFSRb4Ap" 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）
目标地区: 美国和加拿大
```

#### 进阶技巧

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

#### 常见问题排查

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


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://doc.flowith.io/cn/oracle-mode-zhi-neng-ti-mo-shi/flowithos-zhi-neng-ti-cao-zuo-xi-tong/ji-neng-ji-yi.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
