向“创新者”升阶,程序员当下如何应对 AI 的挑战
随着 AI 技术的飞速发展,特别是大模型的出现,传统的程序员角色正在经历深刻的变革,我们不得不重新对自己进行审视和思考。
通用领域大模型的“泛化能力”
在过去的二十年内,AI 领域的大部分研究和应用都集中在完成一项特定的任务中,例如:分类图片、总结文章、多语言翻译等,然而随着模型参数的增加, ChatGPT 的出现体现了“大模型”在通用领域内令人惊叹的能力,一些不存在于模型内的泛化能力突然出现了,AI 突然从大型的复读机变成了真正的人工智能。

上图是给 ChatGPT 一张梗所做出的回答,我们可以发现,ChatGPT 不仅正确识别出了图片表象的炸鸡和隐藏的世界地图,更推测了炸鸡所在的“食品”和世界地图的“地理”之间的结合想表达的“轻松和有趣的氛围”,这一刻 AI 仿佛不再是冰冷的,而是拥有了某种灵魂。
具有想象力的多模态的输入和输出能力
“模态”本身是一种生物学概念,从人类的角度出发,主要代指触觉、听觉、视觉、嗅觉和味觉,而从现在最常见的用户交互形式上,图片、声音和文字承载了主要角色,现在的 AI 能力也已经完全具备了这三者之间的理解与转换,并且这已经不是以往基于 OCR 等拟合技术的转换。
现在目前大部分相关的 AI 产品集中在以文字输入为统一的输入格式,以 User Chat 代替 User Interface 的方式生成各类其他模态的数据如:大段文字、图片、音频视频、JSON 数据等,我们已经在将开发的核心关注点从以往的实现一个功能进行数据传递,转向为更为核心的用户需求上,如各类模态内容数据的生成,跨系统模态数据间的联想、传递、转换。

目前,GPT-4 已经对部分用户开放了 All Tools 模式,在这个模式下以往需要单独选择的联网能力、图片生成能力、最多 3 个的插件能力已经被完全整合,GPT-4 会自动根据要求自动使用适当的能力使用适应的模态进行输出。
结合 AI 的泛化能力,多模态的用户输入和输出具有更大有想象空间。除了 AR、自动驾驶、智能硬件等服务于人的应用场景也得以飞速发展,我们与机器的交互方式也可能会不仅仅局限在视觉、听觉,在触觉、视觉、嗅觉、味觉等以往难以被抽象化的模态输入也可以被进一步的发掘和应用。
AI 对程序员工作模式的冲击
随着 AI 能力的涌现,AI 已经对现有的软件开发模式和程序员的工作模式造成了冲击,并且大语言模型在某些特定语言内的表现甚至超过了大部分的程序员。
1、使用自然语言生成代码
编程语言的进化历程就是从低级语言逐渐向高级语言的转变,从汇编语言=>C=>JAVA,最终必然会经历演变为自然语言的阶段,而 AI 使得自然语言向相对低级语言的转变成为了可能,而且在现阶段下,只要单个任务足够清晰和简单,AI 已经可以超越很大一部分的程序员,并且不得不承认的是,编程语言在一定程度上只是人类和计算机系统间传递信息的一种模态,程序员在其中扮演的角色只是翻译官。

上述是一个基于汇编语言 8086 指令集实现阶乘函数的问答,我甚至因为手机尾号是 8084 打错了指令集名称,Chat GPT 4 给出了相应的汇编代码和对应的注释,虽然因为没有汇编环境没有进行执行,但扪心自问,我们在没有编译环境和代码提示时面对自己的常用语言手写代码,真的可以做到无调试成功运行么?
2、使用 AI 辅助编程
目前微软已基于 GPT 4 发布了 Github Copilot,在不对现有开发进行冲击的前提下为程序员提供了可靠的辅助编程工具,Github Copilot 不仅可以理解上下文的语义,而且可以从整个项目的角度跨文件获取上下文进行代码生成。

随着 AI 能力的提高,AI 已经可以作为 Asstent 或 Copilot 的角色辅助程序员进行开发,程序员的职责已经逐渐演变为负责规划任务和验收结果,其中具体的编码工作已经逐渐在被 AI 替代。
3、模拟人类协同

我们心中完美的软件开发团队是各类人员各尽其职,拥有匹配自身的完美技能,且人员之间可以高效的进行沟通,但是假设其中的某类人员可以完全用 AI 进行替代的话会怎样呢?
就现有技术而言,AI 已经完全已经可以胜任部分相对固定的物料生成,人工的工作主要集中在 prompt 的录入和产出物的审核上,相信大家在各个视频平台上,从很久以前就已经开始听过无数小帅和小美的故事了。而且在我身边已经有某些游戏游戏公司完全裁掉了自己的原画部门和内容部门,将内容生成的职责直接合并到了原产品部门。

