---
title: "技能教训"
description: "让每个 Agent 在不改动共享 Skill 的前提下，获得简短的过程注意事项。"
url: "https://ankole.agentbull.com/zh-Hans-CN/docs/skill-lessons/"
lang: "zh-Hans-CN"
---

> 面向 AI Agent 的文档索引：https://ankole.agentbull.com/zh-Hans-CN/llms.txt

# 技能教训

技能教训是 Agent 读取 Skill 时一并获得的简短注意事项，每条都带有日期。它们帮助 Agent 避免反复出现的工具错误、环境陷阱和工作方式偏差。共享的 `SKILL.md` 保持不变。

技能教训受 GBrain 的 Skill 优化实验启发，是 Agent 在使用某个 Skill 过程中积累的带日期的笔记。Ankole 将机器写入限制为带租约、Agent 专属的过程提示，不允许改写 Skill 正文。

一条教训只属于一个 Agent 和一个 Skill。若规则需要适用于所有 Agent，应把它写入 Skill 来源。

## 什么内容可以成为教训

Ankole 可以保留两类过程注意事项：

- 在多个后台 Agent Job 中出现的工具问题或环境条件。
- 人在 Job 运行期间给出的、可复用于其他任务的工作方式纠正。

教训可以说明何时停止、需要检查什么，或应怎样调用工具。它不能规定结果应该多好、多深、多完整，也不能规定观点、语气或风格。Ankole 不会根据任务结果评分来判断教训是否有效。

只适用于一个任务的指示不是教训。一次性的范围、格式或术语要求只约束当前任务。大多数证据批次不会产生教训。

## 证据需要达到什么条件

Ankole 检查已经结束的后台 Agent Job。Job 中必须出现失败的命令或工具调用，或在 Job 启动后收到人工消息。系统只使用最近 30 天的记录。

当一个 Agent 积累了足够多尚未处理的信号 Job 后，Dreaming 才会创建复盘 Job。默认阈值为 10。复盘最多读取最近 30 个符合条件的 Job。

机器教训通常需要至少两个不同 Job 的证据。只有当某个 Job 中的人工消息本身明确给出了可复用纠正时，一条 Job 证据才足够。

复盘可以在本地环境中执行只读检查。它不能修改文件、访问网络或修复问题。错误信息和工具输出都按不可信数据处理。

## Agent 会收到什么

生效中的教训显示在完整 Skill 说明后的 `Agent-specific additions` 区块中，每条都标明日期。人工教训排在 Dreaming 教训之前。

已退场的教训，以及超过复审宽限期的机器教训，不会进入 Agent 上下文。关闭 Skill 也会停止投递对应教训。存储中的历史仍可供运维人员检查。

## 让机器教训保持有效

Dreaming 教训创建时持有 7 天租约。租约即将到期、Ankole 版本变化或 Skill 正文变化时，定时 Dreaming 会复审该教训。

复审有三种结果：

- **续期**：条件仍然存在，或没有新证据时保留教训。
- **已过时**：环境中已没有该条件，或 Skill 正文已经覆盖该教训时，让教训退场。
- **租约到期**：近期运行没有再次确认该条件，且无法证明它已经过时时，让到期教训退场。

未得到复审结果的教训会在 7 天宽限期后停止投递。该记录仍保留在历史中，便于运维人员检查原因。

人工教训没有租约。Dreaming 不会修改或让人工教训退场。

## 新增或让教训退场

1. 在 Console 中打开 **Agent 能力库**。
2. 把作用域从**全局默认值**切换到目标 Agent。
3. 在 Agent Plugin 或 **Skills** 中找到目标 Skill。
4. 选择**新增教训**，先写适用条件，再写需要执行的动作。
5. 教训错误、过时或不再有用时，选择**退场**。

只有已启用的 Skill 可以新增人工教训。人工教训不受机器内容长度限制，但不能包含 URL。需要修正教训时，先让旧条目退场，再新增条目；教训正文不能原地修改。

Console 会显示作者、创建时间、复审日期、核对版本、证据 Job 和退场原因。人工撤销的内容会进入 Dreaming 的禁止再学习清单，因此 Dreaming 不会再次加入等价教训。Agent 会从下一轮开始停止读取已退场的教训。

## 配置和观察学习状态

以下 `brain.*` 配置控制技能教训：

| 配置 | 默认值 | 作用 |
|---|---|---|
| `brain.skill_learning_enabled` | `true` | 控制复盘、复审和教训投递。设为 `false` 时，已存的人工教训和 Dreaming 教训都会隐藏，但不会删除。 |
| `brain.skill_learning_reflection_threshold` | `10` | 设置创建一次复盘 Job 所需的未处理信号 Job 数，最小值为 `2`。 |
| `brain.maintainer_agent_uid` | 未设置 | 选择负责维护 Brain 的 Agent，并使用其 `heavy` profile 复审租约教训。`heavy` profile 不可用时，跳过依赖模型的复审。 |
| `brain.dreaming_task_cron` | `0 5 * * *` | 设置 Dreaming 评估复盘触发条件和复审到期教训的时间。 |

打开 **Brain → 健康**，可以查看技能学习是否启用、每个 Agent 的生效教训数、最近 7 天的新增与退场数量，以及最老生效 Dreaming 教训的年龄。

## 限制与安全

- 机器教训使用英文，由一到三个短句组成，最多 100 token。内容包含条件、动作和可选的核对方法。
- 一次复盘最多为同一个 Skill 新增两条教训。当该 Skill 已有 10 条生效教训时，Dreaming 不再新增。
- 机器教训不能包含 URL，也不能命中注入检测规则。
- 教训只属于一个 Agent。Ankole 不会在 Agent 之间共享教训。
- 不重放任务，就无法证明一条教训为真，也无法预测它的效果。带日期的条件式文本会要求 Agent 在执行前核对当前环境。
