武辰作品索引

职场随笔

算法工程师的痛苦

我爸曾经在电话里跟我说过一句话。他说:“你在外面大厂工作,要把公司当成你的家。出了任何问题,leader可以是你寻求帮助的人。”他甚至还让我把leader的电话号码给他留一个。

我当时听了觉得荒谬。我是不是还在上小学?我的leader是我的班主任吗?至于“把公司当成自己的家”,公司就是公司,它用薪水买断我的时间和精力,我用劳动换取报酬,这是一笔交易。我直到现在也是这么想的。

但我爸不是随便说说。他们那一代人,社会关系、身份感、日常生活,几乎全部是围绕单位建立的。对他们来说,工作不只是谋生,它是你的根基,你必须扎进去。他让我把leader的电话给他,和小学时他跟班主任要电话的逻辑是一样的:他把“你在外面有人照看”这件事,看得比什么都重。

我不认同他的说法。但我后来慢慢意识到,他的话里藏着一种我不愿意承认的现实。

算法岗几乎只有几个一线城市才有。如果你没有在本地成家,没有固定的伴侣,你的社会关系有一大半就是同事。你的社保是公司交的,你的作息是公司定的,你住在哪个区取决于公司在哪个区,你每天聊得最多的人是坐在你旁边工位上的那个人。别人问你“你是做什么的”,你说“我在某某公司做算法”。你可能没注意到,这句话说出口的时候,你已经在用一份工作来定义自己了。

说句不好听的,如果你哪天生病住院,第一批来看你的大概率是你主管带着几个同事,而不是远在老家的父母。公司那个“家”,你不想承认,但它确实是你生活的现实。

我爸那一代人不需要纠结“这份工作适不适合我”。工作就是谋生手段,没有人指望从里面获得意义感。但我们这一代人从小被教育“要做自己喜欢的事”,于是当你发现自己并不喜欢这份工作的时候,痛苦就多了一层:你不仅对工作本身感到疲惫,还觉得自己辜负了自己。


(本文节选自我即将出版的新书《一个大模型工程师的诞生》(清华大学出版社)的最后一节。)

我从本科开始自学Python和机器学习。大概是2016年左右,我还在念金融学,但我已经觉得AI一定是未来的方向。后来我从金融转到数学,再从数学转到算法工程师,一路走过来,心里一直有一个念头:我想亲眼见证通用人工智能的到来,最好还能参与其中。

现在回头看,那个念头没有错。但它和我每天实际做的事情之间,隔着一条很宽的沟。

我在一家大型物流企业做过VLM预训练。听起来很前沿,对吧?统一的多模态基座大模型,替代内部几十个碎片化的小模型。但我每天花时间最多的事情,是把三十多个子业务的数据标签统一起来。有些业务管同一个东西叫“快递”,有些叫“包裹”,有些叫“快件”。有些业务标注“人”的时候画全身,有些只画上半身。我要一条一条地写映射规则,一共写了两百多条。遇到拿不准的,还得去找不同项目的负责人问:“你们这个‘循环包材上皮带机’到底是什么意思?这个违规动作长什么样?”

这种工作做一天两天还行。做一周两周,你会开始在某个下午对着屏幕愣住,脑子里冒出一个念头:我当初学Transformer、学注意力机制、学反向传播,就是为了坐在这里核对标签名称的?

这本书的第六部分花了三章讲数据工程:怎么清洗、怎么标注、怎么做数据飞轮。那些是方法论,冷静的、可操作的。方法论不会告诉你的是:当你真正连续两周泡在这些事情里面的时候,你的身体和脑子会给你什么反馈。

你可以在入行之前就读过一百篇“算法工程师的日常不是你想象中的那样”。你可以在这本书的前面章节里看到我写的“你大部分时间都在和数据打交道”。但提前知道这回事,和每天早上九点半坐到工位上真正面对它,是两种完全不同的体验。就像你可以知道冬天会冷,但你没办法在夏天提前感受到那种冷。


我工作了六年,待过三家公司。有一个事实我不太愿意面对,但它确实存在:每一段经历都出现了类似的轨迹。开始的时候有期待,做了一段时间之后动力往下掉,最后离开。

最让我困惑的是,这几段经历中,我的直属leader都挺好的。正常的性格,合理的安排,没有PUA,没有恶意打压。我没有办法指着任何一个人说“就是因为你我才做不下去”。

如果你的leader是个混蛋,事情反而简单,换个组、换个公司就行了。但如果leader挺好、薪资还行、团队氛围也正常,而你依然觉得哪里不对,那你连抱怨的对象都找不到。

我花了很长时间才想明白,问题出在哪里。面试考你的是Transformer、手撕代码和项目里的模型;进来以后,每天占掉你大部分时间的,是盯细节、跑重复的流程、跟不同团队对齐、在需求反复变化的时候保持产出;到了年底,看的又是指标涨没涨、成果讲不讲得出来。招你的是一套,用你的是一套,评你的又是一套。这三套之间的缝,不是哪个leader造成的,也不是哪个公司造成的,很多做这一行的人,都在拿自己的时间去填。

正是因为没有人可以怪,这种痛苦才特别难说出口。我爸让我有事多跟领导说,可我能跟领导说什么?说标签太多?说指标不涨?这些他都知道,他头上也压着排期和考核。你只能在某个加完班回家的晚上,对着天花板想一句“好累”,但你说不清楚到底累在哪里。

然后有一天,我的身体替我说了。

2026年1月,我的脑子宕机了。不是比喻,是真的宕机,无法思考。早上醒来头痛到没办法坐直,眼睛看屏幕几秒钟就发胀,脑子里面像塞了棉花。去了医院,诊断是神经性头痛,开了病假条。我请了两天假,实际上半个月才真正缓过来。

做算法工程师这些年,我见过同行脱发、颈椎出问题、长期失眠、体检一堆毛病。这些都不是社交媒体上的段子,是真实的人身上发生的真实的事情。但大多数人不会在公开场合提起,因为他们知道说了之后会得到什么回应:“你拿那么多钱还有什么好抱怨的?”


说到钱。有人可能会说:但你们拿的钱多啊。

我理解这个反应。算法岗从外面看确实是高薪。不过,我想把“高薪”这两个字拆开聊聊。

算法岗的薪资由基本工资、绩效工资、年终奖、股权(如果有的话)拼在一起。年终奖大多和个人绩效以及公司经营挂钩,合同里通常写着“与公司经营状况挂钩”,全员打折完全可能发生。你在社交媒体上看到的那些年包数字,是理想情况。

涨薪在很大程度上依赖跳槽。在同一家公司,如果你的绩效不是最顶尖的那一档,内部调薪非常有限。至于普调,你不要以为年年都有,有些公司几年才轮到一次。我自己在上一家公司待了四年,只赶上过一次。大厂跳槽涨幅一般卡30%,超过要审批。

还有一件事很少有人公开说:有些公司的五险一金不按你实际工资缴纳,而是按一个远低于真实收入的基数交。你入职之前问,HR会打太极、给你模糊的答案。入职之后你才会在工资条上发现。

第一份工作的起薪也是个坑。我2020年毕业的时候,身边没有任何人做算法。我学数学的,同学全去了金融或者当老师。那时候小红书还没那么火,也没那么多人在上面分享谈薪攻略。面试的时候HR问我期望薪资,我战战兢兢说了一个数字,HR立刻就同意了。后来我才知道,那个数字比同岗位的市场价低了一大截。而这个起点一旦定下来,后面每次跳槽都是在这个基础上乘以1.3,你一直在追赶一个你本来就应该在的位置。

我不是在替整个行业哭穷。算法岗的收入确实比很多行业高。但高薪这两个字盖住了太多真实的结构。而且它还盖住了一个更要紧的问题:钱能买到忍耐,买不到内驱力。如果你每天坐在工位上做的事情让你觉得时间在白白流走,那这个月底到账的工资,到底能让你心安多久?


还有一种痛苦是缓慢的、长期的,你在入行的头几年根本不会想到:35岁危机。

有些岗位不会把年龄上限写在招聘要求里。但你投简历的时候会慢慢发现,过了某个年龄,面试邀请开始变少了。你的经验更丰富了,你的技术判断力也更强了,但公司的账算得很清楚:一个工作两三年的人,薪资只要你的一半,精力比你旺盛,加班比你配合。你在这个行业积累了十年的东西,这些东西当然有价值——但在很多公司的成本模型里,那个价值撑不起你和年轻人之间的薪资差。

我有一个以前的同事,能力不差,经验也够,最近几个月投简历,要么没有回音,要么面完就没了下文。他跟我说了一句话:“今年真的太难了,不是无病呻吟,是真的难。”

