«Второй мозг»: имплант памяти для агента

В посте про Hermes я рассказывал, как у «второго мозга» появилась вторая голова — Ви, агент в облаке, с которым я общаюсь через Telegram. Ви знает, кто я, чем занимаюсь и какие у меня проекты.

Но знает довольно своеобразно.

Записная книжка вместо памяти

У языковой модели нет памяти в человеческом смысле. Есть контекстное окно — рабочий стол, на который выкладываются текущий разговор, документы и инструкции. Что не лежит на столе, того для модели не существует. Закончилась сессия — стол убрали.

Чтобы агент не знакомился с тобой каждое утро заново, у Hermes есть встроенная память. Устроена она как записная книжка: записал факт — достал факт. Для «Константин пьёт кофе без сахара» хватает. А вот найти запись по смыслу, разложить память по темам или держать под рукой библиотеку документов записная книжка не умеет. Скормить агенту все заметки целиком тоже не выйдет: файлы памяти не резиновые.

Провайдер памяти

Hermes умеет подключать внешних провайдеров памяти. Это отдельная база, которая работает рядом с агентом: агент думает и действует, база обеспечивает хранение, категоризацию и поиск. Как если бы к сотруднику с хорошими навыками анализа и синтеза знаний приставили библиотекаря.

Я выбрал OpenViking — open-source проект Volcengine. Не хотелось, чтобы моя память уезжала куда-то в облака, учитывая нынешнюю нестабильность коммуникаций, так что выбирал из того, что можно развернуть локально.

Что он умеет, если по-человечески:

  • Семантический поиск (по смыслу). Как он устроен, я разбирал в посте про цитаты. Тогда пришлось колхозить своё решение, тут он уже встроен. Но подключить по-нормальному получилось не сразу.
  • Трёхслойная индексация. У каждого документа три уровня: одно предложение «о чём это», обзор на страницу и полный текст. Агент пролистывает аннотации, у четырёх-пяти читает обзор и целиком открывает один-два документа. Экономия контекста. Современные модели умеют искать нужное без чтения файлов целиком, но без семантического поиска это не так эффективно.
  • Из разговора выделяются знания. При переключении, завершении сессий, а также при накоплении большого объёма контекста включается механизм асинхронного извлечения значимых фактов и рабочих договорённостей в долговременную память.
  • Категоризированная память. Без категоризации память похожа на длинную переписку: чтобы вспомнить предпочтение или решение, нужно заново искать и понимать его среди множества реплик. Категории задают структуру и назначение информации. Также есть механизм связей между категорями, сессиями и связанными документами.

Условный пример:

Сказано в разговореКатегория
«Я работаю архитектором»профиль
«Пью кофе без сахара»предпочтения
«Новый проект — Ребрендинг снапшотов в бэкапы»сущности: проекты, люди и т.д.
«Сегодня решили перенести запуск»события и решения
«Этот подход не работает»опыт

Разовая проверка эффективности показала, что

69 из 84 обращений к памяти — не поиск, а прямой URI: browse по категориям (46) и read по конкретному файлу (23)

— Ви

Пример использования в рабочем контексте

Как сказано выше, к OpenViking можно подключать ресурсы — директории или git-репозитории с документами для семантического поиска. Что мог придумать библиоманьяк, обнаружив такой механизм в своей песочнице? Правильно, сделать базу знаний на основе книг. Рассудив, что не на базе всех вообще книг, а хотя бы на одной категории — техническая литература.

Оказалось, книгу целиком в базу не загрузишь: индексация падала уже на средних заметках. Её нужно разобрать на небольшие документы по главам. Для этого я написал маленький инструмент ovbook. EPUB и FB2 он разбирает по собственной разметке книги: оглавление, разделы. С PDF сложнее, разметки там часто нет, и заголовки пришлось угадывать по шрифту: строка заметно крупнее основного текста — скорее всего, начало главы. Не все PDF читабельны для агента, так что некоторые пришлось распознавать через OCR. После этого — чистка мусора: колонтитулы, служебные страницы, кракозябры после распознавания. На выходе каждая глава лежит отдельным md-файлом рядом с карточкой книги.

Для проверки я накидал туда несколько книг: «Чистую архитектуру», учебники по ООП и Python, «Пользовательские истории» Паттона, «Системное мышление». И тут сама модель обратила моё внимание на один момент. Базовые темы — ООП, синтаксис языка, лучшие практики — она знает и так. Уверенно галлюцинирует она в другом: в хардкорных описаниях механизмов, протоколов и особенностей реализации конкретных решений. Там она сочиняет детали, которые звучат правдоподобно.

