3.1 KiB
3.1 KiB
acceptance.md — confidence-feedback
实现清单
| 任务 | 文件 | 状态 |
|---|---|---|
| T0:Flyway V008 + answer 字段 | V008__add_answer_to_diagnosis_session.sql、DiagnosisSession.java |
完成 |
| T1:EvaluationService(规则引擎) | EvaluationService.java |
完成 |
| T2:ChatService 后置调用 | ChatService.java |
完成 |
| T3:FeedbackController + FeedbackService | FeedbackController.java、FeedbackService.java、FeedbackRequest.java、FeedbackResponse.java |
完成 |
| T4:CaseLibraryService | CaseLibraryService.java |
完成 |
| T5:AsyncConfig | AsyncConfig.java |
完成 |
验证记录
静态验证(已通过)
mvn compileBUILD SUCCESS(2026-06-30)- 无新增 ERROR,存量 WARNING 与本次改动无关
- import 完整性人工检查通过
脚本验证(已通过,2026-06-30)
验证工具:scripts/query_mysql.py(本次新建)
| 步骤 | 操作 | 结果 |
|---|---|---|
| 1 | POST /api/chat 发送问题 | 200,answer 有值 |
| 2 | 等 5 秒查 diagnosis_session | self_evaluation 写入规则引擎结果,answer 写入完整回答 |
| 3 | POST /api/feedback useful | 200,返回 caseId;case_library 新增一行,feedback=useful,status=SUCCESS |
| 4 | POST /api/feedback not_useful | 200,feedback=not_useful,status 仍为 SUCCESS(未被改写) |
| 5(边界) | 重复提交 useful | 返回同一 caseId,case_library 无重复插入 |
| 6(边界) | 非法 feedback 值 | HTTP 400 |
Flyway V008 迁移
- 服务启动后 diagnosis_session 表存在 answer 列,验证通过(步骤 2 能写入 answer)
浏览器/人工验证(已通过,2026-06-30)
| 步骤 | 操作 | 结果 |
|---|---|---|
| 1 | 发送"今天天气怎么样" | AI 回复下方出现"有用/无用"按钮 |
| 2 | 点击"有用" | 按钮区域替换为"已标记为有用" |
| 3 | 网络请求确认 | POST /api/feedback 返回 HTTP 200,success: true |
前端反馈按钮(追加,2026-06-30)
改动文件:app.js、styles.css
关键设计:
ChatResultrecord 新增(ChatService),ChatResponse增加sessionId字段(ChatController)sendQuickMessage读取chatResponse.sessionId存为this.lastSessionIdcreateFeedbackBar(sessionId)闭包绑定 sessionId,避免多轮对话时 sessionId 错位submitFeedback(feedback, barElement, sessionId)直接用传入参数,不依赖全局状态- 流式模式(
/api/chat_stream)反馈按钮会渲染,但 sessionId 为空,点击不生效(已知限制)
已知限制
- 非检索工具(DateTimeTools 等)不写 tool_invocation,evidence_score = 0(已接受,符合"证据充分度"定义)
@Async失败时 selfEvaluation 为 null,前端需处理 null(已接受)- CaseLibrary 的 faultCategory 固定为 GENERAL,需人工补充(已接受,Phase 2 优化)
- LLM 观点层未实现,selfEvaluation JSON 预留 llm_opinion 扩展位(Phase 2)
- 流式模式反馈按钮 sessionId 缺失,暂不处理(已知,后续处理流式接口时一并解决)