用途
APEX Learn 是一个自我改进循环技能,用于在完成任务后分析发生了什么、提取可复用知识,并将其持久化到 AGENTS.md,使整个智能体团队随时间不断改进。
何时使用
在以下任一情况下运行此技能:
- 完成 Tier 1、2 或 3 任务后
- 当人类就同一问题第二次纠正你时(两振规则)
- 当你发现非显而易见的模式或约定时
- 当任务耗时显著超出预期时
- 当人类明确要求更新规则时
两振规则
这是核心机制。如果你就同一类型问题被纠正两次:
- 第一次纠正——修复问题,心中记下
- 第二次纠正——修复问题,并运行 apex-learn 添加永久规则
这可以防止同一错误跨会话重复出现。
工作流
- 识别摩擦点
- 分类学习内容
- 起草规则
- 追加到 AGENTS.md
- 验证更新
步骤 1:识别摩擦点
就已完成的任务问自己以下问题:
## 摩擦分析
1. 我在哪里卡住或犯了错误?
2. 人类纠正了我什么?
3. 什么比预期耗时更长,为什么?
4. 我做了哪些错误的假设?
5. 我发现了哪些未被记录的模式?
步骤 2:分类学习内容
每条学习内容归入以下类别之一:
| 类别 | 示例 | 在 AGENTS.md 中的位置 |
|---|---|---|
| 代码风格 | “始终使用命名导出” | ## Code Style 章节 |
| 架构 | “服务层永不调用控制器” | ## Architecture Rules 章节 |
| 工作流 | “提交前始终运行测试” | ## Workflow 章节 |
| 边界 | “永不修改 auth 模块” | ## Boundaries 章节 |
| 偏好 | “偏好描述性名称而非短名称” | ## Preferences 章节 |
| 工具使用 | “使用 pnpm,而非 npm” | ## Tools 章节 |
步骤 3:起草规则
以祈使句形式书写规则。要具体且可执行:
好的规则:
- 始终使用
pnpm而非npm进行包管理 - 未经明确批准,永不修改
src/auth/中的文件 - 创建 API 端点时,始终包含限流中间件
坏的规则:
- 小心处理包(太模糊)
- 尽量写好代码(不可执行)
- 记住 auth 那件事(不具体)
步骤 4:追加到 AGENTS.md
运行学习脚本以安全追加新规则:
Linux/Mac:
bash "${CLAUDE_SKILL_DIR}/scripts/append-learning.sh" "<category>" "<rule-text>"
Windows:
powershell -File "${CLAUDE_SKILL_DIR}/scripts/append-learning.ps1" "<category>" "<rule-text>"
如果 AGENTS.md 不存在,使用 references/agents-template.md 中的模板创建它。
步骤 5:验证更新
更新后阅读 AGENTS.md。确认:
- 新规则位于正确章节
- 不与现有规则重复
- 不与现有规则矛盾
- 文件格式仍然良好
如果发现矛盾,将两条规则呈现给人类,询问哪条优先。
输出
更新后的 AGENTS.md 文件,新规则追加到正确章节,并以消息 docs: apex-learn — add rule for {category} 提交。
示例 diff:
## Tools
+- Always use `pnpm` instead of `npm` for package management
+- Run `pnpm install --frozen-lockfile` in CI environments
## Learnings Log
+### 2026-03-14: Package Manager
+- Agent used npm twice before this rule was added
+- Root cause: default behavior, no explicit instruction
示例提交:
docs: apex-learn — add rule for tools
Added package manager preference after two-strike correction.
Agent was defaulting to npm instead of pnpm.
适用场景
适用于使用智能体进行开发工作、并希望智能体从纠正中持续学习、避免重复错误的团队或个人。特别适合需要跨会话保持规则一致性的项目。
限制
资料未提供关于该技能的具体平台依赖、安装方式、收费模式或性能效果的说明。