码道Spec-Driven模式快速开发运动健康App
码道Spec-Driven模式快速开发运动健康App
一、引言
谈到Spec-Driven规范驱动开发模式,不少开发者可能有顾虑:难道这是让我回到古法编程,要先写个需求分析和系统设计文档吗?其实大可不必,我们可以套娃AI,让AI自己生成spec,然后再按它自己生成的spec去规范它的代码开发。虽然仍是一句话编程,但多了这个spec规范生成的过程后,我们可以让Vibe Coding的目标更精确可控。如下是一个运动健康应用的spec-driven开发示例。
二、项目背景
随着健康意识的提升,越来越多的人开始关注运动健康。用户需要一个能够记录运动数据、提供健康建议、设置运动目标的移动应用。作为开发者,我虽然有华为云MaaS的API Key,但对运动健康领域的业务逻辑不太熟悉,希望借助码道的Spec-Driven模式快速开发一个功能完善的运动健康App。
三、Spec-Driven开发流程
1. 初始Prompt输入
在码道里选择spec开发模式,输入初始Prompt:
我想开发一个运动健康App,主要功能包括:
1. 运动数据记录(步数、距离、卡路里消耗)
2. 健康数据监测(心率、睡眠、体重)
3. 运动计划制定和提醒
4. 健康建议和数据分析
5. 社交分享功能
我有华为云MaaS的API Key,希望利用大模型生成个性化的健康建议。请帮我先生成一个详细的spec,我审核质量OK后,再启动开发。
2. Spec文档生成
码道回复: 1)生成了spec.md,详细展开了需求:
运动健康App需求规格说明书
项目概述:
- 应用名称:FitLife运动健康助手
- 目标用户:关注健康的普通用户、运动爱好者
- 核心价值:一站式运动健康管理,AI个性化建议
功能模块:
1. 用户管理模块
- 用户注册/登录
- 个人信息设置(年龄、性别、身高、体重)
- 健康目标设定
2. 运动数据模块
- 步数统计(支持手动输入和自动同步)
- 运动类型记录(跑步、骑行、游泳、健身等)
- 距离、时长、卡路里计算
- 运动轨迹记录(GPS)
3. 健康监测模块
- 心率监测(连接设备或手动输入)
- 睡眠质量记录
- 体重变化趋势
- 饮水提醒
4. AI健康助手模块
- 基于MaaS大模型的个性化运动建议
- 饮食推荐
- 训练计划生成
- 健康风险评估
5. 社交功能模块
- 运动成就分享
- 好友排行榜
- 运动圈子
6. 数据可视化模块
- 图表展示运动数据
- 健康趋势分析
- 成就徽章系统
技术架构:
- 前端:React Native(跨平台)
- 后端:Node.js + Express
- 数据库:MongoDB
- AI服务:华为云MaaS API
- 第三方集成:设备健康数据API
3. 设计文档生成
选择"进入下一阶段开发",提交后,码道先生成design.md,这是详细设计文档,包含了技术架构和具体模块和函数接口:
系统架构设计:
- 分层架构:表现层、业务逻辑层、数据访问层
- 模块划分:UserService、ActivityService、HealthService、AIService、SocialService
- API接口设计:RESTful API规范
- 数据库设计:用户表、运动记录表、健康数据表、社交关系表
UI/UX设计:
- 主色调:健康绿+活力橙
- 首页布局:数据概览卡片、快捷操作、今日目标
- 导航结构:底部Tab导航(首页、运动、健康、社交、我的)
4. 代码开发阶段
设计文档生成后,码道就开始基于需求文档和设计文档来进行编程了:
码道自动创建了项目结构:
fitlife-app/
├── src/
│ ├── components/ # 可复用组件
│ ├── screens/ # 页面组件
│ ├── services/ # API服务
│ ├── utils/ # 工具函数
│ └── assets/ # 静态资源
├── package.json
├── App.js
└── README.md
主要功能实现:
- 用户认证系统(JWT token管理)
- 运动数据采集和存储
- 图表组件(使用Victory Native)
- AI服务集成(华为云MaaS调用)
- 推送通知(运动提醒)
5. 配置MaaS API
码道把代码写完后,提示了我们需要配置MaaS的API Key,我们去MaaS平台获取三个关键参数(不限于华为云MaaS,别的云厂商MaaS平台也类似):模型服务URL,API KEY,模型ID。
在华为开发者空间里有个优惠活动,1元钱1千万token,活动地址:https://developer.huaweicloud.com/space/incentive/other-activity/deepSeek-r1-v3/detail/A000044
我们获得了这三个参数后,在码道对话框输入进去:
我的华为云MaaS参数如下:
url = "https://api.modelarts-maas.com/v1/"
api key = "mpJspx1DPwhPIWUC2ZpBaU-xxxx"
model_id = "deepseek-v3.2"
请帮我直接配置到代码里去
码道可以自动修改好配置代码,在src/services/aiService.js中添加了MaaS配置:
const maasConfig = {
baseURL: "https://api.modelarts-maas.com/v1/",
apiKey: "mpJspx1DPwhPIWUC2ZpBaU-xxxx",
modelId: "deepseek-v3.2"
};
6. 启动应用测试
最后我们可以按照码道给的"如何启动应用"提示,输入npm命令来启动应用。当然,我们也可以连启动命令都懒得输入,让码道自己启动应用吧:
请帮我启动应用,并打开浏览器
码道执行命令:
cd fitlife-app
npm install
npm start
浏览器会被自动打开,页面能看到应用界面。
7. 功能测试与优化
我们来测试一下核心功能:
运动记录测试: 点击"开始运动"按钮,选择"跑步",开始记录。码道自动生成了GPS轨迹记录功能,可以实时显示跑步路线、距离和配速。
健康建议测试: 在健康页面输入今天的运动数据:跑步5公里,心率平均140,睡眠7小时。点击"获取健康建议",AI助手返回:
根据您的运动数据,建议:
1. 今日运动量适中,建议补充500ml水分
2. 心率控制良好,保持在燃脂区间
3. 睡眠质量可以,建议保持规律作息
4. 明天可以尝试间歇训练:快跑1分钟+慢跑2分钟,重复5组
发现问题与优化: 但我们发现一个问题,AI建议比较通用,没有考虑用户的个人健康数据。因此我们需要给码道发送修正请求:
健康建议需要结合用户的个人健康档案(年龄、性别、体重、基础代谢率)来提供个性化建议。请修改AI服务调用逻辑,在请求中带上用户健康数据。
码道自动修改了AI服务调用代码,增加了用户健康数据参数:
async function getPersonalizedAdvice(userData, activityData) {
const prompt = `作为健康顾问,请为以下用户提供运动建议:
用户信息:${userData.age}岁,${userData.gender},体重${userData.weight}kg,身高${userData.height}cm
今日运动:${activityData.type} ${activityData.distance}公里,时长${activityData.duration}分钟
请提供个性化的运动建议和饮食推荐。`;
return await callMaaS(prompt);
}
8. Skill功能体验
接下来我们熟悉一下skill功能,先开发一个skill吧,我们也让码道来为自己打造武器,新打开一个码道窗口,输入prompt:
开发一个skill技能,可以分析用户的运动数据趋势,预测未来一周的运动表现
我们把这个skill拷贝到前面开发的运动健康项目skill目录里,然后在码道对话框里使用这个skill,输入prompt:
用运动趋势分析skill分析用户最近30天的运动数据
四、技术亮点
1. Spec-Driven开发优势
- 需求明确化:通过AI生成的spec,确保需求完整无遗漏
- 设计规范化:自动生成的设计文档保证了架构合理性
- 开发高效化:基于spec和design的代码生成,减少返工
2. MaaS集成创新
- 个性化健康建议:基于用户数据的AI定制化建议
- 智能运动计划:根据用户能力和目标生成训练方案
- 健康风险预警:异常数据检测和预警提醒
3. 技能生态扩展
- 可复用Skill:运动趋势分析、饮食推荐算法等
- 社区共享:可以将开发的Skill发布到码道社区
- 持续迭代:基于用户反馈不断优化AI模型
五、总结
通过码道的Spec-Driven模式,我们仅用几句话的描述就快速开发出了一个功能完整的运动健康App。整个过程体现了"人机协同,将想法转化为现实"的理念:
- 需求阶段:一句话描述需求 → AI生成详细spec
- 设计阶段:审核spec → AI生成详细设计文档
- 开发阶段:基于spec和design自动编码
- 配置阶段:一键配置MaaS等第三方服务
- 测试优化:持续对话,实时调整和优化
- 技能扩展:开发专用Skill,提升开发效率
这种开发模式不仅适用于运动健康App,还可以扩展到电商、教育、企业应用等各个领域。码道的Spec-Driven模式真正实现了"不写代码,写未来"的愿景,让开发者能够更专注于业务逻辑和创新,而不是重复的编码工作。
华为云码道(CodeArts)代码智能体,一个理解项目需求,懂得编码之道,善用百器的实干派AI研发专家,开启你的编码自动驾驶模式!
注:本文为华为云码道(CodeArts)代码智能体的实际应用案例,展示了如何利用Spec-Driven模式快速开发运动健康类应用。所有功能均基于真实可用的码道平台实现。
- 点赞
- 收藏
- 关注作者
评论(0)