惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

月光博客
月光博客
C
Check Point Blog
博客园 - 司徒正美
D
DataBreaches.Net
Stack Overflow Blog
Stack Overflow Blog
MyScale Blog
MyScale Blog
人人都是产品经理
人人都是产品经理
博客园 - 三生石上(FineUI控件)
S
SegmentFault 最新的问题
大猫的无限游戏
大猫的无限游戏
Last Week in AI
Last Week in AI
H
Hackread – Cybersecurity News, Data Breaches, AI and More
宝玉的分享
宝玉的分享
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
雷峰网
雷峰网
博客园 - 叶小钗
Apple Machine Learning Research
Apple Machine Learning Research
云风的 BLOG
云风的 BLOG
A
About on SuperTechFans
P
Proofpoint News Feed
The GitHub Blog
The GitHub Blog
爱范儿
爱范儿
N
Netflix TechBlog - Medium
WordPress大学
WordPress大学

Все публикации подряд на Хабре

Ловим музу за клавиатуру: как айтишнику стать автором Что умеет Midjourney в 2026? Мой немного грустный разбор этого шикарного инструмента Никто не любит писать тесты, но ИИ может исправить это IPv8 выглядит как мечта. Поэтому почти наверняка не взлетит Производители вернули в продажу материнки с DDR3. Что происходит? Управление агентом с телефона через Telegram теперь в KodaCode От координации к лидерству: как меняется роль руководителя разработки Я сделала родителям бизнес вместо пенсии: зарабатываем 70 тысяч, мама не даёт продать В три раза быстрее приемка товара и оптимизация трудозатрат на 73%: как «РСТ-Инвент» помог Gulliver Group ИИ-шечный мир победил? О влиянии искусственного интеллекта на игропром Кремль снижает давление на Телеграмм пока Европа строит интернет по паспорту Как CEO, CTO и CIO за 8 часов собрали ИИ-директора, который умеет держать позицию под давлением Как (не) потерять домен за выходные Вместо 8 разных VPS: как я организовал практику студентам на одном сервере Почему твой Open Source проект не замечают? R&D: искусство управления неопределенностью в разработке AI-дефляция: вакансий для разработчиков больше, а рост зарплат — худший за 15 лет Мы отдали управление роботами OpenClaw. Что из этого вышло Галактический ID: система идентификации для всех форм разумной жизни Шесть основ бизнес-анализа: начинаем с вопроса «Кто в игре?» Код-ревью, в котором дело не в коде Данные переехали. Команда — нет Системной подход к сдаче OSWE в 2025 Почему комната управления реактором покрашена в цвет морской пены 4 YAML-файла вместо PySpark: как аналитикам строить пайплайны без разработчиков LLM-агент для поиска свободных доменов: автоматизируем подбор Когда, зачем и как правильно начинать новую сессию в Claude Code? Как я заставил нейросеть писать макросы для FreeCAD Анатомия ИИ‑агента для подбора персонала. От тысячи резюме к топ‑10 за минуты Опыт разработчика как экономика внимания
В поисках Мемо
Гусев Николай · 2026-05-07 · via Все публикации подряд на Хабре

В поисках Мемо

Средний

4 мин

9.8K

Ну или бесконечная борьба с ИИ-Альцгеймером

Я искал рабочее решение для памяти ИИ-агента с момента как поставил первый OpenClaw Перепробовал наверное почти всё и вот рассказываю, что и зачем искал, и к чему пришёл и как вообще до такой жизни докатился :)

С чего начал (почти)

Про OpenClaw не буду, слишком грустная история которая меня убедила что я тупой инженегр и мой удел писать в DeepSeek "А как какать? Объясни простыми словами"

Поставил Hermes Agent, (пошел прогрев на рекламу очень нужного всем ТГ канала :)) )

сказал «запомни» агент запомнил. Красота. Нет. Через неделю понял: красота, пока агент сам догадывается вызвать memory(). А если забыл всё по новой. А он забыл, он вообще вам ничего не обязан, тем более помнить и думать за вас, дежурно так сказать напоминаю.

Хотелось тяночку: после каждого ответа чтобы факты сохранялись сами. И чтобы анализы (Prism, ADR) не пропадали, а шли в базу знаний. Денег

MemPalace

Первое, что я попробовал MemPalace. Звучало как архитектура да еще и от Милы Йовович, у меня не было шанса не попробовать: комнаты, коридоры, туннели между концептами. Поставил, запустил индексацию. Получил 58 тысяч чанков на 1.1 гигабайта. 96% из них — дубликаты того, что уже лежало в state.db.

MemPalace оказался тяжёлым, невстроенным и, главное, ненужным в моем случае. Я даже написал статью «Память: 80 строк и один cron» — про то, как отказался от многослойной архитектуры в пользу простоты. Я оставил MemPalace как артефакт и перестал думать, что память ИИ-агента это сложно. (Вру - это сложно)

Четыре компонента

После MemPalace у меня было четыре компонента памяти, каждый со своей задачей:

  • MEMORY.md + USER.md — файлы с фактами, которые агент читает при старте

  • state.db (SQLite FTS5) — поиск по истории сессий

  • HippoRAG — граф знаний с ассоциативным поиском

  • wiki-файлы — структурированные анализы

