🚀 端到端代码生成系统

End-to-End Code Generation System

生成时间:2026 年 3 月 15 日

📋 项目概述

本系统是一个完整的端到端代码生成平台,实现了从产品需求文档 (PRD) 到可运行代码的自动化生成流程。系统集成了 Claude Code 和 OpenClaw 两种 AI 模型,支持人机协同审查,提供完整的项目管理、需求追踪、技术设计、代码生成、测试生成和部署管理能力。

50+
核心模块文件
12
API 路由组
100+
API 端点
2
AI 集成方案

✨ 核心功能特性

📝 PRD 智能解析

自动解析产品需求文档,提取功能需求、API 规范、数据模型等关键信息,为代码生成提供结构化输入。

🤖 AI 代码生成

集成 Claude Code 和 OpenClaw,根据 PRD 和技术设计自动生成高质量的后端、前端、测试代码。

🔗 需求追踪矩阵

建立需求 -PRD- 设计 - 代码 - 测试的完整追踪链路,确保每个需求都有对应的实现和验证。

👥 人机协同审查

支持人工审查 AI 生成的代码,提供反馈循环,持续优化生成质量。

🧪 自动化测试

根据需求和代码自动生成单元测试、集成测试用例,确保代码质量。

🚀 一键部署

生成 Dockerfile、Kubernetes 配置,支持多环境部署和回滚机制。

🏗️ 系统架构

表示层 (Presentation Layer)
REST API
FastAPI
Web UI
React/Vue
CLI Tool
Python
应用层 (Application Layer)
项目管理
ProjectService
PRD 管理
PRDService
代码生成
CodeGenerator
工作流引擎
WorkflowEngine
领域层 (Domain Layer)
需求模型
Requirement
PRD 模型
PRD
API 设计
APIDesign
代码任务
CodeGenerationTask
基础设施层 (Infrastructure Layer)
数据库
PostgreSQL/SQLite
AI 集成
Claude/OpenClaw
文件存储
Local/S3
消息队列
RabbitMQ

📁 项目文件结构

end_to_end_research_system/ ├── main.py # 主应用入口 ├── config.py # 配置管理 │ ├── models/ # 数据模型层 │ ├── __init__.py │ ├── base.py # 基础模型类 │ ├── project.py # 项目模型 │ ├── requirement.py # 需求模型 │ ├── prd.py # PRD 模型 │ ├── technical_design.py # 技术设计模型 │ ├── code_generation.py # 代码生成模型 │ ├── user.py # 用户模型 │ ├── workflow.py # 工作流模型 │ ├── test_case.py # 测试用例模型 │ └── deployment.py # 部署模型 │ ├── schemas/ # Pydantic 模式 │ ├── __init__.py │ ├── project.py │ ├── requirement.py │ ├── prd.py │ ├── technical_design.py │ ├── code_generation.py │ ├── user.py │ ├── workflow.py │ ├── test_case.py │ └── deployment.py │ ├── services/ # 业务逻辑层 │ ├── __init__.py │ ├── project_service.py │ ├── requirement_service.py │ ├── prd_service.py │ ├── technical_design_service.py │ ├── code_generation_service.py │ ├── user_service.py │ ├── workflow_service.py │ ├── test_service.py │ └── deployment_service.py │ ├── routes/ # API 路由层 │ ├── __init__.py │ ├── project_routes.py │ ├── requirement_routes.py │ ├── prd_routes.py │ ├── technical_design_routes.py │ ├── code_generation_routes.py │ ├── user_routes.py │ ├── workflow_routes.py │ ├── ai_integration_routes.py │ ├── test_routes.py │ └── deployment_routes.py │ ├── generators/ # 代码生成器 │ ├── __init__.py │ ├── code_generator.py # AI 代码生成器 │ └── template_engine.py # 模板引擎 │ ├── integrations/ # 外部集成 │ ├── __init__.py │ ├── claude_integration.py # Claude Code 集成 │ └── openclaw_integration.py # OpenClaw 集成 │ ├── utils/ # 工具函数 │ ├── __init__.py │ ├── validators.py │ └── helpers.py │ ├── requirements.txt # Python 依赖 ├── setup.py # 安装脚本 └── README.md # 项目文档

🔄 核心工作流程

1
创建项目与需求

用户创建项目,录入原始需求清单 (Requirements),系统自动分配唯一编码并建立需求追踪矩阵的起点。

2
生成 PRD 文档

基于需求清单,系统辅助生成或导入完整的 PRD 文档,包含功能需求、非功能需求、API 规范、数据模型等章节。PRD 与需求建立双向关联。

3
技术设计与 API 设计

根据 PRD 进行技术架构设计,定义 API 端点、请求/响应 schema、数据库表结构。每个 API 设计关联到对应的 PRD 章节和需求。

4
启动代码生成任务

创建 CodeGenerationTask,指定生成范围(后端/前端/测试)、目标语言、框架、AI 提供商。任务关联 PRD、API 设计、需求作为输入上下文。

