SuperAPI AI 工具集

self-improve

智能体与模型

查看项目

更新于 10-15 10:08

技能介绍

用途

self-improve 用于改进智能体自身,或审计其近期表现。它关注更好的技能、提示词、工作流与配置,并对质量、可靠性和记忆卫生进行评审。

模式选择

通过 ${var} 选择模式,可选带聚焦领域,格式为 mode 或 mode:focus。

  • 空或 improve → improve 模式:从最近日志中找出影响最大的问题,然后通过 PR 提出并应用修复(默认)。
  • improve:<area>(或直接写领域名如 notifications)→ improve 模式,聚焦该特定领域(例如 heartbeat、notifications、memory)。
  • audit → audit 模式:回顾智能体做了什么、什么失败了、什么可改进;保存完整评审并直接应用安全的明显修复。
  • audit:<area> → audit 模式,聚焦该特定领域(例如 reliability、memory)。

设置(两种模式共用)

将 ${var} 解析为模式和可选的聚焦领域:

  • 在第一个 : 处分割——前面是模式,后面是聚焦领域。
  • 如果模式是 audit → 运行下面的 Mode: audit 分支(focus = 可选的集中评审领域)。
  • 如果模式是 improve 或为空 → 运行下面的 Mode: improve 分支(focus = 可选的修复领域)。
  • 如果该词既不是关键字又非空(例如 notifications)→ 视为 improve 模式,整个 ${var} 作为聚焦领域(向后兼容)。

然后:

  • 读取 memory/MEMORY.md 获取高层上下文和目标。
  • 读取最近的 memory/logs/(improve 模式:最近 2 天;audit 模式:最近 7 天)中的错误、失败和质量问题。
  • 如果设置了聚焦领域,将本次运行集中在该领域。

Mode: improve(默认)

基于近期表现改进智能体自身。每次运行只做一处改动。

步骤:

  1. 检查是否有未关闭的改进 PR——不要堆积未评审的工作:
OPEN_PRS=$(gh pr list --state open --json title,number --jq '[.[] | select(.title | test("^(fix|feat|chore)\\("; "i"))] | length')

