2 из 52 мин

Как LLM получила доступ к моему Obsidian

После того как я разделил проектную память и выполнение, появилась следующая проблема.

В Obsidian уже находилась вся нужная информация о проектах: архитектура, планы реализации, технические паспорта, история решений, Canvas и связанные документы.

Но языковая модель эту память не видела.

Пока я сам не вставил нужный файл в диалог, для модели его фактически не существовало.

Можно было каждый раз вручную искать implementation_plan.md, копировать нужные заметки, добавлять связанные документы и объяснять, где сейчас находится проект.

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

Мне нужен был доступ к реальному Obsidian, а не очередная копия его содержимого внутри чата.

Так в системе появился MCP.

В моём случае MCP-сервер работает как интерфейс между языковой моделью и Obsidian.

Он даёт модели набор конкретных инструментов: посмотреть структуру проекта, найти заметку, выполнить поиск по vault, прочитать файл или изменить обычную заметку по прямому запросу.

При этом весь Obsidian не загружается в модель целиком.

LLM получает только инструменты, через которые может сама добраться до нужной информации.

Например, если я спрашиваю, что сейчас происходит в конкретном проекте, модели не нужно заранее передавать весь проект.

Она может найти его, открыть implementation_plan.md, при необходимости обратиться к decisions_log.md или другим связанным документам и только после этого сформировать ответ.

Технически между моделью и файлами находится ещё один слой.

MCP-сервер обращается к Obsidian через Local REST API, а уже Obsidian работает с реальным vault на моём Mac.

Получается такая цепочка:

LLM

MCP server

Obsidian Local REST API

Obsidian vault

Для меня здесь важен сам принцип.

Проектная память остаётся в файлах и продолжает быть source of truth.

LLM не хранит отдельную копию состояния проекта и не требует, чтобы я каждый раз вручную собирал для неё контекст.

Она получает возможность обратиться к памяти тогда, когда эта память действительно нужна.

Именно после этого Obsidian для меня окончательно перестал быть просто местом, где лежат заметки.

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

Сейчас этот MCP-контур остаётся моим основным способом доступа LLM к Obsidian.

Но сам вызов инструмента скрывает довольно много интересной механики.

В следующем посте разберу, что на самом деле происходит, когда LLM ищет что-то в моей памяти: как она выбирает инструмент, как запрос проходит через MCP и почему модель не получает весь vault одним большим контекстом.

Оглавление серии
  1. Почему я разделил память и выполнение
  2. Как LLM получила доступ к моему Obsidian
  3. Что происходит, когда LLM ищет что-то в моей памяти
  4. Как LLM добирается до локального Obsidian на моём Mac
  5. Где заканчивается MCP и что будет дальше