51 lines
2.4 KiB
Markdown
51 lines
2.4 KiB
Markdown
# 诊断会话表:diagnosis_session
|
||
|
||
> 归档说明:本文记录 Run-only v2 之前的旧表语义。当前 Java 运行时不再映射、读取或写入 `diagnosis_session`;数据库中物理表是否保留由独立数据治理任务决定。
|
||
|
||
**状态**:历史快照,不属于当前版本契约
|
||
**历史来源**:`V005__create_session_storage.sql`、`V008__add_answer_to_diagnosis_session.sql`
|
||
|
||
## 定位
|
||
|
||
`diagnosis_session` 是旧版 session 级诊断主记录。`V011` 之后,新 Chat/AIOps 执行的运行态写入已经切到 `chat_session + diagnosis_run`;本表保留用于历史兼容、迁移回填和回滚比较。
|
||
|
||
## 字段
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
|---|---|---|---|
|
||
| `id` | BIGINT | 是 | 自增主键 |
|
||
| `session_id` | VARCHAR(64) | 是 | 旧版会话唯一 ID,也是兼容 run 回填来源 |
|
||
| `query` | TEXT | 是 | 用户原始问题或 AIOps 输入摘要 |
|
||
| `status` | VARCHAR(16) | 否 | `PENDING`、`RUNNING`、`SUCCESS`、`FAILED` |
|
||
| `agent_flow` | VARCHAR(32) | 否 | `CHAT` 或 `AI_OPS` |
|
||
| `total_duration_ms` | INT | 否 | 总耗时,单位毫秒 |
|
||
| `total_token_count` | INT | 否 | 总 Token 消耗 |
|
||
| `step_count` | INT | 否 | Agent 步骤数 |
|
||
| `tool_call_count` | INT | 否 | 工具调用次数 |
|
||
| `answer` | LONGTEXT | 否 | 返回给用户的最终答案 |
|
||
| `self_evaluation` | JSON | 否 | rule、verifier、aiops 等自评估结果容器 |
|
||
| `feedback` | VARCHAR(16) | 否 | 用户反馈:`useful`、`not_useful` 或空 |
|
||
| `created_at` | DATETIME | 是 | 创建时间 |
|
||
| `updated_at` | DATETIME | 是 | 更新时间 |
|
||
|
||
## 索引
|
||
|
||
| 索引 | 字段 | 用途 |
|
||
|---|---|---|
|
||
| `session_id` unique | `session_id` | 会话唯一约束 |
|
||
| `idx_created_at` | `created_at` | 按时间查询 |
|
||
| `idx_status` | `status` | 按状态筛选 |
|
||
| `idx_agent_flow` | `agent_flow` | 区分 Chat / AIOps |
|
||
|
||
## 关系
|
||
|
||
- 迁移时每条 `diagnosis_session` 会生成一条兼容 `diagnosis_run`。
|
||
- 历史 `agent_step.run_id` 和 `tool_invocation.run_id` 会尽量从兼容 `diagnosis_run` 回填。
|
||
- 历史自动案例可能仍使用 `case_library.diagnosis_id = diagnosis_session.session_id`。
|
||
|
||
## 注意点
|
||
|
||
- 新执行不应再把 query、answer、self_evaluation、feedback、统计计数写入本表。
|
||
- 新 Trace 聚合优先读取 `diagnosis_run + agent_step.run_id + tool_invocation.run_id`。
|
||
- 历史 fallback 仅在没有 run-backed 数据时读取本表。
|