AI Engineer Europe 2026 · 演講 · 2026-05-21 · 18 分
讓 coding agent 做 AI 系統工程
Your Coding Agent Should Do AI System Engineering · Ben Burtenshaw,Hugging Face
Ben Burtenshaw 用三個由淺入深的例子,示範 coding agent 如何寫 CUDA kernel、微調模型,以及組成多 agent 的自動研究實驗室。
概要
- 三步由淺入深Ben 把內容分成互動寫 CUDA kernel、一個 prompt 就在 Hugging Face 上訓練 LLM、多 agent 自動研究三步,一步比一步自主。
- 記憶體才是瓶頸Ben 說多數情況下 kernel 的瓶頸是記憶體而非運算,客製 kernel 的目標是讓 GPU 每次讀寫做更多運算。
- kernel 與 skill 放上 HubHugging Face 的 kernels 函式庫讓 kernel 像模型一樣成為 Hub 上的 repo;skill 則是以檔案存放的 context,Ben 說能把任務從 zero shot 變成 few shot。
- 用 Upskill 比較模型Upskill 會產生 skill 與評估,並讓不同模型在同一個 skill 上比較準確度與 token 用量。
- Auto Lab 四種角色researcher、planner、worker、reporter 分工,worker 在 Hub 上用 HF jobs 跑訓練,結果記錄在 Hugging Face 的開源儀表板。
- 開放元件勝過封閉抽象Ben 的結論是 agent 適合搭配開放的基本元件,看不到底層的抽象層會變成天花板。
原話
▶ 00:19“we can use coding agents to tackle the hardest engineering problems in AI”
我們可以用 coding agent 去處理 AI 領域最難的工程問題
▶ 04:24“In most cases, memory is usually the bottleneck”
多數情況下,瓶頸通常是記憶體
▶ 06:47“it takes a task from being zero shot to being few shot”
它讓任務從 zero shot 變成 few shot,意思是給 agent 範例
▶ 16:32“you can go and just have your kind of own ai lab”
你可以直接擁有自己的 AI 實驗室
▶ 17:23“the Hugging Face Hub is ready for these kind of workloads”
Hugging Face Hub 已經準備好承接這類工作負載
延伸
- Ben 用 H100 說明為什麼瓶頸在記憶體:它每秒能算一個 petaflop,記憶體頻寬卻只有 3 terabytes,所以 GPU 常閒著等資料。
- Upskill 的比較例子:同一個 skill 下,GPT-OSS 準確度稍低、token 用量差不多;Kimi 與 Haiku 都更準,token 也用得更少。
章節
點時碼直接跳到原片的那一段。
- 開場與兩個重點Ben 說這場有兩個重點:用 coding agent 處理 AI 領域最難的系統與機器學習工程問題,而這需要標準化的 repo 放在 Hub 上。
- 往底層走的提議Ben 認為 coding agent 已被廣泛接受,主張工程師該更靠近硬體、挑更難的問題,並把內容拆成三個越來越自主的步驟。
- 第一關:寫 CUDA kernel第一步是互動式讓 agent 寫 CUDA kernel;Ben 說過去大家覺得這做不到,但 kernel 黑客松與 Kernelbench 顯示 agent 寫得出有效且最佳化的 kernel。
- 效率三塊與記憶體瓶頸Ben 把 kernel 效率分成運算、記憶體、額外開銷,說多數情況下瓶頸是記憶體而不是運算。
- kernels 函式庫與 Hub repoHugging Face 的 kernels 函式庫用 toml 檔標明支援的硬體與軟體版本,kernel 也成為 Hub 上像模型一樣的 repo。
- 用 skills 帶 agentBen 把 skill 看成以檔案存放的 context,可版本控管,並說 Hugging Face 傾向讓各專案的維護者自己維護 skill,另有一個放實驗性 skill 的 repo。
- kernel skill 的實測kernel skill 附有 benchmark 腳本與範例;Ben 為某個 Qwen 模型在 H100 上產生 kernel,得到 94% 加速,並說這不是頂尖數字,重點在相容性。
- 用 Upskill 評估 skillUpskill 會產生 skill 與對應的評估,讓人拿不同模型跑同一個 skill 來比較準確度與 token 用量。
- 第二關:一句話微調模型第二步是只給 prompt 就在 Hugging Face 上訓練 LLM;Ben 簡短帶過,提到已整合 Hub、可直接用 Hub 上的 GPU,另有一條成本更低的做法。
- 第三關:Auto Lab 的起點第三步是多 agent 自動研究;Ben 以 Andrej Karpathy 讓 Claude Code 改進 NanoGPT 訓練腳本的實驗為出發點,覺得單一 agent 反覆迭代可以拆開分工。
- 四種角色分工Ben 把任務分給四種角色:找論文的 researcher、維護工作佇列的 planner、實作訓練腳本的 worker、監看結果的 reporter。
- repo 結構與實作環境Ben 用 Git 專案管理,main 分支放訓練腳本與分數的資料結構,每個實驗一條分支;範例用 OpenCode 實作,repo 裡另有 Codex 與 Claude 版本。
- worker 與儀表板worker 透過 HF jobs 在 Hub 上跑訓練並回交 patch;reporter 用 Hugging Face 的開源儀表板,資料層就是 parquet,agent 可以直接讀取。
- OpenCode 設定與角色提示Ben 逐步示範 auto lab 的 agent 設定、prompt,以及 planner 與 reviewer 如何依樣板產生並篩選實驗清單。
- 平行跑數小時與儀表板這個 agent 組合有時平行跑好幾小時;儀表板能呈現各次執行、事件與警告,也能用底層資料自己畫甘特圖。
- 結論:開放元件與 HubBen 的結論是 agent 與開放的基本元件搭配得好,抽象 API 若讓人無法深入就是天花板;也提到 Hub 已具備儲存、追蹤與運算。
名詞
- Hugging Face Hub
- Ben 說已具備儲存、追蹤與運算,可承接這類工作負載
- kernels
- Hugging Face 維護的函式庫,用 toml 檔標明 kernel 支援的硬體與軟體版本,也是 Hub 上的 repo
- Kernelbench
- Ben 提到的論文,用來說明 agent 能寫出有效且最佳化的 CUDA kernel
- Upskill
- Hugging Face 維護的開源函式庫,產生 skill 與評估,並比較不同模型用同一個 skill 的表現
- Hugging Face Skills
- 放較實驗性 skill 的 repo
- HF jobs
- Hub 上執行訓練工作的功能,worker 用它啟動需要硬體的訓練
- HF papers
- 有 CLI 的論文搜尋服務,researcher 用它找論文
- Hugging Face 的開源儀表板
- reporter 用來記錄各次執行的指標,資料層是 parquet,agent 不用介面也能直接讀資料、自己畫圖
- OpenCode
- Ben 用來實作 Auto Lab 的 agent 工具,repo 裡另有 Codex 與 Claude 版本
- Gastown
- Ben 說自己也在這上面實作過,但形容是「Wild West」,放在另一個專案
- Andrej Karpathy
- Ben 提到 Karpathy 用 Claude Code 改進 NanoGPT 訓練腳本,啟發了 Auto Lab








