SuperAPI AI 工具集

eval-loop

智能体与模型

查看项目

更新于 10-16 06:00

技能介绍

用途

Eval Loop 是一个元流程技能(meta process skill),用于协调「可度量策略 → 执行 → 评估」的重复循环。它把一项可度量的行动组织成按领域划分的循环工作区(loop workspace),使策略产物、执行产物、评估快照、结果行与被采纳的学习集中存放于同一处。

它要回答的核心问题是:未来的 agent 能否仅通过阅读一个 loop 文件夹,就继续改进这个可度量面,而不必从散落的技能输出中重建历史。

主要能力与硬性门槛

该技能负责:创建或恢复循环文件夹;定义可度量面、主指标、基线路径、可变面与护栏;维护 program.md、context.md、results.tsv 与 learnings.md;把任务路由到对应面的评估器。

必须满足的关键门槛(Critical Gates):

  • 必须存在可度量面:如果用户无法指出一个页面、campaign、帖子系列、ad set、邮件序列、外联动作或其他可观察面,则返回 NEEDS_CONTEXT 并建议 discover。
  • 必须存在指标路径:循环至少要指明一个主指标及其来源,即使基线尚不可知。没有指标路径就没有循环。
  • 不创建以技能为中心的文件夹,例如不创建 .agents/skill-artifacts/{skill-name}/...。评估循环按可度量行动组织。
  • 执行边界:本技能栈可以执行营销/内容资产,但不部署代码、不发布到平台、不构建应用 UI、不改动外部系统。
  • 不做无人值守的无限营销循环:借用 autoresearch 的 ledger 与 keep/discard 纪律,而非其「永远运行」的姿态。发布与线上面变更需要人工审批。

职责划分

eval-loop 是唯一的脚手架/账本技能:创建或恢复循环文件夹;定义可度量面、主指标、基线路径、可变面与护栏;维护 program.md、context.md、results.tsv、learnings.md;路由到正确的面专属评估器。

它不取代面评估器。目前 short-form-eval 负责短内容评分,lp-eval 负责落地页评分。未来的 ad-eval、email-eval / outreach-eval 与 campaign-eval 应把测量产物写入循环的 evals/ 文件夹。

输入与输出

输入包括:行动名称或 slug(参数或从提示推断);领域 marketing、product 或 research(默认从面推断,模糊时询问);可度量面(必需);主指标及来源(必需);可变面(策略/执行技能可以改动的内容);可选的基线、测量窗口、护栏指标、规范产物、当前资产、既往评估。

输出为创建或恢复如下结构:

skills-resources/loops/[slug]/ ├── program.md ├── context.md ├── strategy/ ├── execution/ ├── evals/ ├── results.tsv └── learnings.md

首次创建使用脚手架助手:

bun scripts/scaffold-eval-loop.ts "<loop name>" --domain marketing

评估技能应使用校验过的助手追加结果行,而不是手工编辑 TSV:

bun scripts/append-loop-result.ts "<loop slug>"
--artifact evals/YYYY-MM-DD-cycle-N.md
--metric conversion_rate
--value 3.4%
--baseline 2.9%
--status keep
--description "One sentence without tabs"

当满足 Quality Feedback Protocol 阈值时,用以下命令更新仪表盘:

bun scripts/update-quality-dashboard.ts
--loop "<loop slug>"
--latest-cycle N
--latest-status keep
--primary-metric conversion_rate
--latest-value 3.4%
--quality-risk low
--next-action "One sentence"

使用方式

调度前(Pre-Dispatch):先读取 .agents/manifest.json(若存在);若缺失或过期,运行 bun scripts/manifest-sync.ts。然后检查已有循环文件夹:

find .agents/skill-artifacts/mkt/loops .agents/skill-artifacts/product/loops .agents/skill-artifacts/research/loops -maxdepth 2 -type f 2>/dev/null | sort

热启动(Warm Start):若存在匹配的循环,先汇总 loop 路径、program 状态、最新 strategy/execution/eval 产物、最新结果行,然后询问是否有需要覆盖的内容,再按用户需求调度相应 agent:setup、context refresh、next-cycle planning、loop audit 或 evaluator routing。

