模型 / 資料集
MLSysOps/MLE-agent avatar
MLSysOps/MLE-agent

MLE-Agent:把 Kaggle 競賽與 ML 基線交給命令列代理

🤖 MLE-Agent: Your intelligent companion for seamless AI engineering and research. 🔍 Integrate with arxiv and paper with code to provide better code/research plans 🧰 OpenAI, Anthropic, Gemini, Ollama, etc supported. :fireworks: Code RAG

1,571 個 Star109 個 ForkPythonMIT
GitHub

秒懂

它是什麼?
MLE-Agent 是一個以 CLI 為核心的 LLM 代理,主打自動建立 ML 基線、獨立跑 Kaggle 任務,並接入 arXiv 與 Papers with Code 找方法。它的價值取決於你是否願意把專案目錄與執行權交給它。
適合誰用?
如果你要的是在終端機裡快速長出一個可執行的 ML 基線,或想把 Kaggle 這種流程固定的任務外包給代理,MLE-Agent 值得在一個獨立目錄裡試;如果你的專案已經有既定的目錄慣例、CI 檢查或私有資料管線,這個代理會直接在你的檔案系統上建立與修改檔案,先確認它對現有結構的尊重程度再決定。若你只需要論文檢索或程式碼補全,單獨用 arXiv 介面加上一般 coding assistant 更省事。
可以商用嗎?
可以。MIT 是寬鬆授權:你可以使用、修改並販售以它為基礎的軟體,只需保留著作權與授權聲明。
還在維護嗎?
有在維護。儲存庫最近一次提交在 67 天前。
用什麼語言寫的?
主要是 Python(依據 GitHub 的語言統計)。

以上回答依據專案的 GitHub 資料(最近同步於 2026年9月15日)與我們的分析,不構成法律意見。

開源專案深度解析

它想解決的是從零到可跑基線之間那段空白

多數 ML 專案的開頭不是模型,而是雜事:建目錄、決定用哪個資料集、寫一個能跑完的訓練腳本、處理套件版本、然後在第一次執行時看到錯誤訊息。MLE-Agent 把自己定位成這段過程的配對代理,README 開頭寫得很直接,說它是 machine learning engineers and researchers 的 pairing LLM agent。它的目標使用者不是已經有成熟訓練框架的團隊,而是手上只有一句模糊需求的人,例如 README 舉的例子:想根據歷史資料預測股價。

這個定位決定了它的介面形狀。它不是函式庫,不是 SDK,而是一組命令列指令,裝好之後用 mle 開頭。專案本身以 Python 撰寫,授權為 MIT,發佈在 PyPI 上。它假設你會在某個工作目錄下建立一個專案資料夾,然後所有事情都在那個資料夾裡發生。這個假設很重要,因為它同時是它的便利來源,也是後面要談的限制來源。

代理、工具與 RAG 三層結構

從 README 的功能列表可以看出它的架構分三層。最上層是代理本身,README 用 Autonomous Baseline 與 End-to-end ML Task 描述它會自動建立基線、獨立完成 Kaggle 任務。中間層是工具整合,README 列出 AI/ML functions 與 MLOps tools,並提到 File System Integration,意思是代理能直接讀寫你的專案目錄。底層是檢索,透過 arXiv 與 Papers with Code 取得方法與最佳實踐,README 另外標了一個 Code RAG,並在 roadmap 裡把 Local RAG support 勾成已完成,說明它想讓代理變成個人化的 ML 程式助理。

有一點在 README 裡寫得比功能列表更值得注意:Smart Debugging 被描述為 automatic debugger-coder interactions。這透露了它的執行模型不是單一 agent 一次生成程式碼,而是至少兩個角色互相回饋,一個寫、一個抓錯,直到程式能跑。這種設計在 ML 場景是合理的,因為資料形狀、欄位名稱、套件 API 這類錯誤幾乎一定在第一次執行時出現,靜態生成很難避開。相對地,它也意味著每次任務的 token 消耗與執行時間會比單次生成高,README 沒有給出任何關於回合數上限或成本控制的說明。

安裝與最小可用路徑

安裝方式有兩條。從 PyPI 裝最簡單,README 給的是 pip install -U mle-agent,也支援 uv pip install -U mle-agent。從原始碼安裝則需要先 git clone 專案、進入目錄、用 uv venv .venv 建立虛擬環境並啟用,再以 pip install -e . 做可編輯安裝。

真正要留意的是使用流程。README 的指令順序是先在當前路徑下建立專案,再進到專案目錄裡啟動:

mle new <project name> cd <project name> mle start

README 特別寫了一句,專案目錄會建立在當前路徑下,而且你必須在專案目錄裡啟動它。這不是可有可無的細節,而是這個工具的核心約束:它的狀態、產出的檔案與後續指令都綁在那個目錄上。想聊天則是在專案目錄下執行 mle chat。如果你跳過 mle new 直接在別的地方跑 mle start,根據 README 的描述,你並不在它預期的操作位置上。

Kaggle 模式:從人機協作到全自動的兩段式設計

Kaggle 是這個專案投入最多說明篇幅的場景。基本用法是在專案目錄下執行 mle kaggle,README 說它會從資料準備到模型訓練,自主完成編碼與除錯。這裡的關鍵詞是自主,但實際上它仍預設有人參與。

要完全無人介入,得用另一組參數。README 給的範例是 mle kaggle --auto,後面接五個參數:--datasets 接受以逗號分隔的資料集路徑、--description 接受描述檔路徑或直接一段文字、--submission 指向提交檔、--sub_example 指向提交範例檔、--comp_id 是競賽 ID。README 也提醒,執行前請確認你已經加入該競賽。

