# brief.md — confidence-feedback ## 背景 DiagnosisSession 已预留 `selfEvaluation`(JSON)和 `feedback`(VARCHAR 16)两个字段,但完全为空。Agent 完成对话后不计算证据评分,也没有接收用户反馈的 API,无法支撑报告质量评估和 BadCase 追踪。 ## 目标 1. 给每次对话结果自动打一个基于事实的证据充分度评分(evidence_score) 2. 提供用户反馈 API(useful/not_useful),useful 触发案例自动沉淀,not_useful 标记 BadCase ## 范围 - `DiagnosisSession` 加 `answer` 字段(Flyway V008) - `EvaluationService`:基于 tool_invocation 的规则引擎,@Async 写 selfEvaluation - `FeedbackController` + `FeedbackService`:POST /api/feedback - `CaseLibraryService.createFromSession`:幂等案例沉淀 - `AsyncConfig`:@EnableAsync - `ChatService`:SUCCESS 分支写 answer + 触发 evaluate;新增 `ChatResult` record 回传 sessionId - `ChatController.ChatResponse` 增加 `sessionId` 字段 - 前端 `app.js`:AI 回复下方反馈按钮,点击调用 `/api/feedback`,闭包绑定 sessionId - 前端 `styles.css`:反馈栏样式 ## 非目标 - 不实现 Verifier Agent 完整链路 - 不实现 LLM 自评(预留扩展位,Phase 2 再做) - 不实现案例结构化字段自动填充(faultCategory 等暂时填 GENERAL) - 不实现 BadCase 自动分析或 Prompt 优化 ## 分档 standard ## 关联 OpenSpec `openspec/changes/confidence-feedback/`