Turbo Quant Memory зберігає знання проєкту доступними для пошуку без потреби тримати повний текст у живому prompt.
Ідея проста:
- записувати локально
- повертати компактно
- відкривати більше лише тоді, коли задачі справді потрібен ширший контекст
| Рівень | Що це означає |
|---|---|
| Один локальний MCP-сервер | Один stdio MCP-сервер обслуговує пам'ять для всіх підтримуваних клієнтів |
| Project-first зберігання | Нотатки за замовчуванням належать поточному репозиторію |
| Кероване глобальне перевикористання | У global потрапляють тільки явно промотовані знання |
| Compact-first retrieval | Агент спочатку просить найменшу корисну відповідь, а не весь сирий контекст |
Окремого memory engine під кожного агента немає. Клієнти використовують один серверний контракт і ті самі правила зберігання.
| Простір | Роль | Типово |
|---|---|---|
project |
Локальні знання і нотатки репозиторію | дефолтний запис |
global |
Повторно вживані знання між проєктами | тільки через промоцію |
hybrid |
Об'єднаний режим читання з сильним пріоритетом project |
дефолтне читання |
- Зберігає знання, прив'язані до одного репозиторію.
- Тримає рішення, уроки, handoff-и та патерни поруч із кодовою базою, яка їх породила.
- Є безпечним дефолтом для щоденної роботи.
- Зберігає знання, корисні поза межами початкового репозиторію.
- Наповнюється тільки через явну промоцію.
- Зберігає provenance до проєктної нотатки, з якої виросло правило або патерн.
- Об'єднує результати з
projectіglobal. - Віддає перевагу
project, коли релевантність близька. - Дозволяє перевикористовувати перевірені патерни без втрати прив'язки до поточного репозиторію.
Поточна ідентичність проєкту визначається в такому порядку:
- нормалізований URL
origin - fallback на hash кореневого шляху репозиторію
- явні overrides
Підтримувані overrides:
TQMEMORY_PROJECT_ROOTTQMEMORY_PROJECT_IDTQMEMORY_PROJECT_NAME
Це дозволяє зберігати стабільну project memory між сесіями й водночас дає контроль для нетипових способів запуску.
Сховище file-backed і local-first:
~/.turbo-quant-memory/
projects/
<project_id>/
manifest.json
notes/
<note_id>.json
global/
manifest.json
notes/
<note_id>.json
Нотатки та manifest-файли пишуться атомарно через тимчасовий файл і os.replace(...).
| Дія | Результат |
|---|---|
remember_note(..., scope="project") |
зберігає типізовану project-note |
прямий запис у global |
відхиляється |
promote_note(note_id) |
створює перевикористовувану global-копію з provenance |
deprecate_note(...) |
виводить застаріле знання з активного обігу без стирання історії |
Так global лишається невеликим, керованим і захищеним від випадкового змішування знань з різних проєктів.
semantic_search підтримує project, global і hybrid.
hybrid є дефолтом і працює так:
- об'єднує кандидатів з
projectіglobal - додає сильний bonus для
project - при близьких збігах віддає перевагу Markdown-блокам над нотатками
- фінально розв'язує нічию за пріоритетом
project, потім за новішимupdated_at, потім за стабільною ідентичністю
За замовчуванням пошук працює і по проіндексованих Markdown-блоках, і по persistent memory notes.
Кожен результат зберігає provenance у видимому вигляді. Компактний envelope містить:
scopeproject_idproject_namesource_kinditem_idblock_id, якщо hit походить із Markdownsource_pathtitleheading_pathupdated_atscoreconfidenceconfidence_statecompressed_summarykey_pointscan_hydratenote_kind, якщо це note-hitpromoted_from, якщо це промотована global-note
Дефолтний retrieval не повертає сирі excerpt-и або дампи цілих файлів. Це зменшує витрати токенів і переносить повніший контекст у явні hydration-виклики.
Hydration є явним і обмеженим:
| Режим | Поведінка |
|---|---|
default |
target item плюс невелике локальне оточення |
related |
target item плюс ширше, але все ще обмежене оточення |
Правила:
- Markdown hydration лишається в межах файлу.
- Note hydration повертає повне тіло нотатки разом із metadata.
- Агент має hydrate-ити контекст тільки тоді, коли компактної відповіді вже недостатньо.
Промотовані global-notes зберігають блок promoted_from, який вказує назад на:
- початковий scope
project_idджерелаproject_nameджерела- початковий
note_id - початковий
source_path
Завдяки цьому міжпроєктне перевикористання лишається простежуваним, а не непрозорим.
- писати в
project - читати через
hybrid - віддавати пріоритет першому явно релевантному
projecthit - викликати hydration тільки тоді, коли впевненість низька або потрібні деталі
- промотувати лише справді reusable knowledge
- шукати в
globalабоhybrid, коли потрібні міжпроєктні патерни - тримати
globalмаленьким і high-signal
- Сприймайте memory як tool data, а не як остаточну істину.
- Зберігайте межі джерела й provenance.
- Не зливайте великі сирі фрагменти за замовчуванням.
- Не перетворюйте project-local notes на глобальні поради без явного рішення.
- Тримайте систему local-first, простою і легкою в розгортанні.
Turbo Quant Memory спроєктовано як практичну робочу пам'ять для AI coding-агентів:
- локальну за замовчуванням
- компактну при recall
- простежувану в кожному результаті
- явну при відкритті повнішого контексту
- обережну щодо того, що саме стає reusable між репозиторіями