DevOps·2 dk okuma·

Drawgent: Canlı Excalidraw Tuvali Üzerinde Kodlama Ajanı

Paylaş
DevOpsEdumints Blog

Proje Genel Bakışı ve Teknoloji Dağılımı

Drawgent, geliştiricilerin canlı bir Excalidraw tuvali üzerinde yapay zekâ destekli kodlama ajanlarıyla doğrudan etkileşim kurmasını sağlayan yenilikçi bir projedir. Sistemin çekirdek çalışma zamanı ve performans odaklı bileşenleri Rust (%78.0) ile inşa edilmişken; arayüz ve tuval entegrasyonu JavaScript (%17.2) ile CSS (%2.3) üzerinden yürütülmektedir. Proje altyapısı ayrıca derleme ve ortam yönetimi için Makefile (%1.1), Nix (%0.6), Dockerfile (%0.6) ve HTML (%0.3) yapılandırmalarıyla desteklenmektedir.

Depo Geliştirmeleri ve Değişiklik Maddeleri

Deponun son geliştirme geçmişinde ajan güvenilirliğini ve kullanıcı deneyimini doğrudan etkileyen 4 ana madde yer almaktadır:

  • Ajan Süreç Takibi ve Node Adaptörü İyileştirmeleri:
    • acp (Ajan Protokolü): Ajan süreci beklenmedik şekilde kapandığında sadece yalın bir "agent process exited" mesajı iletmek yerine; son stderr satırları ve çıkış kodu (exit status: 1) yakalanarak loglara, sohbet arayüzüne ve bekleyen isteklere aktarılmaktadır.
    • setup (Kurulum): Node çalışma zamanının mutlak dosya yolu (absolute path) sisteme kaydedilmiş ve adaptörlerin node adapter script şeklinde başlatılması sağlanmıştır; böylece Nix gibi ortamlarda Node doğrudan PATH üzerinde bulunmasa bile sistem sorunsuz ayağa kalkmakta ve Node 22'den eski sürümlerde uyarı üretilmektedir.
    • up (Doğrulama): Köprü bileşenine ait tüm mutlak dosya yollarının sistemde mevcut olduğu kontrol edilmektedir.
  • Lazer Çizim Bölgeleri (Laser Zones) ve Tuval Senkronizasyonu:
    • Kullanıcının tuval üzerindeki tüm vuruşları (strokes) onay bekleyen tek bir bölgede (pending zone) toplanmaktadır. Eski mimaride 4 saniye geçtiğinde yeni bir bölge başlatılıp eski izler arayüzden kaldırılamazken; güncel yapıda çizimler gönderilene veya iptal edilene kadar aynı grupta korunmakta, editör yeniden bağlandığında mevcut izler birleştirilmektedir. Bu senaryolar laser-e2e uçtan uca testleriyle doğrulanmaktadır.
  • Görsel Varlıkların Dokümantasyona Eklenmesi:
    • Sistemin canlı tuval üzerindeki görsel deneyimini ve arayüz yapısını aktarmak amacıyla README dosyasına ekran görüntüleri eklenmiştir.
  • Sistem Mimari Diyagramının Eklenmesi:
    • Rust motoru, tuval adaptörleri ve ajan süreçleri arasındaki veri akışını gösteren kapsamlı mimari diyagramı dokümantasyona dahil edilmiştir.

Geliştirici ve Öğrenme Çıkarımları

Yazılım geliştiriciler ve ajan mimarileri üzerine çalışan mühendisler için bu projeden elde edilecek pratik çıkarımlar şunlardır:

  • Ajan Gözlemlenebilirliği ve Hata Ayıklama: Otonom çalışan ajan süreçlerinin çökme anındaki stderr çıktılarını doğrudan arayüze taşımak, gözlemlenebilirlik ve hızlı hata tespiti açısından kritik bir gerekliliktir.
  • Ortam Bağımsızlığı: Yürütülebilir bağımlılıkları mutlak yollarla başlatmak, Nix veya konteyner tabanlı izole ortamlarda çalışma zamanı kırılmalarını engeller.
  • Canlı Tuval Durum Yönetimi: Kullanıcı çizimlerini geçici bekleme havuzlarında atomik olarak yönetmek, yetim kalan durumları ve veri tutarsızlıklarını önler.

Orijinal kaynağa buradan ulaşabilirsiniz.


Bu konuyu derinlemesine öğrenmek isterseniz: Agent Monitoring ve Debugging modülüne göz atın.

Paylaş

Bu konuyu daha derinlemesine öğrenmek ister misin?

Edumints'teki ücretsiz kursları incele ve bugün başla.

Kurslara Göz At →