2.5 KiB
2.5 KiB
诊断运行表:diagnosis_run
状态:当前诊断运行主表
来源:V011__add_session_run_isolation.sql、DiagnosisRun
定位
diagnosis_run 表示一次可回放的 Chat 或 AIOps 诊断执行。run_id 是运行级边界,Trace、反馈、自评估、案例沉淀和统计都应优先按 run_id 绑定。
字段
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
id |
BIGINT | 是 | 自增主键 |
run_id |
VARCHAR(64) | 是 | 运行唯一 ID,格式为 run- + UUID |
session_id |
VARCHAR(64) | 是 | 所属 chat_session.session_id |
query |
TEXT | 是 | 本次 Chat 问题或 AIOps 告警摘要 |
status |
VARCHAR(16) | 否 | PENDING、RUNNING、SUCCESS、FAILED |
agent_flow |
VARCHAR(32) | 否 | CHAT 或 AI_OPS |
answer |
LONGTEXT | 否 | 本次运行的最终答复或告警报告 |
self_evaluation |
JSON | 否 | 本次运行的 rule、verifier、aiops 自评估容器 |
feedback |
VARCHAR(16) | 否 | 本次运行的用户反馈 |
total_duration_ms |
INT | 否 | 本次运行总耗时 |
total_token_count |
INT | 否 | 本次运行 Token 消耗 |
step_count |
INT | 否 | 本次运行的 Agent 步骤数 |
tool_call_count |
INT | 否 | 本次运行的工具调用数 |
created_at |
DATETIME | 是 | 创建时间 |
updated_at |
DATETIME | 是 | 更新时间 |
索引
| 索引 | 字段 | 用途 |
|---|---|---|
run_id unique |
run_id |
运行唯一约束 |
idx_diagnosis_run_session_created |
session_id, created_at, id |
session 下最新运行解析和运行列表 |
idx_diagnosis_run_session_run |
session_id, run_id |
exact trace / feedback ownership 校验 |
idx_diagnosis_run_status |
status |
状态筛选 |
idx_diagnosis_run_agent_flow |
agent_flow |
区分 Chat / AIOps |
关系
diagnosis_run.session_id逻辑关联chat_session.session_id。agent_step.run_id逻辑关联diagnosis_run.run_id。tool_invocation.run_id逻辑关联diagnosis_run.run_id。- 新的自动案例沉淀使用
case_library.diagnosis_id = diagnosis_run.run_id。
注意点
GET /api/diagnosis/{sessionId}/trace未带runId时只为兼容解析 latest run;新 demo 和新客户端应传runId。- latest run 排序使用
created_at DESC, id DESC,避免 feedback 或自评估更新updated_at后改变回放目标。 - 历史
diagnosis_session会被迁移成兼容 run,但旧混合数据不能被还原成真实多轮边界。