SuperAPI AI 工具集

autoresearch

智能体与模型

查看项目

更新于 10-15 10:07

技能介绍

用途

autoresearch 用于自动进化一个已存在的技能(skill)。它通过研究更好的实现方式、生成多个变体、对变体打分,最终把最优版本作为 PR 提交,从而持续改进技能质量。

主要能力

  • 加载并解析目标技能:读取 skills/${var}/SKILL.md,解析其用途、数据来源(API、URL、命令)、输出格式和依赖(环境变量、工具、其他文件),并保存原始内容用于后续 PR diff。
  • 研究改进方向:搜索网络上更优的做法,包括替代或互补的 API/数据源、该领域最佳实践、常见陷阱与失败模式、更具可操作性的输出格式;同时回顾 memory/logs/ 中该技能最近的运行记录,以及 memory/cron-state.json 判断是否持续失败。
  • 生成 4 个变体:
    • 变体 A — 更好的输入:改进数据源,增加替代/互补 API、更好的搜索查询、更可靠的端点,修复失效或弃用的来源。
    • 变体 B — 更精炼的输出:改进输出格式与内容质量,使通知更可操作、文章更充实、分析更有洞察力,降低噪音。
    • 变体 C — 更强的健壮性:改进可靠性与边界情况处理,增加 API 失败时的回退逻辑、更好的去重、空数据的优雅处理、更清晰的错误信息。
    • 变体 D — 重新思考:用根本不同的方法达成同一目标,采用不同方法论、不同角度或原技能未考虑的创意组合。 每个变体都必须保留原始 frontmatter 格式(name、description、var、tags),遵循 Aeon 技能约定(读取 memory、记录到 memory/logs/${today}.md、通过 ./notify 通知),是完整可运行的 SKILL.md,并在正文顶部包含一行注释说明变体与论点。
  • 评估与打分:对每个变体按 1-5 分在六项标准上评分——清晰度、数据质量、输出价值、健壮性、约定遵循度、改进幅度。加权计算总分:改进幅度权重 3x,输出价值 2x,清晰度/数据质量/健壮性各 1.5x,约定遵循度 1x。
  • 选择并应用胜出者:选取得分最高的变体;若总分非常接近(相差 2 分以内),优先选择单项改进最大的变体而非小幅增量改动。将胜出版本写入 skills/${var}/SKILL.md 替换原文件。
  • 创建 PR:新建分支 autoresearch/${var},提交改动并推送,通过 gh pr create 打开 PR,标题为 improve(${var}): autoresearch evolution,正文包含完整评分表、胜出变体的论点、改动 diff 摘要,以及全部 4 个变体的摘要。
  • 通知与记录:通过 ./notify 发送胜出变体、得分、关键改动和 PR 链接;并记录到 memory/logs/${today}.md。

使用方式

该技能需要一个变量 ${var},即要进化的技能名称(例如 token-movers),为必填项。若 ${var} 为空,则中止并提示 "autoresearch requires var= set to a skill name" 后退出。执行前会读取 memory/MEMORY.md 获取上下文。

网络方面:没有网络沙箱,curl 可用,WebFetch 作为不稳定的公共 GET 的回退。对于需要认证的 API,使用 ./secretcurl 并配合 {ENV_NAME} 占位符(密钥通过 requires: 注入),不要使用裸 $SECRET。

适用场景

适用于需要持续改进已有技能质量的自动化工作流,尤其是那些依赖外部数据源、需要定期产出分析或通知的技能。

限制

  • 绝不降级一个可正常工作的技能:如果所有变体在“改进幅度”上的得分都低于或等于原始版本,则跳过更新并通知 "No improvement found for ${var} — all variations scored at baseline."。
  • 保留技能的核心用途——是进化而非替换。
  • 未经充分理由不得更改技能的 tags 或 var 语义。
  • 不得添加工作流中尚不可用的环境变量(需检查 aeon.yml secrets)。