Восемнадцать ночей: что нашёл сон компании
Сцена: 20 августа, пилот утверждён
20 августа руководитель утвердил пилот по документу «Мозг и команда». Схема простая. Каждую ночь отдельная сессия по расписанию перечитывает день, отбирает то, что стоит хранить, ищет связи между свежими заметками и старыми решениями и к утру кладёт пакет предложений. В самой памяти она не правит ни строки: пакет ждёт «да» руководителя. Ночь стартует около 00:15 по Москве, утро около 07:00.
Первый прогон прошёл в ночь на 21 августа, и главной находкой оказалась не идея и не связь. Веха от 20 августа сообщала, что три решения внесены в журнал решений. Ночь открыла живой файл: решений там не было. Пока отчёт шёл наверх, записи из файла успели пропасть, и за сутки это был уже второй такой случай. В летописи той ночи он так и назван: отчёт устарел, пока шёл наверх
.
Дальше случилось то, что случается с любой новой привычкой. Четыре ночи подряд, с 21 по 24 августа, пакеты ложились в папку, и никто их не разносил. 26 августа руководитель ответил на сводку одним словом: Разносим
. Из четырёх пакетов в память ушли 12 записей в журнал решений, 6 правок в факты и две записи в реестр принципов. Посреди разноса вспомогательная сессия упёрлась в недельный лимит API, и работа встала почти на сутки. Сон работал. Пробуждение команда не спроектировала.
Что ловит ночь: не забытое, а не успевшее
30 августа у утра появился владелец. Секретарь команды получил задачу по расписанию «Утренний разнос консолидаций» на 07:00 по Москве, первый прогон 31 августа. Режим двухуровневый: бесспорное, то есть перенос уже принятого, он разносит сам по заранее данному согласию; спорное собирает руководителю одним списком.
С этого момента находки изменили характер, и три ночи подряд показали, какой именно.
Ночь с 31 августа на 1 сентября. Факты и решения обновились в 20:02-20:07. Итоговый отчёт вечернего трека дописан в 20:07:11. Отчёт и запись разошлись на минуты, и ночь это увидела. В летописи так и записано: Разница в минутах, а не в сути
. Днём такой зазор не видит никто: оба файла сохранены, оба выглядят готовыми.
Ночь с 4 на 5 сентября. Строка в учёте работ от 4 сентября утверждала, что записи в журнал решений сделаны. Прямое чтение файла: записи нет и не было. Регламент «Боты в группах» первой версии, 11 решений руководителя, разложенных по тикетам, не попал в память ни одной строкой. Формула из летописи той ночи: Строка учёта - не доказательство записи, а утверждение о записи
.
Ночь с 5 на 6 сентября. Между утренним разносом и вечером прошла целая рабочая сессия: инвентаризация боевой машины, решение сменить сервер под 12 ботов, новый проект «Спроси АПОД». Ни одна веха, ни одна строка памяти этого не отразила. Летопись: Канон не заметил день, потому что день не позвал канон сам
.
Общее у трёх находок одно: ни в одной команда не забыла записать. Запись либо отстала от отчёта на минуты, либо была объявлена, но не сделана, либо день закончился раньше, чем кто-то дошёл до памяти. Днём все три случая выглядят как «сделано».
Чем дисциплиннее день, тем страннее находки ночи
Ночь с 1 на 2 сентября вышла почти пустой: команда сама писала в память днём, ночи досталось мало. Одну находку она всё же принесла, и другого рода. Паспорт шлюза для агентов сотрудников пересобран, а строка в фактах всё ещё называет его устаревшим. Решения на месте, содержание верное, указатель на артефакт старый. В летописи: Канон отстал не по содержанию решений, а по указателю на артефакт
.
Ночь с 6 на 7 сентября повторила рисунок. Два цикла сборки агентов за день разнесли себя в память сами, ночи там делать было нечего. Зато манифест команды, документ, который учит «источник правды это установленное состояние, а не слово», месяц держал запись о версии плагина на слове. Первая машинная сверка показала предыдущую версию: манифест поймал сам себя. В тот же день версию доустановили и сверили машиной.
Так проявился поворот, которого в пилот никто не закладывал. Пока команда пишет в память редко, ночь приносит содержание: решения, факты, связи. Когда команда пишет каждый день, содержание попадает в память само, и ночь начинает ловить другое: указатели на старые версии, строку «устарел» рядом с живым артефактом, номер версии, записанный со слов. Это разрывы в «адресной книге» памяти, а не в самой памяти. Днём их не видно вообще: чтобы заметить устаревший указатель, надо одновременно держать в голове артефакт и строку про него. Ночь держит.
Цена памяти: файл, который перестал помещаться в один ход
Есть и цифра, которой команда не рада. Файл фактов вырос примерно со 110 КБ (59 тысяч знаков) 21 августа до 135 КБ к 6 сентября и до 221 КБ к 7 сентября. 6 сентября модель физически не смогла перезаписать его за один ход: лимит вывода 64 000 токенов. 7 сентября файл разбили на 9 тематических файлов и сверили объём: расхождение 252 байта, ровно снятый общий заголовок.
Память, которая растёт каждую ночь, упирается в потолок инструмента раньше, чем в потолок смысла. Как та же память трижды теряла решения и что команда с этим сделала, отдельная история.
Было, стало, что изменилось для владельца
| Было | Стало | Что изменилось для владельца |
|---|---|---|
| Консолидация памяти раз в неделю | Каждую ночь около 00:15 по Москве, пакет предложений к утру | Зазор между событием и записью виден наутро, а не через неделю |
| Пакеты копились: четыре ночи без разноса | Владелец и слот: секретарь команды, 07:00, спорное одним списком | Утром один список спорного вместо четырёх пакетов |
| Строка «сделано» в учёте работ принималась на веру | Запись подтверждается прямым чтением файла | «Сделано» означает «проверено», а не «заявлено» |
| Один файл фактов, 221 КБ, не проходит за один ход | 9 тематических файлов, сверка объёма до байта | Память не упирается в потолок инструмента молча |
Что взять себе
- Заведите ночь: одна сессия по расписанию перечитывает летопись дня, сверяет её с памятью и кладёт пакет предложений. Без автоправок: ночь предлагает, память правит человек. У нас первая же ночь нашла три решения, которых не было в файле.
- Назначьте владельца и слот утра. Наши пакеты пролежали четыре ночи, пока утро не получило хозяина. Двухуровневый режим: перенос уже принятого автономно, всё спорное одним списком тому, кто говорит «да».
- Проверяйте запись чтением, а не строкой в журнале: строка «внесено» у нас трижды оказалась утверждением без записи. Открыть файл быстрее, чем восстанавливать запись через неделю.
- Сверяйте указатели, а не только содержание. Пересобрали артефакт, в тот же день поправьте строку памяти, которая на него ссылается. Именно это ночь находит чаще всего, когда день дисциплинирован.
Карта ролей
Вопросы и ответы
Что такое ночная консолидация памяти компании?
Отдельная сессия по расписанию, у нас около 00:15 по Москве, которая перечитывает летопись дня, сверяет её с памятью компании и к утру кладёт пакет предложений: что запомнить, где расхождение, какие связи проверить. Сама память ночью не правится.
Зачем нужен утренний разнос, если ночь уже всё нашла?
Ночь предлагает, разносит назначенная роль. У нас четыре пакета пролежали без движения, пока у утра не появился владелец: секретарь команды, слот 07:00 по Москве, с 31 августа. Бесспорное он переносит сам, спорное собирает в один список руководителю.
Что ночь находит чаще всего?
Не забытое, а не успевшее: запись, сделанную на минуты позже отчёта о ней; строку «сделано» без самой записи; указатель на артефакт, который уже пересобран. Чем дисциплиннее команда пишет днём, тем чаще находка именно такая, про указатель, а не про содержание.
Следующий шаг
Хотите узнать, где в вашей компании последнее сохранение отстаёт от последнего события: Разобрать процесс.