# 12306旅客管理系统 - AI辅助开发指南

## 项目概述

这是一个功能完整的12306旅客管理系统，采用Vue 3 + Spring Boot技术栈。

**技术栈**：
- 前端：Vue 3 + TypeScript + Element Plus + Pinia + Vite
- 后端：Java 17 + Spring Boot 3.2 + MyBatis-Plus + MySQL + Redis

---

## 核心理念：Harness Engineering

### 核心思想：不信任AI一次性输出

**Harness Engineering的核心**：通过**打分-反馈-修正**的闭环，确保AI输出质量。

```
Generator（生成器） → Grader（打分器） → 评分 ≥ 阈值？ → Yes: 输出 / No: 循环修正
```

### 为什么需要？

| 问题 | 解决方案 |
|------|----------|
| AI生成输出可能存在错误 | Grader检查质量问题 |
| 人工审核耗时耗力 | AI自检，自动化流程 |
| 一次性生成难以保证质量 | 迭代生成直到达标 |

### 适用阶段

Harness Engineering适用于软件开发的**所有阶段**：

| 开发阶段 | Generator | Grader检查点 |
|----------|-----------|--------------|
| **需求分析** | 生成User Story | Story是否完整、验收标准是否清晰 |
| **API设计** | 生成OpenAPI文档 | RESTful规范、端点一致性 |
| **数据库设计** | 生成DDL脚本 | 字段完整性、约束合理性 |
| **代码开发** | 生成源代码 | 符合项目规范、业务逻辑正确 |
| **测试用例** | 生成测试代码 | 覆盖率、边界条件 |
| **文档编写** | 生成文档 | 格式规范、内容完整 |

### Generator + Grader 标准Prompt模板

```markdown
## Generator + Grader 完整Prompt

# 角色定义
你是一个[领域]专家（Generator），同时也是一个资深[领域]架构师（Grader）。

# 任务
生成[产出物]。

# 生成标准（Generator必须遵循）
1. 标准1
2. 标准2
3. 标准3

# 评分标准（Grader评分依据）
| 维度 | 权重 | 评分标准 |
|------|------|----------|
| 完整性 | X% | 是否包含所有必要内容 |
| 正确性 | X% | 是否符合规范/标准 |
| 一致性 | X% | 与需求是否一致 |

# 评分阈值
- 总分 ≥ 80：✅ 通过，输出结果
- 总分 < 80：❌ 不通过，返回Generator重做

# 输出格式
## 生成结果
[产出物内容]

## 评分报告
- **总分**：X/100
- **通过**：✅ / ❌
- **问题列表**（如果<80）：
  1. [问题] → [修正方案]
```

### 评分维度参考

```
评分维度（可自定义）：
├── 完整性（Completeness）
│   └── 是否包含所有必要字段/功能
├── 正确性（Correctness）
│   └── 类型、约束、语法是否正确
├── 一致性（Consistency）
│   └── 与需求/标准是否一致
├── 可维护性（Maintainability）
│   └── 代码是否清晰可读
└── 最佳实践（Best Practices）
    └── 是否遵循领域标准
```

---

## 项目开发流程

### 推荐流程：AI辅助 + Harness Engineering

```
1. 需求分析（案例一）
   └── AI生成User Story → Grader评分 → 不达标则修正

2. API设计（案例二）
   └── AI生成OpenAPI → Grader评分 → 不达标则修正

3. 数据库设计（案例三）
   └── AI生成DDL → Grader评分 → 不达标则修正

4. 代码开发（案例五/六）
   └── AI生成代码 → Grader评分 → 不达标则修正

5. 测试生成（案例九/十）
   └── AI生成测试 → Grader评分 → 不达标则修正
```

---

## 项目结构

```
12306旅客管理/
├── docs/
│   ├── requirements/          # 需求文档
│   │   └── 案例一-AI辅助需求分析.md
│   ├── api/                   # API文档
│   │   ├── 案例二-AI辅助API设计.md
│   │   └── passenger-api.yaml
│   ├── design/                # 设计文档
│   │   ├── 案例三-AI辅助数据库设计.md
│   │   └── 案例三续-AI全自主审查优化.md
│   ├── test/                  # 测试文档
│   └── deploy/                # 部署文档
├── backend/                   # 后端项目
├── frontend/                 # 前端项目
├── database/                 # 数据库脚本
└── CLAUDE.md                 # 本文件
```

---

## AI辅助开发案例索引

| 案例 | 内容 | 状态 |
|------|------|------|
| 案例一 | AI辅助需求分析与User Story生成 | ✅ 完成 |
| 案例二 | AI辅助API契约设计与接口文档生成 | ✅ 完成 |
| 案例三 | AI辅助数据库设计与Schema生成 | ✅ 完成 |
| 案例三续 | AI全自主审查优化（Grader模式） | ✅ 完成 |
| 案例四 | AI辅助系统架构设计与模块划分 | 📋 待完成 |
| 案例五 | AI辅助后端CRUD开发 | 📋 待完成 |
| 案例六 | AI辅助前端组件开发 | 📋 待完成 |
| ... | ... | ... |

---

## 代码规范

### 后端（Java/Spring Boot）

- 遵循Spring Boot标准项目结构
- 使用MyBatis-Plus进行ORM
- API返回统一格式：`Result<T>`
- 详细注释业务逻辑

### 前端（Vue 3/TypeScript）

- 使用Composition API
- TypeScript严格模式
- 使用Element Plus组件库
- API层统一管理

---

## 注意事项

1. **AI输出需要验证**：即使使用Grader模式，重要逻辑仍需人工复核
2. **业务逻辑优先**：AI擅长模式化工作，复杂业务逻辑需要人工把关
3. **保持迭代**：根据实际效果调整Grader阈值和评分维度

---

*文档版本：1.0*
*更新日期：2026-05-14*
