说说在工作中深度使用AI的感受

in HIVE CN 中文社区yesterday (edited)

大约半年前,决定在一个新项目中深度使用AI,也就是说不是实验,而是在真正的产品环境中彻底使用AI。这种使用不是简单的使用一个AI对话窗口,而是使用AI工具来构建/审核所有代码。当然,其中必须要有人的干预。

image.png
图源:Pixabay

先说优点。

首先就是效率的大幅度提升。如果开始实现一个新功能,只需要把需求彻底讲清楚了,需要使用的工具/框架等给的明明白白,AI的生成效率高的惊人。有些时候人工需要几天的活,AI基本上就需要几个小时就能完成。而且一般情况下质量还行。

以上这点在使用不熟悉技术/框架的时候就尤其明显。如果时人工方式的话,首先需要花费时间来学习新框架,之后等到熟悉了才能上手干活。这就使得速度变得更慢。

再有就是AI产出代码的规范性非常好。只要你的提示词给的足够清晰,AI做出来的东西都是很规矩的。基本上不会犯一些初级错误。

再来说说其准确率。如果是很繁杂但简单的工作,比如编写单元测试,AI通常会做的很好。可能也是因为只要读懂代码,单元测试该怎样写,包含什么内容是比较容易推演的吧。

再来说说缺点。

第一点就是在习惯使用AI工具之后产生的依赖性。想想也是,如果习惯于其高效的工作方式之后,有谁还想回到从前,效率降低无数倍?上了这个快车道之后,想要下车会变得很难。这也给很多人一种感觉:尽管是人和AI协同工作的,但似乎并没有原来的感觉:代码是我写的,我最清楚它该如何工作。现在的代码并不是手搓的,因此印象并不深刻。短时间可能还好,但时间长了,只能大致明白其如何工作,很多细节都会忘掉。

再者就是其非常容易跑偏。或许是因为提示词不够准确,亦或你的问题之前别人没有问过,模型没有受到过相关训练,因此回答的并不够准确,甚至是错误的。这就要求AI的使用者必须能够完全理解需求,也熟悉要使用的技术,这样才能在AI出错的时候进行纠正。但问题来了,如果现在的毕业生从第一天入职的时候就和AI协同,他们的经验从何而来?如果AI跑偏,他们又怎样能指出并纠正错误?

经过一段时间的尝试,我感觉最为有效的方式就是:大框架要自己来设计决定。然后把每个小模块的要求描述清楚,让AI实现。这样其跑偏的可能性就会小很多。

真的无法想象,再过两三年之后,这个世界会变成什么样子。。。

Sort:  

Your approach of deciding on the overall framework yourself and then handing individual tasks over to AI as modules is really interesting. I can well imagine that this way of working will become increasingly important.

Perhaps programmers will actually be needed less often — at least those whose main task is writing code. At the same time, there will be an even greater need for people who understand what actually needs to be done, who can capture the requirements properly and recognize when the AI is heading in the wrong direction.

I find your point about newcomers almost even more interesting. If AI takes over a large part of the work from day one, where do they gain the experience they need to judge later whether the result is actually right?

I think this question will keep us busy for quite some time. And in two or three years, the answer will probably already look quite different from today.

Offloading implementation to AI misses a critical truth: writing code was never just execution, but the cognitive vehicle through which engineers stress-tested their architecture. By skipping the painful, hands-on debugging cycles where intuition is forged, we risk creating a dangerous junior talent debt - producing developers who lack the deep mental models required to spot subtle logic bugs or security flaws when AI output strays. In two or three years, the most valuable engineers won't be those who prompt fastest, but those with enough deep technical fundamentals to rigorously audit AI-generated code and call BS when the model inevitably goes off the rails.

Maybe this is actually the more fundamental question: What skills do humans need to retain as more and more of the execution becomes automated?

For me, that includes understanding, critical thinking, and above all the ability to properly understand a problem in the first place. But experience also matters enormously. You need to have experienced things yourself, tried them, and sometimes gotten them wrong to be able to judge whether a seemingly perfect solution actually works.

Perhaps this also changes the value of education. We may not need to train people to execute as much as possible themselves if AI can eventually do it faster. But we need to give them enough depth of understanding to guide, question and, when necessary, correct the AI.

And perhaps that is the real challenge: As we let AI take over more and more of our work, we must not simultaneously lose the skills we need to judge the AI.

Otherwise, we may eventually have increasingly capable and efficient systems, but fewer and fewer people who still know whether the result is actually right.

Exactly. It comes down to a simple question: do we still learn enough by doing the real work, or will we lose our ability to catch sneaky mistakes? We’ll see how things play out. Thanks for the great chat!

用完AI之后,已经没法古法编程了

AI 发展太迅速了。。

是啊,没法预测什么时候是奇点,但我相信不会太远了。。。