Что это 🧠
Hierarchical Agent Memory (HAM) — это система иерархической памяти для AI-агентов, работающих с кодом (например, Claude Code). Она заменяет единый глобальный CLAUDE.md набором контекстных файлов: один корневой (CLAUDE.md ~200 токенов) и отдельные для каждой директории (например, src/api/CLAUDE.md ~250 токенов). Также создаётся слой .memory/ для хранения архитектурных решений, шаблонов, неподтверждённых выводов и аудит-лога. Цель — сократить расход токенов на контекст, избавив агента от необходимости перечитывать весь проект при каждом запросе.
Как работает ⚙️
1. Первоначальная настройка (go ham) 🚀
Скрипт автоматически определяет платформу проекта (Node.js, Python и т.д.) и его «зрелость», после чего генерирует структуру:
project/
├── CLAUDE.md # корневой контекст (~200 токенов)
├── .memory/
│ ├── decisions.md # записи архитектурных решений
│ ├── patterns.md # переиспользуемые паттерны
│ ├── inbox.md # неподтверждённые выводы агента
│ └── audit-log.md # история изменений
└── src/
├── api/CLAUDE.md # контекст для api/
├── components/CLAUDE.md
└── lib/CLAUDE.md
2. Маршрутизация контекста 🧭
В корневом CLAUDE.md создаётся секция Context Routing, которая явно указывает агенту, какой дочерний контекст загружать при переходе в поддиректорию:
## Context Routing
→ api: src/api/CLAUDE.md
→ components: src/components/CLAUDE.md
→ lib: src/lib/CLAUDE.md
Агент читает корневой контекст, затем по маршруту загружает нужный — без гаданий и перечитывания лишнего.
3. Дашборд экономии (ham dashboard) 📊
Запускает веб-дашборд на localhost:7777 с графиками:
- Экономия токенов (HAM-вкл vs HAM-выкл)
- Дневная динамика токенов и затрат
- Разбивка сессий по директориям
- Здоровье контекстных файлов (отсутствующие, устаревшие, наследие)
- Соблюдение маршрутизации (как часто агент следует карте)
- Оценка углеродного следа и энергопотребления
4. Прочие команды
| Команда |
Действие |
ham savings |
Показать отчёт об экономии токенов и денег |
ham audit |
Проверка целостности и актуальности файлов памяти |
ham insights |
Генерация рекомендаций на основе данных сессий |
ham route |
Добавить/обновить секцию маршрутизации в корневом CLAUDE.md |
ham carbon |
Вывести данные по энергоэффективности и углероду |
Когда использовать ✅
- Экономия токенов: если вы замечаете, что Claude Code тратит много токенов на перечитывание всего проекта. HAM сокращает контекст с тысяч до ~450 токенов — экономия до 94%.
- Много директорий: проект с 3+ подкаталогами, где агенту нужна разная информация для разных модулей.
- Вместо монолитного
CLAUDE.md: если корневой файл разросся и стал нечитаемым.
- На старте проекта: развернуть структурированную память агента с первого дня.
- Долгие сессии: когда агент «забывает» контекст из-за лимита окна токенов.
Важно знать ⚠️
- Оценка токенов использует приближение ~4 символа = 1 токен, а не реальный токенизатор.
- Сравнение экономии — оценка на основе типичного поведения агента, не точная.
- Дашборд требует Node.js 18+ и читает данные из
~/.claude/projects/.
- Маршрутизация определяется по порядку чтения файлов в JSONL-логах сессий.
- Обновление поддиректорий не автоматизировано — содержимое
CLAUDE.md в подкаталогах редактируется вручную или через ham audit.
- Оценка углерода использует средние данные по региону, не реальные показатели.
Лучшие практики:
- Держите корневой
CLAUDE.md до 60 строк / 250 токенов.
- Дочерние
CLAUDE.md — не более 75 строк каждый.
- Запускайте
ham audit раз в две недели для проверки актуальности.
- При добавлении новой директории используйте
ham route.
- Периодически просматривайте
.memory/inbox.md и подтверждайте или отклоняйте выведенные пункты.
Комментарии
Комментариев пока нет. Будьте первым.