自从有了ChatGPT,我对是否要精通编程语言有了困惑。
ChatGPT 是一个强大的人工智能模型,它可以像一个聪明的人一样回答各种问题。
我曾经花了很多时间学习编程语言,我一直以为这是一项很有用的技能。
但是自从有了像 ChatGPT 这样的强大人工智能模型之后,我之前学习的各种编程语言的细节,就变得可有可无。
打个比方,之前我学各种数据库,我学各种框架,我学各种设计模式,我学什么指针、引用,我学什么内存管理,我学什么垃圾回收,我学什么操作系统原理,我学什么网络通信……这些东西,我现在想让 ChatGPT 帮我写个代码,它都能帮我写,而且就是一句话的事。
那作为普通人,一个不以编程谋生的人来讲,精通Python是否还是一件非常有必要的事?这让我感到困惑。
用ChatGPT会导致编程基础打不扎实?
我也请教了一些朋友,他们普遍和我说,ChatGPT的确能辅助编程,但这样学下来,我的编程基础会很烂,而且Python这种相对简单的语言,使用ChatGPT来学习,未必能够学得很扎实。
而且他们还说,虽然我可能能够写出“能用”的工具,但这个“能用”的工具未必“好用”,哪怕目前好用,也不代表将来好用(言下之意就是可拓展性差)。
我觉得说得有道理,但还是想自己尝试下,看能不能在不精进Python的情况下,单纯靠ChatGPT来开发工具。
我总是隐约有种感觉,觉得从ChatGPT这类大语言模型觉醒后,编程就不应该再是之前那个样子,但苦于不知道具体应该怎么变。
实践过好几个月后,我现在终于能够说出这个感觉的原因了。
我认为,人工智能的发展,特别是大语言模型的出现,给我们提供了一个理想的契机,让我们能够重新审视编程的本质。
我们可以说,过去的编程是“写”程序,而未来的编程应该是“教”程序。
下面来说说我的实践,所思和所感。
实践大半年,我发现AI确实存在巨大问题……
大概半年前,我开始依赖ChatGPT写各种Python脚本。
有了AI加持,我写脚本的速度和质量,和之前完全不可同日而语,一些简单的功能分分钟就能写好,和AI说下需求,AI就把代码生成好。
我只要负责复制粘贴,把代码放到我电脑上跑一跑便可,在80%的情况下,代码都能一次性跑通,不需要做任何修改。
当然啦,方便是方便,但我刚刚也说了,在80%的情况下,代码没有半点问题,但要命的是,在另外的20%情况下,代码就可能有千丝万缕的问题。
这些问题有时候很难察觉,你把代码跑通了,但是结果却不对。
这时候你会发现,代码的逻辑是没错的,但是有一个细节处理得不对。
如果你是一个有经验的程序员,你会回过头来仔细看看这个细节,然后发现它的确有问题,然后你就会修正它。
但是如果你是一个没有经验的程序员,你很可能会觉得这是一个无解的问题,或者干脆说这是一个bug,你就会把这个细节注释掉,然后继续跑代码。
这样你的代码就会越来越糟糕,而你自己却浑然不知。
写代码2分钟,debug2小时
后来我也想明白了,这是因为AI能很好地满足你的需求,但是不能告诉你什么是你的需求。
我在写脚本的时候,我可能会说“给我一个能把这些数据处理成那样的脚本”,但是我不会说“给我一个能把这些数据处理成那样的脚本,而且这个脚本不能有任何问题”。
这个“不能有任何问题”这个前提,AI是不知道的。
而我作为一个人,我也不知道我不知道。我只有在问题出现之后,才会知道我有这个前提。
所以弄到最后,就变成了“写代码2分钟,debug2小时”这种情况。
所以在用ChatGPT写Python脚本的最早期,我可以说碰了一鼻子灰,老是出现各种细节上的错误,有时候这种错误还非常幼稚。
幼稚到就是个符号错误,最后自己发现时嘀笑皆非。
我需要不断地尝试、调试,甚至在写一行简单的代码的时候都可能会出现各种纰漏。
但是我没有放弃,因为我知道只要坚持下去,最后一定能写出来。
而且,慢慢地,我也掌握了一些常见的Python语法和编程思想。
好的程序员,本身一定是个好的产品经理
而且在这种过程中,我逐渐发现,最核心的还是要自己把问题想清楚才行,你给出的指令越模糊,越模棱两可,最后的结果也会非常糟糕。
就好比前面我提到的,如果你给出的指令是“给我一个能把这些数据处理成那样的脚本,而且这个脚本不能有任何问题”,这个“不能有任何问题”就是最大的问题。
但如果,这个命令改成“给我一个能把这些数据处理成那样的脚本,而且这个脚本的运行时间不能超过0.1秒”,那么我就能给出一个非常好的答案。
所以,好的程序员,本身一定先是一个好的产品经理。
这和培养刚进公司的新手是一个道理,你如果给他一条模棱两可的命令,比如“把这个PPT做好”,那他一定做不好。
但你如果给他一个非常具体的任务,比如“把这个PPT做成10页,每页有3段文字,每段文字不超过10个字,有5张图片,每张图片要标注说明,最后一张图片要加个动画效果,用这个主题模板,字体用这个,颜色用这个”之类的,他就一定能做好。
这是因为在他做的过程中,因为有了你非常明确的指令,他能不断地调整自己的方向,他能不断地检验自己的结果,他能不断地获得反馈。
所以想清楚这个逻辑后,很多矛盾处就变得有解了,如果ChatGPT写出来的代码有问题,那一定是我的指令有问题,没有把需求描述清楚,而不是ChatGPT写不出来。
所以到最后,我们就会变成在“描述需求”上下功夫,而不是在“写对语法”上下功夫——这本身也暗中契合编程本质。
这半年多时间里,我用ChatGPT+Python做了哪些事?
所以在“文档优先,语法靠边”的思想下,这半年多时间,也让我折腾出不少好工具,比如:
1. 做了个符合艾宾浩斯记忆曲线的记忆工具,现在不仅能帮我背单词,还能帮我记住任何想记住的东西;
2. 做了个电影台词提取工具,我只需要属于一个单词,就可以在我的影库中,找到包含这个单词的所有片段,帮我理解和消化这个单词;
3. 做了个自动查关键词并写博客的工具,我只需要输入一个标题,他就能自动查询核心关键词,以及这个词下所有的“related questions”,并帮我把段落生成出来,并附上对应的midjourney图片;
4. 做了个微调工具,比如我想模仿刘润的文笔,我只需要把刘润的书籍上传上去,就会自动微调ChatGPT3.5的语言模型;
5. 做了个声音模仿的工具,我只需要上传两个小时自己的音频,就能把我说中文的语音克隆下来,非常逼真;
6. ……
这里没办法一一写全,简单来说,我做了很多工具,每一个工具都是为了解决我工作中的一个痛点。
这些工具都是我自己写的,我也不是专业的程序员,但是因为有ChatGPT的加持,让我享受到写代码的好处,我想要什么功能,自己可以随时加上去。
这些工具是我工作的辅助工具,我从来不会指望工具能帮我全自动的搞定所有重要工作,但是这些工具能实打实帮我节省时间,把工作中的一些重复劳动消灭掉。
什么是编程的中最重要的事?
编程中最重要的事,不就是让没有自主意识的机器理解你的意图,让他做你想做的事吗?
那在两年前我刚开始学Python,很长一段时间,我都深陷各种语法细节中无法自拔,就显得愚笨且糊涂。
比如为了学“装饰器”和“迭代器”这个概念,我看了好几篇文章,上了很多节教程,有些教程翻来覆去看,不仅没看懂还越看越糊涂。
我就想,这都什么鬼东西啊,你到底想干什么?
我总想找到一个直观的理解,可就是找不到。最后我也只能死记硬背,结果一旦有了直观理解,突然间我就明白了,这玩意儿这么简单啊。
就是这么一个简单的概念,我为了学它,居然要看好几篇文章,还要死记硬背。
我当时就想,其实这么多语法细节我完全没必要掌握啊,我只要知道有“装饰器”的存在,这个东西用来干嘛的不就行了?为什么要费劲巴拉地背这背那儿呢?
多亏有AI,可以让我从繁文缛节中逃脱出来。
人要做AI做不到的事
我们人类还是要做自己擅长的事,不擅长的部分,交给AI就好了。
那,人和AI相比,到底有哪些地方是和AI不一样的?或者说是AI彻底没法比的?
我认为,比智商和情商,现在人类基本都输给AI了。
但至少有一样东西,是AI短期内学不来的,那就是——人有主观能动性,人能知道目的地在哪。
哪怕未来诞生了AGI,但强大的AGI依然没法知道他最后想干嘛。
就好比经营一家公司,哪怕公司有再能干的员工,如果不知道缺少CEO,没有掌舵人,公司也会混乱不堪,最终沉船。
所以怎么和AI相处?通过这大半年使用ChatGPT来写Python脚本我就明白了一个道理:你要把自己当成CEO,把ChatGPT当成得力干将。
比如,乔布斯自己本人并不擅长编程,但最后,他之所以能做出iPhone这种伟大的产品,是因为他是个好的CEO,而且非常擅长给手下下达明确指令。
乔布斯会告诉你,这个手机的外形要做成这样,要有这么多个按键,每个按键的功能是什么,手机的屏幕要有多大,屏幕的像素要有多高,手机的电池要有多大,电池的续航时间要有多长,手机的操作系统要有哪些功能,各个功能要怎么摆放,手机的音箱要有多大功率,音箱的音质要有多好,手机的摄像头要有多少个像素,摄像头的拍摄效果要有多好……等等等等。
这些指令都是非常具体的,而且乔布斯还会不断修改这些指令。
所以乔布斯不是一个“设计师”或“工程师”,他是一个精通指令的“CEO”。
和AI相处多了,你会发现
和AI相处多了,你的领导才能一定会提高。
就好比,如果你手底下有聪明能干的将士,哪怕你一上任做了很多糊涂决策也不要紧,因为现在的AI永远都是任劳任怨,永远都不会知道累,不会顶嘴,不会烦你,不会谋反,这不像真的带兵打仗,搞错一个决策就可能全军覆没。
你的决策成本很低。这就可以让你无限做决策,并在和AI的交互中,让你的决策质量越来越高。
你的手里有了一柄锋利的剑,而你的对手,只是一把钝刀。
他们不会使用AI来帮助自己,而你可以。
你可以让AI帮你分析数据,你可以让AI帮你优化方案,你可以让AI帮你预测未来,你可以让AI帮你提高效率。
你可以用AI来帮你思考,用AI来帮你做决策,用AI来帮你解决问题。
不光是用AI来优化Python,其实身边所有习以为常的东西,你都要想想能不能用AI重塑一遍。
所谓的“AI First”,就是这么个道理。
200+内测外贸人爆赞的AI工具,双十二免费送!!
仅限本月前600名多报学员,报名后课程和 AI 系统将自动开通。
国内首个外贸AI业务员系统,米课线下学员亲测的外贸行业变革级工具,他们说,米课AI让公司效率不止翻十倍。
再搭配我录制的47节操作小课,,做出一个专属你公司业务的定制化ai。
赠送仅限本月前600名,线下学员知道,这个工具对外卖都是¥3000+。所以,600名过后,马上恢复原价3000元单独售卖。
我敢说,这个工具会自此改变你做业务的方式,越早掌握的外贸人,将把同行远远甩在身后!
报名立即抢占👉:www.imiker.com
另外通知一下想来参加我线下课的外贸人:明年米课线下将全面涨价&不包食宿,计划来学习,请抓紧找米课课程顾问报名👇。
【扫上方二维码联系课程顾问报名】