从机器学习工程师到AI原生:重新技能化以占据优势
本文探讨了机器学习工程师如何应对AI代理自动化的冲击,强调核心技能是数据严谨性和判断力,这些能力在AI原生世界中至关重要。通过将人类判断与代理驱动的实验循环相结合,工程师可以更快地迭代并解决复杂问题。文章以微调Llama模型提取文档字段的实际案例展示了这一过程。
你周一打开代码仓库时,发现一个代理已经搭好了你本打算周二完成的数据管道。特征存储的连接、训练/验证拆分、标准模型的样板代码、评估脚本——全部完成,还附带了测试,就在你睡着的时候。工作质量不错。但在释然之余,你心底有一个没说出来却更安静的想法:如果代理能做我拿工资干的那部分,那一年后我的工作到底是什么?
我想认真对待这种感觉,因为我也曾有过。我多年从事微调和机器学习工作,诚实的答案不是“放松,什么都不会变”,也不是“恐慌,机器学习已死”。它比这两者都更具体,一旦你看清了形状,行动方向就很明确了。
杠铃
两个沉重的末端,一个细长的中间。被自动化的工作是连接组织,而非两端。
先看看什么不会消失,因为悲观预测总是跳过它们。
绑定到你的目标和数据的深层机器学习,其防御性一如既往。一个决定2000万用户看到什么的排名模型、一个接入广告竞价的点击率预测器、一个竞价策略、一个需求预测、一个支付异常检测器——这些都是基于你专有数据和业务约束的数学运算。没有哪个前沿API能知道你的竞价动态或标签分布。如果你深入其中一个领域,行动方向不是重新技能化,而是深入:更好的校准、更好的在线/离线差距分析、更精确的目标。这个优势是真实的,而深入并不意味着迭代更慢。本文后面介绍的代理驱动探索循环既适用于那些跨界的人,也适用于你。
但这里有一个诚实的复杂情况,因为这条优势线的内部也在移动。这些系统的检索层(基于内容的推荐、语义搜索、候选生成、经典应用NLP的一大块)正逐渐融入一个通用层:嵌入模型、LLM及其微调版本。过去你需要手动构建每个领域的特征和定制的检索堆栈。现在你越来越频繁地调用一个通用嵌入模型,或者为你的领域微调一个,而它的表现可能超过手工管道。这个子层正在通用化,而且速度很快。
属于你的部分是绑定了你的目标和约束的部分:在业务目标下的排名、校准、竞价和竞价逻辑、在线/离线差距、将分数转化为决策的优化。一个通用模型可以获取候选集,但它不知道你的市场过度服务了一个卖家,也不知道如何在你的特定竞价中用精度换收入。这就是持久的核心,它比“我做推荐系统”更窄、更锋利。
因此,请精确理解左边的权重。持久的是目标绑定的建模,而不是检索和内容理解子层——后者正在向驱动右边优势的同一通用层迁移。这是贯穿本文的模式:通用层持续吸收任何可以标准化的东西,而抵抗的是那些不可替代地属于你自己的东西。
另一个优势,即AI原生工程,正在快速增长,并且极度渴求你所拥有的纪律。稍后会有更多讨论。
中间是问题所在。“我拿一个数据集,训练一个相当标准的模型,然后交出一个工件”——这正是代理现在能胜任且不知疲倦地完成的部分。这不是预测,这是周一的早晨。如果你大部分时间都待在这个中间层,那么这篇文章就是为你写的,而且消息比你感觉的要好。
你的数据严谨性是资产,它可以转移
以下是没有人告诉焦虑的机器学习工程师的部分:你最值钱的东西不是模型架构,而是一种本能。你会对一个看起来太好的分数产生怀疑。你会问留出集是从哪里来的。你曾被数据泄露、指标因错误原因变动、测试集与训练集悄悄重叠等情况伤害过。这种本能花了很多年才建立起来,而在AI原生世界中,它是稀缺技能——那里很多人发布一个“看起来不错”的提示就认为完成了。
这种本能几乎可以一对一地转移。对象换了名字,但纪律完全相同。
| 你作为机器学习工程师所做的 | AI原生等效物 | | --- | --- | | 特征工程 | 上下文工程:窗口中放什么,如何检索,按什么顺序 | | 在留出集上的离线评估 | 用LLM作为裁判,加上对抗性拆分,对照真实值评分 | | 超参数搜索 | 提示、模型和工具配置搜索 | | 模型注册表 + 版本控制 | 提示和评估套件版本控制,固定模型快照 | | 漂移监控 | 相同本能,新信号:输出漂移、裁判漂移、成本漂移 | | 基于混淆矩阵的错误分析 | 基于代理追踪的故障模式分类 | | “这个提升是真实的还是泄露的?” | “这个提升是真实的还是裁判变懒惰了?” |
你不是从头开始。你只是在重新命名你的优势,并将它们指向一个随机系统而不是确定性系统。在这个转换中挣扎的不是严谨的人,而是那些从未有过这种本能、现在只靠感觉行事的人。你有这种本能,这就是全部游戏的关键。
真正不映射的部分(诚实地看待学习曲线)
我不打算假装转换是免费的。有几件事确实是新的,它们是你应该第一个月投入精力的事:
- 非确定性作为首要关注点。相同的输入可能产生两个不同的输出。你的评估必须考虑分布和通过率,而不是单一分数。如果你曾做过不稳定测试的分类,你就有先发优势。
- 编配优于训练。工作单元从“训练一个模型”转向“将工具、代理和上下文组合成一个工作流程并使其稳定”。不同的肌肉。
- 服务LLM。吞吐量、KV缓存、批处理、成本与延迟曲线。与MLOps相邻但不完全相同。
- 代理循环本身。很好地驱动一个代理(何时让它运行,何时约束它,如何检测它)是一项技能,而且是回报最高的技能。这引出了我最兴奋的部分。
实验循环,拥有倍增器
这就是重新技能化从防御变成收益的地方。
核心机器学习循环十年来没有改变:形成假设,运行消融实验,阅读结果,决定下一个实验,选择胜出版本。这个循环中的判断是你的,是来之不易的。而一直令人痛苦的是围绕它的机械性开销:编写搜索代码、照看运行、将结果整理成可读形式、记住已经尝试过的内容。
代理驱动的工作流程消除了这种开销。代理运行搜索,用你的指标评分,整理结果,告诉你哪个因素实际上改变了数值,并根据你已经看到的所有内容起草下一步实验。你仍然是判断者:哪个信号是真实的,哪个提升是泄露,什么值得用GPU。你的品味是稀缺输入。Claude Code是不知疲倦的实验室技术员。
而且这不仅适用于微调LLM的人。如果你深入持久优势(如排名模型、pCTR预测器、竞价策略),循环是相同的:特征消融、超参数搜索、候选集探索、跨片段分析。相同的机械性开销,代理可以承担,而你做出关键决策。深入和成为AI原生不是二选一。那些将自己的品味与代理驱动探索循环结合起来的专家,将比那些仍然手动运行每个搜索的人迭代得更快。
让我用一个来自我工作的实际消融实验来具体说明,因为这正是循环在实际中如何运行的。
一个实际运行的循环:差点发布失败的那个消融实验
我微调了一个Llama 3.1 8B模型(QLoRA, r=16),用于从提单中提取18个结构化字段。第一次训练运行,在标准的分布内测试集上评分:
- JSON有效性:100.0%
- 模式合规:100.0%
- 字段准确率:100.0%
完成了,对吗?这正是本能发挥作用的时刻。一个静止的100%不是胜利,而是可疑。测试集看起来像训练集,所以当然通过。机器学习工程师本能地问:在分布之外会发生什么?所以我让代理构建了一个对抗性拆分:相同的184条记录重新渲染成五种布局(表格型、简洁型、叙述型、噪声型加上原始型),然后在全部920条记录上对同一模型评分。一个提示驱动整个过程,由我的字段准确率指标(ID精确匹配,名称模糊≥90%,数值±1%)评分:
> 将测试集重新渲染成5种布局变体,在全部920条上运行v1模型,用eval/metrics.py评分,并按布局分解结果。
| 布局 | n | JSON | 模式 | 字段准确率 | | --- | --- | --- | --- | --- | | 原始 | 184 | 100.0% | 100.0% | 100.0% | | 表格 | 184 | 100.0% | 0.0% | 54.1% | | 简洁 | 184 | 100.0% | 0.0% | 51.6% | | 叙述 | 184 | 100.0% | 0.0% | 87.1% | | 噪声 | 184 | 100.0% | 97.3% | 93.7% | | 总计 | 920 | 100.0% | 39.5% | 77.3% |
看到了吧。在分布内得分为100%的模型,一旦布局变化,模式合规只有39.5%。表格型和简洁型上模式合规降为零。那个按布局的分解就是完整的诊断:这不是能力问题或超参数问题,而是数据多样性问题。训练集是单一布局,所以模型记住了布局而不是学习了模式。
现在进入“下一步”环节,这就是循环产生价值的地方。有了那张表,下一个实验不言自明:将训练数据重新渲染成同样的五种布局并重新训练。相同的超参数,相同的1,465条记录,相同的六分钟计算时间:
| 布局 | n | JSON | 模式 | 字段准确率 | Δ | | --- | --- | --- | --- | --- | --- | | 原始 | 184 | 100.0% | 100.0% | 100.0% | 0.0 | | 表格 | 184 | 100.0% | 100.0% | 98.0% | +43.9 | | 简洁 | 184 | 100.0% | 100.0% | 100.0% | +48.4 | | 叙述 | 184 | 100.0% | 100.0% | 100.0% | +12.9 | | 噪声 | 184 | 100.0% | 100.0% | 99.9% | +6.2 | | 总计 | 920 | 100.0% | 100.0% | 99.6% | +22.3 |
数据多样性是承载变化的变量,而不是架构。最终模型在字段准确率上击败了Claude Sonnet 4.5(99.6%对92.4%),而延迟和成本仅为后者的一小部分。
看看那个循环中实际发生了什么。代理做了机械性工作:重新渲染布局、两次运行920次评估、制表。人类判断做了承载变化的工作:拒绝信任100%,知道要构建对抗性拆分,将按布局的零分解读为数据问题而不是调参问题。那个判断属于机器学习工程师。速度属于代理。没有哪一半能独自达到目标,这种组合正是值得重新技能化投入的工作。
偷学循环:提示模式
你明天就可以运行这个循环。能奏效的模式如下:
让代理提出建议,而不仅仅是执行
"这里是我最近12次运行的表格。哪个因素对字段准确率影响最大?请提出最可能缩小差距的3个实验,按优先级排序,并说明每个实验可能有效的原因及其运行成本。"
将对抗性本能注入循环
"在我信任这个结果之前,请从这些数据中构建你能想到的最难的留出集:用三种真实输入可能发生的方式改变分布,然后重新评分。给我看每个切片的数据,而不是聚合数据。"
根据重要的指标选择版本,而不是标题
"请按最差切片的字段准确率对这些检查点排序,而不是均值。我关心它处理最差的布局,而不是平均值。"
代理填写表格。你做出决策。这就是循环。
优势融合的又一证明:SecSid
如果你仍然认为深度机器学习和AI原生工作是两条独立的职业道路,这里有一个来自我自己研究的反例。我直接将推荐系统领域的技术——TIGER系列工作中的RQ-VAE语义ID——应用于安全领域:寻找易受攻击的C/C++函数的跨项目克隆。在一个包含5000个函数的CVE注册表中,它发现了112个跨项目克隆,而经典工具VUDDY只找到了1个。
这是一项推荐系统技术通过代理驱动的研究循环完成的安全工作。深度机器学习优势和AI原生优势并没有竞争,它们融合了。