File size: 2,806 Bytes
d536096
 
 
 
 
 
 
0bb564a
11ac7be
0bb564a
 
11ac7be
0bb564a
11ac7be
 
 
 
0bb564a
11ac7be
 
0bb564a
 
11ac7be
 
 
 
 
0bb564a
 
 
 
 
 
11ac7be
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
0bb564a
d536096
0bb564a
 
 
d536096
11ac7be
 
 
 
0bb564a
11ac7be
 
0bb564a
11ac7be
 
 
 
 
 
 
0bb564a
11ac7be
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
---
title:  Agent 训练与调试实验室
short_description:  Agent 训练与调试实验室
sdk: docker
app_port: 7860
---

# 多 Agent 训练与调试小实验(完整闭环版)

一个“模型训练 + 调试 + 多 agent 协作 + 推理验证”的小而美项目:用纯 Python(标准库)实现二分类 Logistic Regression 的训练流水线,并用多 agent 编排完成闭环。
**新增升级**:支持用户上传真实的 CSV 数据集,并在训练完成后进行实际的模型推理!

数据生成/读取 → 训练 → 评估 → 自动诊断(debug)→ 自动修复(调参)→ 复训 → 生成报告与可复现产物 → **模型推理**

## 你能看到的技术点

- 多 agent 协作框架(消息总线 + 共享产物仓库 + 编排器)
- 真实数据接入闭环(支持 CSV 动态解析)
- 可复现训练(seed 固化、配置落盘、指标 JSONL 记录)
- 训练稳定性调试(NaN/发散/过拟合/欠拟合的规则诊断与自动修复策略)
- 训练产物闭环(runs/ 下保留:config、transcript、metrics、report、模型参数)
- **在线推理闭环(一键将最新模型拉起,进行数据预测)**

## 快速开始

在本目录执行:

```bash
python3 app.py
```

或者使用命令行模式:

```bash
python3 -m multi_agent_lab --scenario unstable
```

你会看到第一次训练故意使用“偏激的学习率”导致不稳定,随后 DebuggerAgent 给出修复方案并自动复训,最后输出报告。

也可以直接跑“稳定版”:

```bash
python3 -m multi_agent_lab --scenario stable
```

## 运行测试(冒烟)

```bash
python3 -m unittest discover -s tests -q
```

## Web UI 说明

执行 `python3 app.py` 启动后会在 7860 端口提供一个强大的 Web UI:
- **模型训练与多 Agent 调试**:可一键跑 stable/unstable 场景,或者上传你自己的 `.csv` 数据集进行真实场景的模型训练。
- **模型推理测试**:使用最新跑完的模型,输入逗号分隔的特征,即可预测出类别和概率。

## 目录结构

- multi_agent_lab/:核心代码
  - agents/:不同角色 agent(数据、训练、评估、调试、报告)
  - ml/:最小可用的训练与数据处理实现(logreg + SGD + CSV解析)
- runs/:每次运行自动生成(可忽略、可清理)
- tests/:最小冒烟测试
- app.py: 启动包含训练与推理双向闭环的 Web UI

## 产物说明(runs/<run_id>/)

- config.json:本次训练的最终配置(包含调试后的修复参数)
- transcript.jsonl:多 agent 消息流水(协作过程可回放)
- metrics.jsonl:每个 epoch 的训练/验证指标
- report.md / report.json:可读报告 + 结构化摘要
- model.attemptX.json:模型权重与偏置,用于下游推理