# 2026-07-24 工作计划

本文基于 `docs/2026-07-23-development-summary.md`、当前 B+D 开发进度，以及 2026-07-24 已完成的训练预检、失败诊断、资源修复异步化能力整理。后续开发仍按正式系统演进推进，不以临时演示能力作为交付标准。

## 1. 当前完成基线

### 1.1 训练创建与预检

- 对应页面：`模型微调 / 创建训练任务`
- 已完成能力：
  - 创建训练前调用训练预检接口。
  - 展示真实 LLaMA-Factory 命令预览。
  - 展示预检节点、错误、警告和中文诊断建议。
  - 后端预检不创建任务、不落库、不占用调度锁。
  - 后端兼容 `base_model/train_dataset_id` 和 `model_id/dataset_id` 两套字段。
- 对应接口：
  - `POST /modelTF/fine-tune/preflight`
  - `POST /modelTF/fine-tune/command-preview`

### 1.2 训练日志与失败诊断

- 对应页面：`系统日志 / 训练日志`
- 已完成能力：
  - 训练失败或停止后可查询诊断建议。
  - 根据训练日志和失败原因识别模型路径、数据集字段、CUDA/GPU、LLaMA-Factory 命令等常见问题。
  - 页面以中文展示失败诊断。
- 对应接口：
  - `GET /modelTF/fine-tune/{task_id}/diagnostics`

### 1.3 算力节点与资源修复

- 对应页面：`算力平台 / 算力节点`
- 已完成能力：
  - 算力节点可配置、可测试连接、可查看 GPU 与健康状态。
  - 资源副本 repair 改为异步提交。
  - 页面展示资源同步任务进度，避免长请求阻塞页面。
- 对应接口：
  - `POST /modelTF/compute/nodes/{node_id}/replicas/repair`
  - `GET /modelTF/compute/sync-jobs/{sync_id}`

## 2. 未完成任务清单

### P0：真实训练成功闭环

- 对应页面：
  - `模型管理 / 新增模型`
  - `数据集管理 / 上传数据集`
  - `模型微调 / 创建训练任务`
  - `系统日志 / 训练日志`
- 未完成内容：
  - 基座模型必须支持算力服务器本地路径校验，避免选择 API 模型或应用侧路径后进入训练。
  - 数据集必须支持上传后格式校验，提前发现 Alpaca、ShareGPT、DPO、CPT 字段不匹配问题。
  - 训练成功后需要完成模型产物扫描、产物入库、训练任务状态回填。
  - 训练失败时需要强制拉取最后日志片段，保证失败原因可见。
- 后端开发：
  - 增强模型路径校验，明确区分 `本地训练模型`、`API 模型`、`已训练模型`。
  - 增加数据集格式校验服务，支持字段级错误返回。
  - 完善训练任务完成后的 artifact 回填逻辑。
- Compute 开发：
  - 训练结束后扫描输出目录。
  - 返回产物列表、文件大小、目录结构、训练日志路径。
- 验收标准：
  - 使用算力节点可访问的本地模型路径和合法数据集，可以完成一次真实 LLaMA-Factory 训练。
  - 训练成功后页面能看到完成状态、输出目录、模型产物。
  - 训练失败时页面能看到中文诊断和最后错误日志。

### P0：LLaMA-Factory 参数映射完善

- 对应页面：`模型微调 / 创建训练任务`
- 未完成内容：
  - SFT、DPO、CPT 参数映射仍需细化。
  - LoRA、Full、QLoRA、量化导出参数需要按训练方式校验。
  - 不同模板与数据集格式之间的兼容关系需要预检。
- 后端开发：
  - 建立训练参数标准化层。
  - 建立训练方式到 LLaMA-Factory 参数的映射表。
  - 对无效组合返回中文错误，例如 DPO 缺少 rejected 字段、CPT 不应使用 instruction/output 格式等。
- 验收标准：
  - 页面选择不同训练方式时，预检能返回准确命令。
  - 无效参数组合不能启动训练。

