AutoBE 是 AI 驱动的后端服务器代码生成工具,通过用户描述需求自动生成高质量的后端代码。基于 TypeScript、NestJS、Prisma 和 Postgres 等技术栈构建,强调“氛围编码”(Vibe Coding),通过持续的用户反馈和编译器反馈来迭代优化代码。AutoBE 结合瀑布模型和螺旋模型的优点,确保代码的可靠性和安全性。
AutoBE的主要功能
- 需求分析(Analyze):能分析用户的需求,生成结构化的需求规格文档,为后续的代码生成提供明确的指导。
- 数据库模式生成(Prisma):根据需求规格生成 Prisma 格式的数据库模式和 ERD(实体关系图)文档,方便开发者理解和设计数据库。
- API 接口设计与代码生成(Interface):基于需求规格和 ERD 文档设计 API 接口,生成 API 接口代码和 DTO(数据传输对象)模式,帮助开发者快速搭建后端接口。
- 测试代码生成(Test):为每个 API 接口生成 E2E(端到端)测试代码,确保生成的代码质量可靠。
- 代码实现(Realize):为每个 API 函数编写实现代码,完成整个后端功能的代码生成。
AutoBE的技术原理
- 自然语言理解:AutoBE 通过自然语言处理技术理解用户的需求描述,转化为具体的代码生成指令。
- 代码生成模型:基于深度学习的代码生成模型,如 Transformer 架构,能根据输入的需求描述生成高质量的代码。
- 技术栈集成
- TypeScript:作为开发语言,TypeScript 提供了静态类型检查,能帮助开发者提前发现潜在的错误,提高代码的可靠性和可维护性。
- NestJS:作为一个基于 TypeScript 的框架,NestJS 提供了模块化和可扩展的架构,方便开发者构建复杂的后端应用。
- Prisma:作为 ORM(对象关系映射)工具,Prisma 能简化数据库操作,使开发者以更直观的方式与数据库交互。
- Postgres:作为后端数据库,Postgres 提供了强大的数据存储和查询功能,能满足复杂的应用需求。
- 编译器反馈:在代码生成过程中,AutoBE 会用编译器的反馈信息来优化代码。例如,如果生成的代码存在语法错误或类型不匹配等问题,编译器会提供相应的错误信息,AutoBE 根据这些信息调整代码生成策略。
- 瀑布模型:在需求分析、设计、编码、测试等阶段,AutoBE 按照瀑布模型的顺序依次进行,确保每个阶段的工作都符合预期。
- 螺旋模型:AutoBE 融入了螺旋模型的思想,在每个阶段都会进行验证和测试,及时发现和解决问题,确保代码的质量和可靠性。
AutoBE的项目地址
- Github仓库: https://github.com/wrtnlabs/autobe