代码与写作

人们激烈地讨论AI对于职业选择的影响,讨论对于技术必要性的思考,一个很显而易见的问题在于:我们还该不该手写代码?
如果仍然需要所谓的「古法编程」,又是为什么如此,对于初学者而言,又该如何抉择。

从写作说起

如果说除了代码编写者之外,还有什么技能看起来没什么作用了,那么写作绝对是其中之一。
但对我而言,在筹划一个大文章的时候,我绝对不会让AI来插手整体的架构设计。我如此做不是因为什么虚无缥缈的写作灵魂,
而是说实在的,在AI最擅长的领域,他的速度的确很快,但又的确不够优秀,或者说这个东西不是我想要的。
人类社会面临很多模糊的东西,在这个话题性应当幽默一些,在那个语境下应当严肃一些,大模型无法理解什么是幽默什么是严肃,
只能用那蹩脚的「哈哈」语气来佯装自己很幽默,或者是用看似「冷酷果断」的短文句来证实自己的严肃。
这通常会过度

人类总是在处理这些模糊的需求,如果要想要写这么一篇批驳的文章,那么语气就不会太客气,那么
不会太客气到底是个什么度??似乎这很难让人理解,人类甚至难以用自然语言说清楚,这存在于人类的经验和直觉中。通常边写作边展开

这种模糊需求反应出的则是AI味总是难以清除,除非是那种思政类的本身就有强烈的风格指向的内容,否则很难真正的应对模糊的需求。
具体的例子在于提交作业,在提交学校相关的作业的时候,总是要进行一定量的删减与修改,除非老师很开明,不在乎AI生成内容。
就写作业而言,一些具体的修改在于

  • 让你借鉴课件的时候不要把借鉴课件本身说出来
  • 让你完成这一个认为不要自以为是地搞一些莫名其妙的扩充
  • 让你提供直观的时候不要给出一些更抽象的比喻

在这种情况下,让其说法更自然、更像人、更连贯,这样的提示词完全无法提供更多有效的信息,提供了之后等于没提供。
只能是指出更为细节的内容,以及使用更加高级的语言,而这取决于用户的知识储备。

在我的写作中,我是用AI来处理的最重要场合则是简单描述和事实核查。例如,我要写一篇关于宗教的文章,在这一篇文章中,
我需要想给读者快速阐述基督教的历史,而这个历史过程我又懒得去重新论述,这时候,AI用于完成这一小段内容是再合适不过了。
再比如,我需要查找实际的数据来说明宗教人数的变化,这时候则会提问大模型使其给出相干的文档,指向相关的链接,通常来说,又快又好。

所以在这里停顿下来,我先说写作是为了说明什么?

  • 大模型工具在专业人士中要强大很多倍,因为他们有更丰富的词汇量
  • 在处理模糊的需求中,创作本身是思维展开的一部分,有些难以用自然语言完全概括,一般不可能在开始之初就一下子说完
  • 大模型处理模块化的东西更加可控,让他控制整个系统会丧失对整个项目的掌控性

因此,「人写的文章」的质量大多数比「AI」生成的要优秀,也更加适应实际的模糊世界。

要不要学编程

坦白说,这个问题困扰我很久,最初没选择计算机专业也是因为不喜欢写代码,但如今「氛围编程」的出现,我倒是感觉编程是越来越有趣了。

这种有趣的感觉来源于其确定性,这就像游戏,努力就一定有回报;同样的,一个思考更多的代码往往有更高的稳定性和简洁性。

当然,实际来说,该不该学编程,这完全取决你的位置,在过去,会写代码是一种基本功,因为显而易见的是,不会写代码你就无法工作,完全无法。

但现在情况发生变化,写代码往往对应一些更高级的操作,例如设计核心的逻辑和底层的交互,再比如代码出现崩溃需要紧急维护的情况。

在这种情况,求助于大模型工具的确是不如老资历,但新人呢?
公司一般也不会把核心业务交给新人,就这样,他们面临的写代码的情形越来越少,同样的,竞争和业务指标在那里,这使得他们也必须使用大模型工具来提高开发的速度,否则则会被认为是「无效率/落后于时代」的,尽管这牺牲了对项目整体的掌控程度。

因而就我个人来说,对一个小白来说,学习基本的语法和交互逻辑是必需的(否则你都看不懂),但是否还值得去做那些题目来提高熟练度,我觉得优先级并不是非常高。

一个显而易见的问题则是:当你在绞尽脑汁思考该怎么设计的时候,总有一个问题在脑边回荡「要不要打开潘多拉魔盒」,如果不是热爱编程或者被迫考试的人,会立刻产生「我这么做有何意义」的疑问。但我并不是对大模型生成的东西完全不管,或许在看代码的过程中、在「这段代码是什么意思」的这个过程中,当然。理解大模型的代码也需要动脑或许这个过程会替代原来的完全闷头做上一百道题这种方式,这更好接受一些,因为有个现成的业务例子,你会感觉更有意义。

以我自己为例,我过去去做数据科学相关的内容,使用一些特定的软件包,在「氛围编程」流行起来。我在想,我是不是能自己开发软件呢?在统计学中,我们又时常使用R语言来处理数据,但现在关于R语言,我也只是知道基本赋值和语法,一个显而易见的结论是。我根本不用管代码是什么,只用知道这一块在算什么,算出来的结果是什么意思,这就足够了。如果画出来的图不够优美,指点一下则能完全修改,而且非常漂亮,这就说明对于R语言来说,是真的不用学习了,因为通常来说也没什么大项目,一般是一些检验、一些画图、一些建模。

两年过去,我大一学的C语言几乎忘光了,大二学的python与数据科学相关的包也忘得差不多了,或许在几年前我还能做一做,但是现在的确是不会了。这当然是我个人能力的退步,但也不能完全怪罪于我个人,是实在没有什么应用场景,会忘的。那么,适应「氛围编程」之后,这些人会不会忘记怎么编程,其实也不得而知,这或许会比「氛围编程」本身影响还大。

因而,除了一些很重要的业务代码。其他的均有一种R语言化的倾向,模块化,因而看懂则万事大吉,当然,看懂对于什么都不知道的人也不简单。如果算法不是你选的、测试方法不是你选的、甚至技术栈和整体架构也不是你自己选的,那么你又能掌控什么、添加什么。或许也只能沦为「无能的丈夫」之类的角色了。同时,这也完全没有创造与开发的乐趣。

交钱的是消费者

最有趣的永远是人类
AI编程
我不知道一些为什么完全没有电脑使用,上赶着去充什么codex和claude code,这简直匪夷所思。
刷到一个视频,一个人从来不用电脑,为了使用codex花钱去买一个新电脑。那如果你的日常生活根本就用不到电脑,那么你又充codex是为了做什么?去购买一个时尚单品吗?
买一个大模型工具,则认为自己就踩在所有程序员脚下了,觉得自己能开发任何数字领域的东西了。
一些人把大模型真的当许愿机,甚至称其为「触摸神」,但就我个人测试而言,一个很常见的需求,建模一个3D人体,对于大模型来说也并不简单。
今天说AI时代已到,以后钱都不重要了;明天说物理AI已经有被击破的苗头
问题在于,「苗头」是什么意思,难道是永无止境的地平线?

不要想象AI还没有完成的事情,例如什么所谓「AGI/具身智能」,再比如什么「替代所有人的工作」,彻底解决「少子化/老龄化」。
这是对未来的不尊重,事实就是:我再次重申,事实就是:

我们无法预测未来