AI开发新范式:与传统开发的根本差异
在前两篇文章中,我们探讨了传统软件与AI应用的根本不同,同时也分析了AI产品经理工作方法的转变。
本文将聚焦于开发者/技术负责人最为关注的核心议题:
过往的技术经验是否仍然适用?AI应用开发具体指什么?与传统开发相比,本质区别又在哪里?
先给出核心观点:
AI应用开发的核心并非「掌握更多新技术」,而是「采用全新开发模式」。
过往积累的工程经验依然宝贵,但产品开发方式——代码内容、测试方法、迭代流程——已发生根本性变革。
接下来详细分析。
传统应用开发的代码,本质上是开发者替计算机进行决策。
用户下单 → 核查库存 → 减少库存 → 生成订单 → 返回结果
每个环节的逻辑均由开发者编写,计算机按指令执行,出错时即为代码存在缺陷,修复即可。
AI应用的代码,本质上是将决策权转移给模型,仅需设定边界条件。
以文档问答系统为例:
这不是"减少什么功能",而是角色定位发生了转变。
过去你是决策制定者,现在是规则裁判员——你界定何为合规、何为违规,然后让模型在界限内发挥作用。
这种转变引发的连锁效应,贯穿于整个开发流程的各个环节。
传统应用开发:编写业务逻辑。
你需要处理的是"当用户执行X操作,系统应响应Y结果"。每个if分支、每个异常处理,都是你在为系统做决策。
AI应用开发:编写约束描述。
你需要处理的是"当用户执行X操作,我希望系统在Y条件下输出Z结果"。并非你在做决策,而是向模型指示"在哪些范围内进行决策"。
最具代表性的例子——实现一个"礼貌拒绝"功能:
你的产出从"if/else逻辑代码"转变为"行为边界描述"。这不是更换编程语言,而是转换思维方式。
传统开发:测试逻辑覆盖度。
通过单元测试计算覆盖率,确保每个分支都被执行。边界条件是否覆盖?异常路径是否处理?这些都可以被测试出来。
AI应用开发:测试输出质量。
模型不会"执行错误分支",但可能"回答不当"。你测试的不是代码逻辑,而是模型输出的质量。
以翻译功能为例:
传统测试的结果是二值判断:通过或不通过。AI测试的结果是一组指标:各维度得分如何,与上线标准相差多少。
传统开发:所有缺陷修复完毕,测试全部通过。
这表示功能符合需求规范,可以发布。
AI应用开发:评估指标全部达到标准,才能发布。
但这里存在一个关键区别:AI应用没有"缺陷"的概念,只有"效果不达标"。
注意"幻觉率 < 0.05"这一项。在AI应用中,某些问题无法彻底解决,只能将概率控制在可接受范围内。这意味着必须在产品层面设置保障机制:AI回答错误如何处理?是否有人工审核机制?这些都是传统开发中无需考虑的问题。
传统开发:修改代码 → 提交PR → 代码审查 → 测试 → 发布。
一次变更周期通常为数天,频繁发布存在风险,因此需要累积到一个版本一起发布。
AI应用开发:修改提示词 → 运行评估 → 验证效果 → 生效。
若仅调整提示词(不修改底层逻辑),整个流程可缩短至几十分钟。关键在于你拥有了一套自动化质量验证机制(Evals),无需人工回归测试。
但需强调一点:AI的快速迭代必须有Evals作为支撑。没有Evals,你只是在盲目尝试;有了Evals,才能实现快速收敛。
核心结论:
这部分最具参考价值——从传统开发转向AI应用开发,你的日常工作会如何变化?
传统开发者的一天工作:
AI应用开发者的一天工作:
发现核心差异了吗?
代码量减少了,但对问题边界的定义能力、对输出质量的敏感度,要求反而提高。
从传统开发转向AI应用开发,需要培养几个思维方式上的习惯。
传统开发中,你的目标是覆盖所有场景,将每个分支都明确编写。
在AI应用中,你无法覆盖所有情况,模型的输出本质上是一种概率分布。你需要做的是划定边界:哪些可以发生,哪些绝对不能发生,哪些发生后需要降级处理。
查看覆盖率,只能证明代码被执行了;查看效果指标,才能证明产品质量达标了。
建立一套针对AI输出的指标体系,比编写一百个单元测试更为重要。
传统开发中,缺陷修复后就消失了。在AI应用中,幻觉永远无法彻底消除——你能做的是不消灭它,而是将风险控制在可接受范围内,并在产品层面做好防护措施。
传统开发:设计→实现→发布→下一个版本 AI应用开发:发布→监控效果→发现差距→优化提示词→再次发布→持续循环
AI应用的发布不是终点,而是优化的起点。产品效果会随着提示词优化、知识库扩充、测试集完善而持续提升。
如果你管理团队,或需做技术决策,还需额外面对几个传统开发中没有的问题:
模型选型:使用GPT-4o还是Claude 3.5?采用本地部署的开源模型还是云端API?这不仅是个技术选择问题,也是成本与合规问题。
提示词版本管理:传统代码使用Git,提示词版本如何管理?不同环境的提示词一致性如何保证?
Token成本控制:单个用户对话平均消耗多少Token?月峰值成本是多少?如何防止用户恶意触发高消耗请求?
数据安全:用户对话数据是否会被用于模型训练?上传至第三方API的内容是否符合规范?
这些问题没有标准答案,但在开始开发AI应用前,必须明确应对策略。
经过以上分析,回到最初的问题:AI应用开发与传统开发究竟有何不同?
并非多了几门新技术。并非需要完全重构。而是产品开发方式发生了变化:
这套新范式,对经验丰富的开发者而言,最大挑战不是"学不会",而是摒弃旧习惯、建立新直觉。
你积累的所有工程经验——架构思维、质量意识、系统观、用户视角——仍是你最核心的竞争力。只是现在,你用它们来约束模型,而非编写流程。
这种转变,需要认真对待。但完全无需担忧。
你比想象中,更接近AI应用的开发实践。