From d3a021391b49615410567775108982861b0b96dc Mon Sep 17 00:00:00 2001 From: weichen Date: Tue, 29 Sep 2026 18:12:57 +0000 Subject: [PATCH] Update reports for the agent-intent gate integration: 36 automated tests Details (original message): Update reports for the agent-intent gate integration: 36 automated tests, 13 live checks, release sha a3128fe1. --- docs/guides/usage.md | 2 +- docs/records/2026-09-29-implementation.md | 4 ++-- docs/reports/2026-09-29-test-report.md | 11 +++++++---- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/docs/guides/usage.md b/docs/guides/usage.md index a947412..e40449a 100644 --- a/docs/guides/usage.md +++ b/docs/guides/usage.md @@ -87,7 +87,7 @@ agent-system version 触发途径:mock `#hitl`;真实模型调用确认策略工具(画像 `confirm` 清单,如 `http.` 前缀族)。 - 选项卡:显示描述与**影响**(决策上下文契约:每个选项必须声明可能造成的影响)。 -- 自由输入:作为澄清回答回填;`/` 开头识别为命令→取消挂起任务并转轨(三分支路由)。 +- 自由输入三分支路由:一般输入→澄清回答回填;`/` 开头→命令转轨;**命中已注册插件意图(agent-intent 闸门)→转轨为新任务**。示例插件注册了 `demo.show` 意图(命中「示例/演示」),HITL 挂起时输入「来个示例演示」即可观察转轨。 ### 4.2 Sub-agent 追踪 diff --git a/docs/records/2026-09-29-implementation.md b/docs/records/2026-09-29-implementation.md index bb993cc..774a156 100644 --- a/docs/records/2026-09-29-implementation.md +++ b/docs/records/2026-09-29-implementation.md @@ -10,7 +10,7 @@ | P0 仓网 | 六仓初始化推送、gitea 描述(含老系统「冻结参考」)、Dev submodule 组合(10 组件,生态 pin 与既有纪律一致) | ✓ 全新 clone 物化+组合构建通过 | Dev `286fdaa` | | P1 契约+骨架 | Core 契约(Go+黄金样本+TS 三态,conformance 测试);Backend 存储层/SSE/事件信封;Frontend 三栏+流式+折叠 | ✓ mock 对话端到端 | Core `992d601` 起 | | P2 真实智能体 | agent-native `runtime/llm` 客户端复用(多轮工具循环、reasoning→thinking 映射、usage 归集、预算执行);模型路由按 kind;画像/设置/上下文组装/摄取(md/txt/docx OOXML/pdf 文本层) | ✓(真实模型路径代码+单测就位;live smoke 以 mock 验证协议,模型联调待用户密钥) | Backend `8aa5e8d` | -| P3 编排/HITL | sub-agent 统一 Run 任务树(spawn/progress/result 事件+子代理消息持久化)、AgentTracker 弹窗、计划/待办、HITL 三分支路由、`/` 命令与 `@knowledge` | ✓(Agent-Squad 引擎适配为偏差项 #1,见测试报告 §6) | 同上 | +| P3 编排/HITL | sub-agent 统一 Run 任务树(spawn/progress/result 事件+子代理消息持久化)、AgentTracker 弹窗、计划/待办、HITL 三分支路由(含 agent-intent 闸门转轨,`a671d60`)、`/` 命令与 `@knowledge` | ✓(Agent-Squad 引擎适配为偏差项 #1,见测试报告 §6) | Backend `a671d60` | | P4 插件机制 | pluginhost(manifest 校验/五类能力/fail-closed/热重载/卸载语义)、统一注册表+来源标记、声明式 HTTP 工具、示例插件、schema 驱动设置中心、插件开发指南 | ✓ | Backend + Dev `plugins/example` | | P5 发布 | Dev Makefile(契约同步→前端→embed→静态单二进制);Releases 构建管线(manifest sha256 + systemd + 安装/回退);0.1.0 发布 | ✓ 13MB 单二进制;12 项制品 smoke 全过 | Releases `6c40909` | @@ -25,4 +25,4 @@ ## 偏差与后续(详见测试报告 §6) -Agent-Squad 引擎适配、Agent-Intt 闸门接入、向量 RAG、记忆实现、MinerU 深度档、docx 在线预览、PG 存储档、裁剪观测 UI、Playwright 套件、多用户——均已在契约/数据位层面预留,落地不改核心。 +Agent-Squad 引擎适配、向量 RAG、记忆实现、MinerU 深度档、docx 在线预览、PG 存储档、裁剪观测 UI、Playwright 套件、多用户(agent-intent 闸门已接入)——均已在契约/数据位层面预留,落地不改核心。 diff --git a/docs/reports/2026-09-29-test-report.md b/docs/reports/2026-09-29-test-report.md index 6f517a6..170292f 100644 --- a/docs/reports/2026-09-29-test-report.md +++ b/docs/reports/2026-09-29-test-report.md @@ -1,6 +1,6 @@ # Agent-System 测试报告(v0.1.0) -日期:2026-09-29;对象:Dev 组合 `6a70d1a`(core `992d601` / backend `97b90ad` / frontend `5b6b52d` / documents `d7ce944` + 生态五仓 pin)。 +日期:2026-09-29;对象:Dev 组合 `5c64b6b`(core `992d601` / backend `a671d60` / frontend `5b6b52d` + 生态 pin;发布制品 sha256 `a3128fe1…`)。 范围:设计方案第 6 节验收表的逐项验证 + 单元/集成/端到端/真实运行四层证据。 复现环境:go1.27.1 linux/amd64、node v26.10.0;命令见 §5。 @@ -9,12 +9,12 @@ | 层 | 位置 | 数量 | 结果 | |---|---|---|---| | 契约一致性(Core 黄金样本) | Agent-System-Core `go test ./...` | 9 | 全部通过 | -| 后端单元+端到端 | Agent-System-Backend `go test ./...`(server/ingest/tools/plugins 四包) | 19 | 全部通过 | +| 后端单元+端到端 | Agent-System-Backend `go test ./...`(server/ingest/tools/plugins/intentgate 五包) | 22 | 全部通过 | | 前端契约形状(vitest,黄金样本驱动) | Agent-System-Frontend `npm test` | 5 | 全部通过 | | 真实运行验证(发布制品 smoke) | 本报告 §3 | 12 项检查 | 全部通过 | | 组合构建验证 | Dev `make build` / Releases `build-release.sh 0.1.0` | — | 通过(单二进制 13MB 静态链接;sha256 校验一致) | -合计 33 项自动化测试 + 12 项 live 检查,全绿。 +合计 36 项自动化测试 + 13 项 live 检查(含发布制品上的意图转轨验证),全绿。 ## 2. 自动化测试明细 @@ -39,6 +39,8 @@ | server.TestUploadParseAndKnowledge | md 上传→multipart→解析结果返回;**中文全文检索命中**(FTS5→LIKE 兜底路径) | | server.TestSSEStreamAndReplay | 真实 SSE 连接:在线收到 message.delta 与 run.completed;事件 id 单调;since 游标重放端点 200 | | server.TestCommandsRoute | `/help` 命令路由返回;未知命令 400 | +| server.TestHITLIntentPivot | **agent-intent 闸门**:装载插件意图后,自由输入命中其他意图 → pivoted=true、挂起 run 取消(三分支路由之意图转轨) | +| intentgate.TestGateMatchAndFallback / TestGateFailClosed | agent-intent 注册表:命中/回落判定;坏 spec 保留上一快照(fail-closed);空重建显式停用 | | server.TestStaticServed | SPA 路由不异常(空 embed 下行为受控) | | ingest.TestParseMarkdown / TestParseDocx / TestParsePDFInvalid / TestParseUnknownBinary | md 结构化(标题/段落/列表);**docx 构造样张(OOXML 解析:标题级别/段落/表格)**;非法 pdf 低置信度+显式警告;二进制未知类型不产生假块(**解析失败可见不静默**) | | tools.TestHTTPExecutorTemplateAndPath / TestExpandTemplate | 声明式 HTTP 工具:模板变量注入、ResultPath 裁剪、路径缺失显式错误、404 状态映射 | @@ -72,6 +74,7 @@ | 10 | 中文知识检索 | ✓ | `q=临床评价 → hits: [('reg.md','fulltext')]` | | 11 | 游标重放端点 | ✓ | `since=0` 重放 200(TestSSEStreamAndReplay 同源验证) | | 12 | 发布包自包含运行 | ✓ | 解包独立目录启动→health/SPA/插件全部正常 | +| 13 | **意图转轨(发布制品)** | ✓ | 装载 example 插件后,HITL 自由输入「来个示例演示」→ `{"pivoted":true}`(agent-intent 闸门生效) | ## 4. 验收表对照(设计方案第 6 节) @@ -114,7 +117,7 @@ cd Agent-System-Backend && go test ./internal/server/ -v | # | 项 | 现状 | 计划 | |---|---|---|---| | 1 | **Agent-Squad 编排适配** | 未接入(设计 P3 计划项)。sub-agent 经统一 Run 模型以 LLM 轻任务(delegate_task)与 mock 脚本实现,任务树/事件/弹窗全链路可用 | 按 squad 引擎接口补 adapter(契约已就位,runmgr SpawnSubagent 即挂点) | -| 2 | **Agent-Intent 闸门** | 未接入 agent-intent 识别器;HITL 自由输入路由为两分支(选项/命令转轨+默认回填),未做「命中其他意图→转轨」识别 | 接入 deps/agent-intent(后端已具备 submodule 接线模式);插件 intents 资产目前仅目录透出 | +| 2 | ~~Agent-Intent 闸门~~ **已接入**(backend `a671d60`):插件意图 overlay → agent-intent 注册表(fail-closed 重建);HITL 自由输入三分支完整(选项回填/澄清回填/命令或命中其他意图→转轨)。入口闸门用于消息级分流为后续增强(当前 `/` 命令在 server 层路由) | 消息级入口分流接入(squad IntentGate 触点同源) | | 3 | 向量 RAG | 未实现(契约/模型路由类别/全文最小实现已交付,中文检索可用) | 远期:pgvector/sqlite-vec + rerank(设计 4.12) | | 4 | 记忆系统 | 契约与开关位预留,无实现 | 远期(设计 4.13) | | 5 | MinerU 深度解析/交叉验证 | 未接(解析器注册位与失败可见性已具备;扫描件 pdf 显式低置信度+提示) | 远期(D12) |