Skip to content

IR-0001: agent 自治生产系统(意图→实现闭环) #128

Description

@randypanding

IR-0001:agent 自治生产系统(意图→实现闭环)

状态:signed(randypanding,2026-08-20,对话内签署)
理论依据:#126(意图→规格方法论)、#127(质量关卡落地规约)
本 issue 为 append-only 意图账本;后续变更只以新评论/erratum 追加,不编辑正文。

job(要完成的待办)

建设一套完全运行在 GitHub 上的 agent 自治生产系统:人类只写/签意图,
agent 流水线自动完成 spec → 红队挑战 → 波次/卡 → 测试先行实现 →
全量质量关卡 → holdout 揭封 → 风险分自动合并,全程无需人类做状态路由。

触发场景

任何产品仓(L2)需要新功能/变更时;以及本系统自身的后续演进。

当前痛点的证据

  • 人类目前是"人肉路由器":手动查各任务状态、逐条给 agent 下指令。
  • 上游无结构:意图→实现之间没有可机检的中间产物,测试写得好不好只能靠人审。
  • 下游无关卡:组织现有 gate 只做卫生检查(gitleaks/zizmor/yaml),
    无测试防篡改、无变异测试、无棘轮、无 AC 追溯。
  • 代码整洁目前没有任何机器守门:复杂度、模块深浅、依赖方向、抑制标记
    全靠人味,而人只有一个——agent 产的代码会在无人察觉中腐化。

期望的可观察变化(验收时能在 GitHub 上看到的事实)

  1. 在任意一个仓用 issue form 提交一条意图并打 state:ir-signed 后,
    人类不做任何进一步操作,spec PR 在该仓库自动出现。人类可以考虑允许在写完后,手动启动agent,从而开始整个流程。
  2. 任意本地 coding agent 打开任一产品仓,仅读该仓 AGENTS.md,
    即可找到可认领的卡、认领、开工、提交符合全部关卡的 PR。
  3. 每张卡的 PR 上自动运行该卡的验收测试(Python 仓为 pytest,
    TS 仓为 vitest),且测试 commit 先于实现 commit、实现前为红。
  4. 验收测试合并后哈希锁定,后续任何 PR 改动锁定测试 → check 失败,
    只有人类能解锁。
  5. 低风险 PR 由确定性脚本自动合并;高风险 PR 打 needs-human
    并 assign randypanding——人类只处理被 assign 到自己的事。
  6. holdout 测试对 planner/implementer 不可见,仅在 verdict 阶段揭封运行,
    结果详情只回写到公开 holdout 仓。通过APP安装的差异,让agent看不到holdout仓。尽管仍然存在agent查看公开仓的可能性,然而这是不确定风险,转公开会直接带来确定性的支出,暂时不值得。
  7. 代码整洁成为确定性谓词而非人的品味:每个 PR 被一组可执行的整洁关卡
    判定——复杂度/CRAP、模块形状(深模块:小接口大实现、导出数/扇出上限)、
    依赖架构(分层、无环、无跨 feature 私连)、禁用模式清单
    (any/抑制标记/空 catch/裸 sleep 等)、抑制标记总量零增长。
    diff 上阻断、全仓上棘轮(只许变好,baseline.json 单调),
    阈值全部集中在 quality/contract.yaml 一处。

非目标(NONGOAL)

  • 不做多 agent 框架(LangGraph/CrewAI 等),git+文件+Actions 即编排底座。
  • 不做 LLM 合并判定/approve 权;LLM 只有 veto 与叙述权。绝大多数的PR仍然像现在这样自动合并
  • 第一期不自建 LLM gateway 服务器(见 spec DECISION-01:直连 API + ADR 修订 AR-3)。
  • 不追求全仓 100% 覆盖;diff 上严、全仓用棘轮。
  • 不做通用项目管理系统;Projects v2 看板仅作可选可视化。

约束 / 不可违反项

  • 遵守 .github 仓 GOVERNANCE.yaml 全部现行铁律(C1 变更 PR+ADR+owner-merge;
    App 永不持 workflows/administration;机器无 approve 权)。
  • 合并决策只能由确定性脚本做出(对齐 issue bob的代码卫生实践 #127 L1)。
  • 锁定测试、quality/、pipeline/、.github/** 对实现 agent 不可写(CI 关卡强制)。
  • 每个阶段全新冷上下文;阶段间只经磁盘产物/git 通信。
  • 每任务有 token/美元/墙钟三重预算,触顶回滚到最后绿点并升级。
  • 凡能被工具判定的整洁规则,必须实现为 CI 关卡,禁止写进
    CLAUDE.md/AGENTS.md 当劝导语(bob的代码卫生实践 #127 L2);agent 违反整洁关卡时
    只能改实现,不得改规则、不得加抑制标记、不得放宽阈值
    (阈值放宽只能以人类批准的 bot 提交发生)。

人类愿意接受的验收证据

  • 一条真实意图(非演示)从签署到自动合并(或合规升级到人工)的完整链路记录:
    issue 时间线 + 各阶段 workflow run 链接 + PR check 记录。
  • 一次红队实测:恶意合规 agent 对一张卡的验收套件的攻击结果(通过=套件不充分)。
  • 一次 holdout 实测:verdict 阶段揭封运行记录,且实现 agent 的上下文中
    无 holdout 内容(审计 workflow 日志确认)。
  • 一次整洁关卡实测:提交一个故意脏的 PR(高复杂度函数、浅模块、
    跨层依赖、eslint-disable),被对应关卡逐条拦下并给出 fixHint;
    修复后同一 PR 全绿。以及 baseline.json 上观察到的全仓指标单调改善。

可逆性偏好

  • 全部基础设施(labels/forms/workflows/仓)新增式落地,可整体停用回退;
    不改造现有 4 条 org rulesets 语义,只新增。

质量-速度旋钮

  • 默认质量优先:全量关卡(含变异测试 diff 硬零存活)从第一张生产卡起启用;
    基建自身的 W0 卡可临时降级(non-blocking 观察模式),W1 起全量。
  • Actions 分钟不设预算上限(人类已拍板);LLM token 仍须计量落盘,
    供后续预算化,第一期不设熔断。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    state:ir-signed意图已签署,可进入 spec 阶段type:intent意图记录(IR)

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions