第 28 章 · 自主等级与 Loop Ready 评分
本章目标:掌握 L1/L2/L3 三级自主度的定义与升级条件,理解 Loop Ready Score 的审计维度,会用官方 CLI 工具链初始化、体检、审计和估算成本。
21.1 三级自主度:L1 / L2 / L3
循环能自己动手到什么程度,必须显式分级管理。官方定义了三个自主等级:
| 等级 | 名称 | 循环可以做什么 | 前提条件 |
|---|---|---|---|
| L1 | Report(只报告) | 扫描、分诊、写状态文件、通知人;不改任何代码 | 有分诊技能 + 状态文件 |
| L2 | Assisted(辅助修复) | 在 worktree 中起草最小修复、开 PR 供人审;连接器可更新工单 | L1 稳定 1–2 周 + 独立验证者 + 尝试次数上限 |
| L3 | Unattended(无人值守) | 自动合并白名单内的低风险变更、全自动闭环 | 黑名单 + 预算 + 运行日志 + 指标 + 人工门控全部就位 |
升级是单向门控,不能跳级:
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:
# 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 预算与成本估算
上高频循环前必须先算账。官方提供成本估算工具,规划因子有四个:
# 按 模式 × 节奏 × 自主等级 估算每日 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 万——这正是上一章强调"空列表早退出"的原因。
预算要落成文件并由机制执行,而不是口头约定:
<!-- 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 灰度推进策略
把升级当作一次小型发布来管理:
- 每级都有退出指标:L1 看"误报率 <30% 且连续两周稳定";L2 看"提议的修复被采纳率";L3 上线前逐项核对安全清单;
- 降级永远可用:任何一级出问题,退回上一级而不是硬扛——把调度节奏调慢或改回 report-only 是几分钟的事;
- 记录每一次人工覆盖:你推翻循环判断的案例是最宝贵的调参素材,写回分诊技能里;
- 大版本周特殊规则:发版周暂停所有 auto-fix 循环,只保留报告模式,避免循环和热修打架。
本章小结
- L1 报告 / L2 辅助 / L3 无人值守,升级必须逐级且满足前提,严禁跳级;
- Loop Ready Score 的维度清单就是设计清单:Skills、State、Maker/Checker、Budget、Constraints、Governance;
- CLI 心智模型:
init一次、doctor天天看、audit --suggest找差距、cost先算账再上高频; - 成本四因子:节奏线性放大最危险,验证者模型的钱最值得花;
- 预算写入
loop-budget.md并由机制执行,智能体无权自我提额; - 灰度推进 = 每级退出指标 + 随时可降级 + 记录人工覆盖。
🛠️ 动手实践
- 在测试仓库跑通
loop init与loop doctor .,把 doctor 给出的 top 3 行动逐条完成,再看分数变化。 - 为你计划中的循环写一份
loop-budget.md,包含每日上限、超限动作和子智能体数量上限三项。 - 用
loop-cost分别估算 daily-triage(1d/L1)与 ci-sweeper(15m/L2)的日消耗,把结果和你的直觉对比,写下偏差原因。
完成练习后,进入下一章:循环安全与失败模式。
完成后进入下一章:循环安全与失败模式。