拾光友人帐——LLM结合探索CodeArts团队实战总结
拾光友人帐——LLM结合探索CodeArts团队实战总结
| 这个作业属于哪个课程 | 2601_FZU_SE 软件工程实践 |
|---|---|
| 这个作业要求在哪里 | LLM结合探索CodeArts团队实战总结 |
| 这个作业的目标 | 开发融合 LLM 与协同过滤的论坛推荐模块,记录 AI 辅助开发、代码调试与测试过程,完成项目阶段性开发任务 |
| 其他参考文献 | 《构建之法》 |
目录
- 拾光友人帐——LLM结合探索CodeArts团队实战总结
- 一、项目基础信息
- 1. CodeArts仓库信息
- 2. 团队分工
- 3. Commit统计说明
- 4. 系统运行截图
- 5. 开发困难与解决方案
- 二、思考与行动
- 1. 重新回答选题问题
- 2. 新思考与行动
- 新思考
- 后续行动
- 三、PSP表格
- 刘传浩 PSP表
- 李明学 PSP表
- 王永臻 PSP表
- 许毅君 PSP表
- 许煜煌 PSP表
- 四、团队贡献比例评估
- 五、AI辅助开发任务记录
- 任务1:编写LLM智能推荐模块,要求支持mock降级(代表性开发任务)
- 任务2:实现基于用户历史报名记录的协同过滤推荐补充逻辑(方案验证、错误排查,课程目标4)
- 任务3:Docker一键部署脚本编写与优化
- 小结
一、项目基础信息
1. CodeArts仓库信息
仓库在线地址:https://devcloud.cn-north-4.huaweicloud.com/codehub/project/1cc4d1420a3d44a88e53cc3c2084e46f/codehub/3112035/home?ref=master
项目源码分支:dev
使用 PM2 进程管理工具托管前后端服务,实现后台常驻运行,断开 SSH 连接后服务不会停止。本次部署全程没有修改项目源码,通过淘宝 npmmirror 镜像下载 Node24 二进制包解决 node:sqlite 版本依赖问题,顺利在阿里云 ECS 上完成 CNCC2026 会议网站的线上演示部署。服务为 Vite 开发模式,LLM 模块使用模拟数据,满足课程验收演示需求。


部署后云访问链接:http://47.114.54.180:5173/
2. 团队分工
本团队共6人(含队长),分工如下:
- 刘伟鑫:项目整体统筹、需求评审、CodeArts仓库上传与冲突处理、Docker部署、博客文档整合、答辩准备;负责后端LLM智能推荐模块mock逻辑开发。
- 刘传浩:前端首页、论坛列表、论坛详情页面开发,页面样式调试。
- 李明学:前端日程页面、个人中心、通知公告页面开发,多语言国际化适配。
- 王永臻:后端用户模块开发,登录、注册、身份鉴权、权限控制(普通参会者/论坛主席)。
- 许毅君:后端业务接口开发,论坛报名、日程统计、数据查询脚本编写。
- 许煜煌:墨刀原型设计、数据库设计文档、API文档编写、功能测试、bug收集与验证,协助整理PSP与贡献评估表。
3. Commit统计说明
本次代码统一提交至dev分支,一共95个文件变更



说明:代码全部可在dev分支查看。
4. 系统运行截图
首页截图(中文首页)

论坛推荐页面(演示模式)

主席管理面板

个人日程页面

会议总日程页

论坛列表页

论坛详情页

我的报名页面

通知公告页面

参会人员页面

论坛主席专属仪表盘