У библиотеки немного поменялся профиль. В неё пошли всякие спецификации Fibre Channel, SCSI, архитектура SAS, дедупликация в высокопроизводительных хранилищах.

Дальше нашлось логичное прикладное применение. В работе я использовал конвейер, в котором ИИ-агенты по краткому описанию фичи и моим ответам на вопросы готовили продуктовую документацию: требования (PRD), критерии готовности, архитектурный набросок. В каждом PRD есть раздел анализ конкурентов, и было бы логично, чтобы агент сам находил похожий функционал у AWS и Google Cloud. Причём опирался на их документацию, а не на свои представления о том, как они могли бы это сделать.

К концу июля в ov-lib было 22 источника и 4527 файлов, примерно 95% — документация AWS и Google Cloud. Справочник API Amazon EC2 пришлось не просто нарезать, а прям нашинковать: по файлу на каждый из 1376 методов.

Как это использовалось

Я пишу короткий бриф: что за фича, зачем, контекст, ожидаемый результат, что в скоупе. Суть такая: дать пользователю возможность создавать диски, зашифрованные собственным ключом из сервиса управления ключами (KMS), а не системным ключом платформы. Это нужно банкам, медицине, госу: ротация по своему графику, отзыв ключа — данные недоступны, аудит использования.

Дальше работает конвейер. Первым идёт агент-аналитик. В его промпте прописан порядок исследования: подключить инструменты OpenViking, прочитать оглавление и глоссарий базы знаний, искать по ключевым терминам из брифа, читать найденное. ov-lib подключена к тому же OpenViking как ресурс, так что поиск захватывает и документацию облаков.

Шаг 1. Термины из брифа уходят в поиск по смыслу: «шифрование дисков», «ключ клиента», «отзыв ключа».

Шаг 2. Аннотации. Возвращается десяток однострочных описаний — пара сотен слов вместо тысяч страниц:

  • gcp-compute-engine-docs/disks/customer-managed-encryption — шифрование дисков и снимков ключами клиента в Cloud KMS
  • gcp-compute-engine-docs/disks/customer-supplied-encryption — шифрование ключом, который клиент передаёт сам
  • gcp-compute-engine-docs/disks/disk-encryption — обзор вариантов шифрования дисков
  • amazon-elastic-compute-cloud-api-reference/535-modifyebsdefaultkmskeyid — смена ключа шифрования по умолчанию
  • amazon-elastic-compute-cloud-api-reference/443-enableebsencryptionbydefault — включение шифрования по умолчанию
  • amazon-elastic-compute-cloud-api-reference/141-createvolume — создание диска, в том числе с указанием ключа
  • …

Шаг 3. Обзоры и полный текст. Обзоры — у пяти подходящих, целиком — два документа.

Шаг 4. После моих уточнений пишет PRD. В разделе «Анализ конкурентов» появляется:

AWS. В каждом регионе есть ключ, которым диски шифруются по умолчанию; клиент может заменить его своим. Поддерживаются только симметричные ключи. Если клиент удалит или отключит свой ключ, новые виртуальные машины перестанут запускаться. (EC2 API Reference, ModifyEbsDefaultKmsKeyId)

Google Cloud. Своими ключами шифруются диски, образы машин и снимки дисков. Сервис ключей можно держать в том же проекте, что и машины, или в отдельном. Есть второй вариант — клиент передаёт ключ сам, без сервиса ключей. (Compute Engine docs, customer-managed-encryption, customer-supplied-encryption)

Последний шаг — ровно то, ради чего всё затевалось.

Чем закончилось

В июле закончилась моя работа в MWS. Вместе с ней ушли бесплатные ресурсы песочницы, в которой жили Ви и OpenViking, потребность анализировать документацию конкурентов и доход. Пришлось перейти в режим экономии. Ви переехала в другое облако, сетап урезан до необходимого, OpenViking пока там не поднимал. Конвертер и ov-lib лежат на GitHub: вернётся задача — будет с чего начать.

Выводы

Агенту можно расширить память. Встроенной хватает, чтобы он знал, как тебя зовут и как ты предпочитаешь общаться. Провайдер памяти значительно увеличивает её (памяти) возможности.

Сам «второй мозг» — Obsidian-хранилище с заметками — по сути, тоже является расширением памяти агента, потому и называется «вторым мозгом». Но провайдеры памяти — как импланты — добавляют возможности и снижают затраты (время, контекст, токены).