目前已经有大量的 AI 社会模拟项目涌现,可以对一个特定环境进行设定,给于各个 AI 一个特定的“人设”成为单独的智能体,各个智能体不停模拟相互关系进行迭代。
我们完全可以将环境设定为一个完美的软件开发团队,给于各个角色赋予特殊的职能,并使用特化的小模型进行赋能,当我们对模拟的环境按下了加速键,在算力足够的情况下又会发生什么,西部世界仿佛已经开始照进了现实。
AI 给我带来的焦虑感
本次 AI 浪潮经常被称为 AI 的 iPhone 时刻,但是 iPhone 只是优化了一部分的人机交互形式,让 PC 互联网进化到了移动互联网,而此次的 AI 浪潮更多的意义在于生产力的提升与替代,仿佛隐约代表着新一代的工业革命。

英国工业革命时,纺车的出现令生产效率大幅提高,手工纺织工人的就业机会急剧减少。曾几何时程序员仿佛带有着某种神秘的光环,而此次 AI 能力的涌现最让我焦虑的是,让我深刻认识到了程序员的“研发技能”不再具有壁垒,已经隐隐有了被 AI 替代的可能性,我以前自以为的高技术的能力的一部分已经成为了可以被替代的普通工作。而且 GPT-5 已经在路上,我已经不得不重新思考我的自我定位和工作方式。
程序员角色的转变
本次 AI 革命冲击的主体不是体力工作者,反而是很大一部分的智力工作者,程序员作为智力工作者的一大群体,在企业中同时也消耗了极大的成本。可以预见的是,程序员的部分岗位和职能必然会被 AI 所冲击。
首先,我们要认识到自己可以被替代的能力和不可以被替代的能力,从程序员的本身职能出发,我们要脱离将需求翻译成代码的基础能力,而更加关注更高阶的逻辑规划能力、架构设计能力、创新能力。
其次,大部分程序员往往是相对内向且不善于表达的,虽然 AI 具有了很强的理解和联想能力,但准确的需求描述和 prompt 描写能力,也会影响了你驱动 AI 产出内容的效率和质量。产品经理往往在表达能力上优于绝大多数的程序员,是很值得我们进行学习和借鉴的。
最后,我们不得不重新定义自己的工作流程,将工作进一步的进行细化并将部分工作交于 AI 进行实现,如:
更加关注软件工程本身,将更加“简单纯粹”的函数交于 AI 实现
使用 ChatGPT 解决通用领域问题
使用 Github Copilot 提高编码效率
在 Hugging Face 选择合理小模型解决领域问题
使用 DALL-E 和 Midjourney 生成图片
用 Notion AI 做日常记录和文档生成
不仅局限于末端 Skill / Tool / 个人能力,将自己的思想和思维方式赋能 AI Agent
我相信,随着的 AI 从现有的“人工智能”向着细分领域“智能体”进行转变,程序员本身的角色也会随着现在的“码农”向着更高阶的“创新者”进行升阶,我们要深刻的认识到,使用 AI 工具并不是为了减轻工作的“负担”,而是为了调整工作的“重点”。
未来我们可能会和 AI 同台竞技

