Files
YG_FT/docs/team-development-plan.md
2026-07-27 09:12:47 +08:00

14 KiB
Raw Blame History

多人并行开发分工计划

本文基于 docs/menu-functional-requirements.mddocs/backend-api-design.mddocs/postgres-schema.sqldocs/system-development-plan.md 和当前前端路由整理,用于 3-4 人并行开发。开发口径以正式系统演进为准,不以临时演示或静态 Mock 作为交付标准。

1. 分工原则

  • 每位开发尽量独立负责一组页面、后端模块、数据库表和联调脚本,避免多人同时改同一个业务文件。
  • 公共接口契约先在 docs/backend-api-design.md 更新,再进入代码实现。
  • 前端 API 模块按业务域维护:system.tsmodel.tsdataset.tsfineTune.tscompute.tseval.tslog.ts
  • 后端业务代码按 backend/app/modules/<domain>/ 拆分,路由统一挂载 /modelTF
  • 数据库按迁移脚本推进,目标模型以 docs/postgres-schema.sql 为准,当前运行库脚本以 backend/app/db/sql/ 为准。
  • 所有写操作必须预留审计;涉及删除、导出、发布、停止他人任务等高风险动作必须预留审批入口。

2. 4 人开发拆分

A. 平台基础与企业治理

负责人边界:

  • 前端目录:frontend/src/views/login/frontend/src/views/system/,后续新增 tenantsprojectsapprovalsaudit 页面目录。
  • 前端 APIfrontend/src/api/modules/system.tsfrontend/src/api/modules/log.ts
  • 后端模块:authtenantprojectapprovalauditretentionsystem
  • 数据库表:userspermissionsrolesrole_permissionsuser_permission_overridestenantstenant_usersprojectsproject_membersresource_aclapproval_templatesapproval_instancesapproval_stepsaudit_logsretention_policies

对应页面和功能:

