AI时代,开发者要做些什么

124 阅读8分钟

AI时代的洪流,滚滚向前,分享一下最近使用的工具及由此引发的思考,以及我认为的未来开发者的定位。

距离ChatGPT横空出世已经有些时间了,现在大语言模型在我们的日常工作环境中基本上已经是无处不在了,最近使用Cursor还是给我带来了些许震撼。

工作场景

先来说说我的工作场景和内容吧,我日常主要是做前端开发,但也会写较多的Python代码,包括但不限于后端服务、脚本等,最近又在写一些go的代码。

用了哪些

其实我深度使用的大语言模型并不多,很多都是浅尝辄止,目前使用最多的两个是ChatGPTCursorCursor内部的模型是claude-3.5。之前在Cursor之前会使用Amazon QGithub Copilot,但这两个我感觉就是更好用的智能提示,相对来说带来的变化没有太大,就不展开了。 ChatGPT我开了Plus,所以基本所有的模型都用过。

使用场景

我的使用场景主要分为两类,杂活 和 Coding。

杂活(搜索引擎)

第一类我称之为杂活,或者说这部分是之前我会用搜索引擎去做的事,这个我主要是用ChatGPT在做,包括但不限于:学习某种语言、日常排查bug、一些常见shell命令等等,反正基本是什么不会就往里面丢。

Coding

第二类就是主业了,编程。在没有使用Cursor之前,这一块也是ChatGPT在做,但主要是 组件、工具函数、debug等,对于我不会或者新学的语言,也是先生成结构,我再拆分成一个个模块来问答和填充到项目里面。 在使用Cursor之后,这个工作发生了一些变化,在整体的项目结构上我会使用它来做一些模板生成等,然后主要写的也还是 组件、工具函数等,但其体验更好了,一些关联关系等它都可以帮我做出来,效率相对使用ChatGPT的形式高出了不少。

使用感受

ChatGPT

先来说说ChatGPT吧,这个应该用的人比较多。从几个方面说吧。

  1. 替代了搜索引擎 90% 的工作,为什么不是全部,因为它其实还是有一些错误的,这部分问题你依然要使用 Google、Github 去查,这些问题来自于多个方面,包括但不限于 时效性、版本差异 等。
  2. 替代了查询别人的代码的工作,这个几乎是 100%。 这里不仅限于前端代码,是任何代码,它都能够给你带来效率上的提升,比如日常写的一些有逻辑的代码,它可以代入你现在的场景,而不像之前你搜索别人的代码也是要复制回来再进行改动的。
  3. 降低学习成本,我认为起码降低了 80%。我的Python有 60% 都是跟着GPT学的,Go几乎是全部。做开发工作,虽然我们去学习一门其他语言的时候,成本是没那么高的,但你依然是要付出一定的时间和精力的,毕竟入门等工作也挺繁琐的,特别是一些常见的小问题,你看起来简单,但你要把一个项目跑起来可能也挺烦的,但AI可以在很短的时间内帮你写出来一个最佳实践,同时还能指导你跑起来,在这个过程中你几乎不需要自己手写任何一行代码,你要做的只需要不断的提示和提要求,当然这个只是demo。
  4. 业务代码,这个暂时还是不行。他能在一定程度上节省时间,但不多,一方面是因为业务逻辑本身的复杂性,另一方面是业务逻辑中我们无法承担AI出错带来的损失,无论如何你都是要再次review它对你业务代码做的任何变动的。

Cursor

Cursor我用了大概一个多月了吧,我做了什么呢?

  1. 我用它花5天左右做了一个小型的基于Python的后端服务,包括登录注册、增删改查、任务队列等功能,还有一个与之配套的前端系统。
  2. 利用这个从0到1学习go并做了一个后端服务,大概用了2天不到吧
  3. 写其他业务代码、组件等,这个就不细说了。

感受也是几方面吧。

  1. 效率更高。它相对于ChatGPT带来效率上的提升是更多的,因为不需要再不停的在idea里面和ChatGPT对话框复制。这个相比较完全没有大模型的效率那简直就是质的飞跃。
  2. 准确性和适配度更好。由于它是能读到你整个项目的代码,所以它在上下文上的优势更明显,所以准确性和适配度肯定是更好的,但这个是相对的,在一些不依赖上下文的场景下,我认为是ChatGPT更好,这应该是模型能力强,这个提升以后本质上对日常工作来讲带来的还是效率的提升。
  3. 学习成本更低。ChatGPT已经可以降低我们的学习成本了,但是Cursor它更强的一个点就在于,你不涉及业务代码的时候,如果要去用一种完全不会的语言去写一个项目,那你几乎可以完全交给他,当前前提是做一个demo级的应用,更复杂的场景还是需要人来修改的。
  4. debug占比变高了。为什么说占比,因为绝对时间多了,但多出来的应该是有限的,这里没有具体的去对比,就是在你做一个项目的时候,你花费的debug的时间多了,且由于很多代码都是ai生成的,你在排查问题的时候经常要去阅读一些代码,这导致这一块花费的时间较多,另外如果是一种你不熟悉的语言,那么成本可能会更高。

未来思考

  1. AI这么强了,我们会失业吗? 我认为是不会的,目前来讲,我的感受是AI可以帮我们干活,但不可能完全替代开发者去干所有的活,人扮演着更重要的角色,像一个指挥官,去指挥千军万马去战斗。一只军队可以没有指挥官吗?显然不可以。

  2. AI可以带来什么?我们应该怎么做? 我觉得最大的感触就是AI所给我们带来的巨大的效率提升,而且我认为在未来的时间内,这个效率还会不断的提升, 之前我们一直说,一个好的开发者可以顶的上一个小型团队,那么现在我觉得这句话可以更进一步了,

  • 从企业的层面,现在可以用更少的人做更多的事了,也许部分企业会对人员进行裁撤;
  • 在个人的层面,个人开发者的能力将会被无限放大,这也许对独立开发者是件好事,可以快速的实现想法,如果但我不确定国内会不会迎来一波小而美的应用,我觉得目前的大环境挺难的; 对于普通企业开发者来讲,要注意去适应ai带来的改变,以防止被裁的是自己,我觉得将ai和业务结合是一个挺好的放心,技术可以短时间替代,但业务挺难的,当然如果你有核心技术也行。

另外,我觉得ai给我们带来了更多的便利,开发者本来就是一个不断学习的工作,现在你的学习成本更低了,可以更快速的去掌握其他之前所不具备的技能,这一点其实是很关键的,我目前在做的事就是,不限制自己的职责,不论你是前端 后端 算法,其实都有一个共同的名字,开发者或者工程师,这在我看来是未来的一个方向,所有的岗位职责都会变得模糊,业务 + 技术 一定是未来的方向,任何的人可以用任何的技术去解决业务上的问题,这是开发者或工程师未来在企业的角色定位。

写在最后,陆陆续续用了挺久的ChatGPT,但最近这一个多月用Cursor带来的效率提升令我震惊,时代洪流,我们每个人都身处其中,仅以此文自勉、分享当下的感受,不当之处,敬请谅解和指教。