Skip to content

第 28 章 · 自主等级与 Loop Ready 评分

本章目标:掌握 L1/L2/L3 三级自主度的定义与升级条件,理解 Loop Ready Score 的审计维度,会用官方 CLI 工具链初始化、体检、审计和估算成本。

21.1 三级自主度:L1 / L2 / L3

循环能自己动手到什么程度,必须显式分级管理。官方定义了三个自主等级:

等级名称循环可以做什么前提条件
L1Report(只报告)扫描、分诊、写状态文件、通知人;不改任何代码有分诊技能 + 状态文件
L2Assisted(辅助修复)在 worktree 中起草最小修复、开 PR 供人审;连接器可更新工单L1 稳定 1–2 周 + 独立验证者 + 尝试次数上限
L3Unattended(无人值守)自动合并白名单内的低风险变更、全自动闭环黑名单 + 预算 + 运行日志 + 指标 + 人工门控全部就位

升级是单向门控,不能跳级:

text
L1 只报告 → 稳定运行 1–2 周(分诊准确率达标)

L2 小修复 → 验证者 + worktree + 最大尝试次数(如 3 次)就位

L2+ 连接器 → 循环可自动开 PR / 更新工单(最小权限 bot 身份)

L3 无人值守 → 仅当 denylist、budget、metrics、human gates 全部存在

最常见的翻车点

"L3 before L1 quality"——上线第一天就开自动修 + 自动合并。此时分诊规则还没校准,循环会拿着错误的信号去执行高权限动作,理解债(comprehension debt)瞬间爆炸。记住顺序:先证明它看得准,再允许它动得了手。

21.2 Loop Ready Score:给循环打分的审计维度

loop-audit 会扫描你的仓库并给出一个 0–100 的 Loop Ready Score,衡量这个循环是否具备生产就绪条件。审计维度包括:

维度检查内容
Skills是否存在格式紧凑的分诊技能;技能描述是否"无聊而具体";构建/测试命令是否有文档
State状态文件 schema 是否明确;每轮是否读旧写新、带时间戳、清理已解决条目
Maker/Checker 分离实现者与验证者是否独立;验证者是否真的跑测试
Budget是否有 loop-budget.md 定义每日 token 上限与超限动作
Constraints路径黑名单、尝试次数上限等约束是否成文
Governance / Run log是否有 loop-run-log.md 记录每次运行;LOOP.md 是否描述循环自身
Harness Runtime得分较高时还会提示把循环固化为版本化 harness 栈

分数的意义不在于数字本身,而在于维度清单就是设计清单——每一项都对应一个真实的失败模式。

21.3 CLI 工具链实战

官方把所有能力收敛到一个统一入口 @cobusgreyling/loop

bash
# 1. 初始化:生成技能骨架、STATE.md、预算/运行日志文件,并打印 Loop Ready 分数
npx @cobusgreyling/loop init . --pattern daily-triage --tool claude

# 2. 体检:audit + sync + 文件检查 → 输出 top 3 下一步行动
npx @cobusgreyling/loop doctor .

# 3. 查看当前状态
npx @cobusgreyling/loop status .

# 4. 审计并给出改进建议(--suggest 会告诉你差在哪几项)
npx @cobusgreyling/loop audit . --suggest

# 5. 生成本地徽章,展示 Loop Ready 分数
npx @cobusgreyling/loop badge .

# 6. 观察分数爬升的演示脚本(空仓库 → L1 → L2)
bash scripts/before-after-demo.sh

日常使用的心智模型:init 一次,doctor 天天看——doctor 把审计、同步和文件检查压缩成前三条最该做的事,不需要你自己读冗长的报告。

21.4 预算与成本估算

上高频循环前必须先算账。官方提供成本估算工具,规划因子有四个:

bash
# 按 模式 × 节奏 × 自主等级 估算每日 token 消耗
npx @cobusgreyling/loop-cost --pattern ci-sweeper --cadence 15m --level L1
因子对成本的影响
节奏(cadence)线性放大:5 分钟 vs 1 天 = 每天 288 倍运行次数
每轮子智能体数每个子智能体都是完整的模型调用 + 工具往返
上下文大小大仓库 + 完整 CI 日志让分诊本身变贵
验证者模型无人值守场景下用更强模型当验证者——这钱值得花

量级参考(轻分诊约 5 万 token/轮,含实现+验证约 20 万 token/轮):Daily Triage 每天约 5 万;CI Sweeper 若每轮全链路则高达每天 500 万——这正是上一章强调"空列表早退出"的原因。

预算要落成文件并由机制执行,而不是口头约定:

markdown
<!-- loop-budget.md -->
## Loop Budget — Project X
- Max tokens/day: 2M
- On exceed: 暂停调度器并通知人工
- Max sub-agent spawns per run: 3

预算提升必须人工批准

智能体不能自行上调自己的预算上限。官方提供了 budget-negotiator 技能让 L3 循环在接近上限时"申请"追加额度,但修改 loop-budget.md 的手必须是人类的。

21.5 灰度推进策略

把升级当作一次小型发布来管理:

  1. 每级都有退出指标:L1 看"误报率 <30% 且连续两周稳定";L2 看"提议的修复被采纳率";L3 上线前逐项核对安全清单;
  2. 降级永远可用:任何一级出问题,退回上一级而不是硬扛——把调度节奏调慢或改回 report-only 是几分钟的事;
  3. 记录每一次人工覆盖:你推翻循环判断的案例是最宝贵的调参素材,写回分诊技能里;
  4. 大版本周特殊规则:发版周暂停所有 auto-fix 循环,只保留报告模式,避免循环和热修打架。

本章小结

  • L1 报告 / L2 辅助 / L3 无人值守,升级必须逐级且满足前提,严禁跳级;
  • Loop Ready Score 的维度清单就是设计清单:Skills、State、Maker/Checker、Budget、Constraints、Governance;
  • CLI 心智模型:init 一次、doctor 天天看、audit --suggest 找差距、cost 先算账再上高频;
  • 成本四因子:节奏线性放大最危险,验证者模型的钱最值得花;
  • 预算写入 loop-budget.md 并由机制执行,智能体无权自我提额;
  • 灰度推进 = 每级退出指标 + 随时可降级 + 记录人工覆盖。

🛠️ 动手实践

  1. 在测试仓库跑通 loop initloop doctor .,把 doctor 给出的 top 3 行动逐条完成,再看分数变化。
  2. 为你计划中的循环写一份 loop-budget.md,包含每日上限、超限动作和子智能体数量上限三项。
  3. loop-cost 分别估算 daily-triage(1d/L1)与 ci-sweeper(15m/L2)的日消耗,把结果和你的直觉对比,写下偏差原因。

完成练习后,进入下一章:循环安全与失败模式

完成后进入下一章:循环安全与失败模式