« Tüm yayınlar

chat.nvim, Neovim'deki yapay zekaya zaman bilinci kazandırıyor

chat.nvim, Neovim'deki AI asistanına zamanlanmış görevlerle zaman bilinci kazandırıyor; libuv tabanlı, event-driven mimariyi inceliyoruz.

chat.nvim, Neovim için geliştirilen bir AI asistan eklentisine zamanlanmış görev özelliği ekleyerek yapay zekanın pasif doğasını kırmayı hedefliyor. Çoğu mainstream AI asistanı yalnızca soru sorulduğunda yanıt verirken, chat.nvim kullanıcının belirlediği bir zamanda kendiliğinden mesaj gönderebiliyor; bu da 'bir saat sonra hatırlat' gibi isteklerin gerçekten yerine getirilmesini sağlıyor.

Tasarımın temelinde üç adım var: görevi hafızaya alma, doğru zamanda tetikleme ve mesajı oturuma normal bir kullanıcı mesajı gibi enjekte etme. Zaman ifadeleri (göreceli gecikme, mutlak an, tekrarlanan döngü) dahili olarak tek bir Unix zaman damgası modeline indirgeniyor; böylece zamanlayıcı motoru dallanma mantığı olmadan çalışabiliyor. Sürekli tarama yerine Neovim'in gömülü libuv kütüphanesi kullanılarak her görev için ayrı, olay güdümlü bir zamanlayıcı kuruluyor ve bekleme sırasında CPU maliyeti sıfıra iniyor.

Tekrarlanan görevlerde yeniden başlatma sonrası ritim kaymasını önlemek için sonraki tetikleme zamanı oluşturma anı ve yürütme sayısına göre hesaplanıyor. libuv zamanlayıcılarının yaklaşık 24.8 günlük üst sınırını aşmak için 30 güne kadar olan gecikmeler röle mantığıyla parçalara ayrılıyor. En kritik tasarım kararı ise zamanlama motorunun yürütmeden ayrıştırılması: motor yalnızca zamanı geldiğinde mesajı kuyruğa iter, LLM çağrısını veya oturum durumunu hiç önemsemez. Mesaj kuyruğu, oturum boşta kaldığında mesajı iletir; görevler ise her değişiklikte diske yazılarak Neovim yeniden başlatmalarına karşı korunur.

Bu mimari, mühendislere zaman kavramını yapay zeka sistemlerine eklemenin karmaşık bir altyapı gerektirmediğini, doğru soyutlama ve sorumluluk ayrımıyla sade bir çözümün yeterli olabileceğini gösteriyor.