5
AI 代码生成执行

AICodeGenerator 调用 Claude Code 或 OpenClaw,传入结构化的 PRD 内容、API 设计规范、项目上下文,生成代码文件。生成的代码保存到 GeneratedCode 表,并与任务、需求建立关联。

6
人机协同审查 (可选)

如果任务标记为 requires_human_review,系统进入审查状态。审查人员可以查看生成的代码,提供反馈意见。AI 根据反馈进行迭代优化。

7
测试用例生成

根据生成的代码和原始需求,自动生成测试用例 (TestCase),包括单元测试、集成测试。测试用例关联到对应的需求和代码文件。

8
部署与发布

生成 Dockerfile、Kubernetes 配置文件,创建部署记录 (DeploymentRecord)。支持多环境(开发/测试/生产)部署和回滚机制。

🔌 API 接口概览

项目管理 API

POST /api/v1/projects - 创建新项目
GET /api/v1/projects - 获取项目列表
GET /api/v1/projects/{id} - 获取项目详情

PRD 管理 API

POST /api/v1/prds - 创建 PRD
GET /api/v1/prds?project_id={id} - 获取 PRD 列表
PUT /api/v1/prds/{id} - 更新 PRD

技术设计 API

POST /api/v1/designs/technical - 创建技术设计
POST /api/v1/designs/apis - 创建 API 设计
GET /api/v1/designs/apis?project_id={id} - 获取 API 设计列表

代码生成 API

POST /api/v1/ai/tasks - 创建代码生成任务
GET /api/v1/ai/tasks/{id} - 获取任务状态
GET /api/v1/ai/tasks/{id}/codes - 获取生成的代码
POST /api/v1/ai/tasks/{id}/cancel - 取消任务
POST /api/v1/ai/tasks/{id}/retry - 重试失败任务

💻 核心代码示例

AI 代码生成器核心逻辑

# generators/code_generator.py class AICodeGenerator: async def generate_code( self, task: CodeGenerationTask, context: Dict[str, Any], ai_provider: str = "claude", ai_model: str = "claude-sonnet-4-5-20250929", config: Optional[Dict[str, Any]] = None ) -> List[Dict[str, Any]]: # 步骤 1: 分析上下文并生成代码计划 code_plan = await self._generate_code_plan(context, task.code_types) # 步骤 2: 根据代码类型生成代码 for code_type in task.code_types: if code_type == "backend": files = await self._generate_backend_code(...) elif code_type == "frontend": files = await self._generate_frontend_code(...) elif code_type == "test": files = await self._generate_test_code(...) generated_files.extend(files) # 步骤 3: 人机协同审查(如果启用) if task.requires_human_review: task.status = CodeGenerationStatus.REVIEWING return generated_files

代码生成服务工作流

# services/code_generation_service.py class CodeGenerationService: async def execute_generation(self, task_id: int): task = self.get_task_by_id(task_id) # 更新状态为进行中 task.status = CodeGenerationStatus.IN_PROGRESS task.started_at = datetime.utcnow() try: # 构建上下文 (PRD + API 设计 + 需求) context = self._build_context(task) # 调用 AI 生成器 generated_files = await self.code_generator.generate_code( task=task, context=context, ai_provider=task.ai_provider.value, ai_model=task.ai_model ) # 保存生成的代码 for file_info in generated_files: self._save_generated_code(task_id, file_info) # 完成任务 task.status = CodeGenerationStatus.COMPLETED except Exception as e: task.status = CodeGenerationStatus.FAILED task.error_message = str(e)

🎯 数据模型关系

模型 关键字段 关联关系
Project id, name, code, status 1:N Requirements, PRDs, Tasks
Requirement id, req_code, title, priority N:1 Project, N:M PRDs
PRD id, prd_code, title, status N:1 Project, N:M Requirements
APIDesign id, api_code, path, method N:1 Project, N:1 PRD
CodeGenerationTask id, task_code, status, ai_provider N:1 Project, N:1 PRD, 1:N GeneratedCodes
GeneratedCode id, file_name, content, language N:1 Task
TestCase id, case_code, test_type, status N:1 Project, N:1 Requirement
DeploymentRecord id, deployment_code, version, environment N:1 Project

🛠️ 技术栈

后端框架

Python 3.11+, FastAPI, SQLAlchemy, Pydantic

数据库

PostgreSQL / SQLite, Alembic (迁移)

AI 集成

Claude Code API, OpenClaw (开源替代)

部署

Docker, Kubernetes, CI/CD Pipeline

📊 需求追踪矩阵示例

需求 ID 需求描述 PRD 章节 API 设计 生成代码 测试用例 状态
REQ-001 用户注册功能 FR-1.1 POST /api/users user_service.py TC-001 ✅ 已完成
REQ-002 用户登录认证 FR-1.2 POST /api/auth/login auth_service.py TC-002 ✅ 已完成
REQ-003 产品列表查询 FR-2.1 GET /api/products product_service.py TC-003 🔄 生成中

🎉 项目亮点