### P1：资源副本 repair 自动重同步

- 对应页面：`算力平台 / 算力节点`
- 未完成内容：
  - repair 当前已异步化，但还需要基于权威源路径自动重同步。
  - 修复完成后需要重新校验副本状态。
- 后端开发：
  - 为模型、数据集、训练产物定义权威源路径。
  - repair job 根据权威源自动发起重传或重新扫描。
  - 修复完成后更新 replica 状态、checksum、错误原因。
- Compute 开发：
  - 支持接收重同步请求。
  - 支持按资源类型写入目标路径并返回校验信息。
- 验收标准：
  - 将副本标记为异常后，点击修复可自动完成重同步并恢复为正常。

### P1：artifact checksum 与 manifest

- 对应页面：
  - `模型管理 / 已训练模型`
  - `模型管理 / 模型详情`
  - `算力平台 / 资源副本`
- 未完成内容：
  - artifact checksum 目前仍是预留字段。
  - 大目录需要 manifest 文件，避免每次递归扫描成本过高。
- 后端开发：
  - 增加 artifact checksum 回填逻辑。
  - 增加 manifest 解析和存储字段。
- Compute 开发：
  - export 或训练完成后扫描文件并生成 checksum。
  - 对大模型目录生成 manifest。
- 验收标准：
  - 模型产物列表能展示 checksum、大小、文件数、生成时间。
  - 副本校验可以基于 checksum 判断一致性。

### P1：模型导出闭环

- 对应页面：
  - `模型管理 / 已训练模型`
  - `模型管理 / 导出任务`
  - `模型管理 / 合并权重`
- 未完成内容：
  - 导出任务、量化导出、导出日志、失败重试、产物下载仍需完善。
- 后端开发：
  - 完善 export job 创建、查询、取消、重试接口。
  - 导出完成后登记 artifact 和 lineage。
- Compute 开发：
  - 支持 LoRA 合并、GGUF/量化导出、导出日志回传。
- 验收标准：
  - 已训练模型可发起导出。
  - 导出状态、日志、产物可在页面查看。

### P1：多算力节点调度增强

- 对应页面：`算力平台 / 算力节点`
- 未完成内容：
  - 当前已有节点配置和基础调度，但生产级调度策略仍需增强。
  - 需要支持节点标签、权重、启用状态、容量、手动指定节点。
- 后端开发：
  - 增强调度策略：标签匹配、权重、当前任务数、GPU 占用、显存约束。
  - 增加任务排队和等待原因。
  - 增加 GPU 分配释放的异常恢复。
- 前端开发：
  - 创建训练时支持可选手动指定节点。
  - 算力节点页展示容量、排队数、当前任务。
- 验收标准：
  - 多节点时可以自动选择合适节点。
  - 节点不可用时页面能明确展示不可调度原因。

### P2：训练日志实时性优化

- 对应页面：`系统日志 / 训练日志`
- 未完成内容：
  - 当前依赖应用侧轮询，日志实时性和失败最后日志仍需增强。
- 后端开发：
  - 支持日志 offset/tail 增量读取。
  - 任务失败时强制同步最后日志片段。
  - 日志接口返回来源、偏移量、是否截断。
- 前端开发：
  - 日志页按 offset 增量刷新。
  - 失败时自动跳到底部并展示最后错误。
- 验收标准：
  - 训练过程中日志持续刷新。
  - 失败后无需手动刷新即可看到最后错误。

### P2：权限、审计和治理落点补齐

- 对应页面：
  - `用户中心`
  - `项目管理`
  - `模型管理`
  - `数据集管理`
  - `模型微调`
  - `算力平台`
- 未完成内容：
  - 训练链路中的租户、项目、用户权限校验还需要细粒度补齐。
  - 审计事件需要覆盖训练创建、启动、停止、删除、导出、资源修复。
- 后端开发：
  - 接口增加项目/租户上下文校验。
  - 增加审计事件写入。
  - 删除和高风险操作进入审批流。
