從機器學習工程師到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原生優勢並沒有競爭,它們融合了。