省流版:
找 AI agent 开发的学习、面试经历; 一些有用的学习姿势; 推广一下我的开源项目;
我是去年的今天,也就是 2024 年 12 月 31 号,从上家公司离职。我的上家公司是传统服装行业的外企,我在基础架构部门,工作不算多,且相对自由,23 年年末 AI 开始在 cn 大范围兴起,我本身的主力语言是 python ,天生契合 AI ,我开始在探索能不能在公司做一些 AI 项目,一年的时间我大概做了两个项目。 一个是通过 LLM 能力拦截垃圾邮件,没在传统公司工作过的人可能不知道,传统公司的员工平均素质,那家公司巅峰期有 6w 员工(算上编外,比如销售、工厂等),几乎每天都要收到很多垃圾邮件,每星期都能听到有员工被骗钱。他们当时的方案是遇到垃圾邮件,安全部门及时发信息预警,但是人力终究有限,所以我觉得可以用 LLM 能力帮他们做一个拦截工具。当时 qwen 系列,还没有大范围使用,效果比较好的开源还是 meta 的 llama 系列。我要了大概三千封邮件,通过 LoRA 微调了一个用来识别邮件的模型。结果是有效果,但是识别错误,偶有发生,现在想来,可能是训练数据太少了,模型本身的能力也不太行。 另一个项目是 RAG ,印象中是因为 RAG 非常火,大家都在炒这个概念,而传统公司的文档建设远不如互联网公司,所以我觉得 RAG 会比互联网公司更加的契合我的前公司,事实也是如此,这个项目效果非常好,远超上一个邮件识别。通过部门经理帮我推荐给了公司大 BOSS--一个老外,然后推广到了全公司。我离职的时候公司 2w+的员工或多或少都有不同程度的使用。 时间划到今年,我离职之后,爽玩半年之后,今年的六月份开始带着我的这两个 AI 项目找工作,我投的简历大部分都是 AI 应用开发相关的,也有部分是我觉得比较好的传统开发岗位。结果就是收到了好几个开发岗位的 offer ,而 AI 应用的 offer ,则是一个没有,前十个相关的面试没有通过的。一直到十个面试以后,才陆续接到了两个 AI 应用相关的 offer ,不过都是外包。我选了其中的一个薪资比较高的,然后甲方比较出名的外包,入职了,开始正式转到 agent 开发,这个比较新颖的行业。然后在今年的最后一天,我打算离开这家公司了。最大的原因是不喜欢外包,做外包,做的越久亏的越多,想攒的实战项目经验也积攒到了,所以趁年底了赶紧溜之大吉。
说一下大家可能比较关心的问题,agent 开发工作中都做什么 和 传统开发有啥区别吗? 从正式工作来看,区别非常大,agent 开发的主要工作分为两部分:微调模型+处理输出。微调模型这块,基本是以 PEFT 为主( 90%都是这个),主要技术 LoRA ,多 LoRA 。处理响应包括上下文、提示词、工具调用等等,详细了解可以参考我放在后面的那篇论文。传统开发我就不多说了,可能大家比我水平高。 从面试上来看,虽然说 agent 开发偏工程,但是面试官的问题,他不偏工程。基本所有的面试官都是更注重项目,他们会问你在项目里用了什么新技术?为什么用?有没有更好的做法?性能如何? badcase 如何处理的?面试官的问题五花八门,我没办法一一的描述完整。但是基本很少会涉及到八股的内容。 这里放一些我觉得比较实用的免费资料。
在 arxiv 去看最新的论文,可以长很多见识,接触到很多新的技术,现在 Computation and Language 和 Machine Learning 这两个板块,基本全被 LLM 相关的内容霸占了。并且我觉得 LLM 其他成熟的技术不同,它处于高速发展中,而传统的学习方法,比如看网课,看书,都是有很强的滞后性的,所以最佳的学习方式就是看最新论文。另外再补充一个小技巧,这个网站是可以订阅的,订阅之后,它会把你感兴趣的主题,每天都推送到你的邮箱。你就可以直接通过摘要和标题进行一遍粗浅的过滤,这样如果今天的推送没有你感兴趣的也不用浪费时间了。下图是我订阅的两个主题。订阅方式就是给他们发邮件,见图二。
关注公众号。可以关注大厂的官方号,比如阿里云、腾讯技术工程、转转技术、大模型论文研习社等等。其中我比较常看阿里云,更新非常频繁,而且 AI 火起来之后,他们发布的大部分内容都是 AI 相关的,其中更是包括很多他们内部已经落地的项目。 各种大厂、官方文档的博客。包括langchain,anthropic,promptingguide,openai,美团技术团队。这些团队或者公司的技术文章质量不敢说多高,但是很多都是经过验证的。 一些值得深入研究,或者写项目验证的资料:
一个非常全的 RAG 技术优化总结,被国内很多垃圾公众号洗稿了,这里是原版; 如何构建多智能体系统? anthropic 的官方攻略,值得写个项目去验证; 这是一篇论文,但它不是某个技术或者项目,而是上下文工程所有技术的总结,如果想对上下文技术有系统性了解,请直接看这篇; 这是阿里云的官方免费文档,教了 agent 应用完整的开发体系,并且免费提供用来测试的机器,这个项目用来入门可以说是非常棒了。
还有很多收藏是 有趣的、有用的论文,但是都是可看可不看的,就不一一列举了,有人感兴趣 wo 再发。 最后是我的开源项目,可以直接在这个裸露 IP 看 demo 。 http://101.43.255.23/ 这个项目也是一个论文理解类的项目,主要功能是对话,基于强化学习思路的推理理解,相比于普通 RAG ,可以回答很复杂的问题。还附加了对照翻译等功能。也是今年年中找工作的时候做的,我给他改善了一下 UI ,如果有跟我一样需要通过论文学习的需求,可以直接在本地部署一下,部署也非常简单,支持 docker 一键启动。最后,请大家帮我点个 star !!! 这个很重要。