Єдина необхідна річ

Відповідь на три речення, зроблена візуальною – CLAUDE.md, auto-memory і загальні skills закреслені ліворуч; a memory system величезним градієнтом лиса праворуч

Найкорисніше, що я написав про свій робочий устрій, писалося не для статті. То була відповідь у LinkedIn людині, яка розповідала, як синхронізує свої skills для Claude Code між двома машинами, і корисного в ній було на три речення. Я відкинув усі claude.md, auto-memory, загальні skills. Лишив тільки проєктні skills та агентів. Решту робить пам’ять KG.

Був травень 2026-го. Речення, яке я поставив просто перед тими трьома, – саме те, яке я захищав би найзапекліше, і відтоді я його не пом’якшив: правильна система пам’яті – це єдина річ, абсолютно необхідна для ефективної роботи.

Я вже писав про те, як до цього дійшов, – про стіну, в яку впираєшся за кілька тижнів, коли кожна розмова починається з нуля і ти вп’ятдесяте пояснюєш ту саму архітектуру. Ця стаття – про інший бік тієї стіни, і щоб зрозуміти його, мені знадобилося значно більше часу, ніж на саму стіну.

Не місце для пам’яті

У липні я звужував своє використання CLAUDE.md і перетрушував output style, і причину сказати легко, а прийняти – довго. Це не місце для пам’яті чи для ваших уподобань. Пам’ять має бути динамічною, гранульованою й окремою від них.

Динамічна і гранульована – ось ключове, і працює тут друга половина. Гранульовані записи можуть змінюватися. Файл – ні. Файл вантажиться цілком, однаково, щосесії, потрібне воно цій сесії чи ні, а того дня, коли один рядок усередині перестає бути правдою, він вантажиться рівно так само, як і вчора.

Є споріднена плутанина, яку варто назвати: змішування поточного контексту з постійним. Для поточного – цієї сесії, цієї задачі, форми того, чого я хочу, і приблизного напрямку, куди хотів би це вести, – я виявив, що команда /voice б’є будь-яку вправність із промптами. Ви просто говорите. Воно може вийти геть неструктурованим, і нюанс це переживає чудово. Але працює так тільки тоді, коли постійний контекст під низом уже добре підготовлений і запам’ятаний. Готує його ніщо, крім системи пам’яті, і жодні розмови її не замінять.

Для чого файли, коли решту тримає пам’ять

Я тримаю один CLAUDE.md – на рівні користувача. Єдиний, якщо не рахувати кількох вузьких випадків, коли проєкту справді потрібен власний.

Його робота – не тримати факти про мене. Його робота – відкривати простір співпраці для належних рішень. Модель бере на себе роль незалежно від того, даєте ви їй роль чи ні, тож цей файл дає їй роль непрямо – і виявляється, що це важить: у деяких межових випадках воно зрушує виконання задачі з двадцяти відсотків до ста.

Output style – окреме й дорожче питання. У витрачанні лімітів домінує вихід – дев’яносто відсотків від них. Тому output style – те місце, де тонке налаштування окуповується найпершим, ще до того, як ви торкнетеся будь-чого іншого в устрої. Версія, на якій я зупинився, зрізає вихідні токени на двадцять відсотків, не підточуючи якість.

Дійшов я до неї не смаком. Fable зібрало для цього стенд і перевірило різні гіпотези, – і саме цю частину я передав би кожному, хай що він будує. Якщо ви доручаєте своїй системі писати чи переписувати системні промпти за вас, дозвольте їй ще й тестувати їх за вас: запустіть хвилю агентів із різними вхідними даними й задачами і дивіться, як вони справляються з тим чи тим промптом. І тримайте їх стислими.

Частина цього звуження прийшла з читання, а не з вимірювань. Я читаю дослідження команди інтерпретованості в Anthropic, щойно вони виходять, і, здається, на цей час прочитав усі. Експертом із того, що відбувається всередині моделі, мене це не робить. Але дає відчуття того, що вони досліджують, навіщо досліджують і що це зазвичай означає для агентної роботи.


Тридцять відсотків

Ось рахунок, і я волію поставити його ближче до початку статті, ніж у кінець README. Пам’ять KG може забирати до тридцяти відсотків вашого використання токенів.

Це велике число, і прикрашати його немає сенсу. Ось що ви за нього отримуєте: воно суттєво зменшує повторні читання ваших файлів і зберігає час, який ви інакше щодня витрачали б на повторні пояснення. Ці два прибутки виміряні не в тій валюті, що й витрата, – тому про цю угоду незручно сперечатися й легко її відчути. На лічильнику ви її не помічаєте. Ви помічаєте її того дня, коли усвідомлюєте, що більше не пишете абзац, який починається словами «отже, архітектура тут така».

Виправлення, 29 липня 2026. Рахунок при перевірці зменшився, і саме ця стаття мусить про це сказати. Виміряна сьогодні частка пам’яті ближча до двадцяти п’яти відсотків – і саме вхідних токенів, того боку лічильника, на якому вона насправді живе. Вхід виявився дешевим боком. Мої останні тридцять днів показують 26 мільйонів вхідних токенів проти 112 мільйонів вихідних; за прейскурантом свіжий вхід – це заледве три відсотки рахунку, а весь вхідний бік відомості, разом із кешованим контекстом, – близько десятої частини. Перемножте – і гучне число вище обходиться приблизно у два-три відсотки того, що місяць коштує насправді. Прибутки ті самі; ціну було завищено. Розділ лишаю як написано – кожна сума тут має дату, і ця тепер має дві.

