ai-robot-core/spec/metadata-role-separation/tasks.md

10 KiB
Raw Blame History

元数据职责分层优化 - 任务清单

任务概览

阶段 任务数 状态
Phase 1: 数据模型扩展 4 已完成
Phase 2: 后端服务实现 6 已完成
Phase 3: 工具协同改造 4 已完成
Phase 4: 前端页面改造 3 已完成
Phase 5: 测试与验收 3 待开始

Phase 1: 数据模型扩展

Task 1.1: 扩展 MetadataFieldDefinition 模型

  • 状态: 已完成
  • AC: AC-MRS-01, AC-MRS-02, AC-MRS-03
  • 描述: 在现有 MetadataFieldDefinition 模型中新增 field_roles 字段
  • 产出:
    • 修改 ai-service/app/models/entities.py 中的 MetadataFieldDefinition
    • 新增 FieldRole 枚举类
  • 验收标准:
    • field_roles 字段类型为 list[str]
    • 支持存储多个角色
    • 允许空列表

Task 1.2: 创建 SlotDefinition 模型

  • 状态: 已完成
  • AC: AC-MRS-07, AC-MRS-08
  • 描述: 创建独立的槽位定义模型
  • 产出:
    • ai-service/app/models/entities.py 中新增 SlotDefinition
    • 新增 ExtractStrategy 枚举类
  • 验收标准:
    • 包含所有必需字段slot_key, type, required, extract_strategy, validation_rule, ask_back_prompt
    • 支持 linked_field_id 关联元数据字段

Task 1.3: 编写数据库迁移脚本

  • 状态: 已完成
  • AC: AC-MRS-01, AC-MRS-07
  • 描述: 编写 PostgreSQL 迁移脚本
  • 产出:
    • 创建 ai-service/scripts/migrations/007_add_field_roles_and_slot_definitions.sql
  • 验收标准:
    • metadata_field_definitions 表新增 field_roles
    • 创建 slot_definitions
    • 创建必要的索引

Task 1.4: 更新 Pydantic Schema

  • 状态: 已完成
  • AC: AC-MRS-01, AC-MRS-07
  • 描述: 更新请求/响应 Schema
  • 产出:
    • 创建 ai-service/app/schemas/metadata.py
    • 新增 SlotDefinitionCreate/Update/Response Schema
  • 验收标准:
    • Schema 与 OpenAPI 契约一致
    • 包含完整的字段校验规则

Phase 2: 后端服务实现

Task 2.1: 实现 RoleBasedFieldProvider 服务

  • 状态: 已完成
  • AC: AC-MRS-04, AC-MRS-05, AC-MRS-10
  • 描述: 实现按角色查询字段的核心服务
  • 产出:
    • 创建 ai-service/app/services/mid/role_based_field_provider.py
  • 验收标准:
    • get_fields_by_role() 方法正确查询指定角色的字段
    • 无效角色返回 400 错误
    • 支持缓存机制

Task 2.2: 扩展 MetadataFieldDefinitionService

  • 状态: 已完成
  • AC: AC-MRS-01, AC-MRS-02, AC-MRS-03, AC-MRS-06
  • 描述: 扩展现有服务支持 field_roles
  • 产出:
    • 修改 ai-service/app/services/metadata_field_definition_service.py
  • 验收标准:
    • 创建/更新时支持 field_roles 字段
    • 支持按 role 过滤查询
    • field_roles 校验正确

Task 2.3: 实现 SlotDefinitionService

  • 状态: 已完成
  • AC: AC-MRS-07, AC-MRS-08
  • 描述: 实现槽位定义管理服务
  • 产出:
    • 创建 ai-service/app/services/slot_definition_service.py
  • 验收标准:
    • CRUD 操作正确
    • 支持关联元数据字段
    • slot_key 租户内唯一

Task 2.4: 扩展 MetadataFieldDefinition API

  • 状态: 已完成
  • AC: AC-MRS-01, AC-MRS-04, AC-MRS-05, AC-MRS-06, AC-MRS-16
  • 描述: 扩展现有 API 端点
  • 产出:
    • 修改 ai-service/app/api/admin/metadata_field_definition.py
    • 新增 /by-role 端点
  • 验收标准:
    • 所有端点符合 OpenAPI 契约
    • 包含 AC 注释

