
Как я держу документы и инструкции для агентов в актуальном состоянии
Цепочка такая:Сессия заканчивается. Транскрипт остаётся на диске.Хук SessionEnd только ставит session_id в очередь (enqueue). Текст уроков он не пишет.Systemd-таймер agent-learn-distill раз в ~30 минут будит distill.py.Скрипт берёт сессию из очереди или простаивающую. Если с последнего обновления ещё нет примерно 25 минут простоя и сессия не в очереди — ждёт. Нужно минимум два хода пользователя, иначе пропуск и повтор позже. Строит выдержку из chat_history: до 12 ходов пользователя и до 4 коротких хвостов ассистента (лимит около 24k символов), не весь сырой транскрипт.Дальше вызывает Grok без интерактива, с готовым промптом и JSON-схемой. В промпт уже вложены текущий LEARNED.md, заголовок сессии и выдержка; модели нельзя звать инструменты и перечитывать файлы. На выход: либо skip, либо новый полный LEARNED.md (замена целиком, до ~80 строк и ~8k символов: живое оставить, устаревшее и дубли выкинуть; дата сверху, русский, без дампов кода) плюс список уроков с метками learned / gotcha / decision. Тот же текст зеркалится в секцию Auto-learned файла MEMORY.md проекта.Уроки с меткой learned уже в теле LEARNED.md; gotcha и decision уходят в inbox на воскресный подъём в общие инструкции. В живой сессии тот же прогон можно форсировать командой /learn. Читать далее