Files
pj0235-eai_agentplatform/docs/02_Architecture/AR03_数据库架构.md
T
eaiadmin 90031b75f3 docs: 重构仓库文档目录并迁移训练素材
按当前架构重组 docs 目录,统一中文命名与目录分层,并将训练原材料迁移到独立目录以保持架构文档边界清晰。
2026-09-22 23:23:16 +08:00

4.6 KiB

AR03 — 数据库架构

状态:当前有效 最后更新:2026-09-21

说明: 本文档描述当前数据库的真实分层与主对象。 历史培训系统版本已归档至 Historical_Records/AR03_数据库架构-培训系统旧稿.md。


1. 当前数据库定位

当前数据库承载的是一套对象定义 + 任务运行 + 知识底座 + 兼容业务域并存的单库模型。

数据库当前仍使用:

  • SQLite 单文件
  • GORM AutoMigrate
  • 单体部署

这套数据库一方面支撑当前平台的新主轴,另一方面也兼容尚未完全迁出的历史业务域。

2. 当前数据库结构总览

当前数据库可以按五个域来理解:

  1. 对象定义域
  2. 任务运行域
  3. 知识与素材域
  4. 组织治理域
  5. 兼容业务域

3. 对象定义域

当前数据库已经形成一批稳定对象定义表。

3.1 专家对象

当前实现表:

  • specialist

说明:

  • 代码仍使用 specialist
  • 文档统一口径应理解为专家对象

3.2 技能对象

当前实现表:

  • skill_definition

这张表承载:

  • 技能元数据
  • 输入输出 schema
  • starter prompts
  • action refs
  • policy refs
  • object entry route

3.3 App 对象

当前实现表:

  • xapp_definition
  • user_xapp_center

说明:

  • 文档统一口径为 App
  • 当前落库命名仍是 xapp
  • xapp_definition 当前定义的是成品入口壳对象,不等于任务运行主记录

3.4 Action 对象

当前实现表:

  • action_definition

这张表承接原子执行动作,是技能编排与任务执行的底层动作定义。

4. 任务运行域

当前数据库的运行主轴已经切到任务。

核心表包括:

  • task_record
  • task_run
  • task_artifact
  • project

这组表的职责分别是:

  • task_record:任务实例
  • task_run:执行过程记录
  • task_artifact:任务产物
  • project:任务容器

这说明当前平台的运行中心是任务实例及其产物。

这里需要明确补上一条:

  • task_record 当前以 specialist_key 为主要执行挂载点
  • 当前数据库层的运行主语仍然是 specialist-driven task
  • xapp_definition 与 user_xapp_center 承接的是对象目录和入口壳,而不是运行主键

5. 知识与素材域

当前知识底座相关核心表包括:

  • knowledge_space
  • knowledge_source
  • knowledge_chunk
  • knowledge_faq
  • media_file
  • study_note

这一域负责:

  • 组织知识空间
  • 素材来源管理
  • 文本切片
  • FAQ 组织
  • 文件审批与导入
  • 用户知识笔记

知识库是当前数据库中的平台基础域之一。

6. 组织治理域

当前组织治理相关表包括:

  • user
  • department
  • position
  • position_knowledge
  • position_exam_blueprint
  • system_config
  • ai_call_log

这一层负责:

  • 用户与组织
  • 岗位应学和蓝图
  • 系统配置
  • AI 调用留痕

这说明当前系统已不只是“员工读资料”,而是有完整组织治理与审计需求。

7. 兼容业务域

当前数据库中仍保留一批培训系统时期延续下来的业务表:

  • product
  • course
  • question
  • exam_paper
  • exam_record
  • certificate
  • mistake_record
  • learning_progress
  • point_event

这些表当前承接平台内仍在运行的业务域,其中相当一部分会继续向 App、任务和知识底座收敛。

8. 当前数据库的真实形态

当前数据库是以任务与对象为中心、同时承接历史培训/考试业务域的混合态单库。

这是当前最准确、也最适合指导后续整理的描述。

9. 当前命名映射

当前数据库存在少量术语过渡:

  • specialist 对应文档中的 专家
  • xapp_definition 对应文档中的 App
  • task_record.specialist_key 对应当前运行主语

后续文档应统一按业务口径解释,但在涉及真实表结构时必须保留当前落库名。

10. 当前数据库设计原则

后续数据库演进应继续遵守:

  1. 对象定义表与运行记录表分离
  2. 任务和项目继续作为运行中心
  3. 知识域继续作为基础域保留
  4. 培训/考试类业务表可以继续存在,但不再主导总架构描述
  5. 新增对象优先进入对象定义域,而不是继续堆入旧业务表

11. 与其他文档的关系

  • 详细表结构以 docs/04_Backend/01_平台治理底座/BG04_数据库总览.md 为准
  • 当前对象与任务口径以 docs/01_System_Overall/SY21_统一角色技能动作架构.md、docs/01_System_Overall/SY22_角色技能应用统一任务架构.md 为准
  • 当前后端代码分域,以 docs/02_Architecture/AR01_后端架构.md 为准