2.6 KiB
2.6 KiB
Why
阶段 2-5 已具备 RunContext、单一 Diagnosis Agent 和安全释放门禁,但仍没有统一的 Chat 应用用例负责创建 Run、三类意图路由、执行器选择、PreviousTurn 组装和最终持久化。阶段 6A 需要先完成这层内部应用边界,使阶段 6B 只做 HTTP/SSE 协议切换。
What Changes
- 新增内部
ChatApplicationUseCase,接收原始 Query 和可选 sessionId,创建并显式传播同一个RunContext。 - 新增无 Tool、无记忆、无 ReAct 的三分类 Intent Router;输入只含 Query、可选 last intent 和 last user query,技术/非法输出最多两次 attempt,最终失败不默认进入 Diagnosis。
- 新增固定 SYSTEM_CHAT、KNOWLEDGE_QUERY、DIAGNOSIS 执行器映射;三条路径都接收未改写 Query,互不调用。
- SYSTEM_CHAT 使用受控单轮 ChatModel;KNOWLEDGE_QUERY 只调用一次
lookup_knowledge,基于有界 RAG projection 生成并验证引用;DIAGNOSIS 串联阶段 4 Agent 和阶段 5 release boundary。 - 从同一 Session 最近一个
DIAGNOSIS + SUCCESS + published_result的 Run 确定性组装有界 PreviousTurn,不调用摘要模型、不复用历史日志/MySQL。 - 扩展
diagnosis_run持久化intent、release_outcome和 JSONpublished_result,新增 JPA store 和 V012 Flyway migration。 - 新增应用执行 observer,使阶段 6B 能发送 metadata/status 并在断开时取消同一个 Run;本阶段只在内部测试入口使用。
- 不修改公开 Controller、
/api/chat、/api/chat_stream、前端或现有 SSE 行为。
Capabilities
New Capabilities
single-react-chat-application-usecase: 定义 Run/session 生命周期、三类意图路由、固定执行器、PreviousTurn、知识回答引用验证、持久化和内部 observer 行为。
Modified Capabilities
- None. 公开 Chat/SSE capability 在阶段 6B 才改变。
Impact
- 新增
com.superbiz.agent.harness.application内部包、Router/System/Knowledge prompts、focused tests、JPA store 和 V012 migration。 - 修改
DiagnosisRun/DiagnosisRunRepository,新增数据库字段和安全 previous-turn 查询;复用DiagnosisHarnessCore、GuardModelCall、HarnessRetryExecutor、HarnessEvidenceTools、DiagnosisAgentUseCase和DiagnosisReleaseUseCase。 - 接口影响为 L3:数据库 schema 和内部 application/store contract 变化,需要独立 migration/rollback 说明;HTTP/SSE/前端保持不变。
- 主要风险是当前 Run 污染上一回合查询、Router 失败误入 Diagnosis、Knowledge answer 引用伪造、PublishedResult 泄漏内部证据,以及异常路径没有持久化终态。