- SWE-agent, GPT-4 gibi dil modellerini (LM'ler) yazılım mühendisliği ajanlarına dönüştürerek gerçek GitHub depolarındaki bug'ları ve sorunları düzeltir
- Tüm SWE-bench test setinde sorunların %12,29'unu çözerek tam test setinde en iyi performansa ulaştı
Ajan-Bilgisayar Arayüzü (ACI)
- Bu sonuçlara, ajanın depoyu keşfetmesini, kod dosyalarını görüntülemesini, düzenlemesini ve çalıştırmasını kolaylaştıran LM merkezli komut ve geri bildirim biçimleri tasarlanarak ulaşıldı.
- Buna Ajan-Bilgisayar Arayüzü (ACI) denir ve depo düzeyinde kodlama ajanları için ACI tasarımını kolayca yineleyebilmek amacıyla SWE-agent deposu oluşturuldu.
- İyi bir ACI tasarımının ajan kullanımında çok daha iyi sonuçlar verdiği gösteriliyor.
Kurulum
- Docker'ı kurun ve Docker'ı yerelde başlatın.
- Miniconda'yı kurun ve
conda env create -f environment.yml kullanarak swe-agent ortamını oluşturun.
conda activate swe-agent ile etkinleştirin.
./setup.sh komutunu çalıştırarak swe-agent Docker imajını oluşturun.
- Bu deponun kök dizininde
keys.cfg dosyasını oluşturun ve gerekli API anahtarları ile GitHub token'ını girin.
Kullanım
- SWE-agent hattı iki aşamadan oluşur. İlki, bir GitHub sorununu girdi olarak alıp bunu çözmeye çalışan bir pull request döndüren çıkarım aşamasıdır.
- İkinci aşama yalnızca SWE-bench kıyaslamasındaki sorunlar için mümkündür ve oluşturulan pull request'in gerçekten sorunu çözüp çözmediğini doğrulayan değerlendirme aşamasıdır.
Değerlendirme
- Bu aşama yalnızca SWE-bench setindeki sorunlar için mümkündür.
- Oluşturulan pull request'i değerlendirmek için
evaluation/ dizinine gidin ve ./run_eval.sh komutunu çalıştırın.
GN⁺ görüşü
- SWE-agent, gerçek GitHub sorunlarını çözmek için dil modellerinden yararlanan yenilikçi bir yaklaşım sunarak yazılım geliştirme sürecindeki otomasyon olanaklarını genişletiyor.
- Bu teknoloji, geliştiricilerin tekrarlayan bug düzeltme işlerinden sıyrılıp daha yaratıcı ve karmaşık problem çözümüne odaklanmasını sağlayabilecek bir potansiyele sahip.
- ACI tasarımının önemini vurgulayarak, makine ile insan arasındaki etkileşimi optimize eden arayüz tasarımının önemini öne çıkarıyor.
3 yorum
Böyle agent'ların geliştiricilere böyle sorular da sorarak çalışması gerçekten iyi olabilir gibi görünüyor.
"Bug report'ta anlatılan yeniden üretme adımlarını, sorunu yeniden üreten bir test koduna dönüştürdüm. Doğru anladıysam, bu koda bir bakar mısın?"
"Bu tasarım yerine şöyle şöyle refactor edersek proje genelinde 20312 satır kod azaltabiliriz gibi görünüyor, do you approve?"
Oldukça etkileyici bir açık kaynak projesi.
Hacker News görüşleri
Hata raporlarıyla ilgili yorum:
Projeyle ilgili yorum:
Kullanılan metodolojiyle ilgili yorum:
Yapay zeka ve bug tracker'larla ilgili yorum:
SWEbench benchmark'ıyla ilgili yorum:
Demo karşılaştırmasıyla ilgili yorum:
Review çalışmasıyla ilgili yorum:
Benzer projelerle ilgili yorum:
Yazarlara öneri içeren yorum:
Açık kaynak projelere katkıyla ilgili yorum: