这个项目能做什么

# PilotDeck · 子任务验收与局部修复 这是一个基于 [OpenBMB/PilotDeck](https://github.com/OpenBMB/PilotDeck) 的改进项目(方向三参赛项目),旨在增强 AI 代理子任务的交付质量。它通过引入 `agent.acceptance` 模块,为子任务的“完成”状态增加了结构检查与独立模型复核机制。 ## 核心功能 - **交付可检查**:首先由宿主规则进行结构预检,随后由独立的只读模型核对原任务、交付声明和实际文件内容。 - **修复有边界**:当验收失败时,系统会在同一子任务、会话和权限范围内执行局部修复,共享总轮次上限;若耗尽则明确拒绝,已通过的兄弟任务保留。 - **经验可审查**:将成功与拒绝的验收元数据写入原生白盒记忆,按实际模型与契约分组,保留样本分母,但不自动修改验收标准。 - **过程可核对**:原生子任务卡片展示验收与修复状态,包括问题描述、修复次数、工具轨迹和产物。 ## 安装与启动 需要 Node.js **22.13–22.x** 和 pnpm **10.32.1**。 ```bash corepack enable pnpm install --frozen-lockfile npm run build ``` 普通启动仍为 `npm run dev`。在原生设置中启用 **Agent → 交付评审** 可开启第二层复核,单独选择模型并调整评审轮次与超时时间。 ### 隔离现场演示 支持任意兼容 OpenAI 的工具调用模型。通过本地环境变量配置演示参数: ```bash node --import tsx scripts/verified-subtasks-native.ts ui --semantic-fault --acceptance-memory ``` 也可使用智谱 Coding Plan 的凭据: ```bash node --import tsx scripts/verified-subtasks-native.ts ui # 或复用本地 OpenCode 凭据 node --import tsx scripts/verified-subtasks-native.ts ui --opencode-auth ``` ### 直接验收模式 无需启动界面,直接验收同一原生网关链: ```bash node --import tsx scripts/verified-subtasks-native.ts live --opencode-auth ``` ### 确定性机制验证 无需模型凭据的基准测试: ```bash node --import tsx scripts/verified-subtasks-benchmark.ts artifacts/verified-benchmark ``` ## 技术实现 | 模块 | 改进 | |---|---| | `src/agent/sub/acceptance/` | 有限 schema 预检、产物检查、问题归一化、宿主检查器注册 | | `SubAgentSession` / `AgentLoop` | 同会话修复、总轮次预算、中断与错误传播、累计用量 | | `agent` / `ToolRuntime` | 契约透传、结构化验收结果、拒绝作为真实工具失败 | | 网关与原生 UI 桥接 | 宿主规则加载、评审模型设置、验收与修复状态、最终判定保留 | | `AcceptanceMemory.ts` | 终态元数据桥接、去重、分母统计、原生反馈条目、清除与 Dream 文件整理兼容 | | `modelReviewer.ts` | 独立只读会话、实际读取证据、模型继承与覆盖、评审结果与用量 | 启用是显式的:不带 `acceptance` 参数时保留原行为。宿主可注册业务检查器,模型只能引用名称。原生启动通过 `PILOTDECK_ACCEPTANCE_CONFIG` 加载批准的 JSON 产物规则。 ## 验收经验记忆 在原生设置 **Agent → 记忆** 开启白盒记忆后,可通过 **Agent → 交付评审 → 保存验收经验到项目记忆** 控制记录。配置项为 `memory.captureAcceptance`,省略时在已启用记忆的项目内默认记录;设为 `false` 可关闭。 观察器记录真实验收终态的元数据,不保存任务正文、交付内容和自由文本评语;最近 128 条去重观察保存在项目 SQLite,原生反馈 Markdown 是派生摘要。记录本身不增加模型调用,但原生检索和 Dream 仍可能调用模型。 ## 证据与边界 本项目提供了明确的故障注入验证证据,而非自然错误率统计。例如,在 GLM-5.3 原生实跑中,4/4 交付通过,1 次模型拒绝触发局部修复,3 份成功报表的哈希和修改时间保持不变。相比整批重跑,局部修复策略减少了 40% 的请求量。 **注意**:该系统不提供全局回滚、外部副作用恰好一次、共享文件冲突协调或跨进程恢复。业务可信度取决于宿主规则与评审质量;模型复核仍可能误判。文件交付若没有成功独立读取,不会被评审器接收。 关键测试命令: ```bash node --import tsx --test tests/agent/sub/acceptance/*.spec.ts tests/agent/sub/VerifiedSubagent.spec.ts tests/agent/sub/AcceptanceInvariants.spec.ts tests/agent/sub/ModelReview.spec.ts tests/pilot/config/acceptanceReview.spec.ts tests/tool/VerifiedAgent.spec.ts tests/gateway/VerifiedSubtaskEvents.spec.ts ``` 更多细节请参阅 [现场演示说明](docs/verified-subtasks/DEMO.zh-CN.md)、[验证记录](docs/verified-subtasks/VALIDATION.zh-CN.md) 和 [技术细节](docs/verified-subtasks/README.zh-CN.md)。