# Autoflow Run

> 基于 autoflow-setup 生成的配置自动执行 ML/DL 项目流程。读取 .autoflow/ 配置目录，执行训练、推理、评估、预处理等任务，支持错误自动修复和参数调优。触发场景：(1) 用户说"运行自动化流程"或"执行训练/推理"；(2) 项目已有 .autoflow/ 配置目录；(3) 需要自动化执行和优化 ML/DL 任务。

- Skill: `cliffkai/autoflow-run` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add cliffkai/autoflow-run`
- Raw SKILL.md: https://api.skillmd.com/api/skills/cliffkai/autoflow-run/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: cliffkai (https://skillmd.com/u/cliffkai)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/cliffkai/autoflow-run

---


# Autoflow Run

基于 `autoflow-setup` 生成的 `.autoflow/` 配置，自动执行 ML/DL 项目的各种流程。

## 前置条件

项目根目录必须存在 `.autoflow/` 配置目录（由 `autoflow-setup` 生成）。

如果不存在，提示用户先运行 `autoflow-setup`。

## 工作流程

### Phase 1: 加载配置

读取 `.autoflow/` 目录下的所有配置文件：
- `project.yaml` - 项目信息
- `env.yaml` - 环境配置
- `paths.yaml` - 路径配置
- `commands.yaml` - 运行命令
- `hardware.yaml` - 硬件要求
- `misc.yaml` - 其他配置

### Phase 2: 确认任务

与用户确认要执行的任务：

| 任务类型 | 说明 |
|---------|------|
| preprocess | 数据预处理 |
| train | 模型训练 |
| evaluate | 模型评估 |
| inference | 模型推理 |
| custom | 自定义命令 |

### Phase 3: 环境准备

1. 激活配置中指定的环境
2. 验证关键依赖可用
3. 检查路径是否存在（数据集、模型等）
4. 检查硬件要求（GPU 可用性等）

### Phase 4: 执行任务

根据用户选择执行相应命令：

```
1. 显示即将执行的命令
2. 用户确认后执行
3. 实时显示输出
4. 捕获错误和警告
```

### Phase 5: 错误处理与优化

**自动错误处理：**

| 错误类型 | 自动处理策略 |
|---------|-------------|
| CUDA out of memory | 建议减小 batch_size，提供修改命令 |
| Module not found | 自动安装缺失依赖 |
| File not found | 检查路径配置，提示用户确认 |
| Permission denied | 提示权限问题，建议解决方案 |

**参数调优建议：**

根据执行结果提供优化建议：
- 训练速度慢 → 建议启用混合精度、调整 num_workers
- 显存不足 → 建议梯度累积、减小模型规模
- 过拟合 → 建议增加正则化、数据增强

### Phase 6: 结果记录

执行完成后更新 `.autoflow/` 配置：
- 记录执行时间和结果
- 更新 `misc.yaml` 中的 troubleshooting（如有新问题）
- 保存成功的参数配置

## 支持的操作

### 1. 单任务执行

```
用户: "运行训练"
→ 读取 commands.yaml 中的 train 命令
→ 激活环境并执行
```

### 2. 流水线执行

```
用户: "运行完整流程"
→ 按顺序执行: preprocess → train → evaluate
→ 每步完成后确认是否继续
```

### 3. 参数覆盖

```
用户: "用 batch_size=16 运行训练"
→ 在原命令基础上覆盖参数
→ 记录本次使用的参数
```

### 4. 断点续训

```
用户: "从 checkpoint 继续训练"
→ 检查 paths.yaml 中的 checkpoint_dir
→ 找到最新 checkpoint 并恢复
```

## 执行步骤

1. **检查配置存在**
   ```
   检查 .autoflow/ 目录是否存在
   不存在则提示运行 autoflow-setup
   ```

2. **读取所有配置**
   ```
   使用 Read 工具读取所有 yaml 文件
   解析并验证配置完整性
   ```

3. **确认执行任务**
   ```
   使用 AskUserQuestion 确认：
   - 要执行的任务类型
   - 是否需要覆盖参数
   - 是否需要特殊处理
   ```

4. **准备执行环境**
   ```
   激活 Python 环境
   验证依赖和路径
   检查硬件可用性
   ```

5. **执行命令**
   ```
   使用 Bash 工具执行命令
   实时监控输出
   捕获错误信息
   ```

6. **处理结果**
   ```
   成功: 显示结果摘要，更新配置
   失败: 分析错误，提供解决方案
   ```

## 注意事项

- 执行前始终显示完整命令让用户确认
- 长时间运行的任务使用后台执行（run_in_background）
- 保留执行日志供后续分析
- 敏感操作（如删除文件）需要额外确认

