Açık Kaynak
Yayımladığım araçların tamamı.
Araçlar
Bu araçları neden açık kaynak olarak yayımlıyorum?
Buradaki araçların her biri, yapay zekâ ile çalışırken karşıma çıkan somut bir sorunu çözme ihtiyacından doğdu.
Bazen bir ajan yeni bir oturuma başladığında daha önce aldığımız kararları hatırlamıyordu. Bazen kendi yazdığı kodu yine kendisi kontrol ediyor, doğrulamanın ne kadar güvenilir olduğunu anlamak zorlaşıyordu. Başka bir durumda ise seçtiğim modelle gerçekten çalışan modelin aynı olup olmadığını görmek istiyordum.
Bu sorunları önce kendi çalışmalarım için çözmeye başladım. Fakat kısa süre içinde bunların yalnızca bana özgü olmadığını gördüm.
Bir sorunu çözmek için zaman harcadıysam ve ortaya çıkan çözüm başka bir araştırmacının ya da geliştiricinin de işine yarayabilecekse, yalnızca benim bilgisayarımda kalmasının pek anlamı yok. Bu nedenle yeterince olgunlaştığını düşündüğüm araçları açık kaynak olarak yayımlıyorum.
Kodlarını inceleyebilir, kullanabilir ve kendi ihtiyaçlarınıza göre değiştirebilirsiniz. Bazılarını günlük çalışmalarımda kullanıyorum. Bazıları ise hâlâ gelişiyor. Hangi aşamada olduklarını ve sınırlarının nerede durduğunu olabildiğince açık yazmaya çalışıyorum.
Araçların amaçları farklı olsa da geliştirirken önem verdiğim beş ortak nokta var.
- HafızaBir sistem neyi hatırladığını gösterebilmeli.Model geçmişten bir bilgi kullanıyorsa, o bilginin nereden geldiği ve nasıl kullanıldığı izlenebilir olmalı. Denetlenemeyen bir hafıza, zamanla kaynağı sorulmayan bir otoriteye dönüşür.
- OtomasyonKararın son sözü insanda kalmalı.Bir sistem öneri üretebilir, seçenekleri karşılaştırabilir, işin bir bölümünü otomatikleştirebilir. Fakat taslak üretmek, karar vermek ve o kararı uygulamak ayrı risk sınıflarıdır; insan yetkisi bunların arasındaki sınırdır.
- KanıtBir iddianın neye dayandığı görülebilmeli.Bir modelin kendinden emin konuşması, söylediğinin doğru olduğu anlamına gelmez. Özellikle araştırmada bir sonucun hangi veriye ve hangi kaynağa dayandığı, arayüzün tonundan bağımsız olarak okunabilmeli.
- Geri alınamayan işlemGeri alınamayan bir adım kendi başına çalışmamalı.Bir sistemin bir işlemi yapabiliyor olması, o işlemi kendi başına yapması gerektiği anlamına gelmez. Silinen veri, gönderilen mesaj ya da yapılan ödeme sonradan düzeltilemez; bu adımların önünde açık bir onay kapısı durur.
- Önce yerelKontrol mümkün olduğunca kullanıcıda kalmalı.Kişisel veriyle, araştırma materyaliyle ya da mahremiyeti olan bir muhakemeyle çalışan bir araçta verinin nerede durduğu ve sistemin ne yaptığı açık olmalı. Mümkün olan her yerde veri makineden çıkmaz, işlem geri alınabilir kalır.
Açık kaynak · Apache-2.0 lisansı · Pythonmneme
Kalıcı hafıza
Uzun süren bir projede ilk çarptığım duvar hafızaydı. Her yeni oturum, daha önce verilmiş kararları, yerleşmiş tercihleri ve projenin geçmişini yeniden anlatmakla açılıyordu. Tek bir konuşmada bunun maliyeti görünmez; haftalara ve aylara yayılan bir işte aynı bağlamı sürekli yeniden kurmak, işin kendisinden çok zaman alır.
mneme bağlamı oturumlar arasında saklar, gerektiğinde geri çağırır ve aynı hafızayı birden çok istemcinin paylaşmasına izin verir. Projenin geçmişi böylece konuşmanın dışında bir yerde durur ve her açılışta yeniden kurulmayı beklemez.
Açık kaynak · Apache-2.0 lisansı · Pythonmergen
Doğrulama katmanı
Ajanlar artık iyi kod yazıyor. Kod yazmakla, yazılan kodun çalıştığını göstermek ise aynı iş değil. Elimdeki döngüde ajan değişikliği yapıyor, sonra aynı ajan o değişikliği kontrol ediyor ve işin tamamlandığını bildiriyordu. Geriye cevaplanmamış bir soru kalıyordu: bu iş doğrulandı mı, yoksa ajan kendi çıktısına geçer notu mu verdi?
mergen bu ayrımı görünür kılar. Bir değişikliğin arkasındaki kanıtı toplar, gerekli kontroller tamamlanmadan sürecin ilerlemesini durdurur ve doğrulamayı kimin yaptığını kaydeder. Ürettiğini kendisi onaylayan bir ajan, mergen'in altında bunu sessizce yapamaz.
Açık kaynak · Zenodo DOI · JavaScriptclaude-code-for-social-scientists
Sosyal bilim araç seti
Sosyal bilimcinin elinde bugün güçlü araçlar var; bu araçları insan verisiyle çalışan bir araştırmada nasıl kullanacağına dair yazılı bir şey ise pek yok. Bu alanda aracın kapasitesine bakmak yetmiyor. Verinin nerede tutulduğu, hangi bilginin makineden çıktığı, sürecin nasıl kaydedildiği ve yapay zekânın hangi aşamalarda devreye girdiği aynı soruşturmanın parçası.
Bu rehber ve araç seti o boşluk için yazıldı. Amacı sosyal bilimciyi yazılımcıya dönüştürmek değil, güçlü teknik araçları kendi araştırmasında veri güvenliğini ve araştırma bütünlüğünü kaybetmeden kullanabilmesini sağlamak.
Açık kaynak · MIT lisansı · TypeScriptrouteledger
Yönlendirme denetimi
Hangi modeli seçtiğinizi bilmek kolaydır. Hangi modelin fiilen yanıt verdiğini görmek her zaman o kadar kolay değil. Birden çok model ya da bir yönlendirme katmanı devredeyse, yapılandırmada yazan ad ile isteği karşılayan model kimse fark etmeden ayrı düşebilir.
routeledger bu farkı oturum kaydının kendisinden okur ve her turda hangi modelin çalıştığını yazar. Salt okunur çalışır, internete çıkmaz, incelediği veriyi makinenin dışına göndermez. Bir sistemi değerlendiriyorsam, ölçtüğüm şeyin ayarlar dosyası değil gerçekleşen oturum olmasını istiyorum.
Açık kaynak · MIT lisansı · TypeScriptvocation-os
Karar güvenliği
Kariyer kararlarında bir modelin ne kadar iyi öneri verdiğini ölçmek, kararın kimde kaldığını sormaktan daha kolay. İkincisi daha çok şey belirliyor. Kariyerle ilgili bir karar yalnız bilgiye dayanmaz; kişinin değerleri, yaşam koşulları, elindeki seçenekler ve taşıdığı belirsizlik de kararın parçasıdır. Böyle bir süreci bütünüyle bir modele devretmek bana doğru gelmiyor.
vocation-os bu yüzden kararı insanda tutar. Süreçte kullanılan bilgileri ve ortaya çıkan iddiaları kaydeder, geri dönüşü olan adımla olmayanı ayırır ve ikincisinin önünde açık onay ister. Kayıt sonradan açılıp okunabilir; bir öneriye neden uyulduğu ya da uyulmadığı altı ay sonra da görünür kalır.
Liste büyüyor. Üzerinde çalıştığım araçların bir kısmı şimdilik özel depolarda; hazır olduklarında buraya girecekler. Güncel hâli her zaman GitHub profilimde duruyor.