35岁危机残酷的地方在于它的时间窗口。你二十五六岁入行,前几年在学东西、攒经验,觉得一切都在往上走。三十岁左右,你开始熟练了,甚至带过小团队了,感觉挺稳的。然后你突然意识到,留给你的窗口可能只有五六年了。过了那条线,你要么往管理转,要么技术足够硬留在一线,要么——你不知道“要么”后面是什么。你身边大部分人,其实也不知道。


这本书前面花了很长篇幅教你怎么成为一个大模型算法工程师。如果你认真学完了这些内容,你也许可以拿到一份满意的offer。但我没办法保证你会喜欢这份工作。

你可能会喜欢。有些人确实享受这个过程——调试模型的时候像在解谜,看到loss下降的时候有实打实的满足感,跑通多卡训练的那一刻会忍不住在心里喊一声“太爽了”。如果你是这种人,这本书前面那些章节就是为你准备的,去吧,放心去。

但你也可能发现,你还是喜欢技术,只是越来越不想上班。调通一个模型的那点兴奋,被清洗数据、和产品对齐需求、写评估报告、开周会汇报进度一点一点摊薄。摊到最后,每天早上把你送到工位上的,只剩惯性和工资。

这种发现不会提前到来。你没办法在学Transformer的时候预见到,你未来会花一整周去核对三十个子业务的标签命名。你没办法在看论文的时候想象到,你会为一个“这张图到底标的是全身还是上半身”的问题来回沟通三天。你必须真正进去,真正做上半年、一年,才会知道这份工作和你之间到底合不合适。

而当你发现不合适的时候,你面前摆着的是一个真正的困境。

你已经花了大量的时间学习这些技能。你的简历写满了模型训练和数据处理的经验。你的收入已经锚定了你的生活——房租、消费、还贷、父母的期待,全部建立在这个数字上。你也不知道自己离开这个岗位还能做什么。转产品?收入打折。转开发?从头来过。回老家?老家没有算法岗。

我认识的大多数觉得不开心的算法工程师,最后都留下来了。他们往四周看了一圈,发现每条路都不比现在更好。这种感觉——你不喜欢,但你离不开——可能比任何一种具体的工作上的苦都更让人喘不上气。具体的苦总有做完的时候,标签映射做完了就做完了,评估报告交了就交了。但“我到底要不要继续做这一行”这个问题不会做完。它会一直待在你脑子后面,安安静静地陪着你上班、下班、入睡。


不同的人有不同的痛苦法。

我知道有人看到这里会觉得:一个月薪几万的人在这里谈痛苦,矫情。我理解。一个快递小哥在烈日下跑十个小时,一个外卖骑手在车流里抢时间,他们的辛苦实实在在、肉眼可见。一个坐在空调房里面对屏幕的人,凭什么喊累?

我不想比较谁更苦。痛苦不是排行榜,不是说别人排在你前面你就不配难受。身体的劳累是真实的,每天花八个小时做一件你打心底觉得没有意义的事情,也是真实的。

如果你此刻正坐在某个大厂的工位上,觉得哪里不对但又说不上来,不要急着怀疑自己。不开心不代表你能力不行,不代表你不够努力,不代表你选错了专业。它可能只是意味着你和这份工作之间的匹配度没有你预期的那么高。这不是任何人的错。

这本书从第一章的Linux命令开始,带你走过了数学基础、深度学习、Transformer、微调、对齐、RAG、Agent、数据工程、职场协作、面试求职。这条路很长,你能走到这里,本身就说明你有足够的耐心和能力。但这条路会不会让你快乐,是我回答不了的问题。这个问题只能留给你自己,在某个加班回家的晚上,在某个周末醒来不想打开电脑的早晨,慢慢地、诚实地去面对。

不管你最后做了什么选择,我都希望你记住一件事:你是一个人,然后才是一个工程师。


本文节选自我的新书《一个大模型工程师的诞生》的最后一节。这本书用大白话把大模型算法工程师从入门到上岗需要的所有东西讲了一遍,目前在清华大学出版社出版流程中。

写完这本书之后,我越来越觉得,技术可以用教程讲清楚,但技术背后那些人的经历,没有人在记录。钉钉 ONE 项目的产品经理滕雅辛写过一篇叫《置身钉内》的万字长文,里面有一句话:“如果无人记录,许多事情就会乘着‘调整’‘收缩’‘组织优化’‘方向变化’这些轻飘飘的词汇飞走消失。”她在做 ONE 项目时晕倒过两次。

我在考虑写一本纪实方向的书,记录这个行业里真实的人和真实的经历。如果你有自己的故事想讲,欢迎找我聊聊。