Ürünler
Yapay Zeka Kodlama Ajanları: Birden Fazla Ajanı Yönetmek
Birden fazla yapay zeka kodlama ajanını paralel çalıştırmak: ajan geliştirme ortamı (ADE) nedir, git worktree ile yalıtım, görev bölme ve insan incelemesi.
Bu yazıda
Ajan geliştirme ortamı (ADE, agent development environment), birden fazla yapay zeka kodlama ajanını aynı anda çalıştırmak için tasarlanmış bir çalışma alanıdır. Her ajan kendi görevini, kodun yalıtılmış bir kopyasını ve görünür bir durum bilgisini alır. İşi bölmek, ilerlemeyi izlemek ve her değişikliği birleştirmeden önce incelemek ise insanın sorumluluğunda kalır.
Önemli çıkarımlar
- Paralel yapay zeka kodlama ajanları ancak görevler birbirinden bağımsız, dar kapsamlı ve doğrulanabilir olduğunda verim sağlar.
- Önce yalıtım gelir: her ajana kendi git worktree'sini ve dalını verin.
- Gözlemlenebilirlik bir ADE'nin temel özelliğidir. Hangi ajanın çalıştığını, onay beklediğini, takıldığını ya da işini bitirdiğini tek bakışta görebilmelisiniz.
- Darboğaz kod üretimi değil, incelemedir. Kaç ajan çalıştıracağınızı, gerçekten inceleyebileceğiniz çıktı miktarına göre belirleyin.
- Her birleştirmenin sorumluluğu insandadır: ajanın özetini değil değişiklik farkını (diff) okuyun ve kontrolleri kendiniz çalıştırın.
Yapay zeka kodlama ajanları nedir?
Yapay zeka kodlama ajanı, siz yazarken yalnızca kod önermekle kalmayıp tarif edilen bir görevi tamamlamak için depoyu okuyan, dosyaları düzenleyen, komutları ve testleri çalıştıran model tabanlı bir araçtır. Bu ajanlar çalışma biçimini değiştirir: kodu siz yazmazsınız, bir görev tanımlarsınız; ajan işi yürütür ve size bir diff ile döner. Claude Code, Codex CLI ve Gemini CLI gibi terminal tabanlı ajanlar, kod editörlerindeki ajan modları ve işi bulutta yalıtılmış bir ortamda yürütüp pull request döndüren barındırılan ajanlar bu kategoriye girer.
Ajan geliştirme ortamı (ADE) nedir?
Klasik bir IDE, tek bir çalışma kopyasında kod düzenleyen tek bir kişi için tasarlanmıştır: dosya ağacı, editör, terminal, hata ayıklayıcı. Bugün birçok editör kendi ajan özelliklerini de ekliyor. Ancak birden fazla ajan çalışmaya başladığında gününüzün merkezinde artık düzenleme değil, koordinasyon vardır. Kavram bazen agentic development environment olarak da geçer; yapay zeka ajanı geliştirmeye yarayan araçlarla karıştırılmamalıdır. Burada kastedilen, yapay zeka kodlama ajanlarıyla yazılım geliştirilen ortamdır.
Ajan geliştirme ortamı tam da bu koordinasyon katmanı için yapılmış araçtır. Editörünüzün ya da ajanların yerini almaz; onların üzerinde konumlanır ve her yeni ajanla katlanan işleri üstlenir:
- Çalışma alanı yalıtımı: her ajan için ayrı bir çalışma dizini ve dal; elle git işlemleriyle uğraşmadan oluşturulur ve temizlenir.
- Görev takibi: her ajana verilen görev tanımı, her an görünür.
- Canlı durum: hangi ajanların çalıştığı, hangilerinin sizden girdi ya da izin beklediği, hangilerinin bittiği ve hangilerinin hata verdiği.
- İnceleme yüzeyi: her ajanın değişiklikleri, çalıştırdığı komutlar ve test sonuçları tek bir yerde.
- Entegrasyon: her ajanın dalından ana dala, değişiklikleri tek tek alan kontrollü bir yol.
Birden fazla AI ajanı neden paralel çalıştırılır?
Paralel yapay zeka ajanları kullanmanın temel nedeni beklemeyi azaltmaktır. Basit olmayan bir görev üzerinde çalışan tek bir ajan çoğu zaman dakikalarca çalışır: dosyaları okur, plan yapar, düzenler, test paketini çalıştırır, bozulanı onarır. Ajanları tek tek denetlerseniz bu sürenin büyük bölümü beklemeyle geçer. Paralel çalışma, bekleme süresini üretime dönüştürür. Bir ajan yeniden yapılandırma (refactor) yaparken bir diğeri başka bir modülün testlerini yazabilir, üçüncüsü de bir hata bildirimini araştırabilir.
Pratikte paralel çalışmanın büyük kısmı üç kalıba oturur:
- Dağıtma (fan-out): aynı iş listesinden birbirinden bağımsız birkaç görev; her birine bir ajan, her biri ayrı ayrı birleştirilir.
- Rakip denemeler: belirsiz problemlerde aynı görev iki ajana ya da aynı ajana farklı talimatlarla verilir, daha iyi sonuç tutulur.
- Boru hattı (pipeline): bir ajan uygular, ikinci ajan sonucu inceler ya da ona karşı test yazar, son kararı insan verir.
Birden fazla ajanı paralel çalıştırmak için hangi kurulumlar var?
Ekiplerin çoğu dört kurulumdan birini kullanır, birçoğu da bunları birleştirir:
- Terminal sekmeleri ya da tmux panelleri, her ajana bir git worktree: yeni bir araç gerekmez, ancak her ajanın durumunu kendiniz takip edersiniz.
- Bir editöre yerleşik çoklu ajan özellikleri: tüm ekip zaten aynı editörde çalışıyorsa pratiktir.
- Barındırılan bir sanal ortamda çalışıp pull request döndüren bulut ya da arka plan ajanları: makinenizde hiçbir şey çalışmaz, sonucu bir PR olarak incelersiniz.
- Özel bir ajan geliştirme ortamı: her ajanın durumu, diff'i ve incelemesi tek bir yerde.
Hangi görevler yapay zeka kodlama ajanlarına uygundur?
İşi ajanlara bölmeden önce her aday görevi dört soruyla sınayın. Aynı anda çalışan diğer görevlerden bağımsız mı? Kısa bir görev tanımıyla anlatılabilecek kadar dar kapsamlı mı? Testlerle, tip kontrolüyle, derlemeyle ya da açık bir kabul kriteriyle doğrulanabilir mi? Kod tabanında diğerlerinden farklı bir bölüme mi dokunuyor?
İyi adaylar
- Test kapsamı zayıf modüllere test eklemek.
- Yeniden üretilebilen, kendi içinde kapalı hata düzeltmeleri.
- Yeni bir API uç noktası ya da yeni bir arayüz bileşeni gibi iyi tanımlanmış bir sınırın arkasındaki bağımsız özellikler.
- Dizin ya da paket bazında temiz bölünebilen mekanik geçişler.
- Başka kimsenin düzenlemediği alanlarda dokümantasyon, tip iyileştirmeleri ve lint düzeltmeleri.
Zayıf adaylar
- Paylaşılan tiplere, yapılandırmaya ya da veri modeline yayılan mimari değişiklikler.
- Bitmiş sayılma ölçütü zevke bağlı olan ve otomatik olarak kontrol edilemeyen görevler.
- Yönlendirici (router), şema ya da bağımlılık dosyası gibi aynı merkezi dosyayı değiştirmesi gereken iki görev.
- Henüz bitmemiş başka bir görevin çıktısına bağlı işler.
Birden fazla AI ajanı nasıl çalıştırılır? Adım adım
- İşi bağımsız görevlere bölün.
- Her ajanı kendi git worktree'si ve dalıyla yalıtın.
- Uygulanabilir bir görev tanımı yazın.
- İzleyin, engelleri kaldırın, gerektiğinde müdahale edin.
- Dalları tek tek inceleyip birleştirin.
1. adım: İşi bağımsız görevlere bölün
Ajanlardan değil, hedeften başlayın. Hedefi, her biri kendi başına tamamlanabilen, doğrulanabilen ve birleştirilebilen görevlere ayırın. İki görev aynı dosyaları düzenleyecekse ya tek görevde birleştirin ya da sıraya koyun. Her görev için kısa bir bağımlılık notu, örneğin "2. görevdeki yeni şemaya ihtiyaç duyar", entegrasyon sürprizlerinin çoğunu önler.
2. adım: Her ajanı git worktree ile yalıtın
Aynı çalışma dizininde düzenleme yapan iki ajan birbirinin değişikliklerinin üzerine yazabilir ve birbirinin test sonuçlarını karıştırabilir. En basit ve güvenilir yalıtım yöntemi git worktree'dir: aynı depoya bağlı ek bir çalışma dizini. Her worktree kendi dalında durur, hepsi tek bir nesne veritabanını paylaşır.
# Her ajana bir worktree ve bir dal
git worktree add -b agent/auth-refactor ../app-agent-auth
git worktree add -b agent/billing-tests ../app-agent-tests
# Hangi dal nerede açık?
git worktree list
# Dal birleştirildikten sonra temizlik (squash merge sonrası -D gerekir)
git worktree remove ../app-agent-auth
git branch -d agent/auth-refactorGit varsayılan olarak aynı dalın iki worktree'de aynı anda açılmasına izin vermez; bu tam da istediğiniz korumadır. Temizlik sırasında git worktree remove komutu, değiştirilmiş ya da izlenmeyen (untracked) dosyalar içeren bir worktree'yi silmeyi reddeder: önce bu dosyaları commit edin ya da silin, emin olduğunuzda --force ekleyin. Ayrıca worktree'ler yalnızca dosyaları yalıtır, geri kalan her şeyi değil. Hâlâ ortak kullanılan kaynakları da planlayın:
- Bağımlılıklar ve derleme çıktıları: her worktree'nin genellikle kendi kurulu paketlerine (node_modules, sanal ortamlar) ve derleme çıktısına ihtiyacı vardır.
- Portlar: iki geliştirme sunucusu aynı porta bağlanamaz; her ajana ayrı bir port atayın.
- Veritabanları ve dış servisler: ayrı yerel veritabanları ya da şemalar kullanın, asla ortak bir staging (test/ön yayın) ortamını değil.
- Ortam dosyaları: her ajana yalnızca gerçekten ihtiyaç duyduğu, gizli bilgi içermeyen yapılandırmayı kopyalayın.
3. adım: Ajanın uygulayabileceği bir görev tanımı yazın
Ajanlar görev tanımında yazanı yapar, boşlukları da varsayımlarla doldurur. İyi bir görev tanımı kısa ama eksiksizdir:
- Hedef: uygulamayı değil, sonucu anlatan tek bir cümle.
- Bağlam: önemli dosyalar, modüller ya da belgeler ve uyulacak kurallar.
- Sınırlar: ajanın değiştirmemesi gerekenler; örneğin genel arayüzler, veritabanı geçişleri ya da bağımlılıklar.
- Bitti tanımı: geçmesi gereken testler, tip kontrolleri ya da davranışlar.
- Teslim: ajanın ne raporlayacağı; örneğin değişikliklerin özeti ve çözülmeden kalan noktalar.
Kalıcı proje talimatlarını ajanın açılışta okuduğu bir dosyada (kullandığınız ajana göre AGENTS.md ya da CLAUDE.md) tutarsanız, aynı kuralları her görev tanımında yeniden yazmanız gerekmez.
4. adım: İzleyin, engelleri kaldırın, gerektiğinde müdahale edin
Ajanlar çalışmaya başladığında rolünüz yazarlıktan denetçiliğe geçer. Tek bir ajanın akan çıktısını izlemek yerine belirli aralıklarla kontrol edin. İzin isteklerine hızlı yanıt verin; bekleyen bir ajan saf zaman kaybıdır. Görev tanımından sapan bir ajanı erkenden durdurun: daha net bir tanımla yeniden başlatmak, yanlış yöne giden uzun bir çalışmayı düzeltmeye uğraşmaktan genellikle daha hızlıdır.
5. adım: Dalları tek tek inceleyip birleştirin
Bağımlılık sırasına göre, her seferinde tek bir dal birleştirin. Her birleştirmeden sonra kalan dalları güncel ana dalın üzerine taşıyın (rebase) ve kontrollerini yeniden çalıştırın. Bu aşamada çıkan çakışmalar değerli bir bilgidir: çoğu zaman iki görevin göründüğü kadar bağımsız olmadığını gösterir.
Ajanlar arasındaki çakışmalar nasıl önlenir?
Paralel ajanlar arasındaki çakışmaların çoğu birkaç ortak sıcak noktadan kaynaklanır:
- Kilit dosyaları (lockfile) ve bağımlılık tanımları: her turda bağımlılık ekleme ya da yükseltme yetkisini tek bir ajana verin.
- Veritabanı geçişleri (migration): sıraya koyun; paralel üretilen iki geçiş, sıralama ya da şema durumu nedeniyle çakışabilir.
- Yönlendiriciler, index dosyaları ve yapılandırma gibi ortak kayıt noktaları: her dosyaya tek bir sahip atayın ya da değişikliği önce kendiniz yapın.
- Otomatik üretilen kod: birden fazla daldan gelen üretilmiş dosyaları birleştirmek yerine, birleştirmeden sonra yeniden üretin.
- Yalnızca biçimlendirme değişiklikleri: ajanlardan, başka türlü dokunmadıkları dosyaları yeniden biçimlendirmemelerini isteyin.
Çözümün diğer yarısı kısa ömürlü dallardır. Saatler içinde birleştirilen küçük görevler, günlerce süren büyük görevlere göre çok daha az çakışma üretir.
Gözlemlenebilirlik: her ajanın ne yaptığını nasıl bilirsiniz?
Tek ajanla terminali izlersiniz; beş ajanla izleyemezsiniz. Verimli bir çoklu ajan düzenini, unutulmuş terminal sekmelerinden oluşan bir yığından ayıran şey gözlemlenebilirliktir. En azından her ajan için, tüm kaydını açmadan şu sorulara yanıt verebilmelisiniz:
- Ne üzerinde çalışıyor ve hangi görev tanımı verildi?
- Hangi durumda: çalışıyor mu, girdi mi bekliyor, izin mi bekliyor, bir hataya mı takıldı, yoksa bitti mi?
- Şu ana kadar neyi değiştirdi, temel dala göre diff'i nasıl görünüyor?
- Hangi komutları çalıştırdı; testler ve kontroller geçti mi?
- Ne kadar süredir çalışıyor ve ne kadar kullanım tüketti?
Bildirimler de panolar kadar önemlidir. Tek kelimelik bir onay için on dakikadır bekleyen bir ajan, paralel çalışmanın sık görülen gizli maliyetlerindendir. İyi bir ajan geliştirme ortamı bu anları hemen öne çıkarır.
Birden fazla AI ajanı çalıştırmanın maliyetini ne belirler?
Maliyetin iki bileşeni vardır: model kullanımı ve insan zamanı. Model kullanımı ajan sayısıyla, çalışmaların uzunluğuyla ve ajanların okuduğu bağlam miktarıyla birlikte artar. İster bir API üzerinden token başına ödeyin ister bir aboneliğin kullanım limitleri içinde çalışın, paralel ajanlar bu bütçeyi orantılı olarak daha hızlı tüketir. Özellikle rakip denemeler, bilerek çöpe atacağınız işe kullanım harcar.
En sık hafife alınan maliyet insan zamanıdır. Her ajanın çıktısını birinin okuması, test etmesi ve entegre etmesi gerekir. Pratik bir kural: bir ekip arkadaşınızın pull request'ine gösterdiğiniz özenle inceleyebileceğiniz kadar ajan çalıştırın.
Her iki maliyeti de kontrol altında tutmak için:
- Görevleri küçük tutun; çalışmalar kısa, diff'ler kolay incelenir olsun.
- Ajanları tüm depoyu okumaya bırakmak yerine ilgili dosyalara yönlendirin.
- Sapan çalışmaları bitmelerini beklemeden durdurun.
- Rakip denemeleri yalnızca doğru yaklaşımın gerçekten belirsiz olduğu problemlere ayırın.
- Kullanımı görev bazında takip edin; hangi işlerin ajanlara devredilmeye değdiğini böyle öğrenirsiniz.
Yapay zeka kod incelemesi: ajanın yazdığı kodu neden insan incelemeli?
Yapay zeka kodlama ajanları yeteneklidir ama hesap verebilir değildir. Bir gereksinimi yanlış okuyabilir, yanlış davranışı doğrulayan testler yazabilir, bir hatayı düzeltmek yerine susturabilir ya da hiç çalışmamış bir kontrolün geçtiğini bildirebilirler. Bunların hiçbiri olağandışı değildir; insanların yazdığı kod için de inceleme aynı nedenle vardır. Fark hacimdedir: paralel ajanlar daha fazla değişikliği daha hızlı üretir, bu yüzden incelemenin bilinçli yapılması gerekir.
Pratik bir inceleme döngüsü üç katmandan oluşur. Önce ajan kendi işini bitti tanımına göre kontrol eder. Ardından, isteğe bağlı olarak, ayrı bir ajan diff'i taze bir bağlam ve inceleyici talimatıyla gözden geçirir. Son olarak bir insan diff'i okur ve birleştirme kararını verir. Otomatik katmanlar gürültüyü azaltır; son insan kararının yerini tutmaz.
Ajanın yazdığı değişiklikler için inceleme kontrol listesi
- Ajanın özetini değil, diff'in kendisini okuyun.
- Testleri ve kontrolleri kendiniz çalıştırın ya da CI'da çalıştıklarını doğrulayın.
- Kapsam kaymasına bakın: görev tanımında hiç geçmeyen dosyalar değişmiş mi?
- Yeni bağımlılıkları, ağ çağrılarını ve kimlik doğrulama, ödeme ya da kişisel verilere dokunan her şeyi kontrol edin.
- Gizli anahtarların, token'ların ya da makineye özgü yolların commit edilmediğinden emin olun.
- Yeni testlerin yalnızca geçmekle kalmayıp gerçekten yeni davranışı sınadığını doğrulayın.
Birden fazla AI ajanı çalıştırırken sık yapılan hatalar
- Ajanları aynı çalışma dizininde çalıştırmak ve üzerine yazılan dosyalar yüzünden iş kaybetmek.
- İnceleyebileceğinizden fazla ajan başlatıp değişiklikleri güvene dayanarak birleştirmek.
- Belirsiz görev tanımları yazıp tanımı düzeltmek yerine çıktıyı düzeltmeye çalışmak.
- Dalları, artık temiz birleşmeyecek hale gelene kadar günlerce açık bırakmak.
- Ajanlara ihtiyaç duymadıkları canlı ortam erişimleri ya da geniş yetkiler vermek.
- Başarıyı birleştirilmiş ve çalışan değişiklik sayısıyla değil, çalışan ajan sayısıyla ölçmek.
Sıkça sorulan sorular
IDE ile ajan geliştirme ortamı arasındaki fark nedir?
Klasik bir IDE, tek bir çalışma kopyasında kod yazan ve düzenleyen bir kişi için tasarlanmıştır, ancak birçok editör artık ajan özellikleri de sunuyor. Ajan geliştirme ortamı ise birden fazla yapay zeka kodlama ajanını denetlemek için yapılmıştır. Temel özellikleri çalışma alanı yalıtımı, görev takibi, canlı durum bilgisi ve kontrollü bir inceleme ve birleştirme yoludur. Birçok geliştirici ikisini birlikte kullanır: ajanları koordine etmek için ADE'yi, işlerini incelemek ya da tamamlamak için IDE'yi.
Aynı anda kaç yapay zeka kodlama ajanı çalıştırmalıyım?
Düzgünce inceleyebileceğiniz kadar. Pratik bir kural olarak, açıkça birbirinden bağımsız görevlerde iki ya da üç ajanla başlayın. Sayıyı yalnızca inceleme ve birleştirme süreciniz yetişebildiğinde artırın. Diff'ler incelenmek için günlerce bekliyorsa ya da kendinizi okumadan birleştirirken yakalıyorsanız, iş akışınızın kaldırabileceğinden fazla ajan çalıştırıyorsunuz demektir.
Ajanları paralel çalıştırmak için git worktree şart mı?
Bir tür yalıtım şarttır ve git worktree bunun en hafif yoludur: her ajan tek bir depoyu paylaşırken kendi dizinine ve dalına sahip olur. Ayrı klonlar ya da konteynerler daha güçlü yalıtım sağlar; bedeli daha fazla disk alanı ve kurulumdur. Bazı ajanlar görevleri barındırılan (bulut) bir sanal ortamda çalıştırıp size bir pull request döndürebilir; bu yalıtımı makinenizden alır ama incelemeyi değil. Kaçınmanız gereken tek şey, iki ajanın aynı anda aynı çalışma dizininde düzenleme yapmasıdır.
Yapay zeka ajanları birbirinin kodunu inceleyebilir mi?
Evet, ve bu faydalı bir ek katmandır. İnceleyici talimatı ve taze bir bağlamla çalışan ikinci bir ajan eksik testleri, ele alınmamış uç durumları ve kapsam kaymasını çoğu zaman yakalar. Yine de son kapı olmamalıdır. Ajanlar aynı kör noktaları paylaşabilir; bu yüzden canlıya çıkacak her değişiklikte diff'i bir insanın okuması ve birleştirme kararını insanın vermesi gerekir.
Yapay zeka ajanlarının bilgisayarımda komut çalıştırması güvenli mi?
Doğru önlemlerle güvenli olabilir. Ajanlara yalnızca ihtiyaç duydukları en düşük yetkiyi verin, canlı ortam erişim bilgilerini ortamlarından uzak tutun, yıkıcı ya da ağa erişen komutlar için onay isteyin. Ajanın kod tabanınız dışından okuduğu her şeyi, örneğin issue'ları, web sayfalarını ya da üçüncü taraf dosyaları güvenilmez kabul edin; bunlar ajanı yanıltmak için yazılmış talimatlar içerebilir (istem enjeksiyonu / prompt injection). Konteynerler ek bir koruma katmanı sağlar.
Neptay bu alana nasıl yaklaşıyor?
Müşteri servislerimizin bir parçası olarak yapay zeka ajanları ve otomasyon tasarlıyoruz; kendi teknoloji ürünlerimizi ise Anlato markası altında geliştiriyoruz. Anlato ailesinin amiral ürünü olan ajan geliştirme ortamımız Anlato Space, çok sayıda yapay zeka kodlama ajanını tek bir native pencerede yan yana çalıştırmak için tasarlanıyor; her ajanın görevi ve durumu görünür, her değişiklik sizin incelemenizi bekler. Anlato Space yakında geliyor. Ekibiniz için bir ajan iş akışı kurguluyorsanız ya da Anlato Space'i takip etmek istiyorsanız hello@neptay.com adresinden bize yazabilirsiniz.