Цей документ є практичним планом розробки системи memory-system.
idea.mdфіксує сирий задум.system-analysis.mdмістить критичний аналіз і архітектурні висновки.development-plan.mdфіксує затверджений execution-roadmap: що саме будувати, у якій послідовності, які правила приймаються у v1 і як підготувати репозиторій до розробки.
Документ навмисно коротший і операційніший за system-analysis.md. Тут не повторюється весь аналіз, а фіксуються рішення, які повинні лягти в основу реалізації.
Цей блок закриває основні слабкі місця ідеї і є обов'язковим набором правил для v1.
У v1 підтримуються лише такі типи memory-документів:
conceptdecisioncontextentitytasknoteindex
Документи без типу не вважаються валідними вузлами пам'яті.
Агент перед створенням нового документа завжди проходить write gate:
- Знаходить 1-3 найближчі canonical-кандидати.
- Перевіряє, чи нова інформація стосується вже існуючої сутності, рішення або контексту.
- Якщо так, оновлює наявний canonical doc.
- Якщо ні, створює новий вузол і одразу лінкує його до графа.
Новий документ дозволений лише тоді, коли інформація не може бути коректно влита в уже існуючий canonical node.
У кожної ключової сутності, теми або стабільного знання має бути один головний документ.
Правила:
entity,contextі довгоживучіconceptза замовчуванням мають canonical docs.decisionє окремим записом, але не дублюється у кількох файлах з однаковим змістом.noteне є canonical-джерелом, якщо спеціально не піднятий до такого статусу через консолідацію.
У кожного memory-документа повинен бути статус:
draftactivedeprecatedsupersededarchived
Додаткові правила:
- важливі зміни рішення краще оформлювати новим
decisionізsupersedes, а не переписувати історію; - старі знання не видаляються, а виводяться з активного використання через статус;
- retrieval має надавати пріоритет
activeдокументам.
task не зберігає пояснення системи, архітектурні аргументи або доменний опис.
task зберігає лише:
- execution-state;
- пріоритет;
- next action;
- посилання на пов'язані knowledge docs.
Уся аргументація і пояснення живуть у concept, decision, context або entity.
Агент не читає весь vault перед кожним промптом. У v1 retrieval працює так:
- Парситься intent задачі.
- Визначаються стартові вузли через
entity,task,decision,context, теги і link semantics. - Будується локальний підграф із лімітом переходів і читання.
- Підграф стискається в короткий робочий контекст.
Пріоритет читання:
entitytaskdecisioncontextindexnote
У v1 система не покладається на складний locking.
Базове правило:
- нові спостереження й локальні оновлення спочатку пишуться як append-first записи;
- злиття у canonical docs виконується окремим consolidation step;
- пряме одночасне редагування одного й того самого canonical file треба мінімізувати.
Документ не вважається валідним memory node, якщо в ньому відсутні:
idtypetitlestatuscreated_atupdated_atprojectlinksprovenance
tags, supersedes, superseded_by і confidence підтримуються як частина v1-контракту, але не всі з них обов'язкові для кожного документа.
Ядро системи визначає:
- schema документів;
- frontmatter;
- link semantics;
- правила запису;
- правила retrieval;
- індексацію;
- quality checks.
Memory Core є стабільним і не залежить від конкретної моделі.
Адаптери реалізують один і той самий memory contract у різних агентних середовищах.
Перші цільові адаптери:
- Codex
- Claude
Обов'язкове правило: адаптери не змінюють Memory Core, а лише працюють поверх нього.
Це шар конкретного проєкту:
- фактичні memory-документи;
- задачі;
- summary-вузли;
- індекси;
- історія рішень;
- локальний контекст конкретної кодової бази.
memory/
concepts/
entities/
decisions/
contexts/
notes/
tasks/
indexes/
summaries/
skills/
Це цільова структура для реалізації. На цьому етапі вона фіксується як стандарт, навіть якщо ще не створена фізично.
Мінімальний контракт memory-документа:
- обов'язкові поля:
idtypetitlestatuscreated_atupdated_atprojecttagslinks
- опціональні поля:
supersedessuperseded_byprovenanceconfidence
Призначення контракту:
- документ придатний для ручного читання;
- документ придатний для машинного парсингу;
- документ можна індексувати без нестабільних евристик.
Мінімальний контракт задачі:
idtitlestatuspriorityrelated_docsnext_actionupdated_at
task завжди посилається на knowledge docs і не дублює архітектурні пояснення всередині себе.
Кожен adapter повинен уміти:
- Прийняти intent задачі.
- Знайти стартові вузли.
- Побудувати локальний підграф.
- Стиснути його в робочий контекст.
- Виконати задачу.
- Оновити пам'ять за правилами
merge vs create.
Базовий набір типів зв'язків для v1:
related_todepends_onimplementssupersedesderived_fromexplainsblocked_by
Зафіксувати:
- schema документа;
- типи документів;
- статуси;
- link semantics;
- write gate;
- canonical rules.
Результат фази: система має формальні правила, які агент не може трактувати довільно.
Визначити:
- структуру директорій;
- naming convention;
- правила для canonical docs;
- правила для
indexіsummaryвузлів.
Результат фази: memory vault має стабільну фізичну організацію.
Підготувати шаблони для:
conceptdecisionentitycontexttasknoteindex
Додатково зафіксувати:
- приклади валідних документів;
- anti-patterns;
- приклади поганого merge/create рішення.
Результат фази: агент і людина пишуть у єдиному форматі.
Описати:
- стартові сигнали пошуку;
- правила побудови локального підграфа;
- retrieval budget;
- роль
indexіsummaryдокументів.
Результат фази: агент читає релевантний мінімум, а не весь vault.
Описати:
- post-task update flow;
merge vs create;- append-first strategy;
- consolidation pass для злиття
noteу canonical docs.
Результат фази: система може накопичувати знання без лавини дублікатів.
Визначити:
- lightweight index;
- quality checks;
- orphan detection;
- duplicate detection.
Результат фази: пам'ять стає перевірюваною, а не лише зручною для читання.
Описати:
- спільний adapter contract;
- обмеження адаптерів;
- порядок підготовки референсних адаптерів.
Послідовність:
- Codex adapter
- Claude adapter
Результат фази: модельні інтеграції працюють поверх єдиного Memory Core.
Провести перевірку на 1-2 реальних проєктах.
Зафіксувати:
- сигнали успіху;
- сигнали провалу;
- зони шуму;
- дублікати;
- точність retrieval;
- складність ручної підтримки.
Результат фази: можна оцінити, чи система реально працює в живому середовищі.
v1 вважається придатним, якщо виконуються такі сценарії:
- Агент може відрізнити
taskвідdecision,entityіcontext. - Агент перед створенням нового документа виконує write gate.
- Retrieval збирає локальний підграф, а не всю базу знань.
- Старі рішення можуть бути позначені як
supersededбез втрати історії. taskпосилається на knowledge docs, а не дублює їхній зміст.- Multi-agent flow не вимагає прямого одночасного редагування тих самих canonical docs.
- Якість memory-документів можна перевірити через формальні поля, а не лише вручну.
- Репозиторій може бути підготовлений до роботи через базовий Git bootstrap без коміту і push.
Поточний стан:
- папка
/home/forg/github/memory-systemще не є Git-репозиторієм; - цільовий remote:
git@github.com:Long-as-Python/Agent_memory_system.git; - цільова основна гілка:
main.
Потрібні дії:
- Виконати
git init. - Встановити основну гілку
main. - Додати remote:
git remote add origin git@github.com:Long-as-Python/Agent_memory_system.git
- Перевірити
git remote -v. - Не робити
commit. - Не робити
push.
Після стабілізації v1 свідомо відкладаються:
- embeddings або semantic retrieval;
- автоматичне резюмування великих кластерів;
- складний locking або concurrency control;
- metrics dashboard;
- advanced model-specific optimizations.