Ваш агент - золотая рыбка? Пора лечить амнезию
Перезагрузили скрипт - и ваш умный помощник забыл всё: диалоги, предпочтения, контекст. Он снова спрашивает, как вас зовут. Знакомо? Классические векторные хранилища решают только часть проблемы. Они похожи на архив, где документы лежат в одной куче без связей, времени и приоритетов.
Вот вам инструмент, который заставит агента помнить. Не просто хранить, а понимать контекст, вес доказательств и связи между фактами. AI-IQ - это система персистентной памяти, построенная на SQLite. Она не требует облаков, работает локально и умеет то, о чем другие хранилища только мечтают.
На 31 марта 2026 года AI-IQ обновлен до версии 0.4.x с поддержкой sqlite-vec 0.3.2 и новым API для автономной консолидации памяти. Если вы найдете туториалы 2024 года - они уже устарели.
Что внутри? Не просто база, а когнитивная система
Авторы не стали изобретать очередной wrapper для Chroma. Они собрали под одной крышей несколько мощных концепций, которые превращают SQLite в мозг агента.
- Векторный поиск на sqlite-vec. Теперь SQLite 3.47.1+ умеет в similarity search из коробки. Не нужен отдельный сервер.
- Байесовские убеждения. Каждое воспоминание имеет вес (belief). Система обновляет вероятность истинности фактов на основе новых свидетельств. Агент не путает гипотезу с законом.
- Граф знаний. Факты связаны отношениями: "подтверждает", "опровергает", "является примером". Это не плоский список, а сеть смыслов.
- Автономная консолидация. Фоновый процесс анализирует память, находит противоречия, укрепляет сильные связи и забывает мусор (похоже на MemV, но встроен прямо в ядро).
- Полнотекстовый поиск FTS5. Старый добрый поиск по ключевым словам, который отлично работает в тандеме с векторами.
Сравнение: чем AI-IQ бьет по больному месту
Посмотрим на альтернативы. Chroma, Qdrant, Pinecone - отличные векторные базы. Но они созданы для RAG, а не для долгоживущего агента. У них нет понятия времени, уверенности или семантических связей.
| Инструмент | Плюс | Минус для агента |
|---|---|---|
| Chroma (локальная) | Простота, Python-first | Нет графов, нет мета-рассуждений. Память - это свалка эмбеддингов. |
| SQLite + векторы (вручную) | Полный контроль, персистентность | Нужно писать тонны кода для байесовской логики и консолидации. Вы изобретаете велосипед. |
| AI-IQ | Готовый когнитивный слой, автономная работа | Молодой проект, документация иногда отстает. Зато живые разработчики в Telegram. |
Если вам нужен просто кэш для RAG - берите Chroma. Если строите агента, который должен рассуждать и учиться на протяжении недель - AI-IQ сэкономит месяцы разработки. Это следующий шаг после базовой графовой архитектуры на SQLite.
Ставим за пять минут. Без боли
Предполагаю, что Python 3.11+ у вас уже есть. Если нет - как вы вообще живете?
1 Установка ядра
pip install ai-iq
Команда потянет за собой sqlite-vec (расширение для векторных операций), numpy и несколько других зависимостей. Если видите ошибку с компиляцией sqlite-vec - убедитесь, что у вас установлены dev-пакеты для SQLite. На Ubuntu это libsqlite3-dev.
2 Первая база памяти
from ai_iq import AgentMemory
# Создаем или подключаем базу
memory = AgentMemory(db_path="./my_agent_brain.db")
# Инициализируем схемы (таблицы, векторы, графы)
memory.initialize()
Файл БД появится на диске. Внутри уже будут таблицы для фактов, связей, векторные индексы и служебные данные. Не лезьте туда руками через SQLite Browser - можете сломать внутренние индексы. Используйте API.
3 Кормим память фактами
# Добавляем воспоминание с текстом и метаданными
fact_id = memory.add_fact(
content="Пользователь любит зеленый чай с жасмином.",
source="dialogue_2026_03_31",
initial_belief=0.8 # Начальная уверенность (от 0 до 1)
)
# Добавляем связанный факт
related_id = memory.add_fact(
content="Зеленый чай содержит антиоксиданты.",
source="knowledge_base"
)
# Создаем связь в графе знаний
memory.add_relation(
from_id=fact_id,
to_id=related_id,
relation_type="SUPPORTS" # Факт 2 поддерживает факт 1
)
Теперь в памяти не просто два текста. Есть осмысленная связь. Когда агент будет вспоминать про чай, он может захватить и информацию об антиоксидантах.
Используем в деле: поиск, обновление, консолидация
Вот как это выглядит в работе автономного агента.
Гибридный поиск с учетом уверенности
# Агент думает: "Что я знаю о чае?"
results = memory.search(
query="чай зелёный предпочтения",
search_type="hybrid", # Объединяет FTS5 и векторный поиск
belief_threshold=0.3, # Игнорировать факты с уверенностью ниже 0.3
limit=5
)
for fact in results:
print(f"Уверенность: {fact.belief:.2f} | Текст: {fact.content}")
# Если нужно, можно получить связанные факты
related = memory.get_related_facts(fact.id)
Агент учится: обновление убеждений
Пользователь говорит: "Кстати, я теперь пью только улун". Агент должен понизить уверенность в старом факте и добавить новый.
# Находим старый факт (предыдущим поиском или по ID)
old_fact_id = fact_id # из примера выше
# Обновляем уверенность (байесовское обновление)
memory.update_belief(
fact_id=old_fact_id,
new_evidence_strength=0.2, # Слабое свидетельство против
evidence_type="CONTRADICTS"
)
# Теперь уверенность в старом факте упала с 0.8 до ~0.5
# Добавляем новый факт
new_fact_id = memory.add_fact(
content="Пользователь сейчас предпочитает улун.",
source="dialogue_update",
initial_belief=0.9
)
# Создаем связь "заменяет"
memory.add_relation(old_fact_id, new_fact_id, "REPLACES")
Волшебство автономной консолидации
Включите фоновый процесс (например, в отдельном потоке), который будет периодически "уплотнять" память.
# Запускаем консолидацию вручную (или по расписанию)
memory.consolidate()
# Что происходит внутри:
# 1. Система ищет факты с низкой уверенностью (< 0.1) и архивирует их.
# 2. Находит противоречия (факты A и B с высоким belief, но связь CONTRADICTS).
# 3. Укрепляет связи между фактами, которые часто вспоминаются вместе.
# 4. Пересчитывает векторные кластеры для более быстрого поиска.
Это похоже на сон человека. Без этого память превращается в информационный шум. Механизм очень полезен для агентов, которые работают неделями, как в долгоживущих автономных архитектурах.
Кому заходить, а кому пройти мимо
AI-IQ - не панацея. Он решает конкретную проблему сложными методами.
Берите AI-IQ, если вы:
- Строите локального агента на мощных локальных моделях типа Kilo Code, и ему нужна память между сессиями.
- Хотите, чтобы агент умел рассуждать с учетом вероятностей ("скорее всего, пользователь имеет в виду X").
- Готовы разбираться с немного сырым, но перспективным инструментом. Документация есть, но не идеальна.
- Цените минимальные зависимости (SQLite + Python). Не хотите поднимать отдельный сервер для памяти.
Не тратьте время, если:
- Вам нужен просто кэш для RAG-системы. Возьмите LanceDB или Chroma.
- Работаете в продакшене с высокими нагрузками на запись. SQLite может стать бутылочным горлышком.
- Ищете готовый SaaS с графическим интерфейсом. AI-IQ - это библиотека для разработчиков.
- Ваш агент живет только в одном сеансе (память не нужна после перезапуска).
Что дальше? Память становится стандартом
На 2026 год тренд очевиден: тупые агенты с гигантскими контекстными окнами проигрывают умным агентам с долгосрочной памятью. Зачем забивать 200К токенов в промпт, если агент может хранить годами накопленный опыт в 50 МБ SQLite-файле?
AI-IQ - один из первых шагов к стандартизации этого слоя. Пока он выглядит как нишевый инструмент для энтузиастов. Но через год, когда появятся конкуренты, а API стабилизируется, он может стать такой же must-have библиотекой для агентов, как LangChain в 2023-м (да, я знаю, что многие его ненавидят, но факт есть факт).
Мой совет: поставьте его на тестового агента сегодня. Даже если в продакшене вы пока не готовы. Поиграйте с belief и графами. Потому что когда ваш конкурсный агент начнет вспоминать, что полгода назад пользователь просил "сделать темную тему", а ваш будет спрашивать "какую тему?", разница станет болезненно очевидной.
Исходный код AI-IQ открыт на GitHub. Если нашли баг - создавайте issue. Разработчики активны. Это тот случай, когда можно повлиять на развитие инструмента, которым будете пользоваться.