仅凭ai真的能做好复杂项目吗?
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
导读 用了claude code进行了一个fastapi+react的项目开发,还上了spec-kit,发现逻辑、规划、任务都设计的很好,但是在执行完成后的东西各种低级错误和bug,还得花大精力调,如果不了解技术栈的具体使用,这样根本没法开展新的项目,还是有不小的障碍。想问问各位大佬有没有什么好的建议?是我没用对吗? 我认识一个人叫老陈。 他在一家中型软件公司做技术总监。四十二岁,头发开始秃,戴一副很普通的黑框眼镜,说话很快,有一种被长期deadline训练出来的急迫感。他手下管着三十几个人。 2023年底,他做了一个决定。他决定在他负责的一个核心项目里,大规模引入AI。 他跟我说这件事的时候,声音里有一种我没见过的兴奋。他说:这次不一样了。这次真的不一样了。 我说:哪里不一样。 他说:以前的工具是工具。这次是同事。 那个项目做什么不重要。你只需要知道,它足够复杂。 涉及十几个模块,几十万行代码,三个外部系统的对接,两年半的历史债务。团队里有老人,有新人,有人负责前端,有人负责后端,有人只负责跟甲方打交道然后把需求翻译成人话带回来。 这种项目,任何一个环节出问题,都会卡住后面所有的人。 老陈说,他想用AI把这个链条的每一个环节都加速一遍。需求分析,代码生成,测试,文档,review。全线提速。 他做了一个计划。他把这个计划发给我看,有二十几页。 我看完说:你预计节省多少时间。 他说:保守估计,整体效率提升百分之四十。 我没说话。 他说:你不信。 我说:我不知道。 我第一次见老陈是在一个技术沙龙。那是2019年,他在台上讲微服务改造讲得很细,每一个技术决策背后都有具体的原因,不是那种读了PPT就能讲的东西,是真的踩过坑之后的东西。 我后来跟他聊,他说,他这辈子最怕的不是技术问题,是技术问题背后的人。 我说:什么意思。 他说:你解决了技术问题,你以为完了。但技术问题背后有人,那些人有习惯,有利益,有不愿意改变的理由。你把系统升级了,但使用系统的人没有升级。然后你发现问题还在。只是长在了一个新的地方。 我记住了这句话。后来见了很多次,发现他一直是这样的人——知道系统是由人构成的,不只是代码。 所以当他说AI是同事,我知道他说的不只是技术判断。他在说一种期待。 项目启动三个月后,我去他公司拜访。 他在一个会议室里等我。桌上放着三个屏幕,全是打开的对话窗口。他身后的白板上写满了东西,有流程图,有待办事项,有几行被划掉又重新写的字。 他看起来比三个月前瘦了一点。 我问:怎么样。 他说:比我想的复杂。 我说:哪里复杂。 他把椅子转过来,看着我。 他说:你知道AI最擅长什么吗。 我说:你说。 他说:它最擅长把一个已经想清楚的问题,快速地、准确地、漂亮地处理掉。 他停了一下。 他说:问题是,复杂项目里,大多数问题都还没想清楚。 我后来花了很多时间想他这句话。 一个复杂项目,它的复杂性来自哪里? 不是来自技术本身的难度。技术难度是可以学的,可以搜索的,可以一步一步解决的。真正的复杂性来自——你不知道问题是什么。 甲方说要一个”智能化的数据看板”。什么叫智能化?没有人说得清楚。你去问,他说就是智能一点。你去做,他看了说不对,不是这个感觉。你问是哪里不对,他说说不上来,就是感觉不对。 这不是需求不清晰的问题。这是有些东西在被说清楚之前,根本不存在。它需要在来回拉扯的过程里,慢慢地成形。 老陈说:我让AI写需求文档,它写得很好。条目清晰,逻辑严密,每一条都有根据。然后我把文档发给甲方,甲方说,对,就是这个。然后我们按文档做,做完了,甲方说不对。 我说:为什么。 他说:因为他们看到文档的时候说对,是因为文档写得足够合理,他们找不到反驳的理由。但合理不等于他们想要的。他们想要的,他们自己也不知道,要看到做出来的东西,才能知道那不是。 他说:AI帮我把这个过程加速了。我们更快地到达了”做错了”这个结论。 老陈的团队里有个人叫小魏。二十六岁,来了两年,是那种一眼就能看出来在技术上有天赋的人。老陈很看重他。 AI引入之后,小魏是用得最积极的一个。他用AI写代码,用AI review,用AI生成测试案例。他的产出量翻了将近一倍。 老陈开始很高兴。 然后有一天出了一个bug。一个很隐蔽的bug,藏在一个不常走的逻辑分支里,在特定的条件下会触发,触发了之后数据会出现细微的偏差,偏差不大,但是会积累。 找到这个bug花了将近两周。 老陈把小魏叫来。他说:这段代码你review过吗。 小魏说:AI review过了,没有问题。 老陈说:你自己看过吗。 小魏沉默了一下。他说:我看了,但AI说没问题,我就…… 老陈没有让他说完。 他说:你相信它比相信自己多。 小魏没有说话。 我问老陈,那个bug后来怎么解决的。 他说:解决了。一个老员工发现的。那个老员工做了八年,他一眼就觉得这里哪里不对。说不出来,就是不对。然后顺着感觉往下查,查出来了。 我说:AI没查出来? 他说:我们也让AI查了。AI给了三个可能的方向,都不是。 我说:为什么。 他说:因为AI是从已知的模式里找答案。这个bug不在任何已知的模式里。它是这个项目特有的,跟我们特有的业务逻辑,特有的历史决策,特有的数据结构纠缠在一起的。它只能被一个在这里待了很久的人感觉到。 他说:那种感觉没有办法被训练。它是时间积累的。 这让我想起一个词。 隐性知识。Tacit Knowledge。是迈克尔·波兰尼1966年提出的概念。他说:我们知道的比我们能说出来的多。 一个老工人能听出机器的声音哪里不对。一个有经验的医生能感觉到这个病人有什么地方不正常,但他说不出来是哪里。一个在同一个项目待了八年的工程师,能感觉到这段代码有问题。 这种知识不能被语言化。不能被文档化。不能被训练进任何一个模型。 它只存在于那个人的身体里。他离开了,它就消失了。 AI能处理的,是显性知识。能被说出来的,能被写下来的,能被标注的。它在这个范围里,几乎无所不能。 但复杂项目里,最关键的那些判断,往往不在这个范围里。 四个月后,我再去见老陈。 他看起来更累了。但眼睛里有一种和之前不同的东西。不是失望,是一种被重新校准过的清醒。 我说:你现在怎么看。 他说:AI没有我想的那么有用。但也没有我后来以为的那么没用。 我说:说具体点。 他想了一会儿。 他说:它有用的地方,比我预期的有用。写代码,生成测试,处理重复的文档工作,这些它做得比人快,比人稳定,不会累,不会因为下午困了而犯低级错误。 他说:但它的边界比我预期的清晰。边界就是:它能处理已经被定义好的问题。问题越定义清楚,它越有用。问题越模糊,它越没用。 他说:然后你会发现,复杂项目里,定义问题这件事,才是最难的。不是解决问题。是搞清楚问题是什么。 我说:这件事AI做不了? 他说:它能帮你做。它能给你一百个可能的问题定义,逻辑都是通的,语言都是漂亮的。但你不知道哪一个是真的。你要自己判断。 他说:这个判断,它给不了你。 我后来想,为什么给不了。 不是因为AI不够聪明。是因为判断需要立场。 你选择相信哪个问题定义,背后是你的判断,你的经验,你愿意承担的风险,你对这件事的理解,你跟团队的关系,你对甲方的了解。这些东西综合在一起,形成一个”感觉”,然后你说:就是这个方向。 这个感觉是你的。它不能被外包。 你可以问AI,它会给你分析,给你利弊,给你建议。但你听完之后,还是要自己说:我选这个。 然后承担后果。 AI不承担后果。它回答完就结束了。下一个问题问来,它重新开始,不记得上一个问题是什么,不在意上一个判断对不对。 这不是缺点。这是它的本质。 但复杂项目需要有人记得。需要有人在意。需要有人因为之前的决定承担了什么,而在下一个决定里更谨慎,或者更果断。 这个”有人”,不能是AI。 老陈后来给我讲了一件事。 项目进行到中期,有一个关键的技术选型需要做决定。两个方向,各有利弊。团队里有人支持A,有人支持B,争了两周,没有结论。 老陈把两个方案都详细地喂给了AI,让它分析。 AI给了一个很完整的分析。它最后说,综合各方面因素,建议选择方案A。理由是一二三四五。 老陈看完,让团队也看。团队里支持A的人说,你看,AI也这么说。支持B的人说,你看,AI只是根据你提供的信息在分析,你提供信息的方式已经带了倾向。 两个人说得都对。 老陈说,那一刻,他突然意识到,他们在用AI争论,其实是在继续用另一种形式争论。AI成了一面镜子,每个人在里面看到自己想看到的东西。 最后他自己拍板选了B。 我说:为什么选B。 他说:感觉。 我说:说具体点。 他沉默了一下。他说:我在这个行业做了十几年。我见过很多项目。方案A从技术上看更合理,但它有一个假设,它假设我们的团队能在两个月内掌握一个新的框架。我知道我的团队,我知道这个假设太乐观了。AI不知道我的团队。 他说:这是AI永远缺少的那块拼图。它不认识我的团队。它不知道小魏最近状态不好,不知道老王下个月要请假,不知道我们跟甲方的关系正处于一个微妙的阶段,任何延误都会被放大。 他说:它只知道我告诉它的事情。我告诉它的,永远少于实际存在的事情。 项目最后做完了。 比原计划晚了三个月。预算超了一些。但做完了,甲方签字了,系统上线了,跑起来了。 老陈说:AI确实帮了忙。代码量大的地方,节省了很多时间。文档的地方,省了很多人力。测试的覆盖率比以前高。 他说:但那三个月,不是因为AI没帮上忙。是因为有几个关键决策,我犹豫了太久。我犹豫,是因为我在等一个确定的答案。我问AI,AI给我分析,我看完觉得还是不确定,我再问,它再分析,我还是不确定。 他说:我在等一个它给不了的东西。 我说:什么东西。 他说:确定性。 他说:复杂项目没有确定性。你只能在不确定里做判断,然后推进,然后根据结果调整。这个过程需要你接受不确定,不是消除不确定。 他说:我以为AI能帮我消除不确定。然后我在这个幻觉里浪费了很多时间。 我后来想到一个比喻。 AI是一个极好的副驾驶。 它懂路,它能看地图,它能告诉你前面有什么,它能帮你计算走哪条路最快,它不会累,不会走神,随时都能给你信息。 但它不能开车。 不是技术上不能。是它不在车里。它感觉不到这辆车今天的状态,感觉不到路面的颠簸,感觉不到油门的松紧,感觉不到坐在后座的人在等什么。 开车的人要自己判断:现在是踩油门的时候,还是踩刹车的时候。 这个判断需要你在场。 AI永远不在场。它在别的地方。它同时在一万个地方。它不在你这个项目里。 我最后一次见老陈是在去年冬天。 他们公司接了一个新项目,比上一个大。他又在做AI引入的计划。 我说:你还做? 他说:当然做。它确实有用。 我说:你上次说它没你想的有用。 他说:没我想的有用,但比不用强。我只是不再期待它能替我做决定了。 他看了看窗外。外面是深圳的冬天,没有什么冬天的感觉。阳光很大,街上的人穿着薄外套。 他说:你知道吗,我们团队里有个很年轻的员工,刚来三个月,特别依赖AI。什么都问AI,AI说什么他做什么。 我说:小魏? 他说:不是小魏,小魏后来好多了。是个新来的,叫阿坤。 他说:我有时候看着阿坤,会想一件事。他用AI用得这么顺,他在这个过程里有没有在积累什么。还是说,他只是在执行,执行,执行,然后有一天,需要他做判断的时候,他没有判断力。因为判断力是在跌跌撞撞里练出来的,不是在一路顺畅里练出来的。 他说:AI让很多事情变得顺畅。我不知道这是不是好事。 我说:你会去管他吗。 他说:我让他做了一些没有AI参考的决定。故意的。 我说:他怎么样。 老陈没有立刻回答。 他端起茶杯,喝了一口,放下。 他说:他很慌。他不知道该怎么办。他来问我,我说你自己想。他想了很久,给了我一个答案。 我说:答案对吗。 老陈说:不重要。 他说:重要的是他想了。 那天我走的时候,他送我到电梯口。 他说:你问我AI能不能做好复杂项目。 我说:你怎么看。 他说:能做很多事情。很重要的事情。 他停了一下。 他说:但复杂项目最后总会走到一个时刻。所有的工具都用完了,所有的分析都做完了,所有的数据都摆在那里了。然后要有一个人站出来说,我们就这么干。 他说:那个人,得是个人。 电梯来了。我进去,门关上。 我透过那条越来越窄的缝看着他。他已经转身走了,走回他那堆打开的屏幕里,走回那个复杂的、没有确定性的、只有人才能扛下去的项目里。 门关上了。 该文章在 2026/3/31 11:22:36 编辑过
|
关键字查询
相关文章
正在查询... |
||||||