如果已有 3 个及以上未关闭的改进 PR,记录 "self-improve: 3+ open PRs, waiting for review" 并退出。不要制造更多债务。

  1. 确定要改进什么。如果聚焦领域为空,扫描问题:
  • 读取最近 2 天的 memory/logs/——查找:失败或产出低质量的技能;错误、超时、"zero output"、限流;未发送或被截断的通知;记忆整合问题。
  • 读取 memory/cron-state.json 中成功率低的技能。
  • 读取最近 7 天的 output/articles/repo-actions-*.md 获取自我改进想法。
  • 选择影响最大、成本最小的修复。每次运行只做一处改动。
  1. 理解你要修复的领域。读取相关文件:
  • 技能:skills/{name}/SKILL.md
  • 配置:aeon.yml
  • 工作流:.github/workflows/*.yml
  • 智能体指令:CLAUDE.md
  • 仪表盘:apps/dashboard/(如果与 UI 相关)

在改动任何内容之前先理解当前行为。

  1. 实施修复。做最小、有针对性的改动:
  • 如果技能提示词不清晰 → 重写含糊的部分
  • 如果技能触发限流 → 添加退避逻辑或降低频率
  • 如果产出质量低 → 收紧提示词、添加示例、明确格式
  • 如果通知损坏 → 修复格式或截断问题
  • 如果配置错误 → 修复 aeon.yml

不要:

  • 从头重写整个技能
  • 添加新功能(那是 create-skill 的工作)
  • 更改核心架构
  • 修改密钥或环境变量

4b. Dry-run 门禁。在打开 PR 之前,用合成密钥执行一次改进后的技能,这样回归就不会仅凭真实凭据运行就进入生产。设 $skill 为你编辑的技能:

DRYRUN_VERDICT="output/.dry-run/$skill.json" bash scripts/dry-run.sh run "$skill" || true

读取 output/.dry-run/$skill.json:passed: true(或 skipped: true,当 SKILL_DRYRUN 仓库变量为 0 时)则继续。passed: false 表示回滚编辑并停止(记录 self-improve: dry-run gate failed for $skill 及 verdict reasons[];不要打开 PR)。将 verdict 放在 PR 正文的 ## Dry-run 部分。该门禁是结构性的(exit、output、声明的 mode、声明的 requires:);运行中不进入任何真实凭据。

  1. 创建分支和 PR:
git checkout -b fix/self-improve-${today}
git add -A
git commit -m "fix: [description of what was improved]

Problem: [what was failing/degraded]
Fix: [what was changed]
Evidence: [log entries, error messages, success rates]"

打开 PR:

gh pr create --title "fix: [short description]" \
  --body "## Problem
[What was failing or degraded — cite specific log entries or error messages]

## Fix
[What was changed and why]

## Evidence
- [Relevant log entries]
- [Success rate before: X%]
- [Error pattern: ...]"
  1. 通知。通过 ./notify 发送:
self-improve: [what was fixed] — PR: [url]
  1. 记录日志(见下方共享的 ## Log 部分)。

指南:

  • 每次运行只做一处修复。不要捆绑不相关的改动。
  • 最小可行修复。一行提示词微调 > 完整重写。
  • 如果找不到可改进之处,那也没关系。记录 "self-improve: everything looks healthy" 并退出。
  • 绝不修改工作流文件(.github/workflows/)——只改技能文件、CLAUDE.md 和 aeon.yml。
  • 不要制造循环改进(例如不要改进 self-improve 本身)。

Mode: audit

审计智能体做了什么、什么失败了、什么可改进。生成完整评审,应用安全修复,并提出建议。

步骤:

  1. 读取 memory/MEMORY.md 获取上下文和目标。读取最近 7 天的所有 memory/logs/ 条目。

  2. 审计产出质量:

  • 读取 output/articles/ 中的近期文章——它们是有实质内容还是公式化?
  • 检查日志中的近期通知——它们有用还是嘈杂?
  • 回顾发布的任何 PR 评论——它们是否可操作?
  1. 审计可靠性:
  • 有多少技能运行了 vs 预期?
  • 是否有重复错误或失败模式?
  • 监控是在捕捉真实问题还是总是返回 OK?
  1. 审计记忆卫生:
  • MEMORY.md 是否最新且少于 50 行?
  • 日志结构是否一致?
  • 是否有应清理的陈旧数据?
  1. 生成改进建议:
  • 要添加、修改或禁用的技能
  • 调度调整
  • 配置变更(要添加/移除的 feeds、repos、地址)
  • 质量改进(更好的提示词、新数据源)
  1. 将完整评审保存到 output/articles/self-review-${today}.md。

  2. 直接应用任何安全、明显的改进:

  • 清理陈旧的 MEMORY.md 条目
  • 如果 feeds 失效则更新 feeds.yml
  1. 通过 ./notify 发送摘要:
*Self Review — ${today}*
Quality: assessment
Reliability: X/Y skills ran
Actions taken: what was fixed
Recommendations: top 2-3 suggestions
  1. 记录日志(见下方共享的 ## Log 部分)。

Log

完成运行后,在 memory/logs/${today}.md 中追加一条日志条目,放在单个 ### self-improve 标题下,并有一行 discriminator 说明运行的模式:

### self-improve
- **Mode:** improve  (or: audit)

然后,对于 improve 模式:

- **Target:** [what was improved]
- **Problem:** [what was failing]
- **Fix:** [what was changed]
- **PR:** [url]

对于 audit 模式:

- **Review:** output/articles/self-review-${today}.md
- **Quality:** [assessment]
- **Reliability:** [X/Y skills ran]
- **Actions taken:** [what was fixed directly]
- **Recommendations:** [top 2-3]

网络说明

写模式。两个分支都会触及仓库(improve 通过 git/gh 打开 PR;audit 写入 output/articles/self-review-${today}.md,并可能清理 MEMORY.md/feeds.yml)。对于 GitHub API,使用 gh CLI(gh pr list、gh pr create)——它在内部处理认证,因此任何 $SECRET 都不会出现在命令行上(命令行上裸露的密钥是 Bash 权限层拒绝的;没有网络沙箱)。不需要预取或后处理侧通道。