数据模型参考
本页不是 ER 图替代品,而是帮助读者快速建立“哪些对象是一组、哪些状态必须一起看”的模型地图。
当前主要模型簇
| 模型簇 | 关键文件 | 负责什么 |
|---|---|---|
| Agent 与版本 | agents.py agent_api_keys.py |
Agent 主体、version、public access mode、API key inventory、成本快照、请求租约 |
| Session 与对话观测 | sessions.py |
session、message、conversation turn、takeover、checkpoint、memory |
| RAG 知识链路 | knowledge.py documents.py knowledge_corrections.py |
source、mount、document、chunk、ingestion、manual inspection、correction |
| MCP 控制面 | mcp.py |
server、credential、agent mount、call audit |
| Skill 控制面 | skills.py |
skill、version、agent link |
| Evaluation | evaluations.py |
dataset、dataset item、run、result |
| Fusion Runtime | fusion.py |
definition、version、run、run input、run output |
| Scheduled Tasks | scheduled_tasks.py |
task、task run、调度状态 |
读模型时最重要的关系
1. Agent 是多个运行时和能力挂载的中心
一个 Agent 当前会关联:
- knowledge mounts
- MCP mounts
- skill mounts
- sessions
- evaluation runs
- Fusion definition link
- public access mode
- public API keys(仅 Fusion)
所以很多“为什么这个 Agent 行为变了”的问题,根本不是看 agents 一张表就够。
2. Session 不是只有 message
sessions.py 当前不只包含消息,还包含:
SessionMessageSessionTakeoverEventConversationTurnRuntimeCheckpointAgentMemoryRecord
也就是说,聊天运行时的可观察性和人工接管历史都已经是数据模型的一部分。
3. RAG 不是 source -> document 两张表就结束
当前 RAG 相关模型实际至少包含:
| 模型 | 作用 |
|---|---|
KnowledgeSource |
知识源 |
AgentKnowledgeLink |
Agent 与 source 的挂载关系 |
Document |
原始文档与向量健康状态 |
DocumentParseSnapshot |
解析快照 |
DocumentChunk |
chunk 元数据 |
IngestionJob |
ingest 过程 |
ManualInspectionRun / ManualInspectionResult |
inspect 过程与结果 |
| knowledge correction 相关模型 | managed correction 的发布链路 |
这解释了为什么 RAG 问题往往要同时看 source、document、job、snapshot、inspection result。
4. MCP 和 Skill 已经是正式控制面模型
MCP 当前不是配置文件式集成,而是完整数据模型:
MCPServerMCPCredentialAgentMCPLinkMCPCallAudit
Skill 也一样:
- skill
- skill version
- agent skill link
这意味着它们现在是“可治理资产”,不是轻量插件列表。
5. Evaluation 与 Fusion 都是有运行记录的一等对象
Evaluation 不是静态 benchmark 表:
- dataset
- dataset item
- run
- result
Fusion 也不是只存 definition:
- definition
- immutable version
- run
- persisted inputs
- persisted outputs
当前最值得关注的状态字段
RAG
| 字段 | 含义 |
|---|---|
Document.status |
文档处理状态 |
Document.vector_status |
向量健康状态 |
expected_point_count |
期望点数 |
actual_point_count |
实际点数 |
vector_verified_at |
最近一次核验时间 |
Conversation / Runtime
| 字段 | 含义 |
|---|---|
ConversationTurn.trace_id |
turn 与 MCP / Skill 审计关联键 |
ConversationTurn.token_usage_* |
token 消耗观测 |
RuntimeCheckpoint.status |
审批 / 挂起状态 |
Evaluation
| 字段 | 含义 |
|---|---|
AgentEvaluationRun.status |
run 生命周期 |
lease_token |
当前 worker claim |
worker_heartbeat_at |
worker 心跳 |
gating_status |
gate 结果 |
Fusion
| 字段 | 含义 |
|---|---|
FusionDefinition.latest_version_number |
最新 version |
published_version_id |
当前生效 version |
FusionRun.status |
run 状态 |
FusionRun.attempt_count |
worker 已尝试执行次数 |
FusionRun.lease_token |
当前 worker claim / lease |
FusionRun.last_attempt_started_at |
最近一次 claim 的开始时间 |
FusionRun.worker_heartbeat_at |
当前执行心跳 |
governance_context_json |
capability 治理上下文 |
典型读表顺序
排查某个聊天 turn 为什么行为异常
SessionConversationTurnRuntimeCheckpoint- 关联 trace_id 下的 MCP / Skill audit
排查某个知识源为什么检索异常
KnowledgeSourceAgentKnowledgeLinkDocumentIngestionJobManualInspectionRun
排查某个评测 run 为什么卡住
AgentEvaluationRunworker_heartbeat_atattempt_count- 结果表与 dataset item
排查 Fusion run 为什么输出不对
FusionDefinitionVersionFusionRunattempt_count/lease_token/worker_heartbeat_atFusionRunInputFusionRunOutput