ML-Intern: Asisten Riset dan Coding ML Otonom dari Hugging Face

ML-Intern: Asisten Riset dan Coding ML Otonom dari Hugging Face

By Reggi, 06 May 2026

Buat para pegiat machine learning (ML), kabar baik datang dari Hugging Face. Mereka baru saja merilis ML-Intern, sebuah asisten riset dan coding ML yang berjalan otonom. Bayangkan Anda punya asisten pribadi yang bisa langsung terjun ke dokumentasi, riset paper, dataset, bahkan menulis kode berkualitas, semuanya dalam satu ekosistem.

Instalasi dan Penggunaan Awal ML-Intern

Untuk memulai petualangan dengan ML-Intern, prosesnya cukup lugas. Anda perlu mengkloning repositori GitHub-nya terlebih dahulu.

bash
git clone git@github.com:huggingface/ml-intern.git cd ml-intern uv sync uv tool install -e .

Setelah terinstal, ML-Intern siap digunakan dari direktori mana pun. Untuk mengaktifkannya, cukup ketikkan ml-intern di terminal Anda.

Sebelum beraksi, ada beberapa kredensial yang perlu Anda siapkan. Buat file .env di root proyek atau ekspor variabel lingkungan di shell Anda. Ini termasuk kunci API untuk model seperti Anthropic Claude atau OpenAI GPT, serta token Hugging Face dan GitHub Anda.

bash
ANTHROPIC_API_KEY=<kunci-api-anthropic-anda> # Jika menggunakan model Anthropic OPENAI_API_KEY=<kunci-api-openai-anda> # Jika menggunakan model OpenAI HF_TOKEN=<token-hugging-face-anda> GITHUB_TOKEN=<token-github-pribadi-anda>

Jika HF_TOKEN tidak disetel, ML-Intern akan meminta Anda memasukkannya saat pertama kali dijalankan. Anda bisa mendapatkan token GitHub dengan mengikuti tutorial yang disediakan.

ML-Intern punya dua mode utama:

  1. Mode Interaktif: Jalankan ml-intern untuk memulai sesi chat. Anda bisa berinteraksi layaknya berbicara dengan asisten.
  2. Mode Headless: Gunakan ml-intern "prompt anda" untuk menjalankan perintah tunggal tanpa perlu persetujuan berulang. Contohnya, ml-intern "fine-tune llama on my dataset".

Anda juga bisa mengatur parameter tambahan, seperti menentukan model spesifik yang ingin digunakan atau membatasi jumlah iterasi.

bash
ml-intern --model anthropic/claude-opus-4-7 "fine-tune llama on my dataset" ml-intern --max-iterations 100 "fine-tune llama on my dataset"

Untuk melihat daftar lengkap model yang didukung, jalankan ml-intern lalu ketikkan /model. Ini akan menampilkan pilihan dari model Claude, GPT, hingga model router Hugging Face seperti MiniMax, Kimi, GLM, dan DeepSeek.

Berbagi Hasil Riset (Traces)

Salah satu fitur menarik dari ML-Intern adalah kemampuannya menyimpan dan berbagi jejak sesi kerja Anda. Setiap sesi secara otomatis diunggah ke dataset pribadi Anda di Hugging Face dengan format Claude Code JSONL. HF Agent Trace Viewer akan mendeteksi ini, memungkinkan Anda menelusuri setiap percakapan, pemanggilan tool, dan respons model langsung di Hub.

Secara default, dataset ini bernama {nama-user-hf}/ml-intern-sessions dan bersifat pribadi. Anda bisa mengubah visibilitasnya melalui perintah /share-traces di CLI. Gunakan /share-traces public untuk membuatnya dapat dilihat publik atau /share-traces private untuk menguncinya kembali.

Jika Anda tidak ingin melacak sesi dibagikan sama sekali, Anda bisa mengatur opsi "share_traces": false di konfigurasi CLI Anda, misalnya di ~/.config/ml-intern/cli_agent_config.json.

Integrasi Notifikasi Melalui Gateway

ML-Intern juga mendukung pengiriman notifikasi out-of-band melalui gateway yang didukung. Saat ini, Slack menjadi salah satu pilihan utamanya.

Untuk mengaktifkan notifikasi Slack, Anda memerlukan token bot Slack dan ID channel yang dituju. Pengaturan ini bisa dilakukan melalui variabel lingkungan atau file konfigurasi cli_agent_config.json.

json
{ "messaging": { "enabled": true, "auto_event_types": ["approval_required", "error", "turn_complete"], "destinations": { "slack.ops": { "provider": "slack", "token": "${SLACK_BOT_TOKEN}", "channel": "${SLACK_CHANNEL_ID}", "allow_agent_tool": true, "allow_auto_events": true } } } }

Notifikasi ini akan dikirim ketika agen memerlukan persetujuan, menemui kesalahan, atau menyelesaikan satu giliran pemrosesan.

Memahami Arsitektur ML-Intern

Di balik kemampuannya yang otonom, ML-Intern memiliki arsitektur yang terstruktur. Komponen utamanya meliputi:

  • User/CLI: Antarmuka tempat pengguna berinteraksi.
  • Event Queue & Submission Queue: Mekanisme untuk mengirim dan menerima operasi serta event.
  • Submission Loop (agent_loop.py): Inti pemrosesan yang mengelola operasi dan meneruskannya ke handler yang tepat.
  • Handlers.run_agent(): Menjalankan logika agen, termasuk agentic loop.
  • Agentic Loop: Lingkaran utama yang melakukan panggilan ke LLM, memproses tool calls, dan mengeksekusi tool melalui ToolRouter. Lingkaran ini memiliki batas iterasi maksimum (misalnya, 300) untuk mencegah loop tak terbatas.
  • ContextManager: Mengelola riwayat percakapan, melakukan kompresi konteks secara otomatis, dan mengunggah sesi ke Hugging Face.
  • ToolRouter: Komponen yang bertanggung jawab untuk mengakses berbagai sumber daya seperti dokumentasi Hugging Face, repositori, dataset, pencarian kode GitHub, dan alat lokal.
  • Doom Loop Detector: Mendeteksi pola pemanggilan tool yang berulang dan menyuntikkan prompt korektif jika diperlukan.

Proses kerja agen bekerja seperti ini: pesan pengguna ditambahkan ke ContextManager, lalu masuk ke Iteration Loop. LLM dipanggil, hasil tool calls diuraikan. Jika ada tool calls, agen akan memeriksa persetujuan (jika diperlukan), mengeksekusi tool melalui ToolRouter, dan menambahkan hasilnya kembali ke ContextManager untuk iterasi berikutnya. Jika tidak ada lagi tool calls, proses dianggap selesai.

Pengembangan dan Penambahan Fitur

Bagi pengembang yang ingin berkontribusi atau memperluas fungsionalitas ML-Intern, ada beberapa area yang bisa dieksplorasi.

Untuk menambahkan built-in tool baru, Anda perlu mengedit file agent/core/tools.py dan mendefinisikan ToolSpec baru dengan nama, deskripsi, parameter, dan handler asinkron yang sesuai.

Menambahkan MCP Servers (seperti API eksternal) juga dimungkinkan dengan mengedit file konfigurasi seperti configs/cli_agent_config.json atau configs/frontend_agent_config.json. Anda dapat menentukan transport, URL, dan headers yang diperlukan, termasuk substitusi variabel lingkungan untuk token rahasia.

ML-Intern dari Hugging Face ini membuka potensi baru dalam cara kita berinteraksi dan membangun solusi ML. Dengan kemampuannya yang otonom, ia berpotensi menjadi alat yang sangat berharga bagi para peneliti dan pengembang di bidang ini.

Referensi