İyi bir toplantı asistanı, sadece toplantı sırasında değil, öncesinde ve sonrasında da değer katmalıdır. Kullanıcılar çoğu kez, geçmiş konuşmaları, alınan kararları ve verilen sözleri yeniden bulmaya çalışırken vakit kaybeder. İşte bu boşluğu kapatmak için yola çıkan MeetMind’in geliştiricileri, yapay zekayı sadece sohbet eden değil, anımsatan bir araç haline getirmeyi hedefledi.
Bu süreçte karşılaşılan en büyük zorluk, yapay zekanın geçmişi "hatırlaması"ydı. Statik API’larla çalışan bir sistemde, anılar sadece anında aktarılan bilgilerden ibaret kalıyor. Peki, bu sınırı aşmanın yolu neydi? Geliştiriciler, Hindsight Memory adı verilen bir mimariyi benimseyerek, verilerin nasıl saklandığını ve geri çağrıldığını yeniden tasarladı. Bu yaklaşım, kullanıcıların toplantılara daha hazırlıklı girmesini ve sonrasında da verimli bir şekilde aksiyon almasını sağladı.
Statik Yapay Zekanın Sınırları: Geçmişi Unutan Sistemler
Günümüzde birçok yapay zeka aracı, her sorguda sıfırdan başlar. Örneğin, bir kullanıcı Groq üzerinden çalışan bir modeli "Rahul ile ilgili notları al" dediğinde, modelin Rahul hakkında herhangi bir bilgisi bulunmaz. Bu durum, toplantı asistanlarının en büyük handikaplarından biriydi.
MeetMind’in geliştiricileri, bu sorunu aşmak için verilerin dışarıda saklanmasını ve gerektiğinde anında aktarılmasını öngördü. Böylece, yapay zeka her seferinde geçmişi yeniden öğrenmek yerine, mevcut veriyi kullanarak daha anlamlı yanıtlar üretebildi. Ancak bu çözümün de kendine has zorlukları vardı.
İlk Denemelerin Başarısızlığı: Veri Yığını mı, Anlamlı Bilgi mi?
Geliştirme sürecinin başında, basit bir yaklaşıma başvuruldu: tüm geçmiş konuşmaları tek bir metin dosyasına kaydetmek ve her sorguda bunu modele iletmek. İlk etapta çalışsa da, zamanla bu yöntem başarıyı getirmedi.
- Token sınırları aşıldıkça, model gereksiz ayrıntılara odaklanmaya başladı.
- Altı ay önceki bir kahve tercihi, proje son teslim tarihinden daha fazla dikkat çekti.
- Kullanıcılar, anlamsız ve güvenilmez özetlerle karşılaşmaya başladı.
Bu durum, geliştiricileri verilerin nasıl yapılandırılması gerektiği konusunda yeniden düşünmeye itti. Pasif bir veri deposu yerine, aktif bir hafıza sistemine ihtiyaç vardı.
Hindsight Memory: Hafızayı Yeniden Tasarlamak
MeetMind ekibi, Hindsight Memory adlı bir mimariyi benimsedi. Bu yaklaşımda, hafıza sadece saklanmakla kalmaz, aynı zamanda anında geri çağrılabilir hale gelir. İki temel ilke üzerinde duruldu:
- Saklama (Retain): Geçmiş konuşmaları yapılandırılmış bir şekilde kaydetmek.
- Hatırlama (Recall): İlgili bilgileri anında ve doğru şekilde geri çağırmak.
Bu model, geliştiricilere verilerin nasıl saklanacağı ve geri çağrılacağı konusunda net bir arayüz sundu. Böylece, arka uç sistemi kolayca değiştirilebilir hale geldi. Örneğin, JSON tabanlı bir depolama yerine, vektörel arama kullanılan bir sistem de aynı şekilde entegre edilebiliyordu.
Kod Dünyasına Bir Bakış: memory_vault.py’nin Rolü
MeetMind’in kalbinde yer alan memory_vault.py, kullanıcıların geçmiş konuşmalarını saklayan ve geri çağıran modül olarak öne çıkıyor. Bu modülün temel işlevleri şunlardır:
- Veri Yapısı: Her kullanıcı için ayrı bir hafıza deposu oluşturur.
- Veri Saklama: Yeni bir toplantı notunu, ilgili kişiye ait bir listeye ekler.
- Veri Geri Çağırma: İlgili kişiye ait tüm notları, yapılandırılmış bir şekilde sunar.
Aşağıdaki kod parçası, retain() metodunun nasıl çalıştığını gösteriyor:
class MemoryVault:
def __init__(self):
self.storage = {}
def retain(self, text):
if "Toplantı ile " in text:
content_split = text.split("Toplantı ile ")[1]
parts = content_split.split(": ")
if len(parts) >= 2:
contact_name = parts[0].strip().lower()
notes = ": ".join(parts[1:])
if contact_name in self.storage:
self.storage[contact_name].append(notes)
else:
self.storage[contact_name] = [notes]
self._save()
return TrueBu kod, kullanıcıdan gelen bir metni parse ederek, ilgili kişinin adı ve notunu ayırır. Örneğin, "Toplantı ile Rahul: Proje için Tailwind CSS’i onayladı ve projeyi 3 hafta içinde tamamlamamızı istedi" gibi bir girdi, Rahul adlı kişiye ait bir not olarak saklanır.
Ancak bu süreçte dikkat edilmesi gereken bir detay vardı: metin içinde yer alan iki nokta işaretinin, verinin kaybolmasına neden olabileceği. Geliştiriciler, bu durumu çözmek için parts[1:] kullanarak, tüm notu yeniden birleştirdi.
Gelecekte Neler Değişecek?
MeetMind’in geliştiricileri, şu anda JSON tabanlı bir saklama sistemi kullanıyor olsa da, ilerleyen dönemlerde Hindsight SDK’yı ve vektörel arama teknolojisini entegre etmeyi planlıyor. Bu sayede, verilerin daha hızlı ve anlamlı bir şekilde geri çağrılması mümkün olacak.
Ayrıca, kullanıcı arayüzünün sadeliği de geliştirme sürecinin önemli bir parçasıydı. Geliştiriciler, karmaşık işlemlerin kullanıcıya yansımaması gerektiğine inanıyordu. Bu nedenle, MeetMind’in arayüzü sadece iki panel ve iki temel eylemden oluşuyor: "Briefingi Oluştur" ve "Hafızaya Kaydet". Karmaşıklık, arka planda saklı kalıyor.
Yapay zeka özeti
MeetMind’in geliştiricileri, statik yapay zeka sistemlerinin sınırlarını aşarak, toplantı asistanlarının geçmişi nasıl hatırlayacağını yeniden tasarladı. İşte Hindsight Memory mimarisiyle ilgili ayrıntılar.