人人都是程序员
六月初在旧金山有一个历时三天的大「庙会」,AI Engineer World's Fair。有一个小伙子20分钟的报告,在我的同事群里引发一场有意思的对话。
先声明,我们是一群老家伙。我们受的程式语言基本训练,几乎是从0与1开始的,现在的小朋友根本就不学组合语言(Assembly Language)。这是与机器共存的机器语言,程式没有办法在不同的机器之间转换执行。像C,C++,这些被计算机系教授认为是硬核的语言,在我们那个年代,已经属于高阶语言了。
所谓的高阶语言,就是从与机器绑定的低阶语言,往前跨一步逐渐远离机器,慢慢接近人类的自然语言。后来程式语言发展,便是朝着这一个方向一步步迈进。
小伙子任职OpenAI,把他20分钟的内容浓缩成一句话就是:很快地只要会用英文写规格,就能请AI帮你执行程序。
基本上我同意这样的说法,
但是,
能运用语言写出一篇文情并茂文章的人,不一定能写出一份正确的规格。
文学作者创造出来的句子,可以包含层层面面不一样的意思,每个读者都有自己的解说与认知。这样的文章才值得许多人去读去探究。
但是,这样的手法写规格,是行不通的。
规格必须是不论放在哪里执行,结果都一样。
另一位同事则有不一样的忧虑。
我们对于系统架构的理解与设计,是几十年一行一行码出来的经验。现在这些基本功很容易被AI取代,年轻人失去了历练的机会。
也许吧,这一点我并不是太担心,年轻一代是踩着先人的经验成长进步的,不一定都要自己走过一遭。
另外一个同事则提出,我们放任AI制造程序,缺乏有效管理,总有一天会没人看的懂,更遑论维修。这的确是一个隐忧。
上个世纪末,一个英国的远亲来我家住了几天,知道我是程序员,说了一个她的亲身经历。
她去银行办事,怎么也办不利索,银行员怪罪电脑,说是电脑太蠢做不来。她早已失去耐性,回呛:电脑依人的指令办事,你把给电脑下指令的那个白痴给我叫出来。
远亲一口标准的英伦腔,连比带画精彩极了,一个小故事我听得哈哈大笑,笑完突然惊觉,我好像就是那个白痴。
AI基本上仍然必须有人下指令。
学写规格,应该比学习完全不一样的程式语言容易上手。
有AI agent,人人都可以是程序员。
放几张原始的“人工智慧” (原创图,波士顿美术馆)
“ 最终把好关还得需要人有足够的经验。”。确实是这样,所以担心偷懒的人没有好好把关。:(
“当前AI的程度我认为是难以轻易完成的” 。完全同意,但是,我们仍继续使用,也就是在不停地训练model。。。
AI 是码工们的“孩子”,如何教养?任重而道远。:)
我好想笑。哈哈哈…
十多年前,我一个台湾同事QBR上做报告时说基于先人的努力达成的结果… 我在旁边听得感觉怪怪的但一下说不出来感觉,结果老板说了,先人?你意思是前人吧,先人指的是自己家过世的祖宗… :)
顺便八卦一下,那个同事长得好美。据她说她曾祖父是追随段祺瑞的北洋政府的一个部长。
我觉得小伙挺轻率的。
既然前提是需要人用英文写规格,那么他所谓的AI只不过帮人做了coding的工作。绝大部分人(码工)的思维在短时间内无法足够发散,出现bug,出现遗漏在所难免,最终把好关还得需要人有足够的经验。
不过有可以同意的是,有AI助力,大量初级码农的工作确实可以被替代,AI写码的效率远高于人类,我自己曾经试过让chatGPT帮写几个算法,快!但是若不一步步提醒,AI总是给出出现遗漏不够完美的程式,因此可想而知一个复杂的系统,当前AI的程度我认为是难以轻易完成的。
“ 文学作者创造出来的句子,可以包含层层面面不一样的意思,每个读者都有自己的解说与认知”很认同码农这句话,深刻。赞码农好文,周末愉快。
也许我可以请AI帮忙。:)
您也过谦了,finance 与生活息息相关,太重要啦。预祝有个美好的周末。
子曰:“敬而远之,可矣。”(敬老 - 智慧之老)
2. “AI 确实威胁不到我这样的老人。”
俺曰:倚不老之老卖老,欠妥?(爱幼 - 最幼不老少年心)
3. "常调侃自己的是:It’s only Computer Science, not Rocket Science."
俺也爱这般自嘲:It is mere finance, not even computer science, much less rocket science.
“她去银行办事,怎么也办不利索,银行员怪罪电脑,说是电脑太蠢做不来。她早已失去耐性,回呛:电脑依人的指令办事,你把给电脑下指令的那个白痴给我叫出来。”,哈哈哈,笑S!:)
COBOL JCL 我是每天都用。
写程式说难,其实也很简单。就像您所列举的,我以为一个有寻常逻辑推理能力的人,都有这些特质。
AI 确实威胁不到我这样的老人。:)
What are the 3 logical structures of a program?
1. Sequence 2. Selection/Condition 3. Loop/Repetition/Iteration Logical structures determine how your program will execute the step by step process you have defined.