Контекст-наборы и пины
Когда агент зовёт start_session, он получает не всю базу, а курируемый вами стартовый контекст. Раздел Agents → Context — это конструктор стартового контекста: здесь вы решаете, что именно агент видит на старте: какие заметки грузятся всегда (пины), какие переиспользуемые пачки подключены к области (контекст-наборы) и какие категории памяти приглушены. Тег-пины и приглушение памяти — file-first: они живут во frontmatter заметок и переживают повторный клон репозитория. Контекст-наборы и кросс-спейс пины хранятся в служебной БД (осознанная оговорка: повторный клон на чистый хост и режим none их не переживают).
Пины always-load
Пин — это ручная пометка «грузить всегда» (членство в теге always-load, а не очередность). Пины работают на двух осях:
- Личная — заметки личного домена попадают в
profile.alwaysLoadи грузятся при каждой сессии. - Проектная — заметки поддерева помеченного проекта попадают в
project.alwaysLoadи грузятся, когда агент работает в этом проекте (хинтproject).
Пин привязан к месту заметки: заметка в личном домене пинится в профиль, заметка в поддереве проекта — в бандл проекта. Конструктор показывает ровно то, что реально загрузит агент, — курация на сервере и в превью считается одним и тем же кодом.
Контекст-наборы — кросс-спейс пачки
Тег always-load привязывает пин к одному пространству. Контекст-наборы снимают это ограничение: это именованная переиспользуемая коллекция ссылок на заметки, которую можно подключить к другой области.
Типичный сценарий: вы собрали набор «Фронт-конвенции» из заметок общего пространства conventions и подключили его к проектам в другом пространстве. Все сессии этих проектов получают эти заметки, а правите вы набор в одном месте — обновилось везде.
Есть и облегчённый вариант — кросс-спейс loose-пин: одна заметка, запиненная напрямую в область из другого пространства, без обёртки-набора. Тег always-load остаётся для same-space пина; наборы и loose-пины — для кросс-спейс. Все сосуществуют, дедуп идёт по note-id.
Набор живёт в своём родном пространстве, и членство там даёт видимость и правку. Личный набор подключается только к вашему личному домену; общий набор (из общего пространства) — к личному или к любому проекту. Подключить личный набор к проекту нельзя — он грузил бы контекст только вам.
Порядок = приоритет загрузки
Порядок пинов и наборов в списке — ваш (drag-and-drop), не производный. Он задаёт приоритет: что выше — грузится первым и обрезается последним при упоре в токен-бюджет. Пины и наборы ранжируются в одном пространстве порядка (набор можно поднять выше пина). Общий порядок загрузки: пины → наборы → память (специфичное перевешивает общее), затем лишнее обрезается по бюджету области.
Приглушение памяти (mute)
Память агента грузится в контекст по умолчанию. Если категория шумит — точечно приглушите её (mute). Приглушение убирает память отовсюду, где она попадает к агенту сама, без явного запроса:
- личный профиль, который грузится сразу при
start_session; - сборка бандла
recall; - словарь категорий в
start_session(project).knownValues.
search не фильтрует mute: он индексирует память именно для дедупа «искать перед записью». Иначе агент не нашёл бы приглушённую категорию и пересоздал бы дубль. Mute — это приглушение авто-контекста, не удаление: явный поиск и аудит по-прежнему видят всё. Реверс — Unmute на той же оси.
Единый токен-бюджет
Над секциями конструктора — одна шкала загрузки, строго равная бюджету текущей области. Личный ответ несёт один бюджет (сперва пины, потом память); проектный — свой бюджет, где сперва идут проектные пины, а личный фон встраивается в остаток. Загруженное всегда ≤ бюджета, а обрезка видна поэлементно. Проектная память не грузится сразу, а подтягивается по запросу; если конкретный факт проекта нужен всегда — запиньте заметку.
Дальше
- Аудит извлечения — двойник конструктора во время работы: что агент реально достаёт.
- Память агента — как устроена память, которую вы приглушаете.
- Правила агента — вторая половина задачи: как добиться, чтобы
start_sessionвообще был вызван. - Интент-инструменты —
start_sessionи остальные инструменты.