Інструкція з експлуатації менша, ніж люди очікують. Просто просіть його підбивати підсумок сесії по ходу справи. А коли відкриєте нову сесію, воно пам’ятає, що потрібно.

Здивувало мене те, що стається, коли ви цього не робите. Закрийте сесію посередині, підіть у справах, поверніться завтра – воно однаково пам’ятає, бо дуже добре схоплює речі тоді, коли вони стаються, а не чекає кінця.

Одна звичка лишається чинною навіть для тих, хто не користується жодною системою пам’яті, – і я почав би саме з неї: лишайте наприкінці сесії листа до себе майбутнього. Коли я ділився своїм CLAUDE.md, я казав, що блок про пам’ять може пропустити кожен, хто не використовує плагін, – але частина про листа хай лишиться. Вона відпрацьовує свої рядки сама по собі.

З’єднати крапки

Ідея, що лежить під усім цим, значно старша за інструменти, і зайшов я до неї збоку.

Свого часу я мав у Claude Code конвеєр для курсів. Даєш йому тему – і він генерує текстовий курс: три дні навчального матеріалу, або десять, або сто, кожен файл десь на три тисячі слів. Результат я синхронізував з Obsidian і читав із телефона. Але купа файлів – це не пам’ять. Це бібліотека, до якої треба не забути зайти, а «не забути зайти» – рівно та здатність, яку ви й намагалися передати назовні.

Те, що Zettelkasten, картотека, робить інакше, – це не ведення нотаток. Цінність карток – у тому, щоб з’єднувати крапки, час від часу до них повертатися і згодом тримати їх у пам’яті як одну систему. Остання частина цього речення – вичерпне технічне завдання для плагіна пам’яті, написане німецьким соціологом за десятиліття до того, як з’явилося куди той плагін вмикати.

А те, що зробило його придатним до побудови, було меншим і буденнішим. Графові знання без жодних труднощів подаються як JSON, а Claude вільно читає і markdown, і JSON, і HTML, як на те пішло. Щойно ви це побачили, граф знань перестає бути інфраструктурним проєктом і стає форматом файлу.

Локальна, особиста, захищена

Коли одна людина запитала, чи спрацює воно і для її устрою, чесна відповідь була: могло б. Зробити з нього онлайновий MCP-сервіс, який обслуговує що завгодно – іншу машину, іншу обгортку над моделлю, – було б неважко. Я відмовився, і не з технічних причин. Тієї миті, коли воно живе десь інде, воно втрачає присмак свого власного, особистого й захищеного.

Я зосереджений лише на Claude Code. Не з вірності комусь чи чомусь – просто не маю часу стрибати між інструментами і щоразу губити контекст проєкту.

Є друга причина тримати його близько, і саме її я підняв би з кожним, хто збирається будувати таке для компанії. Як на мене, наступна велика річ – це розумна система пам’яті, яка еволюціонує. Я збудував таку для себе, і її обсяг свідомо обмежений моїми власними задачами. Зробити це як слід для інших людей важко, і трудність тут радше в безпеці, ніж в архітектурі. Стаття Anthropic про Zero Trust відкрила мені очі саме на це, і я прочитав би її перед тим, як писати перший рядок.

До того ж правильно зібрати його без постійного MCP-сервера не вийшло б – і це моя невелика відповідь на періодичні оголошення, що MCP помер. Усе значно тонше. MCP – не просто обгортка над інструментом; може бути й нею, але коли вам потрібна функціональність, яка існує лише для ваших власних AI-процесів, збудувати її як звичайний API означає зупинитися за крок від того місця, куди ви все одно йшли.


На позначку нижче за 1.0

У червні плагін стояв на 0.9.14 і не піде до 1.0, доки хтось не перегляне його і не дасть мені відгук. Це не скромність і не прийом. Те саме прохання я повторюю з грудня 2025-го, відколи вперше його виклав: якщо ви теж це досліджуєте – спробуйте і скажіть мені, що з ним не так.

Це найкраща окрема річ, яка допомагає моїй щоденній роботі в Claude Code. У нього пішло понад сотню комітів, і воно досі змінюється щомісяця. github.com/mironmax/claudecode-plugins

І я досі привселюдно ставлю про нього питання початківця. У червні я спинився посеред чийогось допису про кешування промптів, щоб запитати, як заголовки cache control пов’язані з тим, що модель кешує насправді, і чи існують кеші на боці моделі взагалі, – бо в мене є плагін пам’яті, я хочу забезпечити оптимальну роботу і не хотів це вгадувати. У липні я попросив незнайомця пояснити суть його експерименту з рекурсивним навчанням, бо це прозвучало як одна з проєктних проблем, у які я саме тепер упираюся з графовою пам’яттю, і я не був певен, що зрозумів його правильно.

Приблизно так воно й стоїть: версія на позначку нижче за 1.0, плагін, який я щодня відкриваю не задумуючись, і список проєктних проблем, яких я не розв’язав.

Я не поспішаю з номером версії. Пам’ять – не з тих речей, які бувають завершені. До неї час від часу повертаються, з’єднують те, що там є, з тим, що прийшло відтоді, – і з часом вона тримається як одна система.


Джерела – мої власні дописи в LinkedIn:

Решта – локальне й особисте, поточний контекст проти постійного, конвеєр для курсів, Zettelkasten, MCP і кешування – походить із коментарів, які я лишав під чужими дописами між травнем і липнем 2026 року.

$ exit 0 – дякую, що прочитали

Лис припильнує чернетки.