یکی از مباحثی که خیلی بهش علاقه دارم knowledge graph و استفادهاش توی Agent Memoryه.
معمولاً سیستمهای مموری entity ها رو جداگانه ذخیره میکنن و رابطه بینشون رو بهصورت ضمنی (مثلاً از طریق embedding similarity) نگه میدارن. مشکل اینجاست که این رابطهها نه explicitان نه typed.
knowledge graph این مشکل رو حل میکنه: entity ها رو تبدیل میکنه به node و رابطهشون رو بهصورت edgeهای معنادار نگه میداره (مثلاً "کار میکنه در" یا "دوست است با"). با گذر زمان، یه شناخت واقعی از محیط پیرامون کاربر شکل میگیره.
متأسفانه ساختن همچین گرافی ساده نیست و بعد از مدتی پیچیدگیاش اونقدر زیاد میشه که نگهداریاش دیگه اقتصادی نیست.
یکی از سیستمهایی که خوب از این ایده استفاده کرده (هرچند نه دقیقاً برای همین منظور) Obsidianه.
اخیراً برای نوتبرداری از http://mem.ai استفاده میکنم و به نظر میرسه این هم مفهوم رو خوب پیادهسازی کرده: نوتها رو پروسس میکنه، یواشیواش گراف رو میسازه، و بعد جایگذاری نوتهای جدید توی گراف خیلی خوب جواب میده.
یه قابلیت جالب دیگهاش (که Zoom Agent و Granola هم دارن) اینه که از audio device مک استفاده میکنه تا میتینگهای آنلاین رو رکورد کنه، تبدیل به نوت کنه، و توی همون سیستم مرتبشون کنه.
البته تازه شروع کردم و هنوز صد درصد مطمئن نیستم که در طولانی مدت هم کار کنه.
اگه علاقه دارید https://github.com/getzep/graphiti پروژه خیلی خوبیه که داره روی این موضوع کار میکنه.
@DevTwitter | <وحیدیدو/>
Post #12194
7.48K
- 🔥 12
- ❤ 3
- 👍 2