Files
SuperBizAgent-java/mvp/tables/Agent步骤表-agent_step.md
T

2.6 KiB
Raw Blame History

Agent 步骤表:agent_step

状态:当前表
来源:V005__create_session_storage.sql、V006__fix_agent_step_json_to_text.sql、AgentStep

定位

agent_step 记录 Diagnosis Agent 模型步骤的有界审计 metadata。run_id 是执行隔离边界;当前写入不得保存 Prompt、消息正文、模型正文、Tool arguments 或 Thought。Provider reasoning 使用独立 agent_reasoning_audit 表,不复用历史 thought 字段。

字段

字段 类型 必填 说明
id BIGINT 是 自增主键
session_id VARCHAR(64) 是 所属会话目录 ID,保留用于粗粒度过滤和兼容
run_id VARCHAR(64) 否 所属 diagnosis_run.run_id;新执行应写入
step_index INT 是 步骤序号,从 0 开始
agent_name VARCHAR(32) 是 当前 Harness 写入固定为 diagnosis_agent
model_input TEXT 否 JSON metadata,仅包含 message count 与 roles
model_output TEXT 否 JSON metadata,仅包含 text presence 与 Tool names
thought TEXT 否 当前 Harness 必须写空;字段仅保留历史兼容
has_tool_call BOOLEAN 否 本步骤是否触发工具调用
duration_ms INT 否 本步骤耗时
token_count INT 否 本步骤 Token 消耗
created_at DATETIME 是 创建时间

索引

索引 字段 用途
idx_session_step session_id, step_index 历史兼容和粗粒度排查
idx_agent_step_run_step run_id, step_index 按运行筛选步骤并辅助顺序查询
idx_agent_name agent_name 按 Agent 类型筛选

关系

  • agent_step.run_id 逻辑关联 diagnosis_run.run_id。
  • agent_step.session_id 保留为 chat_session.session_id 的冗余关联,便于粗粒度过滤和兼容查询。
  • tool_invocation.step_id 可关联 agent_step.id,但当前允许为空且不强制外键。
  • agent_reasoning_audit 通过相同的 session_id + run_id + step_index 逻辑定位模型步骤,不建立数据库外键。

注意点

  • 前端展示步骤时应使用 Trace API 返回顺序;服务端会在同一 run_id 范围内整理步骤顺序。
  • 新 Trace 和验收读路径必须按 exact run_id 取数,避免同一 sessionId 多次运行混入。
  • 当前 Run 若出现 diagnosis_agent 之外的新写入,或 thought 非空,视为审计边界违规。
  • model_output 可保存 has_text、tool_names、reasoning_available 和 reasoning_bytes 等有界 metadata,不得保存 reasoning 原文。