第78讲:模型选型策略——探索用Vibe、量产用Spec
·
第78讲:模型选型策略——探索用Vibe、量产用Spec
专栏地址:
前言:为什么需要根据场景选择模型和范式?
为什么重要?
不同开发场景需要不同的AI模型和编程范式:
- 原型验证阶段:需要快速生成、允许试错、宽松约束
- 功能开发阶段:需要准确生成、适度约束、接口稳定
- 量产固化阶段:需要严格生成、完全约束、符合规范
如果选错模型或范式:
- Vibe用于量产:代码质量差、隐患多、无法通过审查
- Spec用于原型:约束过严、迭代慢、浪费时间
- 模型不匹配:生成质量差、理解偏差、修正成本高
模型选型的作用:根据开发场景选择合适的AI模型和编程范式,提高效率、保证质量。
新手常见困惑
困惑1:“不同AI模型有什么区别?如何选择?”
困惑2:“什么时候用Vibe?什么时候用Spec?”
困惑3:“模型和范式如何搭配使用?”
困惑4:“开发过程中如何切换模型和范式?”
本文结构
第一部分:入门阶段——建立整体认知
1.1 AI模型对比
主流AI模型对比
| 模型 | 上下文窗口 | 推理能力 | 代码质量 | 适用场景 |
|---|---|---|---|---|
| GPT-3.5 | 4K token | 中等 | 中等 | 简单任务、快速生成 |
| GPT-4 | 8K token | 强 | 高 | 复杂任务、准确生成 |
| GPT-4 Turbo | 128K token | 强 | 高 | 大型工程、长上下文 |
| Claude 3 | 200K token | 很强 | 很高 | 复杂推理、长上下文 |
| DeepSeek | 64K token | 强 | 高 | 代码专用、性价比高 |
模型选择原则
1.2 范式选择原则
Vibe vs Spec范式对比
| 维度 | Vibe范式 | Spec范式 |
|---|---|---|
| 目标 | 快速验证 | 量产交付 |
| 约束 | 宽松 | 严格 |
| 迭代 | 多轮快速迭代 | 一次性准确生成 |
| 代码质量 | 功能优先 | 质量优先 |
| 适用场景 | 原型验证、问题定位 | 量产开发、固件交付 |
范式选择决策树
1.3 基础选型策略
策略一:按开发阶段选型
【按开发阶段选型】
阶段一:需求探索阶段
- 模型:GPT-3.5或GPT-4
- 范式:Vibe
- 目标:快速验证想法,找到可行方案
- 约束:宽松,允许试错
阶段二:功能开发阶段
- 模型:GPT-4
- 范式:Vibe + Spec混合
- 目标:实现功能,保证接口稳定
- 约束:中等,锁定接口
阶段三:量产固化阶段
- 模型:GPT-4或Claude 3
- 范式:Spec
- 目标:代码符合规范,可量产交付
- 约束:严格,完全符合Spec
策略二:按任务类型选型
【按任务类型选型】
任务类型一:新外设驱动开发
- 初次开发:Vibe范式,快速试错
- 验证通过:切换Spec范式,固化代码
任务类型二:BUG修复
- 问题定位:Vibe范式,快速生成调试代码
- 根治修复:Spec范式,保证修复质量
任务类型三:协议实现
- 协议理解:Vibe范式,快速验证协议理解
- 协议实现:Spec范式,严格按协议Spec实现
任务类型四:代码重构
- 重构方案:Vibe范式,探索重构方案
- 重构执行:Spec范式,保证重构质量
第二部分:进阶阶段——深入理解原理
2.1 场景化选型
场景一:原型验证
【场景:原型验证】
场景描述:
- 需要快速验证硬件功能
- 不确定最优方案
- 时间紧迫
选型策略:
- 模型:GPT-3.5(快速生成)或GPT-4(质量更好)
- 范式:Vibe
- Prompt:宽松约束,允许试错
Prompt示例:
【Vibe模式】
你是嵌入式原型开发工程师,当前需要快速验证硬件功能。
【宽松约束】
- 允许修改外设配置参数
- 允许添加临时调试代码
- 允许多次迭代修改
- 优先功能实现,代码美观次要
【目标】
快速验证[具体功能],找到可行方案。
适用任务:
- 新外设首次驱动
- 时序问题调试
- 硬件问题定位
- 快速原型搭建
场景二:功能开发
【场景:功能开发】
场景描述:
- 已完成原型验证
- 需要实现完整功能
- 接口需要稳定
选型策略:
- 模型:GPT-4
- 范式:Vibe + Spec混合
- Prompt:中等约束,锁定接口
Prompt示例:
【混合模式】
你是嵌入式工程师,当前处于功能开发阶段。
【中等约束】
- 禁止修改已锁定的接口
- 必须添加错误处理
- 必须添加必要注释
- 允许修改实现细节
【接口锁定】
以下接口已锁定,禁止修改:
- [接口列表]
【目标】
在接口锁定的情况下,实现[具体功能]。
适用任务:
- 功能完善
- 接口稳定
- 错误处理添加
- 代码优化
场景三:量产固化
【场景:量产固化】
场景描述:
- 功能已稳定
- 需要符合量产规范
- 需要通过Code Review
选型策略:
- 模型:GPT-4或Claude 3(高质量生成)
- 范式:Spec
- Prompt:严格约束,完全符合Spec
Prompt示例:
【Spec模式】
你是嵌入式量产工程师,当前处于量产固化阶段。
【严格约束】
- 必须符合MISRA-C 2012规范
- 必须包含完整Doxygen注释
- 必须包含完整错误处理
- 必须通过静态检查
- 禁止任何临时代码
【Spec契约】
[粘贴完整Spec契约]
【目标】
生成符合Spec契约的量产级代码。
适用任务:
- 量产代码生成
- 规范检查修复
- Code Review准备
- 固件交付
2.2 模型范式搭配
搭配策略一:Vibe + Spec顺序搭配
【Vibe + Spec顺序搭配】
适用场景:新功能开发
流程:
1. Vibe阶段:快速验证
- 使用GPT-3.5或GPT-4
- 宽松约束,快速生成
- 多轮迭代,找到可行方案
2. Spec阶段:固化代码
- 使用GPT-4或Claude 3
- 严格约束,按Spec生成
- 一次性准确生成
示例:开发USART驱动
1. Vibe阶段:
- 快速生成USART初始化代码
- 测试通信是否正常
- 调整波特率、配置参数
- 验证收发功能
2. Spec阶段:
- 编写USART驱动Spec
- 按Spec生成量产代码
- 添加完整错误处理
- 添加完整注释
搭配策略二:Vibe + Spec混合搭配
【Vibe + Spec混合搭配】
适用场景:功能迭代开发
策略:
- 接口层:Spec范式(接口稳定)
- 实现层:Vibe范式(灵活实现)
示例:开发协议层
1. 接口层(Spec):
- 定义协议接口:protocol_init()、protocol_send()、protocol_recv()
- 接口锁定,不修改
2. 实现层(Vibe):
- 实现协议帧组装:灵活调整
- 实现协议帧解析:灵活调整
- 允许修改实现细节
3. 最终固化(Spec):
- 将Vibe代码升级为Spec标准
- 添加完整错误处理
- 添加完整注释
2.3 切换时机判断
切换信号
Vibe→Spec切换条件
【Vibe→Spec切换条件】
切换信号:
1. 功能已稳定
- 所有功能测试通过
- 无明显BUG
- 性能满足要求
2. 需要量产
- 有量产需求
- 有交付期限
- 有规范要求
3. 有时间优化
- 不急于交付
- 有时间提升代码质量
- 有时间添加注释和错误处理
4. 团队要求
- 团队要求符合规范
- Code Review要求
- 静态检查要求
切换动作:
1. 编写Spec契约
2. 使用Spec范式重新生成
3. 验证符合Spec
4. 集成到工程
Spec→Vibe切换条件
【Spec→Vibe切换条件】
切换信号:
1. 发现新问题
- Spec实现有问题
- 需要探索新方案
- Spec定义需要调整
2. 需求变化
- 需求发生重大变化
- Spec需要重新定义
- 接口需要调整
3. 时间紧迫
- 交付期限临近
- 无时间严格按Spec
- 需要快速实现
切换动作:
1. 放宽约束
2. 使用Vibe范式快速调整
3. 验证功能
4. 根据情况决定是否重新Spec
第三部分:高级阶段——掌握复杂应用
3.1 动态切换策略
自动切换机制
【自动切换机制】
切换触发条件:
1. 功能测试结果
- 测试通过率 > 90% → 建议切换Spec
- 测试通过率 < 50% → 保持Vibe
2. 代码质量检查
- MISRA-C违规 < 5条 → 建议切换Spec
- MISRA-C违规 > 20条 → 保持Vibe
3. 开发时间
- 距交付 > 2周 → 建议Spec
- 距交付 < 3天 → 保持Vibe
切换建议Prompt:
【切换建议】
当前状态:
- 范式:Vibe
- 测试通过率:85%
- MISRA-C违规:8条
- 距交付时间:1周
建议:建议切换到Spec范式
原因:
- 测试通过率较高,功能基本稳定
- MISRA-C违规较少,容易修复
- 距交付时间充足,有时间优化
是否切换?
3.2 选型效果评估
评估指标
【选型效果评估】
一、效率指标
- 生成时间:从Prompt到生成完成的时间
- 迭代次数:达到目标需要的迭代次数
- 修正次数:需要修正的次数
二、质量指标
- 编译通过率:一次编译通过的比例
- 测试通过率:功能测试通过的比例
- 规范符合率:符合编码规范的比例
三、成本指标
- API调用次数:调用AI API的次数
- Token消耗:消耗的Token数量
- 人力投入:人工介入的时间
四、综合评估
选型效果 = (质量指标 × 权重1) / (成本指标 × 权重2)
3.3 选型经验总结
经验总结
【选型经验总结】
一、模型选择经验
1. 简单任务:GPT-3.5足够,速度快、成本低
2. 复杂任务:GPT-4或Claude 3,质量高、理解准
3. 长上下文:GPT-4 Turbo或Claude 3,上下文长
二、范式选择经验
1. 原型阶段:必须用Vibe,快速验证
2. 开发阶段:Vibe+Spec混合,平衡效率和质量
3. 量产阶段:必须用Spec,保证质量
三、切换经验
1. 不要过早切换Spec:功能未稳定时切换会浪费时间
2. 不要过晚切换Spec:距交付太近会来不及优化
3. 切换时机:功能稳定、有时间优化、有量产需求
四、搭配经验
1. Vibe→Spec:最常用搭配,先验证后固化
2. Vibe+Spec混合:功能迭代开发时使用
3. Spec→Vibe:特殊情况,如发现新问题
五、避免错误
1. 不要用Vibe做量产:代码质量不够
2. 不要用Spec做原型:约束过严、浪费时间
3. 不要频繁切换:每次切换有成本
总结
入门要点
- AI模型对比:GPT-3.5、GPT-4、Claude 3各有特点,根据需求选择
- 范式选择原则:Vibe快速验证、Spec量产交付
- 基础策略:按开发阶段选型、按任务类型选型
进阶要点
- 场景化选型:原型验证、功能开发、量产固化各有策略
- 模型范式搭配:Vibe+Spec顺序搭配、Vibe+Spec混合搭配
- 切换时机:Vibe→Spec切换条件、Spec→Vibe切换条件
高级要点
- 动态切换:自动切换机制、切换建议Prompt
- 效果评估:效率指标、质量指标、成本指标
- 经验总结:模型选择、范式选择、切换时机、搭配策略
记住这些原则
- 匹配场景:根据开发场景选择模型和范式
- 灵活切换:开发过程中根据情况灵活切换
- 评估效果:选型后评估效果,优化选型策略
- 总结经验:积累选型经验,形成最佳实践
下一讲预告:第79讲将深入讲解"输出净化:剔除AI废话,只保留纯净C代码",学习如何从AI输出中提取纯净的C代码,剔除多余的解释和废话。
更多推荐




所有评论(0)