AI Destekli Otonom Yazılım Geliştirme: Claude Code ile Deneyler
Claude Code CLI ile aşamalı, markdown tabanlı otonom proje geliştirme çerçevesi. AI destekli geliştirmenin sınırlarını keşfediyoruz.
2024-12-01Bir R&D Girişimi: AI’yı Geliştirme Ortağı Olarak Denemek
Bir geliştirici olarak AI araçlarına şüpheyle yaklaşmak mümkün: “Kod tamamlama işe yarar, ama asıl kararları ben veriyorum.” Bu şüphecilik meşru. Ancak asıl soru şu: AI bir projeyi yalnızca kod yazarak değil, planlayarak, kararları belgeleyerek ve ilerlemeyi takip ederek destekleyebilir mi?
Yazılım geliştirmede AI araçlarının yalnızca kod tamamlama veya hata ayıklama için kullanıldığı dönemi geride bırakıyoruz. Daha büyük bir soru var: AI bir projeyi baştan sona planlayabilir ve uygulayabilir mi? Bu soruyu yanıtlamak için Claude Code CLI’yı kullanarak otonom bir geliştirme çerçevesi tasarladık.
Bu bir müşteri projesi değil, saf bir R&D girişimi. Neyin işe yaradığını ve neyin yaramadığını öğrenmek için başlattık. Sonuçlar hem şaşırtıcı hem de aydınlatıcıydı.
Claude Code CLI: Sadece Bir Chatbot Değil
Claude Code, terminal üzerinde çalışan bir CLI aracı. Dosya okuyup yazabiliyor, komut çalıştırabiliyor, terminal çıktısını yorumlayabiliyor. Basit bir soru-cevap döngüsünden çok, gerçek bir geliştirme ortamıyla etkileşime girebilen bir araç.
Bizim yaklaşımımız şu: projeyi tüm bağlamı ve kararlarını içeren markdown dosyalarıyla tanımlamak, ardından Claude Code’u bu dosyaları referans alarak çalıştırmak.
Dizin yapısı şöyle görünüyor:
project/
SPEC.md # Ne inşa ediyoruz, neden, kısıtlar
PLAN.md # Aşamalar, görevler, bağımlılıklar
DECISIONS.md # Mimari kararlar ve gerekçeleri
PROGRESS.md # Tamamlanan iş, engeller, notlar
src/
tests/
Markdown Tabanlı İş Akışı
Projenin her aşaması için ayrı bir markdown dökümanı hazırlıyoruz. Claude Code bu dökümanları okuyarak bağlamı anlıyor, ardından bir sonraki adımı gerçekleştiriyor.
SPEC.md: Ne İnşa Ediyoruz?
# Proje: Otomatik Fatura İşleme Sistemi
## Amaç
PDF faturalardan verileri çıkarıp muhasebe sistemine aktaran araç.
## Kısıtlar
- Python 3.11+
- [PostgreSQL](/sozluk/postgresql-nedir) veritabanı
- Mevcut ERP API'sine entegrasyon
- İşlem başına < 3 saniye
## Başarı Kriterleri
- %95 doğruluk oranı
- 1000 fatura/gün kapasitesi
PLAN.md: Aşamalı Geliştirme
## Aşama 1: PDF Parsing (Gün 1-2)
- [ ] pdfplumber ile tablo çıkarma
- [ ] Regex ile tutar, tarih, firma adı algılama
- [ ] Unit testler
## Aşama 2: Veritabanı Katmanı (Gün 3)
- [ ] SQLAlchemy modelleri
- [ ] Migration scripti
- [ ] CRUD operasyonları
## Aşama 3: ERP Entegrasyonu (Gün 4-5)
- [ ] [API](/sozluk/api-nedir) client
- [ ] Hata yönetimi ve retry mantığı
- [ ] [E2E Test](/sozluk/e2e-test-nedir)ler
Aşamalı Geliştirme: Spec → Plan → Implement → Test
Her aşamada Claude Code’a o aşamaya özgü bir görev veriyoruz. Tek seferde tüm projeyi yazmaya çalışmıyoruz — bu yaklaşım hata oranını artırıyor ve çıktıyı kontrol etmeyi zorlaştırıyor.
Spec aşaması: Gereksinimler netleşiyor. Claude Code belirsiz noktaları soruyor, kısıtları belgeleyor.
Plan aşaması: Görevler atomik parçalara bölünüyor. Bağımlılıklar haritalanıyor.
Implement aşaması: Bir seferde bir modül. Her modül tamamlandığında PROGRESS.md güncelleniyor.
Test aşaması: Unit testler yazılıyor, edge case’ler tanımlanıyor, sonuçlar raporlanıyor.
Neyin İşe Yaradığı
Tekrarlayan kod üretimi mükemmel. CRUD operasyonları, API client boilerplate, migration scriptleri — bunları Claude Code çok hızlı ve hatasız yazıyor. Geliştirici bu tür rutin işlere artık zaman harcamıyor.
Dokümantasyon otomasyonu etkileyici. Kod yazarken eş zamanlı docstring, README ve API dökümanı üretiyor. Bu normalde çoğu ekipte ihmal edilen bir adım.
Hata ayıklama yeteneği güçlü. Stack trace ve hata mesajını aldığında kök nedeni bulmak ve öneriler sunmak konusunda deneyimli bir geliştiriciye benzer performans gösteriyor.
Neyin İşe Yaramadığı
Uzun vadeli bağlam yönetimi zayıf. Proje büyüdükçe ve dosyalar çoğaldıkça Claude Code önceki kararlara atıfta bulunmakta zorlanıyor. DECISIONS.md her seferinde hatırlatılmak zorunda kalınıyor.
Mimari kararlar hâlâ insan gerektiriyor. “Bu servisi Microservice mi yoksa Monolith içinde mi yapmalıyız?” sorusunu yanıtlamak için şirketin altyapısını, ekip kapasitesini ve büyüme planlarını bilmek lazım. Bu bağlamı AI’ya tam aktarmak zor.
Test kapsamı tutarsız. Happy path’i iyi test ediyor ama edge case’leri öngörmek için domain bilgisi gerekiyor.
Yazılım Ekipleri İçin Çıkarımlar
Bu deney bize şunu gösterdi: AI destekli geliştirme bir ikili değil bir spektrum. Araçlar belirli görevlerde insanı geçiyor, bazılarında yanında yürüyor, bazılarında ise henüz yeterince iyi değil.
En verimli mod “AI sürücü, insan yönlendirici” değil “AI yardımcı sürücü, insan kararları veriyor.” Teknik çıktıyı AI üretiyor, ama hangi çıktının üretileceğine insan karar veriyor.
Markdown tabanlı iş akışımız bu dengenin pratikte nasıl çalışacağına dair bir çerçeve sunuyor. Açık kaynaklı hale getirmeyi değerlendiriyoruz.
Sonuç
AI destekli yazılım geliştirme, geliştirici sayısını azaltmıyor — geliştiricilerin değer katma alanını değiştiriyor. Rutin kodlama azalıyor, mimari düşünme ve kalite kontrolü önem kazanıyor.
Ekibinizde AI araçlarını nasıl entegre edeceğinizi planlamak veya geliştirme süreçlerinizi modernize etmek istiyorsanız, bu konuda deneyimlerimizi paylaşmaktan memnuniyet duyarız.
İlgili Hizmetler
RESTful ve GraphQL API geliştirme, güvenli webhook altyapısı ve üçüncü parti entegrasyonlarla sistemlerinizi birbirine bağlayın.
Browser Extension GeliştirmeChrome, Firefox ve Edge için iş akışı otomasyonu, veri toplama ve sistem entegrasyonu sağlayan özel tarayıcı eklentileri geliştirin.
Cron Job & Zamanlanmış Görev YönetimiCron job ve zamanlanmış görev altyapısıyla raporlama, veri senkronizasyonu, yedekleme ve bakım işlerini güvenle otomatikleştirin.
CTO-as-a-ServiceTam zamanlı CTO maliyeti olmadan teknoloji stratejisi, mimari gözetim, ekip mentoring ve kritik karar desteği alın.