İçeriğe geç
edumintsBlog
Yazılım3 dk okuma

Switch-SWE: Kodlama Ajanları Yarım Kalan Görevler Arasında Geçiş Yaparken Odaklarını Koruyabiliyor mu?

Kaynak: Hugging Face Papers

Paylaş
YazılımEdumints Blog
İçindekiler 4 başlık

Gerçek Dünya Yazılım Geliştirme Süreçleri ve Çoklu Görev Sorunu#

Gerçek yazılım geliştirme oturumları, tek bir sorunun baştan sona kesintisiz şekilde tamamlanmasından ziyade genellikle yarım kalan birden fazla görevin bir arada yürütülmesini içerir. Kodlama ajanları (coding agents) depo (repository) düzeyinde geliştirme görevlerini üstlendikçe, araya giren başka çalışmalardan sonra önceki bir görevin gereksinimlerini ve kısmi ilerlemesini geri kazanmaları gerekir. Mevcut depo düzeyindeki kıyaslama (benchmark) testleri genellikle tek bir sorundan yamaya (issue-to-patch) uzanan izole süreçleri puanlar ve bir ajanın aynı depodaki diğer tamamlanmamış işleri ilerlettikten sonra önceki görevine başarıyla dönüp dönemeyeceğini doğrudan ölçmez.

Switch-SWE Kıyaslama Veri Setinin Yapısı#

Bu boşluğu doldurmak üzere geliştirilen Switch-SWE, her görev için kalıcı bir çalışma kopyası (persistent checkout) barındıran ve aynı kaynak depodan alınan tamamlanmamış görevlerin iç içe geçtiği oturumlarda odak görevine geri dönüşü (focus-task resumption) ölçen yeni bir kıyaslama aracıdır. Sistemin temel mimarisi şu unsurlara dayanır:

  • Eşleştirilmiş Oturum Değerlendirmesi: Her odak görevi, birebir aynı odak gereksinimlerine ve çalıştırılabilir doğrulayıcılara (executable verifiers) sahip kesintisiz (uninterrupted) ve geçişli (switched) oturumlarda karşılaştırmalı olarak değerlendirilir.
  • Sıralı Görev Geçişleri: Geçişli oturumlar, aynı depodaki diğer yarım kalmış görevlerin sıralı aşamalarını araya yerleştirir ancak sonunda yalnızca asıl odak görevinin nihai yaması puanlanır.
  • Kapsamlı Veri Seti: Switch-SWE, 19 farklı Python deposundaki sorun (issue), pull-request ve kod inceleme (review) geçmişlerinden yeniden yapılandırılan 200 odak görevi içerir ve bunları 400 eşleştirilmiş oturum spesifikasyonu olarak sunar.

Deneysel Bulgular ve Bağlam Yönetimi Çözümü#

Araştırma kapsamında 7 farklı kodlama ajanı üzerinde yapılan testler, araya giren tamamlanmamış işlerin odak görevi çözme oranında ortalama 11,5 yüzdelik puan (6,0 ile 15,0 puan arasında değişen) kayba yol açtığını göstermektedir. Ajanların izlediği yörüngelerin (trajectory) analizi, tekrarlayan iki temel başarısızlık davranışını ortaya koymaktadır:

  • Görevler Arası Gereksinim Karmaşası: Ajanın farklı görevlerin beklentilerini birbirine karıştırması.
  • Görev Durumu Kaybı: Önceki görevde nerede kalındığına dair durum (state) bilgisinin unutulması.

Bu sorunu aşmak için görevle ilgili geçmişi seçen ve özlü görev durumu özetleri tutan eklenti (plug-in) tabanlı bir bağlam yönetimi modülü (context-management module) sunulmuştur. OpenCode üzerinde test edilen bu modül, aynı depo içi görev geçişlerinde odak görevi tamamlama başarısını değerlendirilen modeller genelinde 5,5 ile 15,5 yüzdelik puan arasında artırmıştır. Çalışmanın açık kaynak kodlarına github.com/Miraclecsc/Switch-SWE adresinden erişilebilir.

Yazılım Geliştirme ve Öğrenme Açısından Pratik Çıkarımlar#

Edumints öğrenme yolculuğunda Production'da Agent Güvenilirliği, Agent Monitoring ve Debugging ile Tool Calling ve Multi-Step Agent'lar konularıyla doğrudan örtüşen bu çalışma, mühendisler için kritik dersler barındırır:

  • Durum Özeti (State Summarization) Kullanımı: Çok adımlı ajan mimarilerinde ham sohbet geçmişini olduğu gibi modele beslemek yerine, her görev geçişinde kısa ve yapılandırılmış durum özetleri oluşturmak bağlam kirlenmesini önler.
  • Görev İzolasyonu ve Filtreleme: Aynı kod tabanında birden fazla iş yürütülürken ajan belleğini aktif göreve göre filtrelemek, gereksinim karmaşasını büyük ölçüde azaltır ve üretim ortamındaki ajan güvenilirliğini doğrudan artırır.

Kaynak ve atıf

Bu yazı, Hugging Face Papers üzerinde yayımlanan içerikten yararlanılarak Edumints tarafından yapay zekâ desteğiyle Türkçe hazırlandı. Ayrıntılar ve yazarların kendi anlatımı için orijinaline bakabilirsin:

  • huggingface.co/papers/2611.02017