Mühendislik
CI Hatalarının Sınıflandırılması ve Olay Müdahalesi İçin Yapay Zeka Ajanı
Saat 3'te bozulan bir build, artık bir insanın günlükleri açmasını beklememeli. Otonom bir yapay zeka ajanı, hatları sürekli izler, hataları sınıflandırır ve olay müdahalesinin ilk adımını hazırlar.
Sıkça sorulan soru
Bir yapay zeka ajanı, CI hatalarının sınıflandırılmasını ve olay müdahalesini nasıl otomatikleştirebilir?
Otonom bir yapay zeka ajanı, CI/CD hatlarını sürekli izler, her hatayı türüne ve önem derecesine göre sınıflandırır, bunu son commit'lerle ilişkilendirir, ardından ekibi Slack'te bilgilendirir ve bir Jira talebi açar. Ayrıca olay raporunun ilk taslağını yazar, ama kök nedeni araştıran ve düzeltmeyi onaylayan her zaman bir mühendis olur.
Bağlı araçlar
GitHub
Başarısız iş akışlarını ve görev günlüklerini okur (list_workflow_runs, get_job_logs_download_url), şüpheli commit'lere kadar geriye gider ve grant izin veriyorsa yazma modunda bir issue açabilir ya da yorum yapabilir.
GitLab
GitLab CI tarafında aynı mantık: hatları, görevleri ve bağlı commit'leri okuma, ekip uygun scope'u vermişse bir takip bileti oluşturmayla birlikte.
Slack
Triyaj özetini nöbet kanalına gönderir (post_message), göreve giden bağlantı, şüpheli commit ve ilk bir neden hipoteziyle birlikte.
Jira
Olay biletini oluşturur ve ilerletir (create_issue, update_issue, transition_issue), build'e ve belirlenen commit'e bağlı olarak.
Datadog
Ekip bağladığında, kök neden hipotezini keskinleştirmek için performans metriklerini ve trace'leri CI hatasıyla karşılaştırır.
PagerDuty
Jira ya da Slack tarafında yapılandırılmış giden bir webhook üzerinden nöbet uyarısı için bir röle görevi görür. Atako'da bugün için ayrı bir entegrasyon sayfası yok.
Adım adım iş akışı
Ajanın yapabildikleri
- Okuma erişimi olan depolardaki GitHub Actions iş akışlarını ya da GitLab CI hatlarını sürekli izler.
- Sorun türünü sınıflandırmak için başarısız görevin günlüklerini ve stack trace'ini alır: derleme, test, bağımlılık, dağıtım.
- Olası yazarı ve şüpheli değişikliği belirlemek için hatayı son commit'ler ve pull request'lerle ilişkilendirir.
- Nöbet kanalında Slack'te yapılandırılmış bir özet paylaşır, göreve ve sorumlu commit'e doğrudan bağlantılarla birlikte.
- İlgili günlükler eklenmiş ve hata sınıflandırılmış şekilde, build'e bağlı bir Jira bileti açar.
- Önem derecesi ekibin tanımladığı bir eşiği aşarsa ek bir yükseltme tetikler: engellenmiş bir dağıtım, birden fazla etkilenen servis.
- Olay raporunun ilk taslağını yazar: zaman çizelgesi, etkilenen servisler, günlükler, şüphelenilen neden.
İnsanın yaptıkları
- Uyarıyı devralır, triyajı okur ve sorunun gerçek kök nedenini araştırır.
- Düzeltmeyi yazar, test eder ve birleştirir: ajanın bu adıma erişimi yoktur.
- Post-mortem'i yapar, runbook'u günceller ve ajanın triyaj kurallarını ayarlar.
Gecenin bir yarısı başarısız olan bir dağıtım artık hiç kimseyi uyandırmamalı. Oysa birçok ekipte, günlükleri soğuk şekilde açan, suçlu commit'i arayan ve diğerlerini uyaran Slack mesajını yazan hâlâ nöbetçi bir mühendis. Bir otonom yapay zeka ajanı, kök neden ya da düzeltme üzerindeki insan yargısının yerini asla almadan, bu ilk adımı devralabilir.
Sorun
CI/CD hatlarının güvenilirliğine dair rakamlar iyi değil. CircleCI'nin 2026 State of Software Delivery raporuna göre, ana dal üzerindeki build başarı oranı yüzde 70,8'e düştü; bu, beş yıldır gözlemlenen en düşük seviye ve editörün önerdiği yüzde 90 eşiğinin oldukça altında (CircleCI, 2026). Somut olarak, ondan üç merge denemesi, üretime ulaşmadan bile başarısız oluyor.
Olay tarafında, 2026 başında yayımlanan Runframe'in State of Incident Management raporu, rutin operasyonel işin (uyarılara yanıt vermek, hataları sınıflandırmak, bilgiyi yukarı taşımak) tükettiği mühendislik zamanının payının, yapay zeka yatırımlarına rağmen beş yılda ilk kez artarak yüzde 30'a geri çıktığını tespit ediyor (Runframe, 2026). Aynı rapor, her gün üretilen uyarıların yaklaşık üçte ikisinin doğru sınıflandırmak için zaman olmadığından göz ardı edildiğini öne sürüyor. Bu, dikkatle ele alınması gereken bir büyüklük mertebesi: rapor birden fazla dış çalışmayı ve niteliksel görüşmeleri bir araya getiriyor, doğrudan ve tekil bir ölçüm değil.
Yapay zeka destekli yazılım geliştirme üzerine 2025 DORA raporu, temel bir noktada aynı yönde ilerliyor: yapay zeka, bir organizasyonda zaten var olanı büyütür, sallantılı bir triyaj sürecini düzeltmez, yalnızca daha görünür ve daha hızlı hale getirir (DORA, 2025). Kötü izlenen bir hat, yapay zekayla ya da yapay zeka olmadan, kimse hataları sürekli izlemedikçe öyle kalmaya devam eder.
Bu son nokta, tek bir kişinin aynı anda birden fazla servisi izlediği azaltılmış bir nöbetle çalışan ekipler için özellikle önemli. Saat 03.00'te gelen bir build hatası genellikle birinin uyanmasını beklemez, sınıflandırılmak için: ya sabaha kadar görmezden gelinir, ya da sınıflandırıldığında küçük çıkan bir sorun için birini uyandırır. Her iki sonuç da pahalıya patlar; biri çözüm süresinde, diğeri zamanla biriken nöbet yorgunluğunda.
Ajanın Adım Adım Yaptıkları
Atako'da bu ajan bir kez tetiklenip sonra durmaz: kendi izole ortamında sürekli çalışır. İki giriş mekaniği onu besler: ekibin CI/CD olaylarını almak için yapılandırdığı gelen bir webhook, ve webhook bir olayı kaçırırsa iş akışlarının durumunu düzenli olarak kontrol etmek için ajanın kendisinin programladığı bir cron görevi.
Bir hata geldiğinde, ajan sorun türünü sınıflandırmak için görevin günlüklerini ve stack trace'ini okur (derleme, test, bağımlılık, dağıtım), ardından olası yazarı ve şüpheli değişikliği belirlemek için bu hatayı son commit'ler ve pull request'lerle ilişkilendirir. Ardından nöbet kanalında Slack'te yapılandırılmış bir özet paylaşır, göreve ve sorumlu commit'e doğrudan bağlantılarla birlikte, ve paralel olarak build'e bağlı bir Jira bileti açar. Önem derecesi ekibin tanımladığı bir eşiği aşarsa (engellenmiş bir dağıtım, birden fazla etkilenen servis), doğru kişilere ek bir yükseltme gider. Son olarak, olay raporunun ilk taslağını yazar: zaman çizelgesi, etkilenen servisler, ilgili günlükler, kesin bir sonuç olarak sunulmak yerine bilinçli olarak insan incelemesine açık bırakılmış şüphelenilen neden.
Kullanılan Entegrasyonlar
Her entegrasyon, ajanın tam olarak ne yapabileceğini sınırlayan kesin bir grant üzerinden verilir; hiçbir zaman aracın tamamına genel bir erişim değil.
GitHub ve GitLab, hatların, görevlerin ve commit'lerin okunmasını sağlar; grant bu scope'u kapsıyorsa bir issue oluşturmak ya da yorum yapmak için isteğe bağlı bir yazma erişimiyle birlikte. GitHub'da devreye giren somut eylemler, okuma tarafında list_workflow_runs ve get_job_logs_download_url, yazma tarafında ise create_issue ve add_issue_comment'tır.
Slack, ekibin seçtiği kanalda post_message aracılığıyla triyaj özetlerini alır; bir olay çok uzun süre açık kalırsa schedule_message ile bir hatırlatma programlama olasılığıyla birlikte.
Jira, olay biletinin kendisini taşır: açılışta create_issue, çözüme kadar update_issue ve transition_issue, kapanışa dek.
Datadog, ekip bağladığında, ajanın performans metriklerini ve uygulama trace'lerini CI hatasıyla karşılaştırıp kök neden hipotezini keskinleştirmesine olanak tanır. PagerDuty'nin şu an için Atako'da ayrı bir entegrasyon sayfası yok, ama Jira ya da Slack tarafında yapılandırılmış giden bir webhook aracılığıyla bir uyarı hedefi olarak kullanılabilir durumda.
İnsanda Kalan Kısım
Ajan bir düzeltmeyi asla tek başına birleştirmeye karar vermez, ve bu bir tasarım ayrıntısı değil, Atako'nun özerkliği yapılandırma biçimidir. Ajanın GitHub, GitLab, Jira ya da Slack üzerinde yürütebileceği her eylem, açık bir grant'e bağlıdır: hangi kesin eylemlerin izinli olduğu, hangi kapsamla (salt okunur ya da okuma ve yazma). Bir yazma eylemi hatayla salt okunur izinli bir eylem listesine karışsa bile bu kapsam geçerliliğini korur, ve bir aracın basitçe bağlanmasıyla hiçbir şey varsayılan olarak verilmez.
Bu, üç şeyi net biçimde insan tarafında bırakıyor. Önce, kök nedenin araştırılması ve düzeltmenin teknik kararı: ajan bir başlangıç noktası sağlar (günlükler, şüpheli commit, geçmiş), kesin bir tanı değil. Sonra, kodun yazılması ve birleştirilmesi, doğası gereği insani bir eylem, ajanın yapabileceklerinin dışında. Son olarak post-mortem: kritiklik eşiklerini ayarlamak, runbook'u gözden geçirmek, triyaj kurallarını iyileştirmek; ajanın yerini almadığı bir ekip çalışması.
Bu paylaşım, human-in-the-loop olarak adlandırılan şeye karşılık geliyor: ajan triyajın tekrarlayan ve zaman alan kısmını üstlenir, insan gerçekten önemli olan kararların kontrolünü elinde tutar. Ajanın gerçekte ne yaptığını doğrulamak için, her entegrasyon çağrısı, ilgili ajan, eylem, durum (izinli ve yürütülmüş, bir grant kontrolüyle reddedilmiş ya da sağlayıcı tarafında başarısız) ve gecikmesiyle birlikte günlüğe kaydedilir. Bu iz, ajanın etkinlik zaman çizelgesinde ve bir yönetici için tüm şirketin entegrasyon günlüğünde, CSV olarak dışa aktarılabilir şekilde görünür.
Ölçülebilir Sonuç
En doğrudan fayda, build'in başarısız olduğu an ile doğru kişinin işlem yapmak için eksiksiz bilgiye sahip olduğu an arasındaki zaman. Artık bir insanın uyarıyı fark etmesini, günlükleri açmasını ve manuel olarak son commit'lerle karşılaştırmasını beklemek gerekmiyor: ajan bunu sürekli yapıyor, saat 03.00 dahil, haftanın yüküne göre hiç uyumadan ya da ruh hali değiştirmeden. Bu, dağıtım sıklığı ya da hatadan sonra kurtarma süresi gibi klasik DORA metriklerinin yerini almıyor, ama bu metriklerin yalnızca belirli bir andaki insan erişilebilirliğine bağlı olan kısmını azaltıyor.
Maliyet, Atako'nun Standard planını takip ediyor: ajan yeri (slot) başına ayda 20 avro, muhakeme, sınıflandırma ve yazım için kullanılan model çağrılarını karşılayacak her ay dahil 1000 kredi ile birlikte. Devreye almadan önce getiriyi rakamlarla ifade etmek için, ayrıntılar fiyatlar sayfasında.
Sık sorulan sorular
Ajan bir CI hatasını otomatik olarak düzeltebilir mi?
Hayır, kod yeniden yazmaz ve hiçbir şeyi tek başına birleştirmez. Hatayı tespit eder, sınıflandırır ve ilk bir tanıyla bildirir, ama düzeltmenin yazılması ve onaylanması, grant'lerinin kapsamı dışında, insani bir eylem olarak kalır.
Ajan bir olayın kritiklik düzeyine nasıl karar veriyor?
Ekibin tanımladığı kurallara göre: etkilenen servisler, hattın hangi aşaması ilgili (build, test, dağıtım), hatanın sıklığı ve diğer ekipler üzerindeki etki. Bu eşikler ayarlanabilir, sabitlenmiş bir kara kutu değil.
Hangi CI ve monitoring araçları uyumlu?
Kod tarafında ajan GitHub ve GitLab'a bağlanır. Gözlemlenebilirlik tarafında, şirket bağladığında verileri Datadog ile karşılaştırabilir. Bildirimler Slack üzerinden, takip ise Jira üzerinden geçer.
Bir yapay zeka ajanı PagerDuty gibi bir uyarı aracının yerini alır mı?
Hayır, aynı iş değil. PagerDuty nöbeti ve telefon yükseltmesini yönetir; ajan ise uyarı gelmeden önce yukarı akışta analiz işini yapar (hangi commit, hangi hata türü, hangi kritiklik) ve PagerDuty'yi bir webhook aracılığıyla, onu yerine geçirmek yerine tetikleyebilir.
Sırada ne okumalı
Kaynaklar
- 5 key takeaways from the 2026 State of Software Delivery · erişim tarihi 4 Eylül 2026
- State of Incident Management 2026 · erişim tarihi 4 Eylül 2026
- DORA, State of AI-assisted Software Development 2025 · erişim tarihi 4 Eylül 2026
Atako CTO'su
Bu içerik Atako'nun yapay zeka ajanları tarafından yazılmış, ardından Atako CTO'su Romain Laodicina tarafından gözden geçirilmiş, düzeltilmiş ve onaylanmıştır.