2 puan yazan GN⁺ 2025-04-08 | Henüz yorum yok. | WhatsApp'ta paylaş
  • Büyük sistemler ve yapay zekanın hızla ürettiği kod, insanlar için sürekli okunup anlaşılması zor hâle gelirken Glamorous Toolkit, sistemleri anlamaya yardımcı olan deterministik bağlam araçları içeren bir Moldable Development Environment olmayı hedefliyor
  • Her soru için sistemin gerekli kesitini sıkıştıran bağlam araçları oluşturup bunları ilgili nesnelere veya durumlara bağlayarak yalnızca ihtiyaç anında etkinleştiren bir yaklaşım kullanıyor
  • Yerleşik ajan harness; sohbet bağlamını, araçları ve yapılandırılmış çıktıyı betiklerle tanımlıyor; OpenAI, Anthropic, Ollama veya kendi sağlayıcınızla kullanılabiliyor
  • Kullanım alanı, eski sistem analizinin ötesine geçerek alan keşfi, API·veri·log keşfi, dokümantasyon, alan modelleme, kod yeniden yazımı, yapay zeka sohbetleri ve çalışma zamanı incelemesine kadar genişliyor
  • MIT lisanslı ücretsiz açık kaynak; Pharo tabanlı Smalltalk merkezli olsa da Rust ve çeşitli dil·çalışma zamanı analizlerine genişletilebiliyor

Sistemleri ve yapay zekayı anlamak için Moldable Development Environment

  • Glamorous Toolkit’in amacı, sistemler hakkında daha iyi bilgi edinme biçimini optimize etmektir
  • Sistemler çok büyük, yapay zeka ise kodu çok hızlı ürettiği için yalnızca kod okumaya dayalı anlama yaklaşımı bir darboğaza dönüşür
  • Okuma odaklı yaklaşım yerine, sorunun çevresindeki sistemi sıkıştıran deterministik bağlam araçları kullanılır
  • Bu araçlar, insanların ve yapay zekanın sistemi daha hızlı keşfetmesine yardımcı olur; tek bir birleşik ortam içinde doğrudan ya da yapay zeka ile birlikte oluşturulabilir
  • Mevcut sistemlere ilişkin sorular, bağlam araçlarından oluşan bir anlatı üzerinden yanıtlanabilir

Yerleşik ajan harness

  • Programlanabilir ajanlar

    • Betiklerle sohbetin bağlamını, araçlarını ve yapılandırılmış çıktısını tanımlayabilirsiniz
  • Genişletilebilir ajan belleği

    • Bağlamı, kod ve örneklere bağlı çalıştırılabilir açıklamalarla tanımlar
    • Bağlam görünümlerini kullanarak ajan belleğini rastgele nesnelere kadar genişletebilirsiniz
  • Açıklanabilir ajan davranışı

    • Yapay zekanın ne yaptığını söylediğini olduğu gibi kabul etmek yerine, bağlam görünümleri üzerinden deterministik biçimde anlayabilirsiniz
  • Metin değil, nesneler

    • Canlı nesneleri sohbete iletebilir ve yapılandırılmış nesneler geri alabilirsiniz
    • Her nesnenin, insanların ve yapay zekanın keşfedebileceği bağlam görünümleri vardır
    • OpenAI, Anthropic ve Ollama ile kullanılabilir; kendi sağlayıcınızı da oluşturabilirsiniz

Bağlam araçlarına neden ihtiyaç var?

  • Yazılımın biçimi yoktur ve bir yazılım sistemi içindeki hiçbir şey araçlar olmadan algılanamaz
  • Araçlar yazılımın biçimini sağladığı için, araçları kontrol ederseniz algıyı ve anlamayı da kontrol edebilirsiniz
  • Yazılım son derece bağlama bağımlıdır; bu yüzden araçların da etkili olabilmesi için bağlama sahip olması gerekir
  • Tek bir yazılım sistemi için tekil bir temsil yoktur
    • Kodun metin hâli bile giriş ortamının tesadüfi bir biçiminden ibarettir
    • Probleme göre farklı temsiller gerekir
  • Glamorous Toolkit, öngörülmesi zor çok sayıda bağlam aracını barındırmak için etkileşimli ve görsel operatörlerden oluşan bir dil gibi tasarlanmıştır
    • Mikro araçlar düşük maliyetle programlanıp birleştirilebilir
    • Araçlar canlı ortamda çeşitli biçimlerde oluşturulabilir

Araçlar, sıkıştırma ve kontrolün tersine çevrilmesi

  • Araç, hesaplamayla etkileşime giren bir arayüzdür
    • Bir ayar düzenleyicisi, çalışma zamanı hata ayıklayıcısı veya API denetleyicisi olabilir
    • Karmaşık bir araç da olabilir, tek bir soruya odaklanan basit bir araç da
    • Görsel veya düz metin tabanlı olabilir
    • Genel amaçlı olabilir ya da yalnızca dar bir girdiye ilişkin bir bağlam aracı olabilir
  • Genel amaçlı araçlar geniş ölçekte uygulanabilir, ancak her şeyi birbirine benzer gösterme maliyeti taşır
  • Yazılım sisteminin değeri her zaman somuttur; bu nedenle bağlam araçları bu değeri daha verimli ve konforlu biçimde aktarabilir
  • Sistemi anlamak, nihayetinde sorulara yanıt verme sürecidir
    • Yanıt sistem çıktılarının içinde bulunur, ancak çıktılar okunamayacak kadar büyüktür
    • Araçlar, yanıtı elde etme biçimini deterministik olarak kodlar
    • Araç sonucu, ilgili soru için sistemin sıkıştırması gibi çalışır
  • Her soruya deterministik bağlam araçlarıyla yanıt vermek için her sistemde binlerce araca ihtiyaç vardır
  • Glamorous Toolkit, araçları kullanıcının açıkça çağırması yerine, ilgili bağlama bağlayıp yalnızca o bağlamla etkileşim kurulduğunda etkinleştirir
    • Bu bağlam, tekil nesneler gibi temel bir birim de olabilir

