程序员如何利用 AI 开发工具辅助开发?

随着 AI 日益普及,各行各业都在积极探索如何在实际的工作中运用 AI,这其中,已经被验证有效地一条路径就是利用 AI 辅助开发,尤其是在编码的这个环节。

*AI 开发工具的发展*

程序员早期的使用基本集中在向各种大模型提问,帮忙解决开发中遇到的各种问题。从 Github Copilot[1] 开始,新一代的 AI 开发工具开始真正进入到程序员的日常工作中。Github Copilot 的能力集中在自动代码补全以及让 AI 根据提示词辅助生成一些代码片段上。即便如此,这也大幅度地提升了程序员的开发体验,至少一些简单问题无需再做额外的搜索。Github Copilot 的出现引发了很多追随者的出现,比如,智谱的 CodeGeeX[2]、阿里的通义灵码[3]。不过,这些工具基本上还是集中在开发者圈子里。

真正带来更大有影响力的开发工具是 Cursor[4]。Cursor 第一个显著的不同是,它是一个独立的 IDE,之前的很多 AI 开发工具都以 IDE 插件形式存在的。Cursor 最大的优势在于,它可以根据用户的需求编写大规模的代码。在一些需求明确的情形下,它甚至可以完成整个项目,这种展示是激动人心的。也是因为有这样的能力,Cursor 的出圈了。在一个宣传视频中,一个 8 岁小女孩很快就构建了一个聊天机器人。这让很多不懂开发的人看到自己编写代码创建应用的可能性。Cursor 的成功同样也带来了一批追随者,比如,Windsurf[5]、Trae[6]、Cline[7] 等。

除此之外,还有一些其它的方案也有人在尝试,比如,基于命令行的 Aider[8],用于生成 UI 的 v0[9],总之,这是一个快速发展的领域,各种新鲜工具层出不穷。

以目前的趋势来看,Cursor 类工具的用法越来越受到更多人的欢迎,其主要的优势在于 相比于其它使用方式,IDE 的使用方式更接近于传统开发人员的工作习惯,相比于生成代码片段,生成大规模的代码能极大地解放生产力。即便是一些早期的 Copilot 类工具,也在朝着这个方向前进,比如,通义灵码。可以想见,未来二者会逐渐融合。所以,如果你决定采用 AI 辅助开发,学习 Cursor 类工具的用法是现阶段比较好的选择

注意:这里说的是 Cursor 类工具,不见得一定要选择 Cursor。你完全可以根据自己的需要进行选择,比如,可以选择当前免费的 Trae,也可以选择开源的 Cline。

以这些工具当前的成熟度而言,没有哪个工具可以让人放心大胆地把所有工作都交给它。所以,我们更现实的选择是,利用好这些工具提升我们的工作效率

接下来,我们就来聊聊如何利用 Cursor 类开发工具进行开发。

*如何利用 AI 工具辅助开发*

前面说了,Cursor 类工具的最大优势在于它们能够完成相对完整的代码。在不同的工具里,名字或许略有不同,但本质上说,它们都是 Agent。这些 Agent 最大的优点是,它们是半自动的,也就是需要人类参与到它们的编码过程中。

基础原则

行业里有不少全自动的编码 Agent,这反而很多人先探索的领域,一些工具也支持全自动的 Agent,比如,Cursor 的 Yolo 模式,但其表现往往是差强人意。其中的关键点在于,大模型的编码能力和人类的表达能力都是有限的。通过半自动的方式,Cursor 类的工具让人类在 Agent 的执行过程中发现问题,及时止损。所以,在目前的阶段,AI 工具最好的角色还是辅助人进行开发,主导权还是要在人的手上。

利用 AI 工具辅助开发,有一个重要的视角是,把 AI 当做一个需要指导的实习生。它会很多东西,但是,要让它完成你的工作,你需要给予它耐心地指导,各种细节都需要指导,比如:需求是什么、代码风格是什么、工程上有哪些要注意。

任务分解

有了这样的视角,我们推导出指导 AI 的一个重要原则就是,一次给 AI 一个小任务。站在人的角度理解,给一个实习生过多的任务,一方面,他很难一次性消化,另一方面,你作为布置工作的人,也很难一次性说清楚。站在技术的角度看,AI 目前在处理大规模任务时,完成度还比较低。

给 AI 布置任务,难点在于把问题描述清楚。在各个工具的演示视频中,我们看到的是通常是一段非常长的提示词。但在实际工作中,我们很难一下子写出这么复杂的提示词。正常与 AI 沟通的方式往往是在多轮沟通中,不断地向其中补充更多的上下文。越是具体的小任务,也就越容易描述清楚。

规则

在开发的过程中,我们会发现有些要求是反复需要提给 AI 的,比如,因为希望函数要简洁,所以,要求 AI 进行函数提取。如同经常通用的程序要提取成程序库一样,经常提的要求,我们也可以把它提取出来,成为公共的部分。

很多 AI 开发工具都支持一个概念:规则(rule)。规则就是通用的提示词,可以在每次向 AI 发起请求带过去,这样就省去了我们每次去设置。规则更有价值的用法是在一个团队内部,许多刚刚加入团队的人,并不能很好地意识到一些团队内部风格的存在,把通用的规则文件作为项目的基础设施是非常有必要的。所以,一个好的实践是把规则文件提交到代码仓库中

代码评审和测试

AI 写代码确实很快,但随之而来的一个问题是,我们怎么知道 AI 写得对不对。如果是一个实习生,我们会怎么做?通常的解决方案是代码评审以及测试。对于 AI,我们同样需要这么做。一方面,我们需要人工审核 AI 的代码。好消息是读代码比写代码快,而且不理解的地方还可以让 AI 进一步解释。另一方面,我们需要测试 AI 编写的代码。很多团队缺少编写测试的习惯,尤其是单元测试,好消息是,现在 AI 可以帮助我们写测试,一般来说,测试代码的理解难度要低于产品代码。我们不光是用 AI 编写新代码,还会用 AI 改写老代码,这时,测试的价值会变得异常重要。

模型

采用 AI 编程,一个很现实的问题就是模型。虽然主流大模型的基础能力已经比较接近了,但在编程这个领域模型之间表现还是存在差异。比如,我写下这段文字的当下,公认最好的编程是 Claude Sonnet,国内的 DeepSeek 最新版本也不错。鉴于这个领域正在快速发展,各个大模型都在快速演化,我们很难有一个决定性的结论。好在大部分工具都支持切换模型,所以,我们可以在不同的模型之间多多尝试,找到适合自己的模型

具体的提示词

与大模型沟通,其关键点就是给大模型更多的上下文。同样,想让发挥 AI 开发工具的能力发挥到最大,我们最好也能提供充足的上下文,越具体越好,比如一个具体的函数,如果能够给它函数签名,就比一段话的描述得到的效果要好。很多 AI 开发工具都有提供更多上下文的能力,比如,我们可以在对话中引用文件、引用目录,甚至引用具体的函数,这样,我们就可以把 AI 的注意力限制在恰当的部分。

不要用 AI 做不擅长的事情

AI 很强,但有些事情它们不擅长,比如:重构。改个类名,提取个函数之类的操作,对很多程序员来说,已经是习以为常的事情,让 AI 去做效果不见得好,因为 AI 的上下文有限,它的修改可能会遗漏很多地方。像重构这样的工作最好还是交给成熟的 IDE 去完成,比如,IntelliJ IDEA、PyCharm 等,它们的重构能力很强,用它们做这些工作更合适。

如果你的工作比较传统,AI 给你的助力会比较大,但如果你的工作比较新,AI 可能就爱莫能助了。比如,你用到了最新的程序库,或是某个程序库的新用法,AI 很有可能帮不上你。因为它的训练数据是有截止日期的,即便有联网功能,搜索出来的结果也可能并不令人满意。所以,如果用到的东西比较新,最好还是自己去查文档看代码,找到恰当的解决方案,然后,用 AI 去编码。