5. 开发困难与解决方案
- 困难:LLM模块需要API Key才能调用,申请密钥、充值、接口不稳定会影响演示。
解决:修改后端llm.js,增加判断逻辑,key为空时自动切换mock演示模式,返回预设推荐结果,保证演示不受第三方接口影响。 - 困难:前后端联调跨域问题。
解决:后端配置跨域中间件,开发环境放开跨域限制,保证前端正常请求后端接口。
二、思考与行动
1. 重新回答选题问题
选题:CNCC2026会议服务系统(带LLM智能论坛推荐)
我们最初选题目标:面向参会人员提供会议论坛浏览、报名、日程管理、主席管理能力,借助大模型根据用户兴趣自动推荐匹配论坛。
重新审视选题:我们认为这个选题具备实际价值,学术会议参会者信息繁杂,手动筛选论坛成本高;但真实大模型API存在成本、稳定性、密钥泄露风险,因此我们调整方案,保留完整推荐交互页面,底层采用mock方案保证演示可用,不降低系统展示效果,同时规避外部依赖风险。
项目核心目标不变:完成一套可部署、可演示的会议服务管理系统,满足参会者、论坛主席两类角色的使用需求。
2. 新思考与行动
新思考
- 软件项目不一定要强依赖第三方在线服务,在课程作业场景下,mock降级方案是很合理的工程手段,优先保证系统整体可用、流程闭环,而不是强行接入不稳定的外部依赖。
- 版本控制是团队协作的关键,分支保护策略是为了保护主分支,开发时应当养成新建开发分支的习惯,而不是一味使用强制推送覆盖代码。
- 6人团队分工更需要明确边界,文档、测试、部署、开发任务同等重要,不能只关注写代码,文档、日志、截图也是重要交付物,否则容易出现任务遗漏。
- 很多开发报错不是代码bug,而是版本工具、仓库配置、环境配置问题,这类问题耗时经常超过写代码本身。
后续行动
- 后续迭代:如果条件允许,可增加配置页面,可视化切换mock模式/真实LLM接口模式;完善日志输出,方便定位推荐模块运行状态。
- 团队规范:后续开发统一使用分支开发流程,dev分支作为开发分支,测试稳定后再合并到master,不再直接操作受保护主分支。
- 测试完善:补充冒烟测试脚本,每次修改代码后自动验证核心接口可用性,减少人工测试工作量。
- 文档持续维护:API文档、部署文档同步随代码更新,方便其他人拉取代码快速部署运行。
三、PSP表格
刘伟鑫 PSP表
| PSP阶段 | 预估时间(min) | 实际时间(min) | 备注 |
| ---- | ---- | ---- | ---- |
| 计划 | 40 | 35 | 需求确认、6人团队分工安排 |
| 需求分析 | 60 | 70 | 梳理功能、数据库、接口 |
| 设计 | 70 | 80 | 原型、表结构、前后端方案 |
| 编码 | 240 | 270 | 前端、后端业务代码开发 |
| 测试 | 80 | 90 | 功能测试、联调、bug修复 |
| 版本控制 & 部署 | 60 | 110 | CodeArts上传、排错、docker部署 |
| 博客&文档撰写 | 90 | 100 | 写AI Coding、PSP、贡献评估、博客整理 |
| 合计 | 640 | 755 | |
刘传浩 PSP表
| PSP阶段 | 预估时间(min) | 实际时间(min) | 备注 |
|---|---|---|---|
| 计划 | 20 | 20 | 参与需求会议,确认前端页面任务 |
| 需求分析 | 30 | 35 | 熟悉论坛、首页相关需求 |
| 设计 | 40 | 45 | 页面布局、组件结构设计 |
| 编码 | 180 | 210 | 首页、论坛列表、论坛详情开发与样式调试 |
| 测试 | 60 | 70 | 页面自测,和后端联调,修复样式bug |
| 版本控制 & 提交 | 20 | 25 | 本地提交代码,配合组长合并到dev分支 |
| 文档与博客 | 30 | 30 | 整理自己负责模块截图,核对功能描述 |
| 合计 | 380 | 435 |
李明学 PSP表
| PSP阶段 | 预估时间(min) | 实际时间(min) | 备注 |
|---|---|---|---|
| 计划 | 20 | 15 | 确认个人中心、日程、通知页面任务 |
| 需求分析 | 30 | 30 | 理解报名、日程管理、多语言需求 |
| 设计 | 40 | 50 | 个人中心组件、多语言切换方案设计 |
| 编码 | 170 | 190 | 日程页面、个人中心、通知公告页面开发、i18n适配 |
| 测试 | 50 | 60 | 多语言切换测试、报名流程页面联调 |
| 版本控制 & 提交 | 20 | 20 | 提交前端代码,解决简单git冲突 |
| 文档与博客 | 25 | 25 | 整理页面截图,补充前端功能说明 |
| 合计 | 355 | 390 |
王永臻 PSP表
| PSP阶段 | 预估时间(min) | 实际时间(min) | 备注 |
|---|---|---|---|
| 计划 | 20 | 20 | 认领用户、鉴权模块后端任务 |
| 需求分析 | 35 | 40 | 梳理登录、注册、角色权限逻辑 |
| 设计 | 40 | 40 | 用户表结构、权限校验方案设计 |
| 编码 | 160 | 180 | 登录注册接口、jwt鉴权、角色权限控制开发 |
| 测试 | 50 | 55 | 接口自测、权限边界测试,配合前端联调 |
| 版本控制 & 提交 | 20 | 20 | 提交后端代码 |
| 文档与博客 | 25 | 30 | 补充接口文档中用户相关部分 |
| 合计 | 350 | 385 |
许毅君 PSP表
| PSP阶段 | 预估时间(min) | 实际时间(min) | 备注 |
|---|---|---|---|
| 计划 | 20 | 20 | 认领论坛报名、统计相关接口 |
| 需求分析 | 30 | 35 | 理解论坛报名、日程统计业务逻辑 |
| 设计 | 35 | 40 | 报名数据表、统计查询方案设计 |
| 编码 | 150 | 170 | 论坛报名、日程统计、数据查询接口开发 |
| 测试 | 45 | 50 | 接口测试,异常报名场景校验 |
| 版本控制 & 提交 | 20 | 20 | 提交后端业务代码 |
| 文档与博客 | 25 | 25 | 完善业务接口文档 |
| 合计 | 325 | 360 |
许煜煌 PSP表
| PSP阶段 | 预估时间(min) | 实际时间(min) | 备注 |
|---|---|---|---|
| 计划 | 15 | 15 | 确认原型、文档、测试任务 |
| 需求分析 | 40 | 45 | 通读全部需求,梳理原型要点 |
| 设计 | 60 | 70 | 墨刀原型绘制、数据库表结构设计 |
| 编码 | 0 | 0 | 不负责业务代码开发 |
| 测试 | 90 | 100 | 全流程功能测试,收集bug并反馈给开发 |
| 版本控制 & 提交 | 10 | 10 | 提交原型、md文档 |
| 文档与博客 | 60 | 70 | 编写数据库设计文档、API文档,协助整理博客材料 |
| 合计 | 275 | 310 |
四、团队贡献比例评估
| 成员 | 贡献占比 | 工作说明 |
|---|---|---|
| 刘伟鑫 | 22% | 项目统筹、仓库部署、Git排错、docker配置、博客整合、答辩准备、LLM模块开发 |
| 刘传浩 | 17% | 前端首页、论坛列表、论坛详情页面开发、样式调试 |
| 许毅君 | 17% | 后端论坛报名、日程统计、业务接口开发 |
| 王永臻 | 16% | 后端用户模块、登录注册、鉴权权限开发 |
| 许煜煌 | 15% | 原型设计、数据库/API文档、测试、bug记录、资料整理 |
| 李明学 | 13% | 前端日程、个人中心、通知公告页面开发、多语言适配 |
五、AI辅助开发任务记录
任务1:编写LLM智能推荐模块,要求支持mock降级(代表性开发任务)
关键Prompt(给AI的原始提示)