Наполнять базу знаний стоит тем, чего модель не знает. Учебники по Python ей не нужны. Нужна документация, в которой она без источника начнёт фантазировать.

«Второй мозг»: оживить кладбище цитат

С 2012 года я начал сохранять цитаты из прочитанных книг. За четрынадцать лет у меня накопилось 342 заметки с цитатами из книг, всего чуть более 6 000 цитат. Больше половины — развёрнутые мысли, примерно каждая десятая — результат исследования или эксперимента, ещё столько же — диалоги. Немного статистики:

  • Объём: 342 книги, около 6 000 цитат, примерно 490 тысяч слов. Это толстый роман в несколько томов, уровня «Войны и мира». Медианная цитата — 59 слов, то есть абзац, а не афоризм. 94% книг на русском.
  • По годам: пик пришёлся на 2016–2017, это 2 000 цитат, треть всего архива. После 2020 года провал до 70–160 цитат в год, с 2024-го снова рост.
  • Жанры: бизнес — 94 книги, психология — 47, фантастика — 44, научпоп — 43, художественная проза — 31, фэнтези — 20. Художественные книги — почти треть полки, но дают только 19% цитат.
  • Больше всего цитат у Кара-Мурзы («Манипуляция сознанием», 87), истории психологии (85), Выготского (70), Вилкинсона про фасилитацию (69) и Харари (65).
  • Темы: управление командой — 42, лидерство — 31, разработка ПО — 27, самопознание — 27, коммуникации — 19, когнитивные искажения — 15.

Вроде бы полезный багаж. Но с довольно неопределённым сценарием использования.

Регулярно перечитывать всё подряд казалось странной активностью. При этом идея «кладбища цитат», куда я аккуратно складываю чужую мудрость и больше никогда к ней не возвращаюсь, тоже не радовала.

Хотелось, чтобы эти записи иногда возвращались ко мне сами.

Далее

Вторая голова «второго мозга» — Hermes assistant

В предыдущем посте я рассказал, как собрал «второй мозг» на базе Obsidian и Claude Code: единое хранилище проектов, заметок, контактов и результатов встреч, с которым AI-агент умеет работать по заданным правилам.

Но у этой системы оставалось ограничение.

Claude Code живёт на моём компьютере. Чтобы с ним поработать, нужно сесть за ноутбук, открыть приложение и запустить сессию. А значительная часть мыслей, вопросов и новых материалов возникает, разумеется, где угодно, кроме рабочего места.

Так у меня появилась Ви — Hermes Agent в облаке, с которым я общаюсь через Telegram.

Далее

«Второй мозг»: Claude Code + Obsidian

Где-то с начала этого года меня накрыло потоком рабочих активностей, потребностей, ожиданий и вопросов формата «а почему вот это ещё не сделано?». В роли технического продакта я был без малого полгода, но окружающих это волновало мало. При этом как истинный представитель переходного поколения X/Y, я считал, что должен разобраться, охватить всё и ничего не потерять.

Голова перестала справляться.

Далее

Нейрохимия сна, влияние алкоголя и REM-рикошет

Введение

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

Накопилось много стресс-факторов — профессиональных, бытовых, «отношенческих», экзистенциальных. и это на фоне ощущения внутренней перестройки организма, возникшее по достижению возраста 40+, отчасти напоминающее подростковый период: общее состояние «плохо, одиноко, грустно», при том что рационального объяснения этому состоянию найти не удавалось.

К этому добавилось ощущение провала в профессиональной самореализации, что привело к ощущению бессмысленности бытия и подтолкнуло к различным формам эскапизма: залипанию в телефон, чтению новостей, просмотру бестолковых фильмов и сериалов, вечерам с бокалом‑другим негрони. Ситуацию усугубляло то, что появилась возможность покупать качественный, вкусный алкоголь — пить его было просто приятно.

При этом привычка осознавать и критически оценивать своё поведение и его последствия никуда не делась. К концу прошлого года я, наконец, нашёл команду и проект, в котором мои навыки, опыт, интерес к анализу и исследованиям, а также необходимость быстро и глубоко осваивать новые области оказались востребованы. Работа снова начала приносить внутреннее вознаграждение — интерес стал продуцировать собственный дофамин. Одновременно появилась потребность в долгосрочной ясности ума.

В какой-то момент стало очевидно, что вред от алкоголя начал перевешивать его краткосрочную «пользу». Я перестал его употреблять.

