☿ Autolycus
Home
Features
Temporal Awareness
|
RU
EN
☿ Autolycus · Memory
Temporal Awareness
Группировка persistent memory по возрасту записей —
СЕГОДНЯ, ВЧЕРА, N ДНЕЙ НАЗАД, СТАРОЕ
Temporal Awareness — Data Flow
MEMORY.md / USER.md
На диске ~/.hermes/memories/
§-delimited entries
с префиксом YYYY-MM-DD HH:MM
load_from_disk()
Читает файл, делит по §
_parse_entry_date()
re.match(r"^(\d{4}-\d{2}-\d{2})")
_days_ago()
today - date → int days
_age_category()
0→СЕГОДНЯ, 1→ВЧЕРА, ≤7→N ДНЕЙ, >7→СТАРОЕ
_group_by_age()
Группирует entries по категориям
Сортирует: свежие → старые
_render_block()
Форматирует группы с заголовками
┌─ СЕГОДНЯ ───
│ entry
└─ N записей
format_for_system_prompt()
Инжекция в system prompt
перед каждым ответом агента
СЕГОДНЯ (0 дней)
Свежие записи
ВЧЕРА (1 день)
Вчерашние записи
N ДНЕЙ НАЗАД (2-7)
Недельной давности
СТАРОЕ (>7 дней)
⚠ Может быть неактуально
ДАТА НЕИЗВЕСТНА
Без префикса YYYY-MM-DD
USER.md — mtime профиля
В заголовке: "USER PROFILE (who the user is)
[X% — N/M chars] [Профиль: дд месяц, чч:мм]"
Ключевые принципы
1. Read-time grouping — файл на диске не меняется
2. Delimiter: § — запись может быть многострочной
3. Frozen snapshot — inject при старте сессии, не mid-session
4. Порядок групп: СЕГОДНЯ → ВЧЕРА → N ДНЕЙ → СТАРОЕ → ДАТА НЕИЗВЕСТНА
5. 47 тестов — unit + integration, все проходят
Защита от галлюцинаций
• Старые записи (>7 дн) — с предупреждением ⚠
• Агент видит возраст каждой группы
• Memory scanning — инъекции блокируются
• Свежие записи всегда вверху инжекта
• findings_to_wiki дополняет архитектурной памятью
40
unit-тестов
5
категорий возраста
2
хранилища (MEMORY + USER)