感觉我的生活似乎相当简单,毕业后直接进了某网安公司实习、然后就慢慢悠悠待了六年,直到今天。
毕竟是人生的第一次,感觉应该写点什么纪念一下。
刚毕业的时候是 2020 年,选了一个网安公司。当时进这个公司非常重要的一点是,我对网安行业非常有兴趣(初高中「捣鼓」过很多东西,还玩过渗透,甚至年少无知黑过别人论坛 - 幸好人家没报警),而且这家公司还运营着我曾经经常逛的一个安全论坛
当年也正值网安行业如日中天,开心入职了。刚入职的时候其实福利相当可以,各种下午茶、福利、多余的假期、奖金等等,各种活动也不少。
入职的时候面的是 Python ,还记得进公司的时候接手的是当时的一个老项目加功能。读这个项目源码的时候真的非常痛苦,具体记不清了,但大概也就是不遵守命名规范、没有注释、没有类型注解、没有测试这些,我梳理代码的过程中加了一些注释,然后做好了功能,然后提交代码。
然后 Code Review 过程有两件事情让我至今印象十分深刻
- 因为写了过多的注释被 leader 要求「不要加注释,因为后面代码变了可能和注释对不上」
- 当时做了一个删除功能,然后因为 ES 删除并不是实时的,可能出现添加后立刻删除没有 / 删除后立刻查询还在,当时不太懂 ES ,听从了 leader 给的解决方案「在所有操作后都执行 index 刷新」
不过巧的是,我的代码质量被另一个团队的 leader 看到欣赏了,把我要了过去 —— 所以这也是我在真正招我入职的这个 leader 手里做的唯一一个项目
在新的小组,用 Python 做了一个新项目以后,就遇到了公司决定放弃 Python 转 Java 😂 所以我那个 Python 项目在线上好像也就存活了一个月
之后,既然公司决定转 Java 了,那我自然是…… 去写 Go……
没错,我所在的新部门因为是中间件部门,因此没有受到应用层转 Java 的影响,而是可以选择合适(喜欢)的语言完成,在职期间我基本上可以说把 Python 2, Python 3, Golang, Java, JavaScript (TypeScript), Rust 玩的都挺明白(主打一个想学什么语言就用什么做)
在这个部门工作的时候非常开心 —— 即使那时候我知道我的能力已经远超我的薪资了我也没有走,我经常觉得好像工作氛围要比钱重要的多。
然而,在这期间,网安行业走下坡路,公司也开始了各种「骚操作」,取消各种奖金、晚发至最后取消年终奖、强制加班(我入职的时候承诺了每天工作 8h 、周末双休 - 当时也确实做到了,但后面就变成了要求工作 9.5h )等,我因为氛围 & 做的东西我比较开心其实也都默默忍了下来。
转折点应该是两个因素一起构成的。一是我当时的 leader 因为不满公司 9.5h 的工时制度而离职(公司为了逼他离职甚至做出了在他头顶装摄像头的离谱举动),二则是公司突然搞了一个「王牌项目」,而我也正式从专门的基础架构/中间件的开发去转做了业务开发
坦白说,这是一个非常有前景的项目,但也是一个十分困难的项目 —— 当时的说法是「我们是第一个,没有竞争对手」而我说的是「因为其他家都知道不可能所以我们是第一个」—— 这件事情几年后到了现在也是正确的,我们没有任何同类竞品、到今天也没有
当时我是负责安全动态爬虫的,简单说就是给你一个 url 要争取全自动的、完美的爬取到整个网站、触发所有可能的 API —— 这是一个可能现在基于 AI Agent 都难以达成的目标 —— 但在当时就被要求去做到极致,有一段时间一直淹没在对各种奇葩网站的适配,十分痛苦
但其实虽然觉得困难,但我还挺喜欢挑战困难的,所以虽然痛苦,我也一直没有什么一定要走的想法
AI 时代来了。我进了 AI 安全项目组。
这次我要做的产品是 AI 网关。
这其实是一个对我来说毫无挑战的项目。作为一个「精通」各种网络协议、代理协议,手搓过 MitM 实现的人,这个需求对我来说简直太简单了 —— 它对我来说最大的难点就是作为一名 ADHD 我怎么说服自己去做这么一个「无聊」的项目。
anyway ,就当做个「 Build your own nginx 」这种练习了,轻松搞定。
但是让我始料未及的是,我又接到了很多 AI 网关的需求 —— 这不正常吗?这正常吗?还记得我开篇吗,我在的是一个「网络安全公司」!而我在的项目组是做 AI 安全的!
4 月我接到了大量的 AI 网关方面的需求,多上游负载均衡、协议转换、计费…… 我其实挺不理解的,为什么会有人期望让一个安全产品支持这些功能。。这不是后面接一个 Kong 甚至开源的 New API / litellm 就能解决的嘛?我们产品经理其实也不理解 —— 也没有客户提 —— 是伟大的 CEO 同志提出的。
而与此同时,一个安全产品却又不给安全研究方面的资源。。只有一位研究员还需要在多个产品之间提供支持、要求训练小模型不给卡。。。
(当然,现在好很多了,但是项目组中网关的研发已经有数个,安全研究人员目前却仍然只有一个。。)
与此同时,公司正在实行 All in AI 的政策 —— 坦白说,我觉得方向是对的,然而实行却一言难尽
先说我负责的 AI 网关。4 月直接接到了海量的、人力根本不可能完成的需求,而上面给的解决方案就是 —— 用 AI —— 并且号称给「无限的 AI Token 」 —— 然后对于项目的要求是「做出来就行,不要求质量」。
「无限的 AI Token 」,听起来很美好是吧?结果给的是某个廉价中转的 API Key —— 这个离谱的廉价中转的可用性甚至是见过、听过的最差的 —— 一个流式请求的 TTFT 平均 1min 、最长能干到 3min 的中转你们听说过吗?(对比下,直连 OpenAI / Claude 官方基本在数秒)
哦对,几分钟的 TTFT 还是后话,4 月初刚刚给到我的时候,它甚至根本没办法正常使用当时最先进的 gpt 模型 —— 非常稳定的,不开思考(默认 none thinking )就是智障、开了思考会无限等待直到超时。
(当然,当时秉持着绝不自费打工的想法,我申请到了 ChatGPT Pro 报销 —— 没强制要求发票,invoice 就给报了,这点公司倒是挺好的,我还以为到财务那里会卡我呢)
AI 现在的发展阶段到处是什么样子?我觉得是一个挺尴尬的境界。AI 可以去完成一些简单的任务、复杂的任务、甚至多步工作流的任务,AI 也能完成一些小项目的完整维护。
但是对于一个 AI 网关这种量级的项目呢?我的评价是,根本无法正常维护 —— 哪怕是最先进的 gpt-5.5 。
被迫用 AI 开始这种级别的「 Vibe Coding 」我其实是极度痛苦的。因为给的时间去完整审阅 AI 代码是不可能的,我只能尽力保证大方向的架构是我期望的、而放任中间的细节由 AI 把控。
我的「掌控欲」其实还挺强的。我之前几乎可以保证只要我交付出去的代码,几乎不会有我写的 bug ;而我自己没测出来的 bug ,测试也几乎不可能测出来 —— 我有另一个中大规模的项目,完全由我开发、没有测试介入、运行数年、在无数个不同的环境中新装、升级,累计 bug 数不超过 10
但是现在呢?我再也不敢直接去笃定的说「配置问题」了,而是接到可能的 bug 永远要自己先审查一遍 —— 当然,我做了个 AI Skill 让 AI 完成这件事情 —— 但这种事情带来的心智负担是我不能/不愿意接受的。
而且也算是不得不对代码质量放任了。之前做 Code Review 我都会非常仔细的一行行代码看,包括考虑各种性能和可能的边界条件。而现在呢?别说审查了,我自己都不知道哪里会埋雷。看了下只要 CI 过了、别提交不该提交的文件、没有什么明显改动不该改的文件,就 Merge 了。
—— 哦,说到 CI ,可能只有我负责的项目有 CI 这种东西吧,公司完全不管
—— 当然,没有 CI ,也没有 CD ;我明确提过,这种 AI 的代码 bug 会很多,必须要做到遇到 bug 敏捷开发、快速迭代、快速上线(目前是采用月发版、中间非常紧急的 hotfix 才会手动去部署升级 —— 但我现在几乎每天都能发现 AI 之前埋藏的数个惊喜),要搭建好 CI/CD 做好自动的上线,正好趁着新项目直接上全套的 k8s + helm + argocd —— 然而,nobody cares —— 没有人敢使用新技术、没有人敢担拍板的责任
与此同时,公司正在执行更加激进的 AI 政策。
配备统一的(公司自己开发的)( Vibe Coding 的)(极其难用的)(充满 bug 的) AI 工具,禁止使用自己的工具、禁止使用自己的 API Key ,将 AI 使用率纳入考评、所有 commit 必须 AI 提交……
CEO 期望的肯定是「降本增效」,但如此激进的政策,我也很难说公司到底是先驱还是先烈了。
断断续续,不知道写啥,纯属觉得应该画个句号,写个流水账记录下吧;也尽量模糊了公司(不过网安行业就这么大,期望猜到的/我的同事们也不要说出公司名称来)
下一步怎么走也没想好,先去玩玩?自己做点什么?再换一家小而美不加班的公司?
无贷未婚无娃在这种情况下,还挺自由的 XD