這個設計其實比表面看起來務實。--sub_example 的存在說明作者知道代理需要看到提交格式才能產出正確形狀的輸出,而不是靠猜。--description 允許直接餵文字,則讓需求可以維持模糊,符合 README 在基線場景強調的 vague requirements。反過來說,五個參數都必須先備妥,這代表自動模式的前置成本並沒有消失,只是從寫程式移到整理輸入。至於代理在自動模式下跑多久、失敗時會不會停下來,README 沒有交代。

報告功能與本地 Git 的結合方式

除了建模,它還有一個與 ML 無直接關係的功能:產出週報。這部分有兩種模式。第一種是 mle report,在專案目錄下執行後,README 說可以造訪 http://localhost:3000/ 在本機產生報告,這意味著它會起一個本地 web 應用。第二種是純命令列的 mle report-local,參數包含 --email 指定 git email、--start-date 與 --end-date 指定日期區間,最後接上本地 git 儲存庫的路徑。

README 說明 --start-date 與 --end-date 是選填,省略時預設抓最近七天。這個功能把代理的輸入從程式碼轉移到 commit 歷史,產出內容包含開發進度、溝通記錄、參考資料與待辦清單。對個人開發者來說,這是一個把 git log 轉成敘述文字的便利工具;對團隊來說,它讀的是本地儲存庫,README 沒有說明任何關於推送、上傳或遠端儲存的機制,這一點在評估時應該自行確認。

模型選擇的彈性與它沒有回答的問題

README 在標題列明支援 OpenAI、Anthropic、Gemini、Ollama 等,並在 0.4.0 的里程碑提到新增 Mistral 等模型。支援 Ollama 的意義是可以完全在本機跑,對不希望把程式碼或資料送到外部 API 的人來說是實際選項。

但 README 沒有給出對應的設定範例。它沒有說明 API key 放在哪個環境變數、模型名稱要用什麼字串、如何在多個供應商之間切換、Ollama 的本地端點要怎麼指定。這些資訊理論上位於作者提供的文件站,但就我手上的材料而言無法確認。同樣地,README 的功能列表提到 Comprehensive Tools Integration 與 MLOps tools,卻沒有列出任何一個具體的 MLOps 工具名稱。這種在行銷語句與可驗證細節之間的落差,是評估這個專案時最需要自己動手補齊的部分。

什麼情況下它會是錯的工具

最明顯的限制來自它對檔案系統的直接操作。README 把 File System Integration 列為特色,說它會有效組織你的專案結構。當代理被授權建立與修改檔案時,它對既有結構的理解就變成風險來源。如果你已經有一套固定的目錄慣例、設定檔命名規則或 CI 檢查,讓一個代理在裡面自由落檔,結果可能是它產出的東西能跑,但不符合你的規範。README 沒有提到任何關於 dry-run、變更預覽或回滾的機制。

第二個限制是它對執行環境的假設。README 在基線場景說它會在 local machine 上測試模型,roadmap 則把 Cloud data 與 testing/debugging platforms 的整合列為未完成項目。也就是說,目前的重心在本機。需要分散式訓練、GPU 排程或雲端資料源的任務,並不在它已經完成的能力範圍內。

第三個限制是驗證成本。Smart Debugging 讓代理能修到程式跑起來,但能跑不等於正確。README 沒有描述任何評估協定、資料洩漏檢查或交叉驗證的預設行為。把一個自動除錯到能執行的 Kaggle 提交直接當成結果,是這個工具最容易誤用的地方。

與單純使用 coding assistant 的差別

最直接的替代方案是一般的 coding assistant 加上手動的論文檢索,例如在編輯器裡用 Copilot 或 Claude Code 這類工具,需要方法時自己上 arXiv 找。兩者的差別在於狀態與範圍。編輯器裡的助手通常以檔案或選取範圍為上下文,你決定要改哪個檔案、要寫哪個函式;MLE-Agent 則是以整個專案目錄為工作範圍,自己決定要建哪些檔案、執行哪些命令,並在失敗時自行重試。

這個差別在 Kaggle 這類流程固定的任務上對它有利,因為資料準備、訓練、產生提交這條路徑是重複的,交給代理省下的正是重複勞動。但在探索性研究上則相反,當你還不確定要用哪個特徵、哪個切分方式時,一個會自行落檔並反覆除錯的代理,會讓你更難掌握專案實際長成什麼樣子。另一個方向是直接使用 Kaggle 官方的 notebook 環境,那裡的優勢是資料已經掛好、提交格式已經固定,缺點是你仍然要自己寫每一個步驟。MLE-Agent 試圖填的正是這個中間位置:比手寫快,比 notebook 環境更自主,但代價是控制權。

編輯結論

如果你要的是在終端機裡快速長出一個可執行的 ML 基線,或想把 Kaggle 這種流程固定的任務外包給代理,MLE-Agent 值得在一個獨立目錄裡試;如果你的專案已經有既定的目錄慣例、CI 檢查或私有資料管線,這個代理會直接在你的檔案系統上建立與修改檔案,先確認它對現有結構的尊重程度再決定。若你只需要論文檢索或程式碼補全,單獨用 arXiv 介面加上一般 coding assistant 更省事。採用前先跑 mle new 建一個空專案,用 mle chat 觀察它如何規劃與落檔,再確認 mle kaggle 是否要求你把資料與 submission 路徑交給它,以及它對 OpenAI、Anthropic、Gemini、Ollama 的實際設定方式。

官方來源

  1. Issues
  2. License: MIT
  3. MLSysOps/MLE-agent on GitHub
  4. README
  5. Releases
社群筆記

社群筆記