作者:明明如月学长, CSDN 博客专家,蚂蚁集团高级 Java 工程师,《性能优化方法论》作者、《解锁大厂思维:剖析《阿里巴巴Java开发手册》》、《再学经典:《EffectiveJava》独家解析》专栏作者。
热门文章推荐:
- (1)《人工智能时代,软件工程师们将会被取代?》
- (2)《超全人工智能 AI工具导航网站合集》
- (3)《如何写出高质量的文章:从战略到战术》
- (4)《我的技术学习方法论》
- (5)《什么? 你还没用过 Cursor? 智能 AI 代码生成工具 Cursor 安装和使用介绍》
- (6)《我的性能方法论》
- (7)《New Bing 编程提效实践 – 语言识别功能》
热门:学长主导的新星计划2023【AI 助力软件开发】学习方向,旨在引导大家学习 AI 工具的使用、学习如何写出高质量的技术文章。引导学员借助 AI 工具更好地学习,更快地解决问题。火热报名中,感兴趣快来报名吧!
一、背景
几年前,天猫精灵、小度等智能助手不断出现,当时作为一个程序员来说,觉得这些所谓的人工智能不过如此,不足为惧。
然而随着 2022年 11月 30 日由 OpenAI 研发的 ChatGPT 发布,一切都变了。从 GPT -3 到 GPT 3.5 到 GPT 4 ,很多方面已经超过很多专业人士,功能越发强大, 基于 GPT 研发的工具不断涌现。
微软 Turing NLG 、百度 Ernie 、谷歌 Switch Transformer 等和 GPT 相似的大模型,也不断涌现和应用。
这些大模型在不同的领域相结合,提升各个领域的生产力,软件工程师和其他行业员工的部分工作已经可以被取代。一些相对简单和重复性的编码任务,甚至越来越多的复杂任务,人工智能可以轻松快速完成。
那么是否软件工程师群体将会被取代?软件工程师这个群体该何去何从?
本文会先介绍最近比较流行的,尤其是和软件开发相关性较大的 AI 工具,然后分享一下自己对人工智能发展的畅享,最后探讨我们应该如何应对。
二、大模型时代
2.1 GPT 系列
2.1.1 ChatGPT
ChatGPT可以回答用户的问题。不论问题涉及历史、科技、文化等领域,只要用户提出,ChatGPT会尽力提供准确的答案,帮助用户更快地获取所需信息。
ChatGPT 还能进行对话。用户可以向其提出问题或者表达想法,ChatGPT会根据输入内容做出回复。这种对话交互可让用户感到更加舒适自在。
ChatGPT还可以生成文本。用户可提供关键词或句子,让 ChatGPT 创作出有趣的文本,如诗歌、小说、文章等。这对于那些需要灵感或想要创作的人来说非常有用。
ChatGPT还能进行语言翻译,将一种语言翻译成另一种。同时,它也能帮助用户润色文章或提供写作建议。这些功能都可帮助用户更高效地完成各种任务。
GPT 还提供了 API 调用的功能,可以让众多第三方应用可以基于该 API 提供自己的服务,成为 GPT 在各领域应用的加速器。
2.1.2 搜索引擎:New Bing、YouChat、Perplexity
作为软件工程师而言, 这些基于大模型的搜索引擎帮助挺大:
- 可以通过它们来学习。让它给你介绍一些自己不理解的概念,不断追问的方式学的更深入和系统。
- 可以通过它们辅助编码。可以把一些编程任务交给它。让它帮你写一个 DEMO,然后不通过对话让它不断改进、甚至帮你编写单测。
- 可以通过它们解决问题。日常开发中遇到问题时,可以描述给新必应,让它给你解决问题的思路。有时候自己解决可能需要几个小时的时间,问它们可以很快锁定问题的关键,快速解决问题。
- 可以让它们辅助做计划、解答日常困惑。日常开发的技术提升、工作中的同事关系、旅游的计划的制定、周报编写等。
- …
(1)New Bing
New Bing 是基于 GPT 4 的智能搜索引擎。
通过新必应,用户可以提出复杂问题让它来实现;可以对它提问,获得想要的答案;让它给你创作灵感。
(2) perplexity.ai
Perplexity.ai 是一个基于人工智能的搜索引擎,可以用自然语言回答用户的问题。它有一些特色,比如:
- 提供个性化的推荐,根据用户的兴趣和历史搜索给出相关的建议
- 自动扩展查询,根据用户的输入添加更多的关键词或短语来提高搜索效果。
- 理解自然语言,可以处理复杂和模糊的问题,并给出准确和简洁的答案。
- 提供即时结果,可以快速地获取最新和最准确的信息。
- 提供一键摘要,可以将长篇网页缩减为主要内容,并分享给其他人。
2.1.3 编程领域:Cursor 、GitHub Copilot
当然前面的 ChatGPT 、New Bing 等也可以写代码,但有些工具更侧重于编码,如 Cursor 和 GitHub Copilot 等。
(1)cursor
Cursor 非常强大而且免费,可以描述你想要的功能,它直接帮你写好。你还可以“和代码对话”,选中一些代码片段对它提问。你还可以选中一部分内容,说出自己的诉求,让它进一步优化。
官网界面:
和 Github copilot 的区别:
使用示例:
还可以选中某个函数或者某部分,让它讲解相关用法。还可以选中某个区域告诉它修改方向,让它根据你的需要进行优化,非常强大。
更详细的内容参考:《什么? 你还没用过 Cursor? 智能 AI 代码生成工具 Cursor 安装和使用介绍》
(2)Github Copilot
Copilot 是非常强大的 AI 编程助手,并提供了 IDE 插件,使用起来非常方便。
官网界面:
提供的功能:
2.1.4 笔记领域:Notion AI、印象 AI
笔记软件也在基于 GPT 大模型提供越来越智能的功能。
如 Notion AI, 目前就可以提供以下功能:
- 总结笔记内容
- 头脑风暴
- 帮你写草稿
- 修改拼写和语法错误
- 将你写的文本轻松翻译成其他语言
https://www.notion.so/help/guides/using-notion-ai
2.1.5 办公领域:Microsoft 365 Copilot
借助大模型,Office 的办公效率有质的飞跃。
在 Word 里,你可以让 Copilot 给你写文章、改文字、做总结。
在PPT中,你跟它说说你的想法,它就自动给你做出一整套 PPT,美观的页面自动给你设计好。
在 Excel 中,Copilot 几秒内就帮你生成清晰的表格,并且搞定任何数据处理。
在 Outlook 中,Copilot 可以帮你写邮件,你起个头,打个底,它就自动给你补完整,顺便大大润色你的文字。
2.1.6 阅读领域: ChatPDF
https://www.chatpdf.com/
可以上传 PDF ,然后和 PDF 进行“对话”,对学习效率有极大提升,可以快速找到想要的内容。
2.2 bard
http://bard.google.com/
bard 是谷歌研发的大语言模型,近期开始试用申请,目前仅支持美国和英国,仅支持英文,未来会加入更多语言和地区。
Google Bard 和 ChatGPT 的区别;
2.3 文心一言
文心一言是百度研发的大预言模型,发布会已经发布,目前可以预约,感兴趣的同可以申请试用。
2.4 其他
2.4.1 YouChat
已知第一个将聊天助手集成到其搜索结果中的搜索引擎。
YouChat 和 New Bing 的区别:
- YouChat 2.0 使用最新的自然语言技术,包括 ChatGPT 和 LaMDA 等模型,而 New Bing 则是基于最新的 GPT 4 模型。
- YouChat 2.0 更注重用户的上下文和偏好,以提供更个性化和相关的答案。New Bing 则更倾向于提供客观和权威的答案,引用可靠的来源。
- YouChat 2.0 集成了 AIERNIE Bot 和 CAL 等功能,可以提供很多高级功能,如翻译和计算等。
2.4.2 其他
最近还出现了很多厉害的 AI 工具,比如可以根据描述自动作画;可以根据上传的几段音频自动模仿人的声音;可以根据你的视频自动生成 AI 仿真人去直播;可以跟文章自动制作视频等,感兴趣的同学自行了解学习。
https://www.ainav.cn/
https://www.aihub.cn/#term-427
https://allthingsai.com/
基于 GPT 3 和 GPT 4 的应用不断涌现,大家可以根据自己的需求去选用:
https://gpt3demo.com/
https://gpt4demo.com/
2.5 国内免费可用的人工智能工具推荐
【1】国内镜像
(1)ai edu (有网页版也有APP)
网站:https://aigcfun.com/
app: https://aigcfun.com/app-download
(2)chatbot
https://chatbot.theb.ai/
(3)chat35
https://chat35.com/chat
【2】chatgpt-sidebar (谷歌浏览器侧边栏,用起来挺方便)
https://www.chatgpt-sidebar.com/
三、畅想
3.1 应用
随着 GPT 不断迭代,越发强大,和各行各更好地融合,必然给各行各业带来革命性的效率提升。
近期更多地是通过自然语言和工具交互,让它自动实现一些重复的任务,极大提升工作效率。
对我们的要求是思考如何更好地提问题,表达清楚我们想要什么。
3.2 发展阶段
下面是个人不成熟的想法,仅供参考:
我认为随着 GPT 大模型的出现,人类开始迈入人工智能的半自动化阶段,后面会发展的到全自动化阶段。在半自动阶段,人工智能的应用更多是扮演则辅助的工具的角色,而全自动化阶段则极少需要人的参与就可以自动完成工作。
就像你是一个裁缝,以前你要手工用针去缝制衣服,后来出现了缝纫机,进入半自动化阶段,此时缝纫机是你的辅助工具,你缝制衣服的效率大大提高。后面出现全自动化的制衣流水线,那么很多裁缝就要失业了。
就像你是一个司机,以前都要手动挡,现在有了自动挡,又出现了辅助驾驶,开车的门槛和效率大大提高,现在无人驾驶也已经出现(只是尚未普及),未来无人驾驶普及之后大量的司机要失业了。
四、我们该怎么办
4.1 学习方式和解决问题的途径已经改变 -> 需要利用好工具
正如 YJango《【渐构】万字科普GPT4为何会颠覆现有工作流;为何你要关注微软Copilot、文心一言等大模型》中说:人工智能的出现,很多人会将它和最高标准进行对比等,进而否定它,这是人的本能反应,因为人们害怕被取代。“然而,工具不会取代人,只会是会用工具的人取代不会用工具的人。”
以前学习技术,需要报培训机构、需要买书,拿来一本书需要看很久才能找到自己想要的内容;以前解决问题,需要去各种技术群里,去大牛请教,问题往往得不到及时的回应。
然而,随着 AI 的运用,一切都变了。
以前需要搜索很多资料,看很多书才能将某个知识理解地不错。现在想学习一个知识,直接让 AI 给你解答,可以通过不断追问,可以让它给你举例等方式,帮助你快速系统掌握一个知识点。
以前写技术文章,需要一些配套的代码示例,需要自己在 IDEA 里面写半天,现在借助 AI 几秒钟就可以写出符合要求的高质量的代码。
以前花几个小时甚至一两天才能排查出的问题,现在遇到一些棘手的问题,可以向 AI 请教,可以快速给你非常靠谱的解决思路。
从 New Bing 到 GitHub Copilot 再到 Microsoft 365 Copilot , 微软目前将这些人工智能工具定位为 “Copilot” (副驾驶员),即定位在帮助你写代码、帮助你办公。
虽然 AI 非常强大,GPT 等大模型的出现让我们和计算机的交互更直接,更像是人与人之间的对话,但依然需要我们能够正确地提出问题,引导它给出我们想要的答案。
使用这些工具和不用这些工具的学习、生活和工作效率的差异将是非常巨大的。推荐大家改变学习方法,利用好工具,更好地学习、生活和工作等。
4.2 新的工具、技术快速涌现 -> 需要终身学习
随着深度学习模型参数规模的不断增长,大模型和不同的领域结合产出新的效率工具越来越多。无论是机器翻译、聊天机器人、搜索引擎、自动客服还是知识图谱,大模型都在提升认知智能水平。
在这样一个快速变化的时代,新的技术不断涌现,我们需要保持好奇心和探索精神,持续学习、终身学习,学习新工具的使用,学习新的知识,学习新的技术,学习如何更好地利用人工智能解决问题,以适应未来的挑战和机遇。
4.3 换个赛道
所谓换个赛道有多重含义:从普通的软件开发工程师转型做 AI 开发、调试、维护等计算机的其他领域,甚至可以考虑转行;增强人更擅长的能力,而不是和机器去比拼机器更擅长的事情等。
正如阿里巴巴的王坚博士所说:“容易被机器取代的事情,本来就不该让人来做”。
古代有马车夫,工业革命以后,随着汽车而出现,马车夫逐渐被取代,马车夫可以转型做司机、做汽车维修等;就像 BB 机被手机取代了,接线员可以转行做手机相关业务;完全也可以去从事其他行业,做更多更有价值的事情
我们没有必要和机器比,就像人不服输,想要和汽车赛跑一样可笑。我们应该让机器做机器更擅长的事情,比如利用人工智能来自动化一些常规和重复的任务,如编写一些基础代码,进行代码重构,进行 bug 修复和帮我们测试,从而节省时间和精力,提高效率和质量。
在我看来,目前的人工智能的水平,处于初级的半自动化阶段。可以类比于缝纫机的发明对服装行业的影响,它可以替代传统的手工缝制方式,生产效率大大提高,但依然需要人来操作。
目前人工智能更多地是扮演助手的角色,虽然很强大,但依赖我们去定义问题,去描述清楚问题,正确地提问,才能得到希望的答案,进而帮助我们创造价值。
这就像随着汽车、火车、高铁、飞机不断出现给我们的出行带来的效率提升一样。
软件工程师将部分编程精力解放出来,可以更专注于高层次和更有价值的认为,比如需求分析、架构设计、产品设计和提升用户体验等。
我们应该重点发展软件工程师除了基础的编码之外的其他能力,如需求分析、架构设计、高效沟通等。
我们还可以参考软件公司底层开发人员晋升后写的代码越来越少,甚至不写代码,他们在做什么,着重发展这些能力。比如更关注与人的沟通,更关注业务价值,思考如何做好、做大业务;更关注如何设计更强大而稳定额架构;更关注如何提升用户体验等。
我们需要做的是思考工具效率普遍提高的时候,我们和其他人的竞争力究竟在哪里?能否超越大多数人。
五、总结
人工智能的时代已经来临,比想象中来的更快,不可逆转,人工智能的广泛应用将为各行各业带来巨大的冲击。
我相信人工智能将产生类似工业革命这种效果,人类的生产力得到极大解放。
短期来看,人工智能只是辅助我们工作的工具,作为软件工程师需要利用好工具,需要做好持续学习甚至终身学习的准备,需要从繁琐重复的工作中脱离出来,提高自己与机器,与人打交道的能力,将更多的精力投入到需求的分析、架构的设计等,做更多更有价值的事情。
现在大厂都在研究大模型,都希望“降本增效”,如果大家不能及时掌握并运用好工具,不能及时转变自己的能力重心,很可能被优先替代掉。
如果你有补充或者不同意见,欢迎留言交流。
创作不易,如果本文对你有帮助,欢迎点赞、收藏加关注,你的支持和鼓励,是我创作的最大动力。