冷启动(Cold Start):提出一组打包问题:此循环负责哪个可度量面(页面 / campaign / ad set / 邮件序列 / 社交系列 / 其他);主指标与来源是什么(如 GA 的 conversion rate、Meta 的 CTR、CRM 的 replies);哪个领域拥有该可度量面(营销对应页面/campaign/广告/邮件/社交,产品对应用内 UX/激活/留存面,研究对应重复性研究动作);循环之间可以改动什么(文案 / offer / CTA / 定向 / 创意角度 / 序列 / 格式 / UX 面);什么必须保持不变(品牌约束、受众、预算、渠道、产品事实、合规);使用什么基线或首个测量窗口(来源已知时允许填「unknown yet」)。用户回答后写入 context.md、更新 program.md 并调度 agent。

Agent 清单

Agent | 层级 | 文件 | 关注点 Loop Architect | 1 | agents/loop-architect-agent.md | 定义循环契约:目标、面、可变/冻结边界、循环协议 Metric Designer | 1 | agents/metric-designer-agent.md | 定义主指标、护栏、基线形态、归因风险、results.tsv 决策行 Scope Guard | 2 | agents/scope-guard-agent.md | 检查执行边界、可度量面契合度、循环是否成立 Critic | 2 | agents/critic-agent.md | 对循环有用性、可度量性、产物契约与安全性做 PASS/FAIL 把关

调度流程:若创建新循环,推断/确认领域并运行 scaffold-eval-loop.ts "<loop name>" --domain <domain> --no-sync;读取 program.md、context.md 及已有 results.tsv 行;第一层并行运行 Loop Architect + Metric Designer;第二层顺序运行 Scope Guard → Critic;若 Critic FAIL,只对指名的失败部分修订一次;写入带必需 frontmatter 的最终 program.md 与 context.md;应用 Quality Feedback Protocol,仅把高置信度的 keep 学习提升到 .agents/experience/,记录 critic override,达到协议阈值时用 update-quality-dashboard.ts 创建或更新质量仪表盘,并标记需要下游评估的研究产物;最终文件写完后运行一次 manifest-sync;返回循环路径、下一步推荐的 strategy/execution/eval 技能、质量反馈动作与状态。

产物要求

program.md frontmatter 示例:


skill: eval-loop version: 1 date: YYYY-MM-DD status: done summary: "[loop] measurable improvement loop" purpose: "Operating program for a measurable strategy -> execution -> evaluation loop" lifecycle: loop use_when: "Coordinating repeated strategy, execution, evaluation, and keep/discard decisions for this initiative" do_not_use_when: "The work has no observable metric or attribution path" upstream: "operator intent, prior artifacts, metric baseline" downstream: "strategy skills, marketing/content execution skills, evaluation skills"

context.md 的 frontmatter 使用 lifecycle: loop-context;learnings.md 使用 lifecycle: learning。

适用场景与限制

适用场景:需要围绕某个可观察面反复进行策略、执行、评估与 keep/discard 决策的协调工作,例如营销(页面、campaign、广告、邮件、社交)以及产品内的 UX/激活/留存面,或重复性研究动作。

限制:无可观察指标或归因路径的工作不应使用;不部署代码、不发布平台、不构建应用 UI、不改动外部系统;发布与线上变更需人工审批;不做无人值守的无限循环。若缺少可度量面或指标来源,会返回 NEEDS_CONTEXT。

完成状态

每次响应以以下之一结尾:

DONE — 循环已创建/恢复,契约可度量,下一步清晰 DONE_WITH_CONCERNS — 循环存在,但指标/基线/归因薄弱 NEEDS_CONTEXT — 缺少可度量面或指标来源 BLOCKED — 文件系统/脚本失败或循环状态冲突

同时包含:Quality feedback: [promoted learning | kept in loop | dashboard updated | critic override logged | research eval recommended | none]。

其他说明

首次创建循环的脚手架命令在从本仓库或子模块检出运行时,同一路径同样有效:bun scripts/scaffold-eval-loop.ts "<loop name>" --domain marketing。关于具体收费、价格、支持平台等事实,资料暂未提供。