AI Katkıcılara Karşı Repo Kurallarını Kod Yanına Koymak
Açık kaynak projelerinde bakımı üstlenen ekipler artık her gün yeni bir soruyla yüzleşiyor: Pull request kuyruğu ajanların ürettiği katkılarla dolduğunda ne yapmalı? GitHub Blog’da Andrea Griffiths’in aktardığı sohbette, AutoGPT’nin kurucu AI mühendisi Nicholas Tindle bu meseleye kapıyı kapatmak yerine kuralları koda yaklaştırmayı öneriyor. Aşağıda o söyleşiden çıkan pratik yaklaşım Türkçeye taşınıyor ve bakımcılar için uygulanabilir hale getiriliyor.
Ajan katkıları: yük mü, fırsat mı?
Maintainer Month kapsamındaki görüşme sırasında AutoGPT’nin 180.000’in üzerinde yıldızı ve yaklaşık 150 açık pull request’i vardı. PR’ların büyük bölümü Copilot, OpenClaw ve AutoGPT’nin kendi iç araçları gibi ajanlardan geliyordu. Çoğu bakımcının ilk refleksi PR’ları kapatmak olsa da Tindle konuya farklı bakıyor: Birileri sizin projenizi iyileştirmek için kendi hesaplama kaynağını harcıyorsa, bunu reddetmek yerine yalnızca işinize yarayan girişleri kabul edecek bir yapı kurmak daha mantıklı.
Belgeler yeterli değil, keşfedilebilirlik önemli
AutoGPT önce klasik yolu denemiş: Daha iyi katkı rehberleri, daha iyi dokümantasyon, hatta repo ile çalışmaya adanmış bir wiki. Hiçbiri belirgin bir fark yaratmamış. Sebebi basit: Ajanlar, kendilerine söylenmediği sürece belgelerinizi bulup okumuyor. Bir ajan yalnızca üzerinde çalıştığı dizin seviyesinde önüne konan içeriği okuyor.
Bu yüzden AutoGPT talimatları ajanların baktığı yere koymaya başlamış. İlk adım CLAUDE.md dosyaları olmuş; çünkü Claude, repoya özgü bağlam olmadan PR üretiyormuş. Ancak Copilot ve Codex, Claude’a özel dosyaları görmezden geliyor. Çözüm, standart olarak AGENTS.md etrafında merkezileşmek ve Claude dosyalarını buna yönlendirmek olmuş.
AGENTS.md ile skill arasındaki fark
Tindle’ın altını çizdiği önemli bir ayrım var: AGENTS.md bulunduğu dizinle sınırlıdır. Skill ise o dizinin dışında da keşfedilebilir. Skill, açıklaması olan bir talimat dosyasıdır; ajan önce bu açıklamaları tarar, görev açıklamayla eşleştiğinde tüm talimatları yükler.
Örneğin AutoGPT’de bir ön yüz mühendisi aynı türden bozuk PR’lardan bıkınca bir rehber yazmış ve bunu repoda bir skill olarak yayımlamış. Açıklamada tetikleyici ifadeler var: Bileşen belirli klasörlerdeyse Storybook testi yaz. Böylece repoya dokunan her ajan bu kuralı otomatik olarak keşfediyor. Arka uçta da aynı mantıkla %80 kapsama eşiği zorunlu tutuluyor.
Gerçekten işe yarayan kapılar
PR şablonunu sertçe zorunlu kılın
AutoGPT, şablona uymayan PR’ların tereddütsüz kapatılacağını ajanlara açıkça bildiriyor. İlginç olan şu: Bu kuralı işletecek otomasyonu yazmışlar ama çalıştırmalarına gerek kalmamış. Ajanlar şablona uymaya başlamış. İnsan katkıcılar bazen şablondan sapıyor ve Tindle bunu bir özellik olarak görüyor; şablona uymayan biri büyük ihtimalle insandır ve ona daha nazik davranılır.
Test planı numarası
Şablon bir test planı istiyor ve metinde PR’ı test etmekten söz eden bir ifade geçiyor. Bu ifade test PR adlı bir skill’i tetikliyor; skill izinle birlikte bir tarayıcı ajanı kuruyor, uygulamayı ayağa kaldırıyor ve değişikliği gerçekten çalıştırıyor. Bir onay kutusunu doldurmaya çalışan ajan, aslında kodu çalıştırmış oluyor. Sonuç: Çalışmayan PR’lar neredeyse hiç gelmiyor; artık gelen PR’lar çalışıyor ama yol haritasına uymuyor olabiliyor. Bu, daha iyi bir sorun.
CI’yı duvar haline getirin
Codecov kapsama eşikleri zorunlu kontrol olarak tanımlanmış. Ajan PR’ı açıyor, birkaç dakika sonra döndüğünde birleştiremediğini görüyor, test skill’ini yüklüyor ve testleri yazıyor. Kimsenin talep etmesine gerek kalmıyor.
CLA’yı insan dedektörü olarak kullanın
AutoGPT çift lisanslı ve Tindle her projenin (MIT dahil) CLA sürecine sahip olması gerektiğini savunuyor. İmzalama; tarayıcı ve ayrı bir alan adında GitHub OAuth akışı gerektiriyor. Ajanlar bugün bu işte iyi değil; üstelik çoğu bakımcı, geniş yetkilerle GitHub’a bağlanmış bir ajanı tarayıcıda görmek de istemiyor. Bir hafta içinde CLA imzalanmayan PR, imzalanınca yeniden açılabileceği belirtilerek kapatılıyor. Aynı işi bir davranış kuralı onay kutusu da görebilir. Kritik nokta insanı sürece geri sokmak.
İnceleme başlığını çözmek için commit SHA şartı
Bazı ajanlar koda dokunmadan tüm inceleme başlıklarını “çözüldü” işaretliyor. AutoGPT bunu pr-address adlı bir skill ile engelliyor. Skill tek geçerli sırayı tanımlıyor: Düzelt, commit’le, push’la, yanıtla, sonra çöz. Yanıtın düzeltmeyi yapan commit’e bağlanması ve tam SHA’nın commit sonrası git rev-parse HEAD ile alınması gerekiyor; böylece ajan eski bir SHA’yı tekrar kullanamıyor. Skill anti-patternleri de açıkça belirtiyor: “Acknowledged” bir düzeltme değildir; işaretlenen satıra dokunmayan bir commit’i göstermek de düzeltme sayılmaz.
Kapatılan kapı: hata yorumlayan bot
Bir kontrol başarısız olduğunda AutoGPT önce bir ajanın çalışma kaydını okuyup neyin bozulduğunu yorumlamasını sağlamış. İlk sürümde Claude Code, GitHub Actions’a bağlanıyor ve iş akışı içinde kimlik doğrulaması yapılıyordu; bu da CI içinde geniş yetkili bir kimlik daha demekti. Copilot’u iş akışında çalıştırmak, o kimlik yükü olmadan aynı sonucu veriyor. Tindle bu değişiklikten memnun: Artık bir Actions iş akışı için YAML yazmasına gerek kalmıyor.
Ama yorumlamayı sonunda tamamen kapatmışlar. CI’ı sık başarısız olan bir projede, her hatayı anlatan bir bot, hatanın kendisinden çok daha katlanılır değil. Buradaki asıl ders şu: Bakımcı yükünü azaltan şeyi tut, gürültüye dönüşeni kapat.
Not almaya değer dört tuzak
- Kötü bir AGENTS.md, hiç olmamasından kötüdür. AutoGPT başlangıçta bu dosyaları her yere serpmiş ve bağlamı kirleterek ajanın dikkatini alakasız dosyalara çekmiş. Davranış kötüleşirse önce yazdığınıza dönüp bakın.
- GraphQL API sizi hız sınırına takar. Ekibinizdeki her araç CLI’ya ayrı kullanıcı olarak vurduğunda tavana hızlı ulaşırsınız. Bir GitHub App oluşturup CLI’ı bunun üzerinden kimliklendirin.
- Ağır inceleme araçları gerçek para tutar. AutoGPT’nin PR test düzeneği; dalı klonluyor, farklı görevlerle sekiz ajan başlatıyor, tüm yığını çalıştırıp ekran görüntüleri yüklüyor. Çok işe yarıyor ama pahalı; bu yüzden yalnızca çok küçük veya çok büyük PR’larda çalıştırılıyor.
- Yetkilendirilmiş uygulamalarınızı denetleyin. AutoGPT, Secure Open Source Fund kapsamında; denedikleri ve bıraktıkları her araç arkada bir yetkilendirme bırakmış. Artık kullanmadığınız GitHub uygulamalarını yetkili uygulamalar listesinden kaldırın.
Her şey bir kapı değil
Söyleşinin araçlarla ilgisi görece az olan iki çıkarımı daha var. Birincisi: Her PR’ı kabul etmek zorunda değilsiniz. Başkasının LLM çıktısını merge etmek asimetrik bir yüktür; bakımı sonsuza kadar siz üstlenirsiniz. PR’ı kapatıp düzeltmeyi kendiniz yazmak da meşru bir seçenek.
GitHub tarafında pull request’leri tamamen devre dışı bırakabilir ya da issue oluşturmayı yalnızca collaborator’lara açabilirsiniz. Tindle burada bakımcıların “düğmelere” ihtiyaç duyduğunu vurguluyor: Bazen doğru cevap “önce bizimle konuşun”dur. SQLite dış kod katkısı kabul etmiyor, yalnızca hata raporu alıyor; bu da geçerli bir açık kaynak sınırı.
İkincisi: Kendiniz yeniden yazmak üzere bir PR’ı kapattığınızda, uygunsa katkıcıyı co-author olarak eklemek küçük ama anlamlı bir jest. AutoGPT’nin yaklaşık 800 katkıcısı var; bir kişi daha eklemenin maliyeti yok. Çoğu insan için önemli olan sorunlarının çözülmesi ve emeklerinin fark edilmesi.
Öne çıkan ders
Açık kaynak, işbirliğini açık kılarak evrildi: Lisanslar izinleri, issue’lar işi, pull request’ler ise incelemeyi görünür yaptı. Talimatları doğrudan repo içine koymak da benzer bir adım gibi görünüyor; ama esnek tutmak gerekiyor. Kimsenin nihai biçimi bulduğu söylenemez. AutoGPT üçüncü sürümüne, kötü sürümleri yayımlayıp ajanların ne yaptığını izleyerek ulaşmış.
Neyin projeye ait olduğuna ve çıtayı nereye koyacağınıza yine siz karar veriyorsunuz. Fark şu: Bu kararların daha büyük bölümü artık kodun yanında, katkıcılarınızın ve onların ajanlarının zaten baktığı yerde yaşayabiliyor.
Kaynaklar ve İleri Okuma
- Your contributors are AI-first now. Is your project? — GitHub Blog
- AutoGPT deposu (GitHub)
- maintainers.github.com
- Secure Open Source Fund
- Pull request erişimini yapılandıran yeni repo ayarları
- Issue oluşturmayı yalnızca collaborator’lara sınırlama
- Maintainer Month tanıtımı
- Söyleşi videosu (YouTube)
- Copilot Code Review’a AGENTS.md Desteği: Ne İşe Yarayacak?
- GitHub Copilot ile Pull Request İnceleme ve Code Review







Yorum gönder