页面/模块 路由 功能点 接口
登录 /login 登录、Token 写入、登录失败提示、会话恢复 POST /modelTF/loginGET /modelTF/me
用户设置 /user-settings/user-settings/create/user-settings/:id/permission 用户列表、创建、启停、重置密码、页面权限 /modelTF/users/*/modelTF/permissions
平台性能 /hardware 系统资源、进程、GPU 摘要 /modelTF/system-info/modelTF/compute/gpus
查看日志 /logs/training-log/:id 后端日志、error 日志、训练日志索引和内容 /modelTF/log-files/modelTF/log-content/modelTF/training-log-*
租户管理 /tenants/tenants/:id 租户、配额、留存策略 /modelTF/tenants/*/modelTF/retention-policies/*
项目空间 /projects/projects/:id/projects/:id/members 项目、成员、项目角色 /modelTF/projects/*
资源授权 /resources/:type/:id/acl 或弹窗 模型/数据集/任务 ACL /modelTF/resources/{type}/{id}/acl
审批中心 /approvals/approval-settings 审批待办、审批历史、审批模板 /modelTF/approvals/*/modelTF/approval-templates/*
审计中心 /audit-logs 操作审计、登录审计、导出 /modelTF/audit-logs

开发计划:

阶段 交付内容
第 1 周 完成登录、当前用户、用户列表、权限码、日志查询接口;完善当前运行 SQL。
第 2 周 完成租户、项目、项目成员、资源 ACL 后端和基础页面。
第 3 周 完成审批实例、审批模板、审计日志查询和导出。
第 4 周 接入其他模块写操作审计和审批拦截,补充权限测试。

验收标准:

  • 所有业务列表按租户、项目、资源 ACL 过滤。
  • 普通用户无法访问未授权项目、模型和数据集。
  • 高风险动作有审批或管理员旁路规则。
  • 日志文件和审计日志可按时间、用户、动作、资源筛选。

B. 模型资产、训练与 LLaMA-Factory 任务

负责人边界:

  • 前端目录:frontend/src/views/model/frontend/src/views/fine-tune/
  • 前端 APIfrontend/src/api/modules/model.tsfrontend/src/api/modules/fineTune.ts
  • 后端模块:modelfine_tuneengine_registrycompute_gateway 中的训练编排部分。
  • 数据库表:modelstrained_modelsfine_tune_tasksfine_tune_metricsfine_tune_checkpointstraining_enginestraining_engine_capabilitiescompute_jobsgpu_allocations

对应页面和功能:

页面/模块 路由 功能点 接口
模型管理 /model-manage 基座模型、API 模型、训练产物列表、筛选、删除审批入口 /modelTF/model-manage/modelTF/model-manage/trained-models
添加/编辑模型 /model-manage/create/model-manage/:id/edit 模型登记、本地路径/API 配置、能力标签 /modelTF/model-manage/modelTF/model-manage/{id}
合并权重 /model-manage/merge LoRA/Adapter 合并、产物登记 /modelTF/model-manage/merge
模型训练 /fine-tune 训练任务列表、状态、启动、停止、删除审批入口 /modelTF/fine-tune/modelTF/fine-tune/{id}/start/stop
创建训练任务 /fine-tune/create 选择模型、数据集、超参、GPU、节点策略 /modelTF/fine-tune/modelTF/model-manage/modelTF/dataset-manage/modelTF/compute/*
训练日志 /training-log/:id 实时日志、loss 曲线、checkpoint、产物 /modelTF/fine-tune/{id}/progress/metrics/checkpoints/modelTF/training-log-*

开发计划:

阶段 交付内容
第 1 周 完成模型 CRUD、训练任务 CRUD、训练参数校验和接口联调。
第 2 周 完成训练启动、停止、状态轮询、日志和指标落库。
第 3 周 完成 LLaMA-Factory 参数映射、checkpoint 列表、训练产物登记。
第 4 周 完成权重合并、失败恢复、权限隔离和审计接入。

验收标准:

  • 训练任务不能绕过项目、模型、数据集权限。
  • 训练任务状态以应用侧轮询 Compute API 为主。
  • 训练命令只能由训练引擎适配层生成,不在页面或应用 API 中拼命令。
  • checkpoint、日志、产物均可追溯到任务、节点、GPU 和项目。

C. 数据集、数据处理、评测与推理

负责人边界:

  • 前端目录:frontend/src/views/dataset/frontend/src/views/data-process/frontend/src/views/data-convert/frontend/src/views/eval/frontend/src/views/inference/frontend/src/views/compare/frontend/src/views/tools/
  • 前端 APIdataset.tseval.tscompare.ts,必要时新增 dataProcess.tsdataConvert.tsinference.ts
  • 后端模块:datasetdata_processevalinferencefile_gateway 中的数据资产登记部分。
  • 数据库表:datasetsdataset_filesdataset_file_versionsdataset_recordsdata_process_tasksdata_process_source_filesdata_process_preview_itemsdata_process_resultsdata_convert_jobseval_taskseval_dimensionseval_sample_resultsinference_taskschat_sessionschat_messagescustom_tools

对应页面和功能:

页面/模块 路由 功能点 接口
数据集管理 /dataset 数据集列表、搜索、版本、下载、删除审批入口 /modelTF/dataset-manage
数据集创建/编辑 /dataset/create/dataset/:id/edit 元数据、文件上传、格式识别、项目归属 /modelTF/dataset-manage/upload/{id}
数据集预览 /dataset/:id/preview 分页预览、在线编辑、版本对比 /modelTF/dataset-manage/{id}/preview/versions
数据处理 /data-process/data-process/create/data-process/:id 文档上传、切片、脱敏、质量评分、发布数据集 /modelTF/data-process/*
数据类型转换 /data-convert JSON/JSONL/Markdown 转换任务 /modelTF/data-convert/jobs/*
模型评测 /model-eval/model-eval/create/model-eval/:id 评测任务、维度、样本级结果、人工复核预留 /modelTF/model-eval/*/modelTF/dimension/*
模型推理/对比 /model-inference/*/model-compare/* 模型加载、对话、对比、结果沉淀 /modelTF/model-chat/*/modelTF/model-compare/*
自定义工具 /tools/tools/create/tools/:id/edit 工具登记、参数 schema、启停 /modelTF/tools/*

开发计划:

阶段 交付内容
第 1 周 完成数据集 CRUD、上传、预览、版本接口和页面联调。
第 2 周 完成数据处理任务、切片预览、质量评分和发布数据集。
第 3 周 完成评测任务、评测维度、样本结果查询。
第 4 周 完成推理会话、模型对比、数据转换、自定义工具基础能力。

验收标准:

  • 数据文件必须登记存储对象、checksum、版本和项目归属。
  • 数据处理产物发布为数据集时保留来源链路。
  • 评测和推理必须记录使用的模型版本、数据集版本和参数快照。
  • 下载、删除、导出等动作必须接入审计和审批策略。

D. 算力平台、部署与运维

负责人边界:

  • 前端目录:frontend/src/views/compute/,协助 system/HardwareView.vue
  • 前端 APIfrontend/src/api/modules/compute.ts
  • 后端模块:compute_gatewayengine_registryfile_gatewaysystem 中的资源采集部分。
  • 算力目录:compute/api/compute/agent/compute/engines/llama_factory/compute/file_gateway/
  • 部署目录:docker/app/docker/compute/docker/README.mddocs/deployment-plan.md
  • 数据库表:compute_nodesgpu_devicescompute_node_enginescompute_jobsgpu_allocationsresource_replicasresource_sync_jobssystem_metric_snapshotsstorage_objects

对应页面和功能:

页面/模块 路由 功能点 接口
算力节点 /compute/compute?tab=nodes 节点地址、File Gateway 地址、权重、标签、启用状态、连接测试 /modelTF/compute/nodes/*
GPU 资源 /compute?tab=gpus/hardware GPU 显存、利用率、温度、分配状态、节点归属 /modelTF/compute/gpus/modelTF/system-info
任务队列 /compute?tab=queue 队列、优先级、占用 GPU、任务状态 /modelTF/compute/queue
资源副本 /compute 节点详情 模型/数据集在算力节点上的同步状态 /modelTF/compute/nodes/{id}/replicas
文件网关 无独立页面,供模型/数据/训练调用 上传、下载、离线导入、产物归档 应用侧 /modelTF/* 编排,算力侧内部 File Gateway API
部署运维 文档和 Compose 应用/算力分离部署、端口、镜像、日志、健康检查 Docker Compose、健康检查接口

开发计划:

阶段 交付内容
第 1 周 完成 Compute API 健康检查、GPU 发现、节点登记和连接测试。
第 2 周 完成任务状态查询、应用侧轮询、资源副本状态同步。
第 3 周 完成 LLaMA-Factory 容器/宿主机路径适配、日志采集、训练进程管理。
第 4 周 完成应用/算力两套 Docker Compose、部署文档、故障排查脚本。

验收标准:

  • 多算力节点阶段仍按“每台算力服务器 = 单机多 GPU 节点”设计。
  • 每台算力服务器都部署 Compute API、Agent、File Gateway 和 LLaMA-Factory。
  • 应用服务器只需主动访问所有算力节点,不要求算力节点反向访问应用服务器。
  • 节点地址、权重、标签、启用状态必须可动态维护。

3. 3 人开发合并方案

如果团队只有 3 人,建议合并为:

开发人员 合并内容 不建议合并的原因
A 平台基础与企业治理 该部分是所有模块的权限和隔离底座,不宜再叠加训练或数据主链路。
B 模型资产、训练与 LLaMA-Factory 任务 模型和训练强耦合,适合一人端到端打通。
C 数据集、数据处理、评测、推理、算力部署协同 数据链路和评测推理使用相同数据/模型资产;算力底层可先由 C 搭骨架,后续扩人拆出 D。

若进入真实 GPU 联调阶段,必须优先把 D 独立出来,否则训练问题、部署问题和业务问题会混在一起,排障效率会明显下降。

4. 公共契约和协作节奏

公共契约负责人建议由 A 兼任,所有人遵守:

契约 文件 变更规则
路由前缀 backend/app/core/config.pybackend/app/api/v1/router.py、接口文档 统一 /modelTF,不得新增 /api 前缀
响应结构 frontend/src/api/request.ts、后端 schema 统一 { code, message, data }
权限码 frontend/src/types/index.tspermissions 表、接口文档 新菜单先登记权限码再开发
项目隔离 project_idtenant_idresource_acl 所有模型、数据集、任务必须带项目归属
审计动作 audit_logs、后端审计中间件/服务 写操作默认审计
异步状态 任务表、compute_jobs 统一 pending/running/completed/failed/stopped
文件存储 storage_objects、File Gateway 不暴露宿主机绝对路径给前端

建议节奏:

  • 每周一上午同步接口契约和数据库迁移计划。
  • 每天下午固定一次跨模块联调窗口,优先处理阻塞其他人的接口。
  • 每个模块 PR 必须包含页面入口、接口说明、SQL/迁移、最小验证步骤。
  • 公共文件如 frontend/src/types/index.tsbackend/app/core/*docs/backend-api-design.md 由对应 owner 统一合并,其他人通过小 PR 提交变更。

5. 里程碑

里程碑 目标 必须完成
M1 基础可用 用户登录、模型/数据集/训练主链路可运行 A 登录权限B 模型训练C 数据集D 单节点 GPU 状态
M2 企业隔离 多租户、项目、资源 ACL 接入主链路 所有资源按租户/项目过滤,审计落库
M3 训练闭环 LLaMA-Factory 真实训练、日志、checkpoint、产物登记 应用侧轮询 Compute API训练产物可在模型管理查看
M4 治理闭环 审批、审计、留存、导出、部署文档完善 高风险动作审批,审计可检索,应用/算力分离部署可复现