refactor(harness): remove legacy agent architecture
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# ISS-014 单体 ReAct Agent、Harness 与 ACI 工具瘦身
|
||||
|
||||
**状态**:实施中(阶段 0-6B 已归档,下一阶段 7)
|
||||
**状态**:已完成(阶段 0-7 已验收并归档)
|
||||
**严重程度**:高
|
||||
**发现时间**:2026-07-20
|
||||
**目标分支**:`refactor/chat-single-react-harness`
|
||||
@@ -1307,27 +1307,27 @@ ISS-014 是总设计 Issue,不创建跨阶段共享的 OpenSpec change。以
|
||||
|
||||
## 14. 总体验收标准
|
||||
|
||||
- [ ] 复杂诊断只存在一个拥有工具循环的 Diagnosis ReAct Agent。
|
||||
- [ ] 不存在业务 StateGraph 或 Planner/Executor/Composer 多 Agent 主链路。
|
||||
- [ ] Harness 不承担业务推理,不演变为工作流引擎。
|
||||
- [ ] EvidenceGuard 是 Harness 内的确定性能力,不是独立编排节点。
|
||||
- [ ] SemanticGuard 使用完全隔离上下文,无工具、无记忆、无回调循环。
|
||||
- [ ] SemanticGuard 不使用未校准数值置信度控制在线释放。
|
||||
- [ ] 所有 Agent-facing evidence Tool 符合 ACI 状态和 Tool Call ID 契约。
|
||||
- [ ] RAG 不再向 Agent 返回 ContextPack/Trace/Rerank 等审计数据。
|
||||
- [ ] query_logs 不要求 Agent 先调用 Topic discovery,且返回聚合、抽样、脱敏结果。
|
||||
- [ ] MySQL Tool 只读、安全解析、参数绑定、allowlist、超时和结果上限全部生效。
|
||||
- [ ] Tool 原始结果不会未经有界投影进入 Agent 上下文;Redis canonical evidence 当前可暂不脱敏,但不得被 Agent 直接读取。
|
||||
- [ ] Redis 每次 Tool Call 单 Key 保存,状态、TTL、容量、ACL 和日志禁泄漏规则均有测试。
|
||||
- [ ] 每个 Tool Call ID 可以按 exact runId 和调用记录状态验真,并取得对应 `agent_result`。
|
||||
- [ ] 只保留一个 `/api/chat` SSE 接口。
|
||||
- [ ] SSE 不输出 Thought、Prompt、原始 Tool 载荷和未验证结论。
|
||||
- [ ] 客户端断开、模型/Tool/SemanticGuard 超时均有明确取消和 Run 终态。
|
||||
- [ ] 所有重试由 Harness 按类型化策略装配和记录,无 SDK/HTTP/数据库隐藏重试或整个 Diagnosis Agent 重跑。
|
||||
- [ ] 最终 E2E 能按 sessionId/runId 对齐 SSE、日志、AgentStep、ToolInvocation 和最终答案。
|
||||
- [ ] Token、工具调用、Tool 投影、Redis TTL 和总延迟预算均来自集中配置,并有可验证的强制上限和耗尽原因。
|
||||
- [ ] 11 个 OpenSpec changes 均已独立 Archive,并分别对应一个范围清晰的 Git commit。
|
||||
- [ ] 不保留旧兼容分支、注释代码、本地 refs 卸载和硬编码凭据。
|
||||
- [x] 复杂诊断只存在一个拥有工具循环的 Diagnosis ReAct Agent。
|
||||
- [x] 不存在业务 StateGraph 或 Planner/Executor/Composer 多 Agent 主链路。
|
||||
- [x] Harness 不承担业务推理,不演变为工作流引擎。
|
||||
- [x] EvidenceGuard 是 Harness 内的确定性能力,不是独立编排节点。
|
||||
- [x] SemanticGuard 使用完全隔离上下文,无工具、无记忆、无回调循环。
|
||||
- [x] SemanticGuard 不使用未校准数值置信度控制在线释放。
|
||||
- [x] 所有 Agent-facing evidence Tool 符合 ACI 状态和 Tool Call ID 契约。
|
||||
- [x] RAG 不再向 Agent 返回 ContextPack/Trace/Rerank 等审计数据。
|
||||
- [x] query_logs 不要求 Agent 先调用 Topic discovery,且返回聚合、抽样、脱敏结果。
|
||||
- [x] MySQL Tool 只读、安全解析、参数绑定、allowlist、超时和结果上限全部生效。
|
||||
- [x] Tool 原始结果不会未经有界投影进入 Agent 上下文;Redis canonical evidence 当前可暂不脱敏,但不得被 Agent 直接读取。
|
||||
- [x] Redis 每次 Tool Call 单 Key 保存,状态、TTL、容量、ACL 和日志禁泄漏规则均有测试。
|
||||
- [x] 每个 Tool Call ID 可以按 exact runId 和调用记录状态验真,并取得对应 `agent_result`。
|
||||
- [x] 只保留一个 `/api/chat` SSE 接口。
|
||||
- [x] SSE 不输出 Thought、Prompt、原始 Tool 载荷和未验证结论。
|
||||
- [x] 客户端断开、模型/Tool/SemanticGuard 超时均有明确取消和 Run 终态。
|
||||
- [x] 所有重试由 Harness 按类型化策略装配和记录,无 SDK/HTTP/数据库隐藏重试或整个 Diagnosis Agent 重跑。
|
||||
- [x] 最终 E2E 能按 sessionId/runId 对齐 SSE、日志、AgentStep、ToolInvocation 和最终答案。
|
||||
- [x] Token、工具调用、Tool 投影、Redis TTL 和总延迟预算均来自集中配置,并有可验证的强制上限和耗尽原因。
|
||||
- [x] 11 个 OpenSpec changes 均已独立 Archive,并分别对应一个范围清晰的 Git commit。
|
||||
- [x] 不保留旧兼容分支、注释代码、本地 refs 卸载和硬编码凭据。
|
||||
|
||||
## 15. 非目标
|
||||
|
||||
|
||||
Reference in New Issue
Block a user