AI输出摘要
AI生成了llm.js完整接口代码,包含环境变量读取、axios请求封装、成功回调、异常捕获,并且内置了mock分支逻辑。代码结构清晰,区分了真实调用路径和mock演示路径,返回的数据结构和前端页面预设字段保持一致。
迭代记录
- 第一轮AI输出:mock返回内容比较简单,没有附带推荐理由,前端页面渲染会缺字段。
- 二次引导Prompt:> mock返回结果里,每条推荐论坛需要增加reason字段,用来展示推荐理由,和真实LLM返回格式统一。
- 第二轮输出:补齐reason字段,数据格式对齐;但是AI在代码里写死了把.env硬编码导入,存在密钥泄露风险。
- 第三次调整引导:> 不要直接读取.env文件写死,使用环境变量,并且增加注释提醒不要提交密钥到代码仓库,同时在返回json中增加tag标记
demo:true给前端识别。
采纳/修改/拒绝说明
- ✅ 采纳:整体分支判断逻辑、接口入参出参结构、异常捕获逻辑。
- ✏️ 修改:mock返回数据结构、增加demo标记、调整注释、移除直接读取.env的危险写法。
- ❌ 拒绝:AI提出的“直接在代码内置默认key用于演示”方案,理由:密钥硬编码会造成信息泄露,不符合版本仓库安全规范。
任务2:实现基于用户历史报名记录的协同过滤推荐补充逻辑(方案验证、错误排查,课程目标4)
关键Prompt