在《圣经》中,亚当和夏娃因为偷吃了“智慧之果”就被赶出了伊甸园成为了人。而面对拥有永生的 AI,人只能使用拔网线和拔电源的方式限制 AI 成为神。
科幻已经映照进了现实,AI 此刻离我们仿佛很近但又很远,仿佛离我们很远但又很近
电影《流浪地球》2019~2023
剧《疑犯追踪》2011~2016
书《失控》《科技想要什么》《必然》《5000 天后的世界》1994~2023
随着通用 AI 能力的发展和 Token 问题的解决,领域 AI 必然会以“智能体”的形式代替特定岗位的工作职能和人类同台竞技,但淘汰我们的不是 AI,而是会使用 AI 的人。
作者:京东科技 董劭杰
来源:京东云开发者社区 转载请注明来源
向“创新者”升阶,程序员当下如何应对 AI 的挑战的更多相关文章
- 程序员的福音,AI可以自动修复bug了!
人工智能完全学会自己编程,可能说起来还有一种科幻感,但 AI 帮程序员找 bug 这件事,已经达到了不错的水平. 北京大学.微软亚洲研究院和中国电子科技大学就一起尝试着让 AI 找 bug.微软亚洲研 ...
- Python高效编程技巧实战 实战编程+面试典型问题 中高阶程序员过渡
下载链接:https://www.yinxiangit.com/603.html 目录: 如果你想用python从事多个领域的开发工作,且有一些python基础, 想进一步提高python应用能力 ...
- 万能的林萧说:我来告诉你,一个草根程序员如何进入BAT。
引言 首先声明,不要再问LZ谁是林萧,林萧就是某著名程序员小说的主角名字. 写这篇文章的目的其实很简单,算是对之前LZ一篇文章的补充和完善. 之前LZ写过一篇<回答阿里社招面试如何准备,顺便谈谈 ...
- 程序人生:02我来告诉你,一个草根程序员如何进入BAT
本文摘自左潇龙博客,原文出处:http://www.cnblogs.com/zuoxiaolong/p/life54.html 引言 首先声明,不要再问LZ谁是林萧,林萧就是某著名程序员小说的主角名字 ...
- 草根程序员如何进入BAT
首页 最新文章 IT 职场 前端 后端 移动端 数据库 运维 其他技术 - 导航条 - 首页 最新文章 IT 职场 前端 - JavaScript - HTML5 - CSS 后端 - Pyt ...
- 优秀ASP.NET程序员修炼之路
初级的程序员或经验不足的程序员往往只意识到自己的程序是写给计算机的,而不会在意程序其实也是写给人的,或在意得不够.不全面. 写给机器的程序,往往追求的是运行正确.执行效率能满足要求.但程序员的任务仅仅 ...
- 2017年 Java 程序员,风光背后的危机
不得不承认,经历过行业的飞速发展期,互联网的整体发展趋于平稳.为什么这么说?为什么要放在 Java 程序员的盘点下说? 的确,对于进可攻前端,后可守后端大本营的 Java 程序员而言,虽然供应逐年上涨 ...
- 2017年PHP程序员未来路在何方——韩天峰
PHP 从诞生到现在已经有20多年历史,从Web时代兴起到移动互联网退潮,互联网领域各种编程语言和技术层出不穷, Node.js . GO . Python 不断地在挑战 PHP 的地位.这些技术的推 ...
- 2017年PHP程序员未来路在何方
PHP 从诞生到现在已经有20多年历史,从Web时代兴起到移动互联网退潮,互联网领域各种编程语言和技术层出不穷, Node.js . GO . Python 不断地在挑战 PHP 的地位.这些技术的推 ...
- 2017 年 PHP 程序员未来路在何方
PHP 从诞生到现在已经有20多年历史,从Web时代兴起到移动互联网退潮,互联网领域各种编程语言和技术层出不穷, Node.js . GO . Python 不断地在挑战 PHP 的地位.这些技术的推 ...
随机推荐
- 解码Transformer:自注意力机制与编解码器机制详述与代码实现
本文全面探讨了Transformer及其衍生模型,深入分析了自注意力机制.编码器和解码器结构,并列举了其编码实现加深理解,最后列出基于Transformer的各类模型如BERT.GPT等.文章旨在深入 ...
- 《最新出炉》系列初窥篇-Python+Playwright自动化测试-12-playwright操作iframe-中篇
1.简介 按照计划今天就要用实际的例子进行iframe自动化测试.经过宏哥长时间的查找,终于找到了一个含有iframe的网页(QQ邮箱和163邮箱),别的邮箱宏哥就没有细看了.所以今天这一篇的主要内容 ...
- [ABC149E] Handshake
2023-03-06 题目 题目传送门 翻译 翻译 难度&重要性(1~10):4 题目来源 AtCoder 题目算法 二分 解题思路 因为按照贡献从大到小握手一定是最优的,所以将 \(a\) ...
- springboot3框架搭建
Spring Boot 3.0.0已经发布一段时间了,越来越多的公司考虑将技术框架升级到最新版本,JDK也相应要求JDK17以上.对应Spring Boot 2.x的版本,建议先升级到Spring B ...
- 微信小程序 setData accepts an Object rather than some undefined 解决办法
问题 setData accepts an Object rather than some undefined setData接受一个对象而不是一些定义 让我猜猜, 你一定是在加载index页面(首页 ...
- 正则表达式快速入门二 :python re module 常用API介绍
python regex module re 使用 reference regex module in python import re re.search re.search(regex, subj ...
- MySQL系列之优化——1.优化哲学、2. 优化工具的使用、3. 优化思路分解、4. MySQL参数优化测试、5.1 参数优化、6. 参数优化结果、7. 锁的监控及处理、8. 主从优化
文章目录 1.优化哲学 1.1 为什么优化? 1.2 优化风险 1.3 谁参与优化 1.4 优化方向 1.5 优化的范围及思路 优化效果和成本的评估: 2. 优化工具的使用 2.1 系统层面的 2.1 ...
- docker入门加实战—部署Java和前端项目
docker入门加实战-部署Java和前端项目 部署之前,先删除nginx,和自己创建的dd两个容器: docker rm -f nginx dd 部署Java项目 作为演示,我们的Java项目比较简 ...
- 2023年SWPU NSS 秋季招新赛 (校外赛道)WP—Crypto
一.Caesar_base 题目信息 s = "HIJKLMNOPQRSTUVWXYZABCDEFGhijklmnopqrstuvwxyzabcdefg0123456789+/" ...
- Pushpin:开源即时通信神器,让你的API秒变实时API,轻松实现WebSocket,HTTP流和HTTP长轮询等服务
作为一个开发者,你可能已经利用过REST API来构建和集成各种应用.REST API是基于HTTP协议的交互模式,它使得客户端和服务器可以通过请求和响应来进行数据交换,简单.灵活.通用. 然而,当你 ...