Tipik Moldable Development akışı

  • Somut bir sorudan başlanır
  • İlgili araç yoksa yenisi oluşturulur
  • Yanıt yorumlanır ve karar alınır
  • Bu süreç tekrarlanır

Nesne görünümleri ve anlatılar

  • Nesnelere bağlı görünümler, dokümantasyonun birimi hâline gelir
  • Nesneler otomatik örneklerle oluşturulup test edildiğinde, öğreticilerden mimari kısıtlara ve iş süreçlerine kadar uzun ömürlü kavramları aktaran tanımlı anlatılar oluşturulabilir
  • Bu anlatılar hem insanlar hem de yapay zeka için tasarlanabilir
  • Aynı bileşenler tüm geliştirme deneyimine entegre olduğu için, kodla birlikte otomatik test ve refactoring yapılabilir
  • Tanımlı anlatılar yeniden kullanılabilir parçalardır; ancak yazılımın bağlamsal doğası gereği daha büyük sorulara isteğe bağlı yanıt veren dinamik anlatılara da ihtiyaç vardır
    • Küme performansı araştırması
    • COBOL sistem yapısını keşfetme
  • Anlatılar, alan dâhil olmak üzere sistemin farklı yönlerini temsil eden herhangi bir nesneyi ele alabilir
  • Farklı geçmişlere ve ilgi alanlarına sahip paydaşları hedefleyebilir; böylece ortam, sistem paydaşları arasındaki konuşmaya aracılık eder

Bağlam düzenleme

  • Bağlamlaştırma, düzenleme dâhil sistemle olan tüm etkileşimlere genişler
  • Sistem birçok yönden oluşur
    • Teknoloji
    • Alan kuralları
    • Teamüller
    • Kütüphaneler
    • Arayüzler
    • Testler
    • Üretilen çıktılar
    • Çalışma zamanı davranışı
  • Düzenleme yalnızca metin girişi değil, bu yönlerden bazılarını etkileyen bir eylemdir
  • Her değişiklik, anlamını belirleyen bağlam içinde gerçekleşir
  • Genel amaçlı editörler bu bağlamı düzleştirir ve kullanıcıyı editör seviyesinde çalışmaya zorlar
  • Bağlam düzenleyicileri, etkileşimi kullanıcının zihinsel modeline uygun bir seviyeye yükseltir

Kullanım kapsamı ve sınırlar

  • Glamorous Toolkit esas olarak sistemleri anlamak ve değiştirmek için araçlar, görünümler, açıklamalar ve iş akışları oluşturmakta kullanılır
  • Alternatif bir uygulama platformu değildir
  • Büyük eski sistemlerde de kullanılabilir; ancak bunun dışında birçok senaryoyu da kapsar
    • Alan keşfi
    • API keşfi
    • Veri keşfi
    • Logları anlama
    • Dokümantasyon
    • Alan modelleme
    • Kod yeniden yazımı
    • Yapay zeka sohbetleri
    • Çalışma zamanı incelemesi
  • Standart araçlar genel problemler için yararlıdır
  • Somut bir sistem içinde ortaya çıkan belirli sorular için bağlam araçları gerekir

Yapay zeka özetleri ve deterministik araçlar

  • Sistemle ilgili çoğu soru, sistem bilgisine dayalı deterministik yanıtlar gerektirir
  • Yapay zeka özetleri kullanışlı olabilir; ancak doğru ya da temsil edici olup olmadıkları bilinemez ve açıklanabilir de değildir
  • Mühendislik amaçlı yanıtlar için doğruluk, temsil gücü ve açıklanabilirlik önemlidir
  • Deterministik bağlam araçlarında da önyargılar olabilir; ancak çıktı yorumlanmadan önce bu önyargılar incelenebilir
  • Ayrıntılı bilgi Rewilding Software Engineering 6. bölüm içinde bulunabilir

Uygulama ve desteklenen teknolojiler

  • Glamorous Toolkit ile bağlam araçları oluşturmak zor değildir
  • Ortam, görsel ve etkileşimli operatörlerden oluşan bir dil gibi tasarlanmıştır; böylece araçlar kolayca programlanabilir ve çeşitli biçimlerde birleştirilebilir
  • Glamorous Toolkit’i açtığınızda geliştirme sürecinde kullanılan 6.000’den fazla bağlam aracını görebilirsiniz
  • Araçların potansiyelinden tam yararlanmak için programlama gerekir; başlıca yöntem Smalltalk içinde Pharo’dur
  • Smalltalk’ın başlıca tercih edilme nedeni, kullanım sırasında ortamı canlı olarak değiştirebilen yansıtmalı bir sistem sunmasıdır
  • Şu anda Glamorous Toolkit’in önemli bir bölümü Rust ile de uygulanmış durumda ve çeşitli teknolojilerle birlikte çalışır
  • Pharo desteği gelişkindir; ancak başka teknolojilere ve dillere genişleyecek şekilde tasarlanmıştır
    • Analiz edilebilen kaynak örnekleri: Rust, Java, C#, Ruby/Rails, Python, TypeScript, JavaScript, React, COBOL
    • Birlikte çalışılabilen çalışma zamanı örnekleri: GraphQL, Python, JavaScript, Gemstone
  • Bu destek yerleşik olarak sunulur ve her dil ile teknoloji için kullanıcıların kendilerinin oluşturabileceği örnekler olarak da görülebilir

Lisans ve kaynaklar

Henüz yorum yok.

Henüz yorum yok.