除了功能,代码结构也是很重要的,但这并不是 AI 的强项。如果是通用的结构,比如,Java 程序的 Controller、Service、Repository,我们可以写在规则文件中。但是,在实际的开发中,有不少结构是在编码过程中涌现出来的。发现新的代码结构,还需要人来完成。当然,在结构发现之后,我们可以让 AI 把这些结构提取出来。

自己保底

AI 很好,但还没好到能够解决所有的问题。很有可能出现的情况是,AI 改了几次,依然无法达到我们想要的效果,甚至可能出现很大的偏差,这个时候,我们就需要自己动手把这段代码写好,因为最终要为这段代码负责的人是我们。所以,有了 AI,一个程序员的工作模式应该转成:

  • 告诉 AI 写什么
  • 看看 AI 写得对不对
  • 如果不对,告诉 AI 怎么改
  • 如果 AI 实在改不对,自己上手改

*小结*

说来说去,你会发现,如果想在一个实际的项目中用好 AI,对人的要求还是很高的。无论是任务分解的能力,还是提取通用信息的能力,抑或是发掘代码结构的能力,这些都是一个程序员原本应该具备的技能,而且越是高手,这些方面的能力越强。AI 只会放大一个人原本的能力,所以,作为一个程序员,在这个 AI 时代,修炼内功依然是一件不可或缺的事情。

大模型岗位需求

大模型时代,企业对人才的需求变了,AIGC相关岗位人才难求,薪资持续走高,AI运营薪资平均值约18457元,AI工程师薪资平均值约37336元,大模型算法薪资平均值约39607元。
在这里插入图片描述

掌握大模型技术你还能拥有更多可能性

• 成为一名全栈大模型工程师,包括Prompt,LangChain,LoRA等技术开发、运营、产品等方向全栈工程;

• 能够拥有模型二次训练和微调能力,带领大家完成智能对话、文生图等热门应用;

• 薪资上浮10%-20%,覆盖更多高薪岗位,这是一个高需求、高待遇的热门方向和领域;

• 更优质的项目可以为未来创新创业提供基石。

可能大家都想学习AI大模型技术,也想通过这项技能真正达到升职加薪,就业或是副业的目的,但是不知道该如何开始学习,因为网上的资料太多太杂乱了,如果不能系统的学习就相当于是白学。为了让大家少走弯路,少碰壁,这里我直接把全套AI技术和大模型入门资料、操作变现玩法都打包整理好,希望能够真正帮助到大家。

读者福利:如果大家对大模型感兴趣,这套大模型学习资料一定对你有用

零基础入门AI大模型

今天贴心为大家准备好了一系列AI大模型资源,包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

有需要的小伙伴,可以点击下方链接免费领取【保证100%免费

点击领取 《AI大模型&人工智能&入门进阶学习资源包》*

1.学习路线图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如果大家想领取完整的学习路线及大模型学习资料包,可以扫下方二维码获取
在这里插入图片描述

👉2.大模型配套视频👈

很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,每个章节都是当前板块的精华浓缩。(篇幅有限,仅展示部分)

img

大模型教程

👉3.大模型经典学习电子书👈

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。(篇幅有限,仅展示部分,公众号内领取)

img

电子书

👉4.大模型面试题&答案👈

截至目前大模型已经超过200个,在大模型纵横的时代,不仅大模型技术越来越卷,就连大模型相关的岗位和面试也开始越来越卷了。为了让大家更容易上车大模型算法赛道,我总结了大模型常考的面试题。(篇幅有限,仅展示部分,公众号内领取)

img

大模型面试

**因篇幅有限,仅展示部分资料,**有需要的小伙伴,可以点击下方链接免费领取【保证100%免费

点击领取 《AI大模型&人工智能&入门进阶学习资源包》

**或扫描下方二维码领取 **

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员一粟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值