演示看起来很炫,聊天机器人秒回,自动化流程丝滑。

但打开代码一看,硬编码的提示词到处都是,没有版本控制,没有测试,安全问题留到以后再说。

这就是 AI 技术债务,而且它增长的速度比你的模型准确率还快。

什么是技术债务

技术债务就是用现在的速度换未来的代价。

技术债务的本质

就像买房没付够首付,你得一直还利息。这个利息以 bug、重构成本、维护成本的形式出现。

这事儿不新鲜,但在 AI 领域特别严重。因为大家都在抢,抢着部署点什么,任何东西都行,只要能保持竞争力。

于是就出现了一种开发方式,准备、开火、瞄准。

谁会这么干?很多人。

先实施,再部署,然后回头想想当初应该怎么规划。这是反着来的。想法是先用不完美的结果上线,然后在生产环境里慢慢修。

快速行动,打破常规。听起来很酷,但就像在飞行中修飞机,能做,但更难、更贵、风险更大。

不是所有技术债务都是坏事。有时候我们是有意识地承担这个债务,知道风险在哪,也知道值不值得冒这个险。我们记录下来了,有时间限制,有补救计划。这叫战略性技术债务。

但鲁莽的技术债务就是另一回事了。没纪律,没文档,没补救计划。只有一团未来的烂摊子在等着你。

为什么 AI 的债务更严重

传统软件是确定性的。给它一组输入,总能得到相同的输出。可预测,可测试,能理解。

传统软件的技术债务表现为意大利面条式的代码,到处是 goto,逻辑交织在一起,硬编码的假设一堆,甚至密码和 API 密钥都直接写死在代码里。非常不灵活,改起来成本很高。

AI 完全相反。

它是概率性的,非确定性的。给它相同的输入,不一定得到相同的输出。它对输入很敏感,但即使输入一样,结果也可能不同。它高度依赖上下文,你之前说了什么会影响这次的结果。

这听起来是不是很像人?我们也是上下文依赖的,也不是完全可预测的。

有人这样形容 AI,改变任何东西,就会改变一切。

因为 AI 发展得快,所以债务累积得更快。

AI 技术债务的四种形式

第一种是数据债务。

没有 AI 就没有数据,所有决策都基于数据。所以垃圾进等于垃圾出,而且在 AI 系统里,垃圾出会被放大。

你得确保数据来源可信,没有偏见。如果喂给它太多某一类数据,它就只在那个领域准确,其他地方就不行了。

你还得检查漂移,确保它没有随着时间改变。你得防止投毒,有人故意往数据里塞坏东西。

你可能还想匿名化数据,但如果赶时间,这种事最容易被忽略。结果就是模型可能泄露个人身份信息或公司机密。

第二种是模型债务。

没有版本控制,随便拿个模型就部署了。不知道什么时候更新,不知道怎么评估,没有指标来判断模型漂移,也没办法回滚。

如果发现错误,把东西拉回来的成本会很高。

你还得做渗透测试,看看模型是否容易受到各种攻击。不做的话,又是一笔技术债务。

第三种是提示词债务。

系统提示词没有文档。系统提示词是你喂给大语言模型的东西,告诉它上下文是什么。如果没记录,你根本不知道最后会得到什么样的系统。

可能没有输入验证。这不只是用户输入,还可能是系统输入,会改变系统行为,覆盖系统提示词。这叫提示词注入。

可能会导致数据泄露。如果不检查进入模型的信息,模型可能包含敏感信息,然后在响应中泄露出来。

如果没有护栏,技术债务可能以诉讼的形式出现。

一个办法是在用户和 AI 模型之间放一个 AI 网关,检查输入,阻止看起来像提示词注入的东西,也删除输出中可能敏感的信息。

第四种是组织债务。

没决定谁负责这个东西,没有治理政策。如果没有政策,你不知道自己做得对不对,以后才会发现,那时候成本更高。

没有做红队测试,没有好好测试系统。

如果没有好好规划,系统可能有延迟,响应很慢。原型阶段看起来很好,一上线就不行了,因为所有人都在用,容量不够。

还有可扩展性。得确保系统能跟上需求。

不做这些事,都会产生技术债务。最后你得到一个你不信任的 AI。

怎么避免这些债务

准备、开火、瞄准,这肯定不对。应该是准备、瞄准、开火。

正确的开发流程

在 IT 项目里,特别是 AI 项目里,这意味着什么?

基础的东西不能跳过,就因为它是 AI 就可以跳过。

从需求开始,然后是架构,然后是实施。别从实施开始。

然后测试,然后部署,然后评估,然后把这些反馈到需求里。

这些都没变,对 AI 项目也一样适用。

AI 技术债务是速度减去纪律的结果,等于大量复利的债务。

你得烧掉这些债务。如果房贷首付不够,你会一直还利息,房子最后会贵得多。

换个角度想,如果你不知道要去哪,任何路都能把你带到那。

因为如果不知道,你不知道会到哪,更糟的是,你不知道这趟旅程要花多少钱。

写在最后

所有人都在抢着上 AI,但很少有人告诉你,这笔债迟早要还。

演示很炫,但代码里藏着的坑,会在未来某个时刻集中爆发。那时候修复的成本,可能是现在的十倍、百倍。

战略性的技术债务可以接受,但鲁莽的技术债务会毁掉整个项目。

数据、模型、提示词、组织,每一个环节都可能成为债务的来源。而 AI 的特性决定了,这些债务会比传统软件累积得更快。

解决办法其实很简单,回到基础。需求、架构、实施、测试、部署、评估,一个都不能少。

别因为是 AI 就觉得可以跳过这些步骤。恰恰相反,正因为是 AI,这些步骤才更重要。

速度很重要,但纪律更重要。没有纪律的速度,只会让你更快地陷入泥潭。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