Task 2.5: 实现 SlotDefinition API

  • 状态: 已完成
  • AC: AC-MRS-07, AC-MRS-08, AC-MRS-16
  • 描述: 实现槽位定义管理 API
  • 产出:
    • 创建 ai-service/app/api/admin/slot_definition.py
  • 验收标准:
    • CRUD 端点符合 OpenAPI 契约
    • 包含 AC 注释

Task 2.6: 实现运行时槽位 API

  • 状态: 已完成
  • AC: AC-MRS-09, AC-MRS-10
  • 描述: 实现运行时槽位查询 API
  • 产出:
    • 创建 ai-service/app/api/mid/slots.py
  • 验收标准:
    • /mid/slots/by-role 端点正确返回槽位定义
    • /mid/slots/{slot_key} 端点正确返回运行时值

Phase 3: 工具协同改造

Task 3.1: 改造 kb_search_dynamic 工具

  • 状态: 已完成
  • AC: AC-MRS-11
  • 描述: 改造 KB 动态检索工具,只消费 resource_filter 角色
  • 产出:
    • 修改 ai-service/app/services/mid/kb_search_dynamic_tool.py
    • 修改 ai-service/app/services/mid/metadata_filter_builder.py
  • 验收标准:
    • 只使用 field_roles 包含 resource_filter 的字段
    • 不影响现有功能

Task 3.2: 改造 memory_recall 工具

  • 状态: 已完成
  • AC: AC-MRS-12
  • 描述: 改造记忆召回工具,只消费 slot 角色
  • 产出:
    • 修改 ai-service/app/services/mid/memory_recall_tool.py
  • 验收标准:
    • 只使用 field_roles 包含 slot 的字段
    • 槽位合并逻辑正确

Task 3.3: 改造 intent_hint 和 high_risk_check 工具

  • 状态: 已完成
  • AC: AC-MRS-13
  • 描述: 改造意图提示和高风险检测工具,只消费 routing_signal 角色
  • 产出:
    • 修改 ai-service/app/services/mid/intent_hint_tool.py
    • 修改 ai-service/app/services/mid/high_risk_check_tool.py
  • 验收标准:
    • 只使用 field_roles 包含 routing_signal 的字段
    • 路由判断逻辑正确

Task 3.4: 改造 template_engine

  • 状态: 已完成
  • AC: AC-MRS-14
  • 描述: 改造模板引擎,只消费 prompt_var 角色
  • 产出:
    • 修改 ai-service/app/services/flow/template_engine.py
  • 验收标准:
    • 只使用 field_roles 包含 prompt_var 的字段
    • 模板渲染正确

Phase 4: 前端页面改造

Task 4.1: 元数据字段配置页面增加 field_roles

  • 状态: 已完成
  • AC: AC-MRS-15
  • 描述: 在元数据字段编辑表单中增加角色选择组件
  • 产出:
    • 创建 ai-service-admin/src/components/metadata/FieldRolesSelector.vue
    • 修改 ai-service-admin/src/views/admin/metadata-schema/index.vue
  • 验收标准:
    • 支持多选角色
    • 显示角色说明
    • 保存时正确提交

Task 4.2: 增加按角色过滤视图

  • 状态: 已完成
  • AC: AC-MRS-06
  • 描述: 在元数据字段列表页面增加角色过滤功能
  • 产出:
    • 修改 ai-service-admin/src/views/admin/metadata-schema/index.vue
  • 验收标准:
    • 下拉框选择角色
    • 过滤结果正确

Task 4.3: 槽位定义管理页面

  • 状态: 已完成
  • AC: AC-MRS-07, AC-MRS-08, AC-MRS-16
  • 描述: 创建槽位定义管理页面
  • 产出:
    • 创建 ai-service-admin/src/views/admin/slot-definition/index.vue
    • 创建 ai-service-admin/src/api/slot-definition.ts
    • 创建 ai-service-admin/src/types/slot-definition.ts
    • 更新 ai-service-admin/src/router/index.ts
    • 更新 ai-service-admin/src/App.vue 导航菜单
  • 验收标准:
    • 支持 CRUD 操作
    • 支持关联元数据字段

