2.2 KiB
2.2 KiB
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。
字段
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
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,但当前允许为空且不强制外键。
注意点
- 前端展示步骤时应使用 Trace API 返回顺序;服务端会在同一
run_id范围内整理步骤顺序。 - 新 Trace 和验收读路径必须按 exact
run_id取数,避免同一sessionId多次运行混入。 - 当前 Run 若出现
diagnosis_agent之外的新写入,或thought非空,视为审计边界违规。