Kursus
Alibaba merilis Qwen3-Coder, model pengodean beragen yang tersedia dalam beberapa ukuran, dengan varian terkuat adalah Qwen3-Coder-480B-A35B-Instruct. Bersamaan dengan model-model ini, Alibaba juga membuka sumber Qwen Code CLI, sebuah alat baris perintah untuk pengodean beragen.
Qwen Code CLI merupakan fork dari Gemini CLI dan telah diadaptasi khusus untuk digunakan dengan model Qwen3-Coder pada tugas-tugas pengodean beragen.
Dalam blog ini, saya akan menjelaskan langkah demi langkah cara menyiapkan dan menggunakan Qwen Code CLI. Kita akan menggunakannya untuk menjelajahi codebase, melakukan refactoring kode, dan lainnya.
Kami selalu memberi kabar terbaru seputar AI kepada pembaca melalui The Median, buletin Jumat gratis kami yang merangkum berita kunci pekan ini. Berlangganan dan tetap tajam hanya dalam beberapa menit per minggu:
Apa itu Qwen Code?
Qwen Code adalah antarmuka baris perintah yang dirancang untuk memfasilitasi tugas pengodean beragen. Ia menggunakan prompt kustom dan protokol pemanggilan fungsi yang dioptimalkan untuk Qwen3-Coder. Dengan Qwen Code, Anda dapat:
- Menavigasi dan memahami codebase yang kompleks
- Mendeteksi dan memperbaiki masalah pengodean
- Menghasilkan kode dan unit test
- Membuat dokumentasi dan flowchart

Sumber: QwenLM
Sekarang, mari menyiapkan Qwen3-Coder dan menggunakannya untuk menjelajah serta memperbaiki masalah pada sebuah proyek open-source yang baru-baru ini saya kerjakan.
Langkah 1: Prasyarat
Sebelum menyiapkan Qwen Code, pastikan Anda telah memasang Node.js (versi 20 atau lebih baru). Anda dapat memasang Node.js dengan menjalankan:
curl -qL https://www.npmjs.com/install.sh | sh
Lalu verifikasi instalasi Anda dengan menjalankan perintah berikut:
node -v
npm -v
Langkah 2: Menyiapkan Qwen Code
Pada langkah ini, kita akan melihat beberapa opsi untuk memasang dan melakukan autentikasi Qwen Code di perangkat kita.
Langkah 2.1: Instalasi melalui npm
Dengan Node.js terpasang, pasang Qwen Code secara global dan periksa juga versi instalasinya:
npm install -g @qwen-code/qwen-code
qwen --version

Kode ini memasang Qwen Code CLI secara global menggunakan manajer paket Node.js. Setelah instalasi, perintah qwen --version memeriksa dan menampilkan versi Qwen CLI yang terpasang untuk memastikan semuanya sudah terset dan siap digunakan.
Mari jalankan Qwen Code:
qwen

Tekan Enter untuk memilih tema default dan menerapkannya ke pengaturan pengguna. Selanjutnya, kita perlu menyiapkan autentikasi.
Langkah 2.2: Instalasi dari sumber (Opsional)
Sebagai alternatif, Anda dapat memilih untuk memasang Qwen Code langsung dari repositori GitHub mereka:
git clone https://github.com/QwenLM/qwen-code.git
cd qwen-code
npm install
npm install -g .
Kode ini mengkloning repositori GitHub Qwen Code CLI ke mesin lokal Anda menggunakan perintah git clone. Lalu kita masuk ke direktori hasil kloning dan memasang seluruh dependensi proyek yang ditentukan dalam package.json repositori.
Catatan: -g berarti tersedia di seluruh sistem, bukan hanya di direktori proyek lokal.
Langkah 2.3: Autentikasi
CLI memerlukan kunci API Qwen 3 Coder untuk autentikasi. Dokumentasi resmi menyarankan bahwa Anda dapat melakukan autentikasi dengan mengajukan kunci API di https://bailian.console.aliyun.com/ (jika Anda berada di Tiongkok daratan). Jika Anda tidak berada di Tiongkok daratan, kunjungi https://modelstudio.console.alibabacloud.com/ untuk mengajukan kunci API Anda.
Namun, jika Anda berbasis di India, opsi-opsi ini tidak tersedia. Sebagai gantinya, Anda dapat memilih OpenRouter, yang menyediakan akses ke banyak kunci API untuk berbagai model. Berikut langkah-langkah menyiapkan Kunci API untuk Qwen 3 Coder dengannya:
- Buat akun di https://openrouter.ai/
- Masuk ke tab Models dan cari “Qwen 3 Coder”. Anda dapat memilih versi gratis jika memerlukan kurang dari 128k token, jika tidak pilih versi berbayar ($0,302/juta token input dan output).