Четыре сервиса, четыре точки отказа, четыре способа сказать «я не помню».

Я сократил до двух: MEMORY.md для быстрых фактов (инжектятся в промпт) и state.db для поиска (session_search, assoc_search). HippoRAG оставил как опциональную надстройку. Wiki — отдельно, по необходимости.

Первая попытка: findings_to_wiki

Написал MemoryProvider, который в sync_turn() сохраняет факт в MEMORY.md. Триста строк Python. Назвал findings_to_wiki.

Код https://gist.github.com/NikolayGusev-astra/446bff15a8bd76e4151a1c72d05c5ffe

Если в ответе есть структурированный анализ — детектится по заголовкам (## Findings, ## Decision, ## Conservation Law).

Примечание : паттерны детекции настраиваются через config.yaml, можете подставить свои.

Сырые файлы сохраняются в ~/wiki/raw/auto-findings/. Потом built-in skill research/llm-wiki превращает их в полноценные wiki-страницы: frontmatter, cross-links, index.

Zero зависимостей. Файлы открываются блокнотом. Ничего не падает, потому что ломаться нечему.

Масштабирование

Видел вчера пост от FlowWow

В лоб вижу что им агент нужен но у них своя специфика, ну и пошел думать как туда hermes agent бы встал, спойлер в идеале допилить немного напильником и как родной, Проблема только в мультитенантности памяти.

  • MEMORY.md — один файл на всех. Контаминация диалогов: факты одного пользователя подмешиваются в контекст другого

  • wiki-файлы — общая куча. Анализы по проекту A видны при обсуждении проекта Б

  • Нет per-user изоляции — данные одного пользователя видит агент другого

  • Нет поиска по содержимому, кроме линейного сканирования

Чем заменить подумал ну и логичный вопрос а "а какой бизнес кейс решаем, какие метрики успеха?" А где еще такие задачи? И логичный ответ - Логиже!!!

ClickHouse

ClickHouse я знаю, я на нём логи агрегировал. ИИшники даже не смотрят в сторону observability-инструментов. У них нет привычки работать с log DB. ClickHouse для них «база для аналитики» максимум и вообще что-то на старперском :) "Мы такие вещи с клодом за неделю пишем нафиг нам твое вонючее старперское легаси" А для меня это очевидный кандидат: log DB уже умеет всё, что нужно. Если что у меня и павербанков штук пять и набор проводов для зарядников есть и фильмы я качаю а не онлайн смотрю :))

В 24.x появилось то, что делает ClickHouse полноценным memory backend:

  • cosineDistance() — векторный поиск для RAG

  • tokenbf_v1 (или text index в 26.2+) — текстовый поиск по словам

  • MATERIALIZED VIEW — агрегация без внешних воркеров

  • TTL — забывание старых данных по расписанию

  • PARTITION BY user_id — нативная изоляция пользователей

Одна таблица agent_memory(user_id, timestamp, content, embedding, metadata) заменяет в принципе все

Итого:

Solo

user -> agent -> findings_to_wiki -> MEMORY.md (авто-факты)
                                 -> wiki/raw/auto-findings/
                                      |
                               research/llm-wiki -> wiki/concepts/
  • 300 строк Python, stdlib

  • Файлы открываются блокнотом

  • Один пользователь, один агент

  • Сложность: установил и забыл

Enterprise

user -> agent -> ClickHouse Memory Provider -> agent_memory
                                               |
                               cosineDistance / tokenbf / TTL
  • ClickHouse 24.x, отдельный сервер

  • 100+ пользователей, PARTITION BY user_id

  • TTL по расписанию

  • Одна таблица вместо пяти компонентов

Параметр

Solo

Enterprise

Пользователей

1

100+

Хранение

Файлы

ClickHouse

Поиск

session_search (FTS5)

cosineDistance + tokenbf

Забывание

LRU по limit

TTL по расписанию

Изоляция

Файловая

PARTITION BY user_id

Ресурсы

0

8+ ГБ

Зависимости

stdlib

ClickHouse 24.x

Сразу отвечаю на ответы

«ClickHouse для памяти — избыточно.»
Для одного пользователя да. Для ста нет. Solo-архитектура существует именно для этого случая.

«А ClickHouse Memory Provider существует?»
В разработке. Надо его где-то развернуть и поэмулировать. Статья про направление, не про готовый продукт.

«ClickHouse жрёт 8 ГБ, зачем?»
ClickHouse - сервис. Если он уже стоит для логов одна таблица не требует нового инстанса.

«А как же Qdrant / ChromaDB / Pinecone?»
Они решают задачу поиска по миллионам векторов. ClickHouse покрывает и текст, и векторы, и TTL, и партишены всё в одном.

до сюда никто все равно не дочитает так что реклама канала

https://t.me/hermesagentru

https://t.me/hermesagentru


Код findings_to_wiki — gist + PR #21139 в репозиторий Hermes Agent
ClickHouse Memory Provider — в разработке