You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
2 weeks ago | |
|---|---|---|
| doc | 2 weeks ago | |
| model | 2 weeks ago | |
| src | 2 weeks ago | |
| README.md | 3 weeks ago | |
README.md
AI 智能代码助手平台项目描述
1. 背景介绍
随着计算机、软件工程、人工智能等专业的学习不断深入,学生在课程实验、课后练习、项目开发中需要频繁编写、调试、优化代码。传统代码编写依赖搜索引擎、教材查阅和人工调试,效率低、问题定位慢、缺乏针对性指导。
大模型技术快速成熟并开放 API 服务,具备代码生成、代码理解、错误诊断、逻辑优化等能力。将大模型与在线代码编辑器结合,打造AI+代码辅助的轻量化 Web 平台,可显著提升学生编码效率、降低入门门槛,同时满足课程设计、实训项目对“AI+软件系统”的开发要求。
2. 欲解决问题
- 学生编写代码时思路不清晰、语法不熟练,缺少实时指导。
- 代码出现 Bug 时难以快速定位原因,人工调试耗时且效率低。
- 代码可维护性差,缺少规范注释、优化思路。
- 缺乏统一的在线代码编辑与AI辅助工具,需要在编辑器、搜索引擎、文档之间频繁切换。
- 课程设计要求实现AI+大模型结合的软件项目,但缺少可落地、易开发、规模适中的完整方案。
3. 软件创意
本项目以Web 在线代码编辑器为载体,接入国内大模型 API实现 AI 能力,采用前后端分离架构构建 AI 智能代码助手平台。
- 前端提供可视化编辑界面,支持多语言代码编写、高亮、格式化、主题切换。
- 后端提供用户管理、历史记录、接口转发与数据持久化能力。
- 通过调用大模型接口实现代码生成、代码解释、Bug 修复、代码优化、自动注释、单元测试生成等功能。
- 系统不依赖特殊硬件,仅需浏览器与网络环境即可使用,部署简单、演示直观,契合“AI+软件”创新要求。
4. 系统的组成和部署
4.1 系统组成
- 前端系统
- Vue3 + Vite + Element Plus
- Monaco Editor
- Axios、Vue Router、Pinia
- 后端系统
- Spring Boot 3.x
- Spring Security、MyBatis-Plus
- RESTful 接口、Swagger 接口文档
- 数据存储
- MySQL 8.0(用户、对话记录、代码历史)
- AI 服务依赖
- 通义千问 / 豆包 / 文心一言 大模型 API
- 辅助依赖
- Maven、Git、浏览器运行环境
4.2 部署结构
- 前端打包部署到 Nginx / 静态网站托管。
- 后端打包为 Jar 运行在 JVM 环境。
- MySQL 部署本地或轻量云服务器。
- 整体采用前后端分离部署,通过 HTTP/HTTPS 通信。
- 支持本地运行演示,也可部署到学生机/轻量云服务器供在线访问。
5. 软件系统的功能描述
- 用户管理功能:注册、登录、密码修改、个人中心、权限控制。
- 在线代码编辑:多语言支持、语法高亮、代码格式化、主题切换。
- AI 代码生成:自然语言描述需求,自动生成可运行代码。
- AI 代码解释:选中代码片段,逐行解释逻辑与语法。
- AI 代码纠错:自动检测错误并给出修复方案与修正后代码。
- AI 代码优化:提升性能、简化逻辑、保持功能不变。
- AI 自动注释:快速生成规范单行/多行注释。
- 历史记录管理:保存代码与 AI 对话记录,支持查看、删除、搜索。
- 扩展功能:代码分享、单元测试生成、README 生成。
6. 可行性及潜在风险
6.1 可行性
- 技术可行性
- 前后端技术栈为主流课程内容,学习成本低。
- 大模型仅需 API 调用,无需训练与复杂算法,易集成。
- 开源组件成熟,文档丰富,可快速实现。
- 条件可行性
- 免费 API 额度足够开发与演示。
- 无需硬件设备,仅电脑+浏览器即可完成。
- 时间可行性
- 4 周课余时间可完成开发、测试、报告与部署。
- 规模可行性
- 代码量 10000-13000 行,适合 3-4 人分工完成。
6.2 潜在风险
- 大模型接口不稳定/额度不足:备用多个平台 API,优先使用国内稳定服务。
- 前端编辑器集成复杂:使用成熟 Monaco Editor 组件,降低开发难度。
- 接口联调耗时:提前约定接口文档,按模块分步对接。
- 项目进度延迟:按周计划推进,优先完成核心功能,扩展功能灵活裁剪。
- 界面与体验一般:使用现成 UI 组件库,保证简洁可用即可。