AI 给了我 8 个优化方案,全都是对的,但没有一个有用

0 阅读7分钟

引言

最近,我从别人那里接手了一个新项目。

新项目对我来说是一个完全陌生的领域。里面有很多业务知识和大量专业术语,也有复杂的状态流转,以及前后端相互配合的处理链路。

怎么说呢,就像是跳槽换了一份工作一样。

我准备了几套 Prompt。一套让 AI 帮我梳理病理业务、专业名词和状态流转,另一套让它阅读前后端代码,分析代码结构和主要处理流程。

AI 帮我整理业务流程,解释陌生术语,分析模块之间的调用关系,最后还生成了一份后端知识库。一天后,我已经能够看懂这个项目的基本业务逻辑和技术结构。

说实话这种感觉有点上瘾。以前接手一个项目,我得先花半天搞清楚代码仓库的目录结构,然后从 controller 一路追到 service 再追到 dao,追到一半发现命名完全对不上文档,文档还是两年前写的。

现在我直接把一个模块的代码丢给 AI,问它"这块做了什么",它就告诉我这块做了什么。我再问"那这个状态是怎么流转的",它就把状态机画出来。一天下来,我对这个项目的理解程度,大概相当于以前花几周积累的水平。

AI让接手新项目轻松了,可解决新项目的问题却不轻松。

每一个方案都说得通,这才是最大的麻烦

第二天,我开始处理正事——一个当前项目存在的性能问题。

这个系统需要在本地处理一个1G左右的大文件,再上传到文件服务器中。整条链路耗时很长,需要优化。

面对完全陌生的代码,我先怀疑现有的技术方案。我把问题交给 AI,让它分析可能存在的性能瓶颈,再给出不同的优化方向。

AI 很快生成了多个方案。

有的建议增加并行处理,有的建议优化图片转换。还有一些方案从 ZIP 打包和磁盘读写入手,甚至重新调整了整个处理架构。

每一个方案都有完整的理由。从问题分析到技术实现,看起来都很合理。

麻烦也在这里。

无论AI 说什么,我都觉得有道理。它没有胡说,给出的每一个方向,在技术上几乎都能找到成立的理由。

可我鉴别不了,哪个方案击中了当前的瓶颈,哪个方案只是在理论上可以优化。

这就很尴尬了。

以前没有答案的时候,我会觉得困难。现在 AI 一次给出了很多答案,困难却没有消失。它只是换了个样子。

我原来不知道有哪些方案。现在,我不知道应该相信哪个方案。

更强的模型不一定有用

一开始,我把这个问题理解成模型能力不足。

既然当前模型给不出确定答案,那就换一个更强的模型。我又尝试了 GPT6。

试过之后,我发现结果没有多大变化。问题还没有被准确定位,更强的模型也只能生成更多合理答案。这些答案可能更完整,论证可能更充分,甚至连实现步骤都能帮我写好。

AI 给我的答案越多,我需要判断的东西反而越多。

如果我连到底哪一个变量限制了结果都不知道,模型表现得越自信,我越容易沿着一个看起来正确的方向继续走下去。

后来,我没有再继续追问模型。

我决定沉下去,把整条图片处理流程重新看一遍。

我先研究了文件转化的第一步,依赖的是开源的解析框架,改不动,但是支持多线程,我立刻调大了线程数。

转化后的文件会转换成具体的图片,我需要把整个文件夹的图片打包压缩后才能上传到OBS。

我在系统每一步都加入日志对链路进行观测,我发现整个环节耗时最长的是打包,打包环节差不多用了十分钟。

打包为什么会慢?其实就是因为图片太多了,一个文件里有十几万张图片。操作系统每读一个文件都要做一次磁盘寻址。

这不是算法问题,不是架构问题,就是文件太碎了。

相信大家用硬盘拷贝东西的时候都知道,有时候一个电影很快,但要是一堆小文件拷贝起来就非常慢了,这是系统和硬件决定的。

那我直接解决文件数,得到的提升就是最大的。最终,整个处理流程的耗时缩短了约 80%。

我之前问 AI 的那些方案——并行处理、换压缩算法、优化图片格式——没有一个碰到这个点。不是因为它们错了,而是我从来没有告诉过 AI,瓶颈在打包环节,打包环节的问题是小文件数量。

这时候我才明白,前面那些 AI 给出的方案并不算错。它们一直在回答我最初提出的问题。

我没有告诉它,因为我自己也不知道。

我最开始问的是怎样提高效率,当然有很多种方案。

但哪些方案最适合当下,需要你自己判断。

80% 的提升来自一个我没问 AI 的问题

前段时间看到一句话:AI时代的技能差距,可能存在于判断力、批判性思维和实验能力之间。

这次经历之后,我对AI的态度从最初的兴奋,慢慢变得冷静。

AI加快了执行速度,但我们依旧很忙。它可以给出很多方案,但解决不了"该选哪个"。每个人都能用上顶尖的模型,可很多问题仍然只有少数人能解决。

模型是公平的。但你带着什么进入对话,不是公平的。

你对问题的理解深度,手里有没有真实数据,能不能判断AI的输出到底对不对——这些才决定了同一个模型在不同人手里,能发挥出多大的作用。同样是我,在没有加日志之前和加了日志之后,AI给我的帮助完全是两个量级。不是模型变了,是我带进去的东西变了。

而且我后来想明白一件事。不是AI解决不了真正的问题,而是AI解决不了"定义问题"这件事。

问题一旦被准确定位,AI可以帮我很好地实现方案。它不是在解决问题这个环节失败的,它是在"帮我搞清楚问题到底是什么"这个环节帮不上忙。因为定义问题需要的不是知识,是跟现实的接触面——你得看到真实的数据,在代码里跑一遍,得有一个事实撞到你脸上。这些事情发生在你和现实之间,不发生在你和模型之间。

说实话,我也不知道真正的方案是什么。工作上的迷茫,职业方向的迷茫,我跟AI聊了很多轮,拿到了很多建议,但生活没有因此发生任何改变。

可能这些更大的问题之所以更难,不是因为缺方法,是因为我没有办法像给代码加日志一样,给自己的人生加一组时间戳,然后看到底哪个环节花了多长时间。生活里的瓶颈需要更长时间才能暴露,有时候甚至要走错一段路才能回头看清。

但至少这一次,我确认了一件事。

当所有方案都看起来合理的时候,先别急着选。关掉对话框,回到现实里分析。

AI正在让答案越来越便宜。而我要练的,是在打开对话框之前,先搞清楚——

我准备问的这个问题,是不是问题本身。

这是东东拿铁的第102篇原创文章,欢迎关注。