- 验收标准：
  - 用户只能访问授权项目内的模型、数据集和训练任务。
  - 关键操作可以在审计日志中查询。

### P2：模型评测页面真实闭环

- 对应页面：`模型评测`
- 未完成内容：
  - 评测任务创建、运行、日志、指标、结果对比仍需接入真实后端。
- 后端开发：
  - 评测任务表、评测指标表、评测日志接口。
  - 支持指定模型、数据集、评测模板和指标。
- Compute 开发：
  - 支持评测任务执行器。
  - 返回指标结果和日志。
- 验收标准：
  - 可创建评测任务并看到运行状态、指标结果和失败原因。

### P2：模型推理页面真实闭环

- 对应页面：
  - `模型推理 / 推理服务`
  - `模型推理 / 对话测试`
  - `模型对比`
- 未完成内容：
  - 推理服务启动、停止、健康检查、会话请求、资源释放仍需完善。
- 后端开发：
  - 推理服务实例管理接口。
  - 对话请求代理接口。
  - 推理日志和资源占用查询。
- Compute 开发：
  - 支持启动本地模型推理服务。
  - 支持停止服务和释放 GPU。
- 验收标准：
  - 可从页面启动一个已训练模型的推理服务。
  - 可进行对话测试并查看服务状态。

## 3. 推荐开发顺序

1. 完成真实训练成功闭环。
2. 完成数据集格式校验和 LLaMA-Factory 参数映射。
3. 完成 artifact、checksum、manifest 和模型导出闭环。
4. 完成资源副本 repair 自动重同步。
5. 完成多算力节点调度增强。
6. 完成训练日志实时性优化。
7. 补齐权限、审批、审计治理落点。
8. 启动模型评测真实闭环开发。
9. 启动模型推理真实闭环开发。

## 4. 下一轮优先执行任务

### 任务 1：训练模型路径治理

- 页面：`模型管理 / 新增模型`、`模型微调 / 创建训练任务`
- 内容：
  - 新增模型时区分是否可用于训练。
  - API 模型不能作为 LLaMA-Factory 本地训练基座。
  - 本地模型路径必须是算力节点可访问路径。
- 验收：
  - 选择不可训练模型时，训练创建页预检直接给出中文错误。

### 任务 2：数据集格式校验

- 页面：`数据集管理 / 上传数据集`、`模型微调 / 创建训练任务`
- 内容：
  - 上传后扫描样本字段。
  - 支持 Alpaca、ShareGPT、DPO、CPT 校验。
  - 返回字段缺失、类型错误、空样本等问题。
- 验收：
  - `111.json` 这类数据可以明确判断是否满足当前训练模板。

### 任务 3：训练完成产物入库

- 页面：`模型微调 / 任务列表`、`模型管理 / 已训练模型`
- 内容：
  - Compute 训练成功后返回输出目录。
  - 应用侧轮询后创建 trained model 记录。
  - 写入 artifact、lineage、export job 初始状态。
- 验收：
  - 训练完成后无需手动登记，模型管理中自动出现新模型。

### 任务 4：失败日志最后片段拉取

- 页面：`系统日志 / 训练日志`
- 内容：
  - 任务失败时立即拉取最后 N 行日志。
  - 页面展示最后错误、诊断建议和原始日志。
- 验收：
  - 训练失败后页面不再只看到“失败”，可以直接看到失败原因。

## 5. 当前测试注意事项

- 当前环境中已有算力节点可访问，但 GPU 为 2GB 显存，预检会提示显存不足，这是符合预期的生产校验结果。
- 若要验证真实训练成功，需要提前准备：
  - 算力节点可访问的本地基座模型目录。
  - 合法训练数据集文件。
  - 足够显存的 GPU。
  - Compute 容器内可用的 LLaMA-Factory 和 `llamafactory-cli`。
- 当前前端 `dist` 已按要求参与构建更新，后续修改前端页面后需要重新执行 `npm run build`。