И обнаружил, что не могу спать.

Формально всё выглядело нормально: ощущение потребности во сне было, физическая усталость присутствовала. Но ночь превращалась в череду ворочаний, поверхностных провалов в странное состояние полусна‑полубодрствования и непродолжительного сна с яркими, как правило негативными и тревожными сновидениями, из которых регулярно приходилось просыпаться.

Попытка разобраться в происходящем вывела меня на тему механизмов сна, нейромедиаторного баланса и эффекта, с которым мне, как оказалось, довелось столкнуться на собственном опыте — REM‑рикошета.

Далее

Путь поиска гармонии через протокол: айкидо в условиях соревнований

«Как только ты начинаешь задумываться о том, кто “хорош” или “плох” среди других людей, ты открываешь в своём сердце дверь для злобы. Испытывая, соревнуясь и критикуя других, ты ослабляешь и побеждаешь самого себя.»

— Морихэй Уэсиба — «Искусство мира»

Соревнования и состязания резко контрастируют с ключевой идеей «Масакацу Агацу» (正勝吾勝, истинная победа — это победа над собой) основателя Морихэя Уэсибы (см. эпиграф). И если такие направления, как Реальное айкидо, Айкидо Ёсинкан и Томики айкидо, уже некоторое время успешно проводят турниры, представители Айкидо Айкикай (классической школы) долгие годы игнорируют тренд.

Далее

Когда коучинг превращается в инфоцыганство: негативный опыт обучения в «Академии 5 призм»

Что такое коучинг?

Коучинг — это процесс помощи людям в раскрытии их потенциала, постановке и достижении личных и профессиональных целей. Он базируется на специальных подходах и техниках, которые помогают клиенту найти ответы на важные вопросы, осознать свои потребности и определить стратегию действий. Есть много разных методик и направлений и инструментов: от классических подходов, таких как GROW и SMART, до более современных моделей, интегрирующих психологию и нейронауку.

Продолжить чтение «Когда коучинг превращается в инфоцыганство: негативный опыт обучения в «Академии 5 призм»»

Новые локации: через Доху в Сеул

На тему отпуска с детьми сказано много. Как правило, негативного и горько-ироничного. В том плане, что это мало связано с отдыхом. Тут, видимо, что считать отдыхом. Но ощущаю, что очень важны именно совместные новые впечатления в формате «все вместе». Временное воссоединение в Ереване для меня таковым не является, поскольку Ереван для Ксю и детей уже домашняя локация, да и для меня уже впечатлений там не густо.

И вот, значит, Сеул — опыт и впечатления семейного отпуска. Будет много фото, но хотелось вставить ещё больше.

Далее

Функции и навыки современного менеджера

Невозможно быть ответственным за чьё-либо поведение. Я говорил, что я отвечаю за нашу группу. Не совсем так. Самое большое, что я или любой другой руководитель могли бы сделать, — это только заставить каждого нести ответственность за свою собственную судьбу.

Роберт Хайнлайн — «Свободное владение Фарнхэма»

Времена, когда менеджеру просто нужно было делегировать задачи и контролировать их исполнение, остались позади. Те времена характеризовались централизованным принятием решений, что естественным образом вело к тому, что в руководители выдвигался самый продвинутый специалист — тот, кто мог формировать лучшие решения и контролировать их исполнение. Этот подход всё ещё имеет силу, хотя в современном высокодинамичном мире вредит больше, чем помогает.

В наше время, когда слишком быстро всё меняется — рыночные условия, технологии, социально-экономические ситуации — большое значение имеют гибкость, адаптивность и скорость принятия решений. В данном контексте подход «централизованный мозг плюс миньоны» проигрывает «распределённым вычислениям» — варианту, при котором используются интеллектуальные ресурсы всех участников, что повышает скорость и гибкость.

Далее

«Атака мертвецов» или куда заводит музыка

And that’s when the dead men are marching again

The Attack Of The Dead Men
Sabaton

Намедни имел место типичный вечер — сижу дома, делаю домашку по программированию, слушаю «волну», которая по версии Яндекса должна быть моей — поток музыки, предположительно на основе моих интересов. Обычно там не то чтобы прям мои интересы, но по крайней мере отвращения не вызывает — идеально подходит для фона, когда надо внимание на чём-то другом фокусировать.

Внезапно моё внимание переключается на слова из песни. Отдельный интерес — как и почему такое происходит, но это осталось неведомым. Зацепила конкретная строка:

Hundred men, charge again, die again

Далее