Statewave: создание памяти для AI-агентов с повторяемыми данными
Statewave — это open-source решение для создания «памяти» AI-агентов с повторяемыми контекстными данными. Оно решает проблему отсутствия памяти у большинства AI-приложений, позволяя сохранять ключевую информацию и контекст между сессиями. Вместо хаотичного извлечения данных на этапе запроса, Statewave предлагает упорядоченные и помеченные контекстные наборы, что делает взаимодействие более последовательным и предсказуемым.
Проект использует технологии Python и TypeScript, а также самостийно работает на базе PostgreSQL с расширением pgvector. Для запуска доступен образ в Docker, что упрощает интеграцию и развертывание. Лицензия Apache 2.0 позволяет использовать его в коммерческих проектах, но стоит обратить внимание на текущие ограничения и стадию разработки — проект активно обновляется, и у него есть определенные ограничения, указанные в документации.
Statewave может быть полезен разработчикам, которые хотят повысить качество взаимодействия с AI-агентами за счет более организованного подхода к запоминанию информации.
Описание проекта
Statewave — это открытая система памяти, разработанная для обеспечения AI-агентов воспроизводимым контекстом с маркировкой источников, что исключает шум выборки во время обработки запросов. Проект активно развивается и нацелен на улучшение взаимодействия AI-систем с пользователями, сохраняя контекст и историю сообщений между сессиями.
Проблема
Большинство AI-приложений не имеют долговременной памяти, и каждый новый разговор начинается с нуля. Контекст теряется между сессиями, что приводит к потере решений и пользовательской истории. Использование векторных баз данных или сохранение логов чата не решает проблему — это создает хрупкий и неструктурированный контекст.
Что делает Statewave
Statewave предоставляет AI-системе долговременную и структурированную память с ясной жизненным циклом данных:
- Ingest: запись необработанных событий (эпизодов) в режиме добавления.
- Compile: извлечение типизированных, обобщенных воспоминаний с оценками уверенности и происхождения.
- Retrieve: сборка ранжированных контекстных пакетов, готовых для использования в запросах.
- Govern: анализ временных линий субъектов и управление воспоминаниями.
Statewave не является фреймворком для чат-ботов или векторной базой данных; это инфраструктура, которую ты запускаешь рядом с своим приложением.
Как это работает
Statewave считывает необработанные события, компилирует их в типизированные воспоминания и собирает контекст по запросу. Каждый пакет контекста сохраняет отметки о происхождении, что обеспечивает предсказуемые результаты.
Возможности
Основные функции включают:
- Компилированные контекстные пакеты с предсказуемым результатом по каждому субъекту.
- Отслеживание происхождения: каждое воспоминание связано с его источником.
- Плагины компилятора для различных подходов.
- Поддержка многоарендности с использованием заголовка
X-Tenant-ID. - Запуск на PostgreSQL + pgvector, без привязки к конкретному поставщику.
Запуск и установка
Чтобы запустить сервер, достаточно выполнить одну из следующих команд:
# macOS / Linux
npx @statewavedev/statewave
# или
curl -fsSL https://www.statewave.ai/install | sh
# Windows (PowerShell)
irm https://www.statewave.ai/install.ps1 | iex
При желании базовую версию можно запустить локально через Docker:
git clone https://github.com/smaramwbc/statewave && cd statewave
docker compose up -d
Документация по настройке доступна в гайде по началу работы.
API
Statewave предоставляет REST API с множеством методов, таких как:
POST /v1/episodes— ввод эпизода;GET /v1/memories/search— поиск воспоминаний по критериям;POST /v1/context— сборка контекста;- и многие другие.
Ограничения
На данный момент проект активно развивается (v1.5.0). Известные ограничения:
- Ограничение по IP-трафику на уровне API.
- Многоарендность реализована только на уровне приложения.
- Нет встроенного провайдера аутентификации.
- Необходимость ручной настройки некоторых параметров.
Заключение
Statewave предлагает мощную инфраструктуру для улучшения опыта использования AI-систем. С его помощью можно создать динамично развивающуюся память, которая будет учитывать предпочтения и действия пользователей в течение долгого времени.
Открыть на GitHub: smaramwbc/statewave →
RepoRadar