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

Начинал я как все, со связки Obsidian и Claude.

Первые свои выводы начал делать после того, как загружено было 219 353 файла. Я не знаю как для вас, но для меня Obsidian теперь - это просто программа для просмотра, а не то что я раньше про него думал. Вся ценность всего этого массива моих данных - в трёх вещах: обычные текстовые файлы на диске, ссылки, перелинковки между ними и агент, который читает и пишет их напрямую.

Как это у меня устроено сейчас и сколько токенов на это потрачено

Цель у меня была сделать своего цифрового двойника. Систему, которая думает и отвечает как я, помнит всё, что помню я, и то, что я уже забыл. Для этого нужна правильно работающая память. Но не векторная база с блоками текста по пятьсот токенов, а нормальная, со структурой и историей.

Я поставил Obsidian, завёл хранилище, стал туда складывать заметки, документы, истории - да все подряд.

Чего я ждал от Obsidian, когда ставил его: что он станет местом, где живёт вся моя память; что граф будет моим рабочим инструментом, по которому я нахожу забытое, а не только картинкой, что дополнения которые есть в обсидиан, закроют всё, чего мне не хватало: свяжут заметки между собой, соберут из них таблицы и подключат к базе нейросеть; что синхронизация между машинами будет его заботой, а не моей; что агент сможет работать с базой через него.

Из этого сбылось только то, что граф действительно приятно смотреть, и заметки удобно читать глазами. Но Obsidian это не база знаний. Для меня сейчас это программа для просмотра папки с текстовыми файлами. Она красивая, с графом и плагинами.

Агенту для его работы Obsidian не нужен вообще. Claude Code читает и пишет эти файлы напрямую, без плагинов-мостов и без посредника. Синхронизация тоже обходится без облака Obsidian. Хорошо работает Syncthing, у меня шесть машин и на каждой есть полная копия данных

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

Наверное я сначала сделал ошибку (но многие ее делают) - я складывал в текстовые файлы всё подряд. Выгрузки переписок, логи, дампы. Хранилище быстро увеличивалось в объемах, поиск становился все хуже, а расход токенов увеличивался, тк надо было перебирать лишнюю информацию в поисках нужной.

Сейчас у меня хранение данных и работа с ними выстроена в три слоя

Первый слой - факты. Сырые данные лежат в базах SQLite. Здесь - архив телеграма за десять лет на 5.9 гигабайта, из них 958 014 сообщений написал лично я, плюс история браузера и счётчики. Вопросы «сколько», «когда» и «кто» решаются запросом к базе и стоят ноль токенов.

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

Третий слой - мысли. Мы с ИИ пишем выжимки: решения, правила, портреты людей, разборы. Вся сырая информация в ее массиве в хранилище не попадает вообще.

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

Но у меня есть обязательное правило - агент всегда должен поднимать контекст перед началом работы. Хотя наверное это база.

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

Второе правило: всё, что прошло через агента, сохраняется в хранилище. Каждый сохраняемый файл проходит четыре шага. Оригинал сохраняется как есть. С ним сохраняю заметку с описанием и указанием, откуда это взялось. Дальше поиск переиндексируется, иначе заметка есть, а найти её нельзя. И у заметки появляются ссылки на соседние.

Шапка у заметки выглядит примерно так:

---
title: "Профиль голоса Антона"
date: 2026-08-30
type: concept
source: voice_corpus.db (958 014 msgs)
machine: HP17-ZBook
tags: [voice, digital-twin]
---

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

Самое полезное (или просто показательное), что выросло из этой системы, это профиль моего голоса.

Скрипт без расхода токенов прошёл по всем 958 014 моим сообщениям за десять лет и собрал статистику: как я здороваюсь, какие у меня слова-паразиты, как я знакомлю людей между собой, как продаю, как напоминаю о себе. Теперь, когда агент пишет от моего имени, он сверяется с этим профилем, и не выдумывает свою стилистику а максимально подражает моей.

Сообщения после 2025 года пришлось считать отдельно. Тк часть из них уже писали роботы, а в 2025 они писали еще так себе. Поэтому их сообщения я исключал.

Цифры

219 353 текстовых файла в хранилище, считая выжимки переписок и встреч 280 отобранных концептов - ядро графа 5.9 гигабайта архива телеграма, 958 014 моих собственных сообщений 6 машин в синхронизации через Syncthing, без облака поиск по значению работает на моей видеокарте, токены тут не трачу.

Мои сложности:

  1. Когда одну папку пишут шесть машин, Syncthing плодит файлы-конфликты. Я вводил правило «один файл, один писатель» и добавлял скрипт-сторож, который считает конфликты и сообщает, когда их стало много.

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

  3. Файлы, которые грузятся в каждую сессию, это дорого. Я замерил: сам старт сессии дорос примерно до ста тысяч токенов. Пробую экономить: у каждого нового правила теперь меряю цену в токенах, и отдельный ночной процесс делает сжатие.

У меня логика выстроена: сырье в базу, смысл в поиск, мысли в текстовые файлы. Любое нарушение этой границы стоит денег.

Что в итоге

Спустя полтора года у меня есть память, которая не зависит ни от одного поставщика: обычные файлы на диске, обычный SQLite, открытый Syncthing. Obsidian можно заменить, Claude можно заменить, файлы останутся.

Агент каждое утро просыпается, уже зная контекст. Что мы решили. Кому обещали. Что пошло не так вчера.

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