AI 会淘汰程序员么?
我的答案是 “会”。
AI 会不会淘汰程序员?这是学编程的朋友们非常关注的问题,我也一样,因为如果程序员被淘汰了,那我这个程序员博主也就光荣退休了。
“你讲编程还有个毛用?你做教程还给谁看?给 AI 看吗?”
“AI 自己都能生成教程了,自己都能自产自销进化升级了,还要你?”
我觉得 AI 会淘汰很多程序员,但是程序员这个岗位不会消失。为什么呢?
假设 AI 是个能独立思考、有手有脚的数码宝贝。它很强,你让它写代码,它也能写,写得还比人更快更好;但是,它要是不听话,程序跑不起来、多写几个 Bug 都是小事,搞不好把你整个电脑都给烧了。而且一旦 AI 搞砸了、黑化了,往你的代码里加点小广告、加点 “老八秘制小汉堡”,谁跟着倒霉啊?还不是咱们这些使用者嘛?毕竟 AI 又不能代替人类去坐牢对吧。
而且你想,当年汽车取代马车,虽然车夫被淘汰,但是却催生了司机这个新岗位!
所以想不被 AI 淘汰,必须要把自己的经验和 AI 融合,驾驭 AI 更快地完成工作。以后程序员将不再是码农,而是 AI 操控师。
下面我会发起《AI 程序员改造计划》,给大家分享 AI 时代下,程序员必须学习的知识。是我这两年半积累的经验,哪怕你之前完全没接触过 AI,看完后对 AI 的了解也会超过 90% 的同学,也就不用担心被淘汰了。
要分享的内容包含 4 大部分,最后一部分【AI + 编程】是最值得学习的。别的博主不会把这些东西一次性讲完,干货很多,建议收藏起来慢慢看~
一、AI 核心概念
首先,我会通过带大家实操一个主流的 AI 应用开发平台 Dify,把 AI 的核心概念串联起来,更高效直观地带大家理解。
首先进入平台,创建一个 AI 应用,然后进入到了 AI 对话界面。
首次使用时,我们要选择 大模型(LLM)。大模型是 AI 的大脑,是指具有海量参数的人工智能模型,通过大规模的预训练获得广泛的知识和能力。
下面我们来和 AI 进行对话,输入给 AI 的内容我们称为 提示词 Prompt,用来引导模型生成特定内容或执行特定任务,提示词的质量直接决定了 AI 输出的准确度。
提示词又可以分为系统提示词和用户提示词,系统提示词可以整体约束 AI 输出的内容,一般需要提前设置;用户提示词则是用户自主输入的内容,随用随输。
如今 AI 相关的工具百花齐放,像我也精心整理过几十个主流的 AI 工具,覆盖 AI 对话、写作、图像、视频、音频、办公、编程等各个应用场景。
哇,这么多工具,看得眼都花了!不过别担心,我们不必都去学习。
下面我会着重为大家分享在程序员日常工作中非常实用的一整套工具链,如果你还不满足,想学习更多工具,可以看看我 免费开源的 AI 知识库,里面还有很多 AI 使用技巧、行业资讯、应用场景、资源干货的分享哦。
1、开发类工具
日常问题解决与知识搜索 - AI 对话产品
一些简单的问题和内容搜索可以直接使用 AI 对话产品来搞定,比如 DeepSeek、元宝、豆包、通义千问、文心一言、Kimi、GPT、Claude。像我自己一般会同时打开好几个网站一起用,挑选最合适的回答。觉得麻烦的话,也可以尝试下网友自制的 聚合 AI 应用,能直接在一个聊天框里和所有主流大模型对话。
小项目与新项目开发 - Cursor
如果要开发小项目或新项目,我建议使用 Cursor,一款专为编程打造的 AI 工具。新建一个文件夹,打开 AI 对话框,选择 Agent 智能体模式和大模型,然后输入一段提示词,接下来只需默默等待,AI 就会自主帮你生成一个完整的网站,真的一行代码都不用写!
这也就是为什么现在突然有了那么多奇奇怪怪大开脑洞的应用,像我之前分享过的什么赛博拉屎,有了 Cursor,人人都能搞网站了。
老项目与大项目维护 - AI IDE 插件
团队协作文档我用的比较多的还是语雀,本身功能就比较丰富,Markdown 语法写文章、嵌入画板等工具、一键进入演讲模式等等。现在它内嵌了 DeepSeek 大模型和 AI 助手功能,可以帮你快速完善丰富指定内容、改写口吻、总结转写内容,做笔记也是比较合适的。
作图 - 豆包 + Mermaid
程序员在写技术文档时,一般会通过各种流程图、架构图来让文档更好理解,看起来也更高大上。有了 AI 后,很多图例不用自己手绘了,我可以直接把作图的信息提供给豆包或者其他 AI,让它生成 Mermaid 文本作图语法,接下来就可以直接下载图片、或者把生成的代码放到 Mermaid 渲染工具中,就搞定了,非常方便。
值得一提的是,现在有些 AI 大模型比如 Gemini 已经原生支持多模态能力,可以直接生成图文混排的文章,再发展发展估计能直接根据代码生成有图有文的技术方案了吧。
OK,常用 AI 工具分享完了,看到这里,你应该就超过了 80% 的同学。
三、AI 使用技巧
其实现在很多程序员朋友对 AI 还是持怀疑态度的,觉得 AI 是不是只能做点儿小网站、小项目。我之前也是这么想的,直到我纯用 AI、完全不写代码地做了一个有几万行代码的大项目,我才发现 AI 的进化,远比我的想象更可怕。
当然,想用 AI 做大项目,还是有很多技巧的。为啥使用相同的 AI 工具,有同学能做出来网站,有同学只能做出来一堆 Bug 呢?这一部分,我们就来解决一个问题 —— 如何让 AI 生成的代码更准确?
1、优化 Prompt
Prompt 的质量直接决定了 AI 生成代码的准确性,也正因如此,才有了 Prompt 工程的概念、市面上才出现了提示词工程师这个岗位。
首先我们要掌握最基本的 Prompt 优化技巧,比如明确 AI 的角色、提供具体的细节要求、拆解任务、提供示例等等,这里 智谱 AI 开放平台的文档 总结得不错,大家可以学习下。
听起来很简单,但实际操作时,大家经常会遇到 AI 输出的内容驴头不对马嘴、生成了一个新功能后原来的功能就不能用了、改了一个 Bug 又来 3 个 Bug 的情况。怎么办呢?
教你几招:
1)项目模块化。由于 AI 的脑容量不大,能接受的上下文是有限的,随着你的项目信息量不断增大,它有可能忘记之前的信息,导致生成的代码错误。所以我们要把项目的功能尽可能隔离开,把一个大项目分割成多个小项目,让 AI 生成某个功能时只需要关注一小部分上下文,得到的结果会更精准。
举个例子,开发一个电商系统,可以把商品管理模块独立出来,当需要 AI 生成添加商品功能的代码时,只需要提供像商品表的字段设计、添加商品的业务逻辑规则,不需要把支付结算、用户会员等关联不大的功能作为上下文提供给 AI。
2)限定修改范围。AI 生成的代码没有那么可控,经常改 A 功能的同时把 B 功能也顺带修改了。这个问题很好解决,只要在提示词中限定修改范围即可,比如:
仅修改 services/order.java 中的 CreateOrder 方法:
1. 添加分布式锁防止超卖
2. 保持现有日志格式
3. 不要改动其他文件
复制代码
3)抽象和复用。假如我们要让 AI 生成 2 个布局一模一样的页面,它有的时候会很死板,生成完页面 A 之后,复制一遍页面 A 的代码来生成页面 B。这样非常不利于大项目的生成和维护,以后 AI 改了页面 A,说不定页面 B 就忘了改,跟人来开发一样。所以我们需要留个心眼儿,适当地告诉 AI:请帮我抽象 XX 页面、XX 代码为可复用的组件。这样也能减少整个项目的代码量,也有助于减轻 AI 上下文记忆的负担,让生成结果更准确。
4)版本控制。建议利用 Git 版本控制工具对代码进行管理,每正确生成一个功能后都提交一次版本,在每次 AI 生成新代码之后人工对比一下改动的文件,出了问题也能快速还原到之前的版本,防止代码丢失。
3、其他技巧
掌握了上面这些,是完全可以利用 AI 生成复杂大项目的。还有一些其他小技巧,大家自己看一看就好:
注意操作系统:AI 更喜欢 Linux 或 Mac 系统的终端,执行命令的能力更强。如果使用 Windows 系统,可以通过安装 Linux 子系统(WSL)来替代自带的终端。或者在和 AI 对话的上下文中明确告诉它使用 Windows 系统的终端命令,否则可能 AI 给的很多命令都是无法运行的。
最后这部分最重要,作为程序员,咱们不光要会用 AI 工具、能利用 AI 开发项目,还要能够自主开发 AI 项目,把 AI 的能力接入到自己的项目中。
有句话说得好:AI 时代,所有的传统业务都值得利用 AI 重塑一遍。
所以现在很多公司都在招能够开发 AI 项目的程序员,这也是我们的机会。那么我们要学习哪些知识和技术,才能成为企业招聘的香饽饽呢?
1、AI 开发框架
首先从技术角度出发,我们要学习主流的 AI 开发框架,比如 Spring AI、LangChain4j 和 LangGraph。
Spring AI 和 LangChain4j 的作用是类似的,都提供了很多现成的方法来帮我们提高开发 AI 应用的效率。比如快速对接大模型、保存会话上下文、对接向量数据库实现 RAG 等等。
区别是 Spring AI 更容易和主流 Java 开发框架 Spring 集成,上手难度较低;而 LangChain4j 更灵活,更适合开发复杂的智能体。比如在开发一个智能文档分析系统时,利用 LangChain4j,智能体能够自动读取文档内容,调用搜索引擎获取相关背景知识,然后根据任务需求,将文档信息与外部知识结合,生成分析报告。
不过我的建议是,二个都要学,先从 Spring AI 学起,再学 LangChain4j 会更简单。
LangGraph 框架会更复杂一些,它用图的结构来组织和管理 AI 相关的工作流,适合构建有状态、多代理的企业级 AI 大项目。打个比方,我们有多个 AI 智能体,分别负责生成文字、生成图片、组合文字和图片,那么 LangGraph 像是负责人,可以安排这些智能体的工作顺序,一起搞大事。
用一个表格来总结这几种技术:
场景推荐框架优势Java 企业应用Spring AI无缝集成 Spring 生态智能体开发LangChain4j完整 Agent 工具链复杂工作流LangGraph可视化编排2、AI 集成
开发 AI 应用的前提是要有大模型,但是大模型要消耗算力才能运行,算力就是金钱,从哪儿搞来大模型呢?
2 种方法,使用 AI 云服务、或者本地部署大模型。
AI 云服务
AI 云服务就是其他企业为我们部署了 AI 大模型,通过 API 接口的方式提供给我们使用,按量计费。
比如阿里云百炼、火山引擎、硅基流动、Open AI 等等。
多模态也是主流的 AI 业务场景,即融合文本、图像、音频、视频等多种不同类型的数据模态,从而提高产品使用的易用性,做出更多有创意的功能。
比如做个智能导购系统,顾客既可以输入文字描述想要的商品,系统也能识别顾客上传的商品图片,甚至可以理解顾客通过语音提出的购物需求。系统会将这些来自不同模态的数据进行整合处理,在商品数据库中精准匹配符合要求的商品,并将结果反馈给顾客。
想开发多模态应用,咱们要学习模态转换技术,比如文本转语音(TTS)、语音转文本(STT)、光学字符识别(OCR)等,不过这些都有现成的工具库或者云服务,掌握调用方法就行。还可以通过 Spring AI、LangChain 等 AI 开发框架调用不同模态的大模型,降低开发难度。
MCP 服务
MCP(Model Context Protocol,模型上下文协议)可以理解为提供给 AI 的各种服务,AI 利用这些服务能够实现更强大的功能。
如何在项目中接入别人的 MCP 服务,来增强自己的项目能力;以及如何开发自己的 MCP 服务,让别人的项目使用,都是必须要学习的。现在使用 Spring AI 等开发框架就可以开发 MCP 服务,而且甚至有高手做了个 网站,能够一句话创建自己的 MCP 服务,这真的是泰裤辣。
ReAct 智能体
ReAct 是一种构建智能体的开发范式,目的是打造能够依据推理结果自主采取行动的智能体。
它的开发过程会涉及到任务规划、工具调用、交互 I/O、异常处理等知识。尤其是工具调用,可以通过 Function Call 或 MCP 实现像天气查询、文件读写、网页运行、信息检索、终端命令执行等功能。
其实我有一种假设,如果 AI 足够稳定、并且一句提示词就能生成完整应用的话,是不是可以直接根据 Prompt 来部署项目啊。扯远了扯远了,当我没说吧~
怎么样,要学的东西还是挺多的吧,有没有感觉信息量爆炸。别担心,上面这些都是实践,咱还得学一些理论呀,比如某个框架的底层原理、调优技巧、算法实现等等。不过真的别担心,我也在持续学习这些内容并且会持续分享给大家,以上我提到的东西,在我后续的 项目教程 中,都会讲到,期待的话可以关注一下。
尾声
OK,以上就是鱼皮 AI 指南的内容,我觉得能有 1% 的同学看完就不错了。
如果你问我 AI 会淘汰程序员么?我的答案仍然是 “会”。因为程序员本身就是需要持续学习和实践来保持竞争力的,只要大家能够学会我提到的这些知识,多关注 AI 的前沿资讯,相信 AI 不会抢走咱们程序员的饭碗,而是成为咱们改造世界的杠杆。
在这里也推荐一下我们免费公开的 AI 知识库,汇总收集了最新最全的 DeepSeek 知识,帮助大家更好地适应 AI 时代的到来。
鱼皮的 AI 知识库:https://ai.codefather.cn
里面除了各种教程资料外,也重点给大家分享了很多 AI 工具的具体应用场景,比如接入办公软件提升效率,帮你做自媒体,AI 批量制作视频等。希望帮助大家举一反三,找到新的思路。