Phase 5: 测试与验收

Task 5.1: 单元测试

  • 状态: 已完成
  • AC: AC-MRS-01~16
  • 描述: 编写单元测试
  • 产出:
    • ai-service/tests/test_role_based_field_provider.py
    • ai-service/tests/test_slot_definition_service.py
    • ai-service/tests/test_field_roles.py
  • 验收标准:
    • 覆盖核心逻辑
    • 测试通过

Task 5.2: 集成测试

  • 状态: 待开始
  • AC: AC-MRS-01~16
  • 描述: 编写 API 集成测试
  • 产出:
    • ai-service/tests/api/test_metadata_field_roles.py
    • ai-service/tests/api/test_slot_definition.py
  • 验收标准:
    • 覆盖所有 API 端点
    • 测试通过

Task 5.3: 契约测试

  • 状态: 待开始
  • AC: AC-MRS-01~16
  • 描述: 验证 API 符合 OpenAPI 契约
  • 产出:
    • 运行契约测试
    • 修复不一致
  • 验收标准:
    • Provider 契约达到 L2 级别
    • 所有响应符合 Schema

任务依赖关系

Phase 1 (数据模型)
    │
    ├── Task 1.1 (扩展 MetadataFieldDefinition)
    ├── Task 1.2 (创建 SlotDefinition)
    ├── Task 1.3 (迁移脚本) ← 依赖 1.1, 1.2
    └── Task 1.4 (更新 Schema) ← 依赖 1.1, 1.2
            │
            ▼
Phase 2 (后端服务)
    │
    ├── Task 2.1 (RoleBasedFieldProvider) ← 依赖 1.4
    ├── Task 2.2 (扩展 MetadataFieldService) ← 依赖 1.4
    ├── Task 2.3 (SlotDefinitionService) ← 依赖 1.4
    ├── Task 2.4 (扩展 MetadataField API) ← 依赖 2.2
    ├── Task 2.5 (SlotDefinition API) ← 依赖 2.3
    └── Task 2.6 (运行时槽位 API) ← 依赖 2.1, 2.3
            │
            ▼
Phase 3 (工具改造)
    │
    ├── Task 3.1 (kb_search_dynamic) ← 依赖 2.1
    ├── Task 3.2 (memory_recall) ← 依赖 2.1
    ├── Task 3.3 (intent_hint/high_risk_check) ← 依赖 2.1
    └── Task 3.4 (template_engine) ← 依赖 2.1
            │
            ▼
Phase 4 (前端改造)
    │
    ├── Task 4.1 (field_roles 组件) ← 依赖 2.4
    ├── Task 4.2 (角色过滤视图) ← 依赖 2.4
    └── Task 4.3 (槽位定义页面) ← 依赖 2.5
            │
            ▼
Phase 5 (测试验收)
    │
    ├── Task 5.1 (单元测试) ← 依赖 Phase 2
    ├── Task 5.2 (集成测试) ← 依赖 Phase 2, 3, 4
    └── Task 5.3 (契约测试) ← 依赖 5.2

执行顺序建议

  1. Phase 1Phase 2Phase 3Phase 4Phase 5
  2. Phase 3 和 Phase 4 可并行执行
  3. 每个 Task 完成后需更新状态并提交

变更记录

日期 变更内容 变更人
2026-03-05 初始创建 AI Agent
2026-03-05 完成 Phase 3 工具协同改造 (Task 3.1-3.4) [AC-MRS-11~14] AI Agent
2026-03-05 完成 Phase 4 前端页面改造 (Task 4.1-4.3) [AC-MRS-06,07,08,15,16] AI Agent
2026-03-05 完成 Phase 2 后端服务实现 (Task 2.3-2.6) [AC-MRS-07~10,16] AI Agent
2026-03-05 完成 Task 5.1 单元测试 [AC-MRS-01~16] AI Agent