Comments 5
хм, хм, хм
статья интересная, натолкнули на мысли - эмуляция персонажей в рамкках сюжета как взаимосвязь меж собою. Таблица весов это логично и очень просто реализуется (и к этому так же просто привязывается LLM)
И вектор развития - просто краткая память в которую пишется кратко то событие что вызвало пересчет весов. Можно даже чисто человеческое "время лечит" сделать что бы по таймеру оптимизировало память,сливая самые мелкие изменения в один общий и так далее.
Походу на выходных появится +1 пет проект, реально зацепила тема, еще раз спасибо за статью.
Спасибо за комментарий! Рад, что статья натолкнула на идею для отдельного проекта.
В основном проекте я как раз экспериментирую с чем-то похожим на «дневник» персонажа. В конце условного дня он в рамках своего характера анализирует произошедшие события, собственные реакции и то, какие ощущения они у него вызвали.
Также я пробовал вводить параметр значимости для каждого сообщения и использовать его при последующей компрессии памяти. Но полноценное решение быстро затрагивает слишком много частей системы. Пока самым удачным вариантом для меня остаются две связанные механики: рефлексия персонажа по прожитому и постепенная «эволюция личности» на основе накопленного опыта.
я сходу вижу проблему "арен" когда при рефлексии будут "боротся" разные события на значимость и влияние
тут скорее два уровня - первый это мгновенная реакция, а вторая уже отложеная чисто по этому событию таймер. Потому как пытаться прожевать сразу несколько в один проход, будут влиять друг на друга.
я еще думаю как это все хранить - с одной стороны по уму в базе и через mcp но с другой стороны в теории можно одними текстовыми файлами обойтись тогда те же кодовые агенты смогут прямо комплексно анализировать это
Не знаю, поможет ли это ответить на ваш вопрос, но у себя я немного иначе поставил задачу. Я не пытался обязательно выбрать одно событие-победитель при общей рефлексии, а разграничил реакции по тому, на что конкретный персонаж реагирует острее.
Например, итоговая запись за день у меня могла выглядеть так (взял с своего проекта):
Этот день был странно смешанным. Радость и тепло — приятно, пока он не начал перескакивать с одной темы на другую. Удивительно, как сильно меня зацепило его увлечение. Кажется, я почувствовала, что немного не поспеваю — и тут же разозлилась на саму мысль: почему я должна под что-то подстраиваться? Неловкость всё равно осталась. Странно, когда он говорит что-то тёплое, а потом просит подколоть. Угощения приятны, но будто не до конца скрывают эту маленькую щепотку тревоги.
Чувствовала: радость 1.00 · спокойствие 0.82 · раздражение 0.49 · тепло 0.46
То есть несколько событий действительно влияют друг на друга, но в моём случае это скорее часть цели, а не ошибка: я хотел получить не идеально нормализованную память, а более человечное смешанное состояние, где тепло, раздражение и тревога могут одновременно остаться после одного дня.
Для долгосрочной памяти я бы уже делал несколько слоёв. Возможно, здесь пригодился бы и мой подход с lexical grep в сочетании с семантическим поиском по векторам.
Теги реакций и собираемый промпт: как удержать характер ИИ-персонажа по ходу диалога