后端岗如何拥抱ai应用开发?双非硕方向转换实录(附学习路径)
本文以有java后端基础/python基础如何转向ai开发岗进行讨论分析。
个人bg : 专升本,26届双非硕,硕士转码,25.6 - 26.2 小厂ai应用开发实习,入职前ai相关项目 * 1 ,春招面试时含公司实习项目共计10+ai相关项目(简历体现4个),ai相关内容学习实习前累计1m左右,深入了解时长等同于实习时长。
重要经历 :实习期间参与三个ai项目开发,垂直领域涉及金融审核相关业务(涵盖文档、检索、分析、agent等)
1. ai应用开发岗是什么?涉及什么?
ai应用开发岗作为新兴岗位,主要分为两部分:
- 上游任务(偏向于算法) : 模型后训练,微调(SFT,QLora) ,场景定制化模型开发 - 如 : 标题分级,内容抽取,舆情检测等细分领域场景模型二次开发优化等,语言以python为主;
- 下游任务(偏向应用层) :针对指定任务进行下游开发,主要以RAG,MCP,Agent,prompt Engineering为主,最近新兴的Skill,Clawdbot等也归为此类,在这类任务中,框架以springAi,Langchain(Langchain4j)为主,数据库主要采用Mineru,postgreSql等。
在多数公司中,上下游基本不进行分离或进一步细分,如某公司岗位jd所示。
同时,有的同学存在一定的误区,认为后端开发与ai应用开发是完全区分开的岗位,但实际上,ai应用开发不止要了解ai相关内容,同时对于后端的内容也必须尽可能的扎实,因为在实际业务场景中要进行落地,那后端开发一定是必不可少的,甚至在部分场景中,后端的内容要占据一大半——即适合场景的才是最好的,比如在文档指定字符检索类任务时,如果完全依赖ai,那么首先幻觉问题无法解决,同时业务的总耗时会达到一个非常夸张的数字,而此时采用ac自动机模式进行匹配,整体耗时甚至可以达到大模型的1/100,且只是简单的字符匹配,不考虑文档跨页的情况下,准确率可以达到100%。
2. 后端如何转向ai应用开发岗?路径简析
正如前文所言,后端岗位与ai应用开发岗位并非分离,而是相互依存的关系,所以后端在转向ai应用开发岗位时整体而言用时较短且难度较低(一定一定要有后端经验)。以下是个人转岗学习路径:
(bg: 暑期实习面试成功的岗位即ai应用开发岗,所以属于是边干边学,干中学了)
2.1 语言以什么为主?
在实际的开发中,Java和Python通常都会用到,实际应用层在多数公司中会选择java,而在ai层(如后训练模型,微调后模型)通常会选择python然后通过fastapi暴露相关接口来进行调用,所以两个语言尽量都需要掌握,可以选择一个自己更为精通的进行深入,就目前而言,RAG、MCP、Agent等在python上的生态更为成熟,但是java依托于spring ai等框架,两者相差不大,所以语言可以按需选择,不需要太过纠结。
2.2 项目如何选择
目前github上的开源项目极多,也有非常多的知识星球,目前来看多数知识星球均有ai相关项目,所以在项目上大家可以自由选取,按照自己手头的资源来进行就可以。
个人项目学习路径顺序建议 :
- RAG : 在这一部分完整实现一个项目,且同时必须要了解掌握包括但不限于以下内容:
- Embedding , 要了解什么是embedding,为什么要embedding,选取什么embedding模型,每个模型的优缺点是什么;
- Chunk(文本切块),要了解什么是文本切块,为什么需要文本切块,都有哪些策略;
- 选用什么向量数据库,每个向量数据库的特点是什么;
- 如何计算文本相似度,都有哪些算法;
- re-ranking,Top-K是什么
- 不同格式文档如何处理
- prompt engineering - 压缩查询,自查询等如何实现,如何通过修改prompt使得模型表现更好
- 如何评估rag性能
- …………
- MCP :在这一部分完整实现一个项目,这一部分强烈建议自己改造一个java微服务项目为MCP,会对业务理解的更为深入, 且同时必须要了解掌握包括但不限于以下内容:
- 整体流程是什么,什么是MCP协议,如何进行项目改造
- 如何确保工具调用的准确性,降低调用幻觉,如何进行实际执行,prompt设计,参数传递,以及大模型在这里扮演了什么角色
- 项目改造完成后,如何替换原有加载方式,如何排查配置加载失败的问题,如何进行动态更新,如何保证原有性能
- 如何与其他项目进行有机结合?如何设计降级、熔断方案?
- 如何评估mcp整体性能?
- Agent :agent目前相关生态非常丰富,大家可以结合自己的实际项目进行生态引入,如Prometheus等,也可以在开源的基础上进行自己的二次开发和改造,但还是建议找一个项目从零开发,玩具项目的意义就在与构建对整体的理解:
- 如何实现对话历史的管理和持久化?如果原生框架不支持,可以通过哪些方法进行自主实现?
- 如何实现multi-agent?
- react范式/Plan-and-Execute 范式的区别及如何选取
- 如何与其他生态进行有机结合?
- 如何优化指定场景下的agent性能?
- 如何对原生agent性能进行测试?
- 多模态场景下如何进行推理?
- AutoGPT如何实现自主决策?
- …………
以上为项目学习路径的简单规划,可以按照自己手头的资源进行项目选择然后进行开发,实际上在我学习的过程中,对于网课或视频的依赖程度并不高,多数在不了解相关内容时按需搜索查看,从我的经验来看的话,如果按部就班的看视频 -> 做项目 -> 背八股,这条路径所花的时间成本极高,同时收益不一定会更好,ai应用开发的相关内容并不多,边做边学可能效果会更好,结合开源项目和付费项目,做完几个项目对于整体的理解程度已经足以进行面试了。
在面试过程中,面试官对于实际项目的兴趣点会更高,对于论文/八股的兴致缺缺,而且机会比较大(综合来看),如果有ai实习的话,基本进面率会非常高(没有实习的情况个人不太了解),所以有后端经验的同学可以深入学习项目。
预祝大家前程似锦,都找到心仪的offer!
#AI求职实录#


查看5道真题和解析