Briefbound Score Loop
目标
围绕一个明确指标主动寻找候选,用可比较证据决定是否替换当前最好方案。它负责一条量化优化 lane,不负责整个研究方向或竞赛生命周期。
Briefbound task contract
- Context Boundary: 主指标、硬约束、当前最好方案、搜索空间、评价协议、预算和允许写入面。
- Output Contract: 下一候选、可比结果、决定、可复用证据和停止/转向信号。
- Allowed Action: 在已确认范围内提出并评估候选;不静默改变指标、数据、基线、预算或提交目标。
- Success Evidence: 精确 baseline/candidate、参数或 diff、命令、数据/seed、主副指标、运行产物和可比性判断。
- Stop Condition: 协议漂移、指标无法解析、候选重复、预算耗尽、连续结果不再提供新信息、写入冲突或安全边界变化。
- Route Out: 继续当前 loop、返回
briefbound-ai-research-loop、返回briefbound-competition-research-lifecycle、briefbound-bug-review、briefbound-router或 BLOCKED。
统一调用契约
- 只处理 Briefbound task contract;复合任务不吞其他 owner;Route Out 仅以 Briefbound task contract 为准。
- 用户可见内容默认中文,先说结论,再给比较依据。默认使用“替换、淘汰、继续观察、暂时无法比较”等通俗说法;必须保留枚举时写成中文结论加括号,例如“替换当前最好方案(
PROMOTE)”。 - 复杂指标、代理测试或搜索策略会影响判断时,用一句话解释;不展示内部 trial 账本。末行写
下一步建议: <一个具体动作>。
实验 owner 独占
只有主要未知量是“怎样持续改善一个明确指标”时进入。AI Research 中一次低成本比较由原 owner 直接执行。
分数下降、candidate reject 和 online neutral/worse 是实验结果,不是 TDD RED。metric/parser/schema/seed/shape/NaN/打包出现确定性错误时,临时路由 briefbound-bug-review,修复后回到原 lane。
Protocol Freeze
比较前冻结以下协议;任何一项变化都先建立新 baseline,不能把前后结果直接相减:
- 主指标、越大/越小更好和最小有效提升;
- 硬约束与副指标,不能用主指标掩盖合法性、正确性或资源超限;
- baseline 的 commit/hash/config;
- 数据、case、seed、运行环境和评价命令;
- 单候选预算、总预算和停止条件。
若目标确实有多个指标,先指定主指标与硬约束;只有用户明确接受综合规则时才做加权,不临时拼一个总分。
Search Policy
每轮先选择一种搜索意图,再生成候选:
EXPLOIT:已有稳定正向信号时,在当前最好方案附近做小步改动。EXPLORE:结果停滞或局部空间已重复时,尝试机制不同的方向。DIAGNOSE:噪声、代理指标或失败原因不清时,先设计能区分原因的检查。
把变量写成可判断的搜索空间:类别、顺序、数值或结构变化。候选必须有一个主要因果机制和唯一指纹;已做过的同机制、同方向、同边界候选直接跳过。随机变化若不能回答问题,也不进入队列。
ASK -> FILTER -> TELL
ASK:根据当前证据提出一个候选,写清机制、预期信号、smallestDecisiveEvaluation和 kill condition。FILTER:先做构建、合法性、成本和最小决定性检查。即使最乐观也过不了替换标准时,立即PRUNE;诊断候选则按是否回答问题判断。- 通过初筛后跑代表性评价;昂贵完整评价只留给仍可能晋升的候选。
TELL:记录结果、可比性、机制判断和副作用,再更新下一轮的EXPLOIT / EXPLORE / DIAGNOSE选择。- 没有新变量、新证据或校准价值时停止,不用更多试验掩盖平台期。
内部 trial 可标记 ASKED / RUNNING / PRUNED / COMPLETE / FAILED;用户通常只需要知道结果和原因。
决定规则
PROMOTE:可比较,主指标超过有效提升线,硬约束通过,代表性结果支持替换 baseline。REJECT:可比较但未过线,或副作用越过已确认边界。HOLD:方向有信息价值,但样本、稳定性或代表性不足,下一项验证明确。BLOCKED:协议漂移、证据缺失或结果不可解析,当前无法安全比较。
代理测试只用于筛选;不能证明目标指标提升。线上分数是稀疏外部证据,应与本地可复现结果分别记录。
自适应重量与并行
QUICK:已有协议,直接完成一个ASK -> FILTER -> TELL,不创建 profile、ledger、worker 或独立 artifact。STANDARD:反复候选或跨会话,维护最小 trial 历史与重复指纹。FULL:昂贵评价、线上反馈、提交包或真正独立的并行候选,使用项目已有事实源。
默认不创建 worker。只有写入面、资源和验证互相独立时才并行;worker 不能自行替换共享 baseline,只返回 diff、命令、指标和产物。
输出
结论: 替换 / 淘汰 / 继续观察 / 暂时无法比较(必要时附内部枚举)
比较: <baseline、candidate、主指标变化和硬约束>
原因: <机制判断、关键副作用或证据缺口>
记录: <仅跨会话、线上反馈或可复用教训需要时>
下一步建议: <一个具体动作>
方法来源
搜索循环参考 Optuna 的 Ask-and-Tell 与 pruning 思路,证据记录参考 MLflow 的 run/metric/artifact 模型;这里只重写为无新增依赖的 skill 契约。