AI输出摘要
AI给出了三表关联SQL(用户-报名-论坛标签),写了协同过滤查询函数,同时写了合并两套推荐数组、加权打分、去重过滤的JS逻辑。整体思路是:先拿到用户已报名标签,查找同标签其他用户,再取出他们的报名论坛,最后和LLM推荐列表合并打分。
迭代记录
- 第一轮AI输出:SQL没有做数量限制,当测试数据变多的时候,关联查询返回大量冗余数据,接口响应变慢;并且合并排序只简单拼接,没有加权分数计算。
- 二次引导Prompt:> SQLite里面加limit控制候选集,不要全量关联;给每条推荐项增加score字段,LLM推荐基础分60,协同过滤基础分40,同一个论坛多次命中可以叠加分数,最后按score降序。
- 第二轮输出:增加limit、基础分,但是存在一个bug:同一个用户多次报名同一个论坛会造成重复统计,分数虚高。
- 第三次引导Prompt:> 关联的时候使用distinct去重用户id,避免同一个用户重复报名带来的重复计数;同时增加过滤:过滤掉用户本人已经报名的论坛。
检查验证、采纳判断依据
- 验证方式:构造多组测试数据,分别测试新用户(无报名记录,协同过滤无结果,只返回LLM/mock推荐)、老用户(有历史报名,混合推荐)、边界场景(所有同标签论坛均已报名);打印接口返回score日志,核对打分逻辑。
- ✅ 采纳:协同过滤的关联思路、结果合并加权框架、去重过滤框架。
- ✏️ 修改:增加distinct去重、限制候选集大小、修复分数叠加逻辑、增加空数据兜底。
- ❌ 拒绝:AI建议的缓存表定时刷新方案,判断依据:课程项目数据量很小,引入定时任务、缓存表会增加系统复杂度,维护成本高,属于过度设计,现阶段不需要。
任务3:Docker一键部署脚本编写与优化
关键Prompt

