用途:Critique Theater(用户界面名称为 Design Jury)用于对生成产物的运行进行结构化设计评审。守护进程为某次产物生成运行启用它时,会把当前协议、品牌来源、阈值与权重追加到智能体提示中,智能体在同一 CLI 会话内依次扮演固定 v1 阵容:Designer、Critic、Brand、Accessibility、Copy。
主要能力:Designer 起草产物;Critic、Brand、Accessibility、Copy 各自在职责范围内打分并记录可执行的 <MUST_FIX> 项。守护进程将流式输出增量解析为带类型的 PanelEvent 变体,发布到 critique.* SSE 通道,并自行重算综合分,因此智能体给出的综合分仅供参考。
使用方式:需严格遵循守护进程注入的带标签协议——一个 <CRITIQUE_RUN> 信封,内含 <ROUND>、<PANELIST>、<ROUND_END> 块,且仅在做出交付决定后输出一个最终 <SHIP> 块;信封外不得输出散文。默认评审采用 0–10 分制、8.0 交付阈值、最多三轮;仅当守护进程计算的综合分达到阈值且无未关闭的必须修复项时该轮才交付。相关值来自 OD_CRITIQUE_* 配置,包括 OD_CRITIQUE_MAX_ROUNDS、OD_CRITIQUE_SCORE_THRESHOLD 及回退策略。OD_MAX_DEVLOOP_ITERATIONS 仍只限制外层插件流水线阶段,不是 Design Jury 的轮次上限或交付规则;流水线的 critique.score 信号是面向调度器的投影,不是智能体应制造的线上输出。
持久化与中断:守护进程把最终运行与每轮摘要存入 SQLite,并将有序 PanelEvent 流写为可回放的 NDJSON 记录(较大时 gzip 压缩);最终产物字节单独存储,交付事件只携带 artifactRef。Web 端 Design Jury 界面提供 Interrupt 与 Esc 快捷键,触发后向 /api/projects/:projectId/critique/:runId/interrupt 发送请求,守护进程中止已注册运行、持久化当前最优的部分状态并发出 critique.interrupted。od ui respond 处理 GenUI 界面,不为 Critique Theater 提供中断循环操作。
限制:v1 阵容固定,插件不能替换为自定义评审维度;不要写入 critique.json 或输出 kind: "critique-panel" 对象,这些是旧编排器形态,不是当前运行时的输入。其余细节暂未提供。