- Gulir ke bawah dan klik Create API Key. Isi nama kunci dan batas kredit (opsional), lalu klik Create. Simpan kunci API ini untuk digunakan nanti.

- Selanjutnya, buka tab Credits dan tambahkan informasi kartu atau bank Anda. Anda juga dapat membayar melalui Amazon Pay. Untuk demo ini, saya menambahkan sekitar $15, yang sudah cukup.

Langkah 2.4: Mengonfigurasi lingkungan
Sekarang kita dapat menggunakan kunci API di dalam CLI. Kembali ke CLI dari langkah 2.1 dan tekan Enter.

Lalu, masukkan kunci API dari langkah sebelumnya, diikuti dengan base URL dan nama model seperti di bawah ini:
API_KEY >Qwen_API_KEY_FROM_OPENROUTER
BASE_URL >https://openrouter.ai/api/v1
MODEL >qwen/qwen3-coder
Sebagai opsi, Anda juga dapat menyiapkan variabel ini sebagai variabel lingkungan. Buka terminal baru dan jalankan baris demi baris berikut.
export OPENAI_API_KEY="Qwen_API_KEY_FROM_OPENROUTER"
export OPENAI_BASE_URL="https://openrouter.ai/api/v1"
export OPENAI_MODEL="qwen/qwen3-coder"
Jika Anda menggunakan kunci API dari Alibaba Cloud, maka siapkan variabel lingkungan Anda sebagai berikut:
export OPENAI_API_KEY="your_api_key_here"
export OPENAI_BASE_URL="https://dashscope-intl.aliyuncs.com/compatible-mode/v1"
export OPENAI_MODEL="qwen3-coder-plus"
Setelah variabel lingkungan ini disetel, tekan Enter, dan Anda bisa mulai bereksperimen dengan CLI.
Langkah 3: Bereksperimen dengan Qwen Code CLI
Di bagian ini, saya akan menjelaskan bagaimana saya menggunakan Qwen Code CLI untuk berinteraksi dengan sebuah proyek nyata yang di-host di GitHub. Hanya dengan beberapa prompt, Qwen membantu saya memahami codebase, mengoptimalkan fungsi, menambahkan kemampuan baru, mengotomatiskan pengujian, dan memelihara dokumentasi.
Dengan prompt yang disusun dengan cermat, saya dapat:
- Menganalisis arsitektur codebase
- Mengoptimalkan fungsi tertentu untuk efisiensi memori
- Secara otomatis membuat dan menjalankan unit test
- Memperluas fungsionalitas dengan mengintegrasikan komponen baru
- Mendorong pembaruan bertag versi ke GitHub
- Menghasilkan flowchart visual interaksi modul
- Mendokumentasikan semua perubahan dalam format changelog terstruktur
Mari kita telusuri tiap langkah ini.
Menjelajah dan memahami codebase
Mari mulai dengan meminta Qwen Code untuk menjelajah dan menjelaskan arsitektur codebase. Namun, pertama-tama klon repositori dari GitHub dan masuk ke direktori proyek menggunakan perintah berikut:
git clone https://github.com/AashiDutt/Voxtral_with_vLLM.git
cd Voxtral_with_vLLM
Berikut prompt yang saya gunakan untuk memahami repositori yang telah dikloning:
Prompt: Jelaskan arsitektur codebase ini.

Qwen CLI memindai file seperti app.py, config.py, requirements.txt, dan sebuah notebook Colab. Lalu ia mengembalikan rincian jelas struktur proyek beserta ringkasan tingkat tinggi modul-modul kuncinya, menghemat waktu saya untuk membuka dan membaca tiap file secara manual.
Refactoring dan optimalisasi kode
Setelah memahami arsitektur, saya menggunakan Qwen Code CLI untuk menganalisis area potensial yang bisa ditingkatkan dalam codebase.
Prompt: Bagian mana dari modul ini yang bisa dioptimalkan?



Qwen mengembalikan daftar saran terstruktur dalam berbagai dimensi: performa, efisiensi memori, keterpeliharaan, dan pengalaman pengguna. Ia tidak hanya mengidentifikasi masalah, tetapi juga mengusulkan perubahan kode yang dapat langsung diterapkan.
Dengan mengikuti panduannya, saya dapat:
- Mengurangi penggunaan memori dan CPU
- Memperkuat penanganan error
- Memperbaiki umpan balik pengguna
- Menyederhanakan struktur kode untuk pengembangan ke depan
Pada langkah berikutnya, saya akan menunjukkan bagaimana saya menerapkan salah satu optimalisasi ini (penggunaan memori) dan mengujinya menggunakan Qwen CLI sendiri.
Menerapkan dan menguji optimalisasi kode
Setelah mengidentifikasi beberapa area untuk dioptimalkan, saya memutuskan menerapkan salah satu saran paling berdampak: meningkatkan penggunaan memori pada fungsi transcribe_audio. Jadi, saya memintakan Qwen CLI untuk menargetkan file spesifik tersebut seperti di bawah ini:
Prompt: Terapkan optimalisasi penggunaan memori pada fungsi transcribe_audio di @app.py
Qwen berfokus hanya pada app.py menggunakan sintaks @ untuk penyuntingan berskala. Penargetan presisi ini berguna saat Anda menginginkan perubahan diterapkan secara terisolasi tanpa memengaruhi bagian codebase lain yang tidak terkait. CLI menulis ulang fungsi untuk:
- Melakukan streaming dan memproses potongan audio alih-alih memuat semuanya ke memori
- Mengurangi pembaruan UI dengan menyegarkan bilah progres hanya setiap 10 potongan
- Menghilangkan kebutuhan menghitung jumlah potongan total terlebih dahulu
Ia juga secara otomatis memperbarui file CHANGELOG.md untuk mencatat peningkatan ini di bawah tag versi baru.
Menghasilkan dan menjalankan pengujian
Setelah optimalisasi penggunaan memori diterapkan pada fungsi transcribe_audio, saya menggunakan Qwen Coder CLI untuk secara otomatis menghasilkan dan memvalidasi unit test untuk implementasi baru.
Prompt: Tulis unit test pytest untuk perubahan terbaru.
Qwen memulai dengan memindai struktur proyek untuk memeriksa apakah direktori test sudah ada dan apakah pytest tercantum di requirements.txt. Karena keduanya tidak ada, ia:
- Menambahkan
pytest>=7.0.0kerequirements.txt - Membuat direktori baru
tests/ - Menghasilkan modul pengujian:
tests/test_transcribe_audio.py
Qwen menjalankan pengujian dan mengonfirmasi bahwa keempat pengujian berhasil lolos. Untuk menjaga riwayat versi yang jelas, Qwen juga menambahkan entri "Fixed" baru ke CHANGELOG.md di bawah versi v0.2.0.

Hanya dengan satu prompt, Qwen CLI mengotomatiskan pembuatan pengujian, mengidentifikasi kasus tepi, membantu memperbaiki bug logika, dan memastikan kebenaran kode melalui validasi yang ketat.
Menerapkan komponen baru
Untuk memperluas fungsionalitas Voxtral Audio Assistant (codebase), saya meminta Qwen Code CLI untuk mengintegrasikan dukungan untuk video YouTube.
Prompt: Perluas contoh saat ini agar mendukung video YouTube. Ketika pengguna memberikan URL YouTube, ekstrak audio dari video dan teruskan ke model Voxtral untuk diproses. Biarkan sisa pipeline dan komponen lainnya tetap tidak berubah.

Tujuannya adalah memungkinkan pengguna memasukkan URL YouTube selain mengunggah file audio. Setelah diberikan, aplikasi harus secara otomatis mengekstrak audio dari video dan memprosesnya seperti unggahan file biasa, tanpa mengubah pipeline hilir untuk transkripsi atau tanya jawab.

Qwen memindai app.py, config.py, dan requirements.txt untuk mengidentifikasi pembaruan yang diperlukan. Ia mengenali kebutuhan yt-dlp dan pydub, yang keduanya sudah tercantum.


Hasilnya, sebuah komponen UI baru telah ditambahkan, memungkinkan pengguna memasukkan URL YouTube. Setelah dikirim, aplikasi mengekstrak audio dan meneruskannya melalui pipeline yang ada untuk transkripsi. Namun, perubahan pada app.py masih belum cukup untuk menjalankan keseluruhan kode tanpa error.
Mendorong perubahan ke GitHub
Setelah optimalisasi transcribe_audio selesai dan diuji, saya menggunakan CLI untuk memberi versi dan mendorong perubahan ke GitHub.
Prompt: Buat branch baru di GitHub lalu commit dan push kode yang diperbarui sebagai versi kedua dengan pesan: "v2: Optimized transcribe_audio for memory usage".

Qwen mengotomatiskan seluruh alur Git menggunakan alat WebFlow yang membantu membandingkan file lokal dan yang di-host di GitHub. CLI dapat melakukan banyak tugas mulai dari membuat branch hingga commit dan push, tanpa langkah manual.
Qwen menggunakan alat WebFetch untuk:
- Membuat branch baru
- Men-stage dan melakukan commit perubahan
- Melakukan push commit
- Memverifikasi pembaruan di remote
Semua selesai dengan satu prompt. Versi yang diperbarui (v2-optimization) terisolasi dengan aman dan tersedia untuk ditinjau melalui pull request. Integrasi GitHub ini memudahkan pelacakan perbaikan, kolaborasi pembaruan, dan menjaga riwayat versi yang rapi.
Berikut tampilan branch baru yang telah diperbarui:

Pembuatan flowchart
Untuk memvisualisasikan bagaimana modul-modul berbeda di Voxtral Audio Assistant berinteraksi, saya meminta Qwen Code CLI untuk:
Prompt: Buat flowchart yang menggambarkan interaksi modul.

Qwen menghasilkan flowchart Mermaid.js yang mendetail, menunjukkan pipeline lengkap, dari unggah file atau input YouTube, pemrosesan melalui model Voxtral, hingga keluaran akhir. Ia bahkan mencoba menyematkan diagram ke dalam README.md proyek.
Membuat dokumentasi
Setelah optimalisasi kode selesai, saya meminta Qwen Code CLI untuk membantu mendokumentasikan perubahan dalam format yang terstruktur dan profesional.
Prompt: Tulis ringkasan Markdown tentang perubahan yang dibuat. Format seperti entri changelog di bawah "v0.2.0".

Qwen menggunakan alat WriteFile untuk menambahkan entri langsung ke CHANGELOG.md di bawah v0.2.0, mengikuti praktik terbaik penomoran versi semantik. Setelah tugas changelog dimulai, Qwen mengingatnya dan menghindari pembaruan berulang, sehingga menghemat token dan mencegah pemanggilan alat yang berulang.
Kesimpulan
Singkatnya, tutorial ini menunjukkan bagaimana Qwen Code CLI dapat digunakan untuk:
- Memahami dan menjelaskan arsitektur codebase
- Menerapkan optimalisasi dan perbaikan yang terarah
- Menghasilkan dan menjalankan unit test dengan overhead minimal
- Memperluas fungsionalitas melalui komponen baru seperti integrasi YouTube
- Mengotomatiskan kontrol versi dan alur kerja GitHub
- Memvisualisasikan alur proyek dan menjaga dokumentasi yang rapi
Qwen Code CLI secara signifikan mengurangi upaya manual dalam memahami, men-debug, dan memperluas codebase. Meski banyak mengacu pada Gemini CLI sebagai fondasinya, Qwen Code memperkenalkan peningkatan untuk model Qwen3-Coder, seperti dukungan parser dan alat yang lebih baik.
Yang paling mengesankan bagi saya adalah kemampuannya menjaga konteks lintas tugas. Setelah Anda memberinya tugas changelog atau file untuk dipantau, Qwen mengingatnya dan menghindari pengulangan. Ia juga membatasi ruang lingkup perubahan menggunakan sintaks seperti @file.py, sehingga aman digunakan pada proyek besar.
Jika Anda mengerjakan proyek Python yang kompleks atau memelihara repos open-source, alat ini dapat menghemat berjam-jam pekerjaan boilerplate dan membuat alur kerja Anda lebih cerdas dan iteratif.
Saya adalah Google Developers Expert di ML (Gen AI), Kaggle 3x Expert, dan Women Techmakers Ambassador dengan pengalaman lebih dari 3 tahun di bidang teknologi. Saya ikut mendirikan startup health-tech pada 2020 dan sedang menempuh studi magister ilmu komputer di Georgia Tech dengan spesialisasi machine learning.