AI输出摘要
生成Dockerfile、docker-compose.yml,配置前后端容器、端口映射、卷挂载,加入跨域配置。
迭代记录
- 第一轮:AI默认使用npm,和本项目pnpm包管理器不匹配,构建失败。
- 引导修改:> 项目使用pnpm,修改镜像构建步骤,使用pnpm install。
- 第二轮:前端容器和后端容器启动顺序没有控制,后端还没启动前端就发起请求,出现跨域报错。
- 增加要求:> 增加depends_on控制启动顺序,后端优先启动。
检查验证、采纳判断依据
- 验证方式:本地执行
docker compose up --build,观察容器启动日志,访问前端页面,测试接口请求。 - ✅ 采纳:容器编排整体结构、端口映射、跨域中间件配置。
- ✏️ 修改:包管理器替换为pnpm、增加启动依赖顺序、调整环境变量挂载。
- 判断依据:所有修改都经过本地部署验证,保证一键部署流程稳定,适配项目现有结构。
小结
使用AI时,不会直接采信全部输出,每一段代码、每一个技术方案都会经过人工检查、本地测试验证;遇到不安全、不符合项目约束的方案直接拒绝。通过分轮次、精细化的prompt引导,逐步修正AI输出的缺陷,让AI产出贴合我们项目的约束(不使用真实LLM密钥、轻量化协同过滤、使用pnpm管理)。
相关推荐
零基础玩转CodeArts代码智能体:能力图谱与可信使用指南
代码智能体是现代IDE中融合静态分析、规则引擎与轻量模型的自动化编码辅助系统,其核心原理在于将模糊的AI建议转化为可追溯、可干预、可验证的具体动作。技术价值体现在提升开发效率的同时保障代码质量与安全可控性,广泛应用于Java/Python/Go等主流语言的补全、缺陷检测、PR评论和单元测试生成等场景。本文聚焦华为云CodeArts平台,深入解析其‘即开即用层’‘配置生效层’与‘实验探索层’三级能力边界,并结合真实项目实践,提供从环境搭建、功能启用到信任校验的完整落地路径,助力开发者建立对代码智能体的理性认知
CodeArts代码智能体:零基础构建领域专用AI编码工作流
代码智能体是将大模型能力深度融入软件工程实践的典型范式,其核心在于通过领域知识注入、结构化提示词驱动与多层校验机制,实现从问题识别到可运行代码的端到端闭环。不同于通用AI编程助手,CodeArts代码智能体依托语法分析、语义推理与上下文感知三重技术栈,支持检视、修复、生成三大能力协同演进,并以项目知识库和代码知识图谱为底座,显著提升缺陷召回率与补丁可信度。该模式已在Java/Python/Go企业级项目中验证91.3%高召回率,适用于DevOps提效、遗留系统加固及低代码场景延伸,尤其适合无云原生经验但具备
华为云GLM-5.1工程级落地:长程稳定、MoE调优与智能体实战
大语言模型在企业生产环境中的真正价值,不在于参数规模或对话流畅度,而在于能否稳定支撑小时级任务、精准调用工具并深度嵌入业务流水线。GLM-5.1作为支持MoE架构与长程推理的工业级模型,其能力释放高度依赖底层硬件协同——尤其在华为云昇腾NPU平台,HBM带宽优化、专家激活配额(expert_quota)控制与心跳维持机制共同决定了8小时连续工作的可行性。结合ModelArts部署、AgentArts编排与CodeArts代码生成,它可实现从GitHub Issue分析到Jira工单闭环、从PDF监管文件结构
华为产线落地Coding Agent的工程适配实战指南
Coding Agent(编码智能体)作为大模型在软件开发中的关键落地形态,其核心价值不在于通用代码生成能力,而在于对特定工程环境的深度适配能力。在嵌入式、通信设备等强规范、多工具链、高可靠性要求的工业级产线中,单纯依赖模型微调或Prompt优化往往失效;真正决定‘能否上线’的是语义理解、环境感知与反馈闭环三重工程适配层的协同设计。本文基于华为HarmonyOS驱动模块真实场景,系统阐述如何通过Rule Engine规则引擎、Env-Aware Proxy环境代理及多模态反馈机制,将Agent输出从‘可运行
智谱GLM-5.1华为云Day0上线:开箱即用的大模型工程化实践
大模型落地难,核心在于部署复杂、调用割裂、运维门槛高。本文围绕大语言模型(LLM)的工程化集成与生产就绪能力展开,解析如何通过模型-运行时解耦、服务原子化、接入无感化等关键技术,实现LLM能力像水电一样即开即用。重点涵盖昇腾AI硬件适配、BF16混合精度推理、ZhipuTokenizer-v2分词计费优化等实战细节,支撑金融、政务、制造等场景下的合同审查、代码生成、低代码AI编排等高频应用。聚焦智谱GLM-5.1在华为云ModelArts、CodeArts Snap、Astro等多产品深度集成的真实案例,揭



