Система памяти ChatGPT очень хороша, но ресурсы, необходимые для системы памяти, обычно довольно велики. Как OpenAI удалось сделать так, чтобы система памяти обслуживала 800 миллионов пользователей? Кто-то провел реверс-инжиниринг системы памяти ChatGPT и обнаружил, что она гораздо проще, чем ожидалось. Нет векторной базы данных и нет RAG для чатов. Вместо этого она использует четыре совершенно разных уровня: метаданные сессии, адаптирующиеся к вашей среде, долгосрочно хранимые явные факты, легковесные резюме недавних чатов, и скользящее окно текущего диалога. Этот блог подробно разберет, как работает каждый уровень, и почему этот подход может быть лучше традиционных систем поиска.
Его основа — это четырехуровневый контекстный стек. Каждый раз, когда происходит диалог, AI создает этот «пакет», вводя всю ключевую информацию о вас в модель за один раз. Он состоит из четырех взаимосвязанных уровней.
Первый уровень — это временная информация об окружении, такая как ваше устройство и местоположение, которая исчезает по окончании сеанса. Второй уровень — это ваш постоянный личный профиль, который хранит ключевые факты, которые вы просите его запомнить.
Третий уровень — это «свободная карта» ваших недавних интересов, которая содержит только краткие заголовки чатов, а не полные тексты. Самый нижний уровень — это полная запись текущего разговора, как скользящее окно, обеспечивающее мгновенную последовательность. Что произойдет, если окно заполнится?
Смысл скользящего окна заключается в том, что даже если текущее окно диалога «скользит» из-за достижения ограничения по длине и самые ранние сообщения удаляются, ваша постоянная память и краткое содержание недавних интересов все равно будут сохранены. Это гарантирует, что даже в длинных диалогах ИИ не будет «забывать» о вас.
Эта четырехуровневая структура является победой инженерной мысли. Она достигает идеального баланса между персонализацией, производительностью и вычислительными затратами, обеспечивая лучший пользовательский опыт без необходимости в самых сложных системах.
56,42K