Kurs
Alibaba, çoklu boyutlarda sunulan aracısal bir kodlama modeli olan Qwen3-Coder’ı yayımladı; en güçlü varyant Qwen3-Coder-480B-A35B-Instruct. Bu modellere ek olarak, Alibaba, aracısal kodlama için bir komut satırı aracı olan Qwen Code CLI’yi açık kaynak olarak paylaştı.
Qwen Code CLI, Gemini CLI’den çatallanmıştır ve özellikle Qwen3-Coder modeliyle aracısal kodlama görevlerinde kullanılmak üzere uyarlanmıştır.
Bu blogda, Qwen Code CLI’nin nasıl kurulacağını ve kullanılacağını adım adım açıklayacağım. Kod tabanlarını keşfetmek, kodu yeniden düzenlemek ve daha fazlası için kullanacağız.
Okurlarımızı en güncel yapay zeka gelişmelerinden haberdar etmek için haftanın önemli haberlerini özetleyen, ücretsiz Cuma bültenimiz The Median’i gönderiyoruz. Abone olun; haftada sadece birkaç dakikada güncel kalın:
Qwen Code Nedir?
Qwen Code, aracısal kodlama görevlerini kolaylaştırmak için tasarlanmış bir komut satırı arayüzüdür. Qwen3-Coder için optimize edilmiş özelleştirilmiş istemler ve fonksiyon çağırma protokolleri kullanır. Qwen Code ile şunları yapabilirsiniz:
- Karmaşık kod tabanlarında gezinmek ve bunları anlamak
- Kodlama sorunlarını tespit etmek ve düzeltmek
- Kod ve birim testleri üretmek
- Dokümantasyon ve akış şemaları oluşturmak

Kaynak: QwenLM
Şimdi, Qwen3-Coder’ı kuralım ve yakın zamanda üzerinde çalıştığım bir açık kaynak projede sorunları keşfetmek ve düzeltmek için kullanalım.
Adım 1: Önkoşullar
Qwen Code’u kurmadan önce Node.js (sürüm 20 veya üzeri) yüklü olduğundan emin olun. Node.js’i şu komutla yükleyebilirsiniz:
curl -qL https://www.npmjs.com/install.sh | sh
Ardından aşağıdakileri çalıştırarak kurulumunuzu doğrulayın:
node -v
npm -v
Adım 2: Qwen Code’un Kurulumu
Bu adımda, cihazımıza Qwen Code’u kurmak ve kimlik doğrulaması yapmak için birden fazla seçeneğe bakacağız.
Adım 2.1: npm ile kurulum
Node.js yüklüyken, Qwen Code’u sistem geneline kurun ve kurulum sürümünü de kontrol edin:
npm install -g @qwen-code/qwen-code
qwen --version

Bu komut, Qwen Code CLI’yi Node.js’in paket yöneticisi ile sistem geneline kurar. Kurulumdan sonra qwen --version komutu, Qwen CLI’nin kurulu sürümünü kontrol eder ve doğru şekilde kurulup kullanıma hazır olduğunu gösterir.
Qwen Code’u çalıştıralım:
qwen

Varsayılan temayı seçip kullanıcı ayarlarına uygulamak için Enter’a basın. Sonraki adımda kimlik doğrulamayı yapmamız gerekiyor.
Adım 2.2: Kaynaktan kurulum (Opsiyonel)
Alternatif olarak, Qwen Code’u doğrudan GitHub depolarından kurmayı tercih edebilirsiniz:
git clone https://github.com/QwenLM/qwen-code.git
cd qwen-code
npm install
npm install -g .
Bu komutlar, git clone ile Qwen Code CLI’nin GitHub deposunu yerel makinenize kopyalar. Ardından klonlanan dizine girer ve deponun package.json dosyasında belirtilen tüm proje bağımlılıklarını kurarız.
Not: -g bayrağı, aracın yalnızca yerel proje dizininde değil, sistem genelinde kullanılabilir olduğu anlamına gelir.
Adım 2.3: Kimlik doğrulama
CLI, kimlik doğrulama için bir Qwen 3 Coder API anahtarı gerektirir. Resmi dokümantasyon, API anahtarını https://bailian.console.aliyun.com/ adresinden (anakara Çin’deyseniz) alabileceğinizi belirtir. Anakara Çin dışında iseniz, API anahtarı başvurusu için https://modelstudio.console.alibabacloud.com/ adresini ziyaret edin.
Ancak Hindistan’da bulunuyorsanız bu seçenekler kullanılamaz. Bunun yerine, çok sayıda model için kullanıcılarına birden fazla API anahtarına erişim sağlayan OpenRouter’ı tercih edebilirsiniz. Qwen 3 Coder için API Anahtarını onunla kurma adımları şunlardır:
- https://openrouter.ai/ adresinde bir hesap oluşturun
- Models sekmesine gidin ve “Qwen 3 Coder” araması yapın. 128k token’dan azına ihtiyacınız varsa ücretsiz sürümü, aksi halde ücretli sürümü seçebilirsiniz (girdi ve çıktı token’ları için $0,302/M).

- Aşağı kaydırın ve Create API Key’e tıklayın. Anahtar adı ve kredi limiti (opsiyonel) bilgilerini doldurun ve Create’e tıklayın. Bu API anahtarını ileride kullanmak üzere kaydedin.

- Ardından Credits sekmesine gidin ve kart ya da banka bilgilerinizi ekleyin. Amazon Pay ile de ödeme yapabilirsiniz. Bu demo için yaklaşık 15 $ ekledim ve yeterli oldu.

Adım 2.4: Ortamı yapılandırma
Artık CLI içinde API anahtarını kullanabiliriz. 2.1. adımdaki CLI’ya dönün ve Enter’a basın.

Daha sonra, önceki adımdaki API anahtarını, ardından aşağıda verildiği gibi temel URL’yi ve model adını girin:
API_KEY >Qwen_API_KEY_FROM_OPENROUTER
BASE_URL >https://openrouter.ai/api/v1
MODEL >qwen/qwen3-coder
İsteğe bağlı olarak, bu değişkenleri ortam değişkenleri olarak da ayarlayabilirsiniz. Yeni bir terminal açın ve aşağıdakileri satır satır çalıştırın.
export OPENAI_API_KEY="Qwen_API_KEY_FROM_OPENROUTER"
export OPENAI_BASE_URL="https://openrouter.ai/api/v1"
export OPENAI_MODEL="qwen/qwen3-coder"
Alibaba Cloud’dan aldığınız bir API anahtarını kullanıyorsanız, ortam değişkenlerinizi şu şekilde ayarlayın:
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"
Bu ortam değişkenleri ayarlandıktan sonra Enter’a basın ve CLI ile denemelere başlayabilirsiniz.
Adım 3: Qwen Code CLI ile Denemeler
Bu bölümde, Qwen Code CLI’yi GitHub’da barındırılan gerçek bir projeyle etkileşim kurmak için nasıl kullandığımı anlatacağım. Sadece birkaç istemle Qwen, kod tabanını anlamama, fonksiyonları optimize etmeme, yeni yetenekler eklememe, testleri otomatikleştirmeme ve dokümantasyonu sürdürmeme yardımcı oldu.
Düşünülerek hazırlanmış istemler kullanarak şunları yapabildim:
- Kod tabanı mimarisini analiz etmek
- Bellek verimliliği için belirli fonksiyonları optimize etmek
- Birim testlerini otomatik olarak üretmek ve çalıştırmak
- Yeni bileşenler entegre ederek işlevselliği genişletmek
- Sürüm güncellemelerini GitHub’a itmek
- Modül etkileşimlerinin görsel bir akış şemasını üretmek
- Tüm değişiklikleri yapılandırılmış bir değişiklik günlüğü formatında belgelemek
Şimdi bu adımların her birine yakından bakalım.
Kod tabanını keşfetme ve anlama
Önce Qwen Code’dan kod tabanının mimarisini keşfetmesini ve açıklamasını isteyelim. Ancak önce depoyu GitHub’dan klonlayın ve aşağıdaki komutla proje dizinine gidin:
git clone https://github.com/AashiDutt/Voxtral_with_vLLM.git
cd Voxtral_with_vLLM
Klonlanan depoyu anlamak için kullandığım istem şu:
İstem: Bu kod tabanının mimarisini açıklayın.

Qwen CLI, app.py, config.py, requirements.txt ve bir Colab defteri gibi dosyaları taradı. Ardından projenin yapısının net bir dökümünü ve ana modüllerin üst düzey özetini döndürdü; bu da her dosyayı elle açıp okumak için harcayacağım zamandan tasarruf etmemi sağladı.
Kodun yeniden düzenlenmesi ve optimizasyonu
Mimarinin anlaşılmasının ardından, kod tabanındaki olası iyileştirme alanlarını analiz etmek için Qwen Code CLI’yi kullandım.
İstem: Bu modülün hangi kısımları optimize edilebilir?



Qwen, performans, bellek verimliliği, sürdürülebilirlik ve kullanıcı deneyimi gibi birçok boyutta yapılandırılmış bir öneri listesi sundu. Yalnızca sorunları tespit etmekle kalmadı, uygulanabilir kod değişiklikleri de önerdi.
Önerilerini izleyerek şunları yapabildim:
- Bellek ve CPU kullanımını azaltmak
- Hata yakalamayı güçlendirmek
- Kullanıcı geri bildirimini iyileştirmek
- Gelecek geliştirmeler için kod yapısını sadeleştirmek
Bir sonraki adımda, bu optimizasyonlardan birini (bellek kullanımı) nasıl uyguladığımı ve bunu yine Qwen CLI kullanarak nasıl test ettiğimi göstereceğim.
Kod optimizasyonunu uygulama ve test etme
Birden fazla iyileştirme alanı belirlendikten sonra, en etkili önerilerden birini uygulamaya karar verdim: transcribe_audio fonksiyonundaki bellek kullanımını iyileştirmek. Bu nedenle Qwen CLI’ye aşağıda belirttiğim şekilde o dosyayı hedeflemesini söyledim:
İstem: @app.py içindeki transcribe_audio fonksiyonuna bellek kullanımı optimizasyonu uygula
Qwen, kapsamlı düzenlemeler için @ sözdizimini kullanarak yalnızca app.py’a odaklandı. Bu hassas hedefleme, değişikliklerin kod tabanının alakasız bölümlerini etkilemeden, yalıtılmış şekilde uygulanmasını istediğinizde faydalıdır. CLI, fonksiyonu şu şekilde yeniden yazdı:
- Ses parçalarını tamamını belleğe yüklemek yerine akışla işlemek
- İlerleme çubuğunu yalnızca her 10 parçada bir yenileyerek UI güncellemelerini azaltmak
- Toplam parça sayısını önceden hesaplama gereksinimini kaldırmak
Ayrıca bu iyileştirmeyi yeni bir sürüm etiketi altında yansıtmak için CHANGELOG.md dosyasını otomatik olarak güncelledi.
Testleri oluşturma ve çalıştırma
Bellek kullanımı optimizasyonu transcribe_audio fonksiyonuna uygulandıktan sonra, yeni uygulama için birim testlerini otomatik olarak üretmek ve doğrulamak üzere Qwen Coder CLI’yi kullandım.
İstem: Son değişiklikler için bir pytest birim testi yazın.
Qwen, proje yapısını tarayarak bir test dizini olup olmadığını ve requirements.txt’te pytest’in listelenip listelenmediğini kontrol ederek başladı. Her ikisi de eksik olduğundan şunları yaptı:
requirements.txt’epytest>=7.0.0ekledi- Yeni bir
tests/dizini oluşturdu - Bir test modülü üretti:
tests/test_transcribe_audio.py
Qwen testleri çalıştırdı ve dört testin de başarıyla geçtiğini doğruladı. Net bir sürüm geçmişi tutmak için Qwen ayrıca v0.2.0 sürümü altında CHANGELOG.md’ye yeni bir "Fixed" girdisi ekledi.

Tek bir istemle Qwen CLI, test üretimini otomatikleştirdi, uç durumları belirledi, bir mantık hatasını düzeltmeye yardımcı oldu ve sıkı doğrulama ile kod doğruluğunu sağladı.
Yeni bir bileşen uygulama
Voxtral Audio Assistant (kod tabanı) işlevselliğini genişletmek için Qwen Code CLI’ye YouTube videoları için destek entegre etmesini istedim.
İstem: Mevcut örneği YouTube videolarını destekleyecek şekilde genişletin. Bir kullanıcı bir YouTube URL’si verdiğinde, videodan sesi çıkarın ve işlenmesi için Voxtral modeline iletin. İşlem hattının ve bileşenlerin geri kalanını değiştirmeyin.

Amaç, kullanıcıların ses dosyası yüklemeye ek olarak bir YouTube URL’si girmesine olanak tanımaktı. Sağlandığında, uygulama otomatik olarak videodan sesi çıkarmalı ve aşağı akıştaki yazıya döküm veya Soru-Cevap aşamalarını değiştirmeden, normal bir dosya yükleme gibi işlemeden geçirmeliydi.

Qwen, gerekli güncellemeleri belirlemek için app.py, config.py ve requirements.txt dosyalarını taradı. yt-dlp ve pydub gereksinimlerini tespit etti; her ikisi de zaten listelenmişti.


Sonuç olarak, kullanıcıların bir YouTube URL’si girmesine olanak tanıyan yeni bir arayüz bileşeni eklendi. Gönderildiğinde, uygulama sesi çıkarır ve mevcut yazıya döküm hattından geçirir. Ancak app.py’de yapılan değişiklikler tüm kodu hatasız çalıştırmak için hâlâ yeterli değildi.
Değişiklikleri GitHub’a itme
transcribe_audio optimizasyonu tamamlanıp test edildikten sonra, değişiklikleri sürümleyip GitHub’a itmek için CLI’yi kullandım.
İstem: GitHub’da yeni bir dal oluşturun; güncellenmiş kodu "v2: Optimized transcribe_audio for memory usage" mesajıyla ikinci sürüm olarak commit’leyip push edin.

Qwen, yerel ve GitHub’da barındırılan dosyaları karşılaştırmaya yardımcı olan WebFlow aracını kullanarak tüm Git akışını otomatikleştirdi. CLI, dallanmadan commit ve push’a kadar çok sayıda görevi, manuel adım gerektirmeden yerine getirebildi.
Qwen, WebFetch aracını kullanarak şunları yaptı:
- Yeni bir dal oluşturdu
- Değişiklikleri sahneleyip commit’ledi
- Commit’i push etti
- Uzak güncellemeyi doğruladı
Tüm bunlar tek bir istemle yapıldı. Güncellenmiş sürüm (v2-optimization), güvenle yalıtıldı ve inceleme için çekme isteği yoluyla erişilebilir oldu. Bu GitHub entegrasyonu, iyileştirmeleri izlemeyi, güncellemelerde işbirliği yapmayı ve temiz bir sürüm geçmişi tutmayı kolaylaştırdı.
İşte güncellenen yeni dalın görünümü:

Akış şeması üretimi
Voxtral Audio Assistant içindeki farklı modüllerin nasıl etkileştiğini görselleştirmek için Qwen Code CLI’den şunu istedim:
İstem: Modül etkileşimlerini gösteren bir akış şeması oluşturun.

Qwen, dosya yükleme veya YouTube girdisinden başlayıp Voxtral modelinde işlemeye ve nihai çıktıya uzanan tüm hattı gösteren ayrıntılı bir Mermaid.js akış şeması oluşturdu. Diyagramı projenin README.md dosyasına gömmeye de çalıştı.
Dokümantasyon oluşturma
Kod optimizasyonu tamamlandıktan sonra, yapılan değişiklikleri yapılandırılmış ve profesyonel bir formatta belgelemek için Qwen Code CLI’den yardım istedim.
İstem: Yapılan değişikliklerin bir Markdown özetini yazın. "v0.2.0" altında bir değişiklik günlüğü girdisi gibi biçimlendirin.

Qwen, semantik sürümleme en iyi uygulamalarını izleyerek WriteFile aracını kullanıp girdiyi doğrudan CHANGELOG.md içinde v0.2.0 altına ekledi. Bir değişiklik günlüğü görevi başlatıldığında, Qwen bunu hatırlar ve yinelenen güncellemelerden kaçınır; böylece token tasarrufu yapar ve tekrarlı araç çağrılarını önler.
Sonuç
Özetle, bu eğitim Qwen Code CLI’nin şu amaçlarla nasıl kullanılabileceğini gösterdi:
- Bir kod tabanı mimarisini anlamak ve açıklamak
- Hedefe yönelik optimizasyonlar ve iyileştirmeler uygulamak
- Asgari ek yükle birim testleri üretmek ve çalıştırmak
- YouTube entegrasyonu gibi yeni bileşenlerle işlevselliği genişletmek
- Sürüm kontrolünü ve GitHub iş akışlarını otomatikleştirmek
- Proje akışlarını görselleştirmek ve temiz dokümantasyon tutmak
Qwen Code CLI, bir kod tabanını anlama, hata ayıklama ve genişletmede gereken manuel çabayı önemli ölçüde azaltır. Temel olarak Gemini CLI’den yararlansa da Qwen Code, Qwen3-Coder modelleri için geliştirilmiş ayrıştırıcı ve araç desteği gibi iyileştirmeler sunar.
Beni en çok etkileyen, görevler arasında bağlamı koruma yeteneği oldu. Bir değişiklik günlüğü görevi ya da izlenecek bir dosya verdiğinizde Qwen bunu hatırlar ve tekrarları önler. Ayrıca @file.py gibi sözdizimiyle değişikliklerin kapsamını belirler; bu da onu büyük projelerde güvenle kullanılır kılar.
Karmaşık Python projeleriyle çalışıyor veya açık kaynak depoları yönetiyorsanız, bu araç rutin işleri saatlerce kısaltabilir ve iş akışınızı daha akıllı ve yinelemeli hale getirebilir.

ML (Üretken Yapay Zekâ) alanında Google Developers Uzmanıyım, Kaggle 3x Expert unvanına sahibim ve 3+ yıllık teknoloji deneyimiyle Women Techmakers Elçisiyim. 2020'de bir sağlık teknolojileri girişiminin kurucu ortağı oldum ve Georgia Tech'te makine öğrenmesi alanında uzmanlaşarak bilgisayar bilimleri yüksek lisansı yapıyorum.




