Otonom ajanlar ile yazılım geliştirmede tekrarlı iyileştirme isteği ile kod kalitesinin artırılması
Improving code quality through iterative enhancement requests in software development with autonomous agents
Yazar: HAMZA FURKAN ATMACA
Danışman: DR. ÖĞR. ÜYESİ OĞUZ ALTUN
Yıldız Teknik Üniversitesi / Fen Bilimleri Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı / Bilgisayar Mühendisliği Bilim Dalı
Derece: Yüksek Lisans, 2024
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control

Özet:
Günümüzde büyük dil modeli (BDM) bazlı uygulamalar oldukça popülerleşmiştir ve hızla gelişmektedir. GPT gibi yapay zeka modelleri özellikle ChatGPT'nin kullanıma sunulmasıyla daha tanınır hale gelmiştir. Günümüzde birçok yenilikçi uygulamada OpenAI API aracılığıyla GPT kullanılmaktadır. BDM bazlı uygulamalar çeşitli amaçlara ve sektörlere hizmet etmektedir.
Araştırmamızda BDM bazlı otonom ajanların yazılım geliştirme alanında kullanımına odaklanılmıştır.
ChatDEV ve MetaGPT uygulamaları en yalın haliyle insan kaynağı gerektiren işlerin yapay zekaya yaptırılması amacını taşımaktadırlar. Bu uygulamalar, prensip olarak gerçek bir yazılım ekibini simüle ederek sanal bir yazılım ekibi kurmayı amaçlamaktadırlar. Böylelikle gerçek bir ekipteki maliyetlerler olmadan, çok daha kısa sürelerde yazılımların geliştirilmesi amaçlanmaktadır.
Çalışmamızda, ihtiyacımız olan yazılımları her iki uygulamaya da Türkçe dilinde birkaç cümle ile tarif ediyoruz. Ajanlar, OpenAI API ile iletişime geçiyorlar ve kendi aralarında iletişimde kalıyorlar. Örneğin yazılım mühendisi yazdığı kodu test mühendisine gönderiyor, test mühendisi kodu test edip tespit ettiği hataları tekrar yazılım mühendisine gönderiyor.
Araştırmamızda, ChatDEV ve MetaGPT üzerinde durulmuştur. Basitten karmaşığa 10 yazılım senaryosu bu uygulamalara girdi olarak verilmiş, çıktılar incelenmiştir. Sistemlerin performansları, zaman ve maliyet gibi kritik değişkenler üzerinden incelenmiş ve sonuçlar karşılaştırılmıştır.
Nicel verilerden hareketle ChatDEV daha başarılı bulunmuş, sistemin kaynak kodlarına eklenti yazılmıştır. Geliştirmeler, programcı ajanın her BDM kullanımına geçmişi dahil ederek, çıktılarını iyileştirmeyi amaçlayan şekilde 3 kere kendini tekrar etmesini içeriyordu.
Deneysel sonuçlarda uygulamaların yüksek başarı elde ettiğini gördük. Çok kısa zamanlarda ve düşük maliyetlerle kaynak kodları çıktı olarak aldık. Her iki uygulama da yazılımları dakikalar içerisinde hazırladı.
Geliştirmelerimizle beraber sistemlerin iyileştirilmesinin ve çıktı kalitelerinin artırılmasının mümkün olduğunu gördük. Sonuçlarımız, sistemler optimize edildikçe sanal departmanlar hatta sanal şirketler kurulabileceğini, bu şirketlerdeki otonom ajanların dinlenmeye ihtiyaç duymadan sürekli çalışabileceklerini, iş birimlerinin kendi kendine fikirler üretip üretim ekiplerine aktarabileceklerini, böylelikle teknoloji gelişiminin olağanüstü şekilde hızlanabileceğini düşündürmektedir. Bu açıdan BDM bazlı otonom ajanları organize eden sistemler; üzerinde çalışmaya, incelemeye ve geliştirmeye değer bir konudur.

Abstract:
Nowadays, large language model (LLM) based applications have become very popular and are developing rapidly. Artificial intelligence models such as GPT have become more well-known, especially with ChatGPT. Today, GPT is used in many innovative applications via the OpenAI API.
ChatDEV and MetaGPT applications aim to establish a virtual software team by simulating a real software team.
In our study, we describe the software applications in Turkish sentences. Agents communicate with the OpenAI API and stay in touch with each other. For example, the software engineer sends the code to the test engineer, the test engineer tests the code and sends the errors back to the software engineer.
Our research focused on ChatDEV and MetaGPT. 10 software scenarios were given as input to these applications. The performances of the systems were examined in terms of time and cost, and the results were compared.
Based on quantitative data, ChatDEV was found to be more successful, and an add-on was written to the source codes of the system. The developments included the programming agent repeating itself 3 times.
The applications achieved high success. We received the source codes in short times and at low costs. Both ChatDEV and MetaGPT developed the software applications in minutes.
We saw that it is possible to improve the systems and increase the quality of the output with our developments. Our results show that as the systems are optimized, virtual departments and even virtual companies can be established, autonomous agents in these companies can work continuously without needing to rest, business units can generate ideas and transfer them to production teams, thus accelerating technology development tremendously. In this respect, systems that organize autonomous agents based on LLM are a subject worth studying and developing.