Разработчик Илья, основатель сервиса генерации изображений ArtGeneration.me, за полтора месяца работы с терминальным ИИ-агентом Claude Code накопил 200 тысяч слов логов. На их основе он создал опенсорсный инструмент Prompt Warrior, который анализирует историю взаимодействия пользователя с агентом и превращает её в геймифицированный RPG-лист персонажа. В карточку входят уровень, титул, шесть шкал характера и 74 ачивки с разной редкостью, как в компьютерных играх.

Prompt Warrior анализирует локальные JSONL-файлы с записями каждой сессии Claude Code. В логах фиксируются все реплики пользователя и ответы модели, а также служебные события — прерывания, переключения между ветками, запуски инструментов, ссылки на пулл-реквесты и метаданные вроде версии модели и точки входа. Разработчик отмечает, что при наивном парсинге можно столкнуться с дублированием при резюме сессий и попаданием транскриптов субагентов. Поэтому он реализовал дедупликацию по uuid и отбор «голосовых» реплик — коротких сообщений без кода и ссылок, которые и ложатся в основу языковых метрик.

МетрикаФормулаЗначение (автор)
Уровень√(общее число слов) / 5, кап 9990 (204 тыс. слов)
Яростьмат на 1000 слов × 1.5 + процент капса + процент «!!!» и «???»
Совиностьдоля ночных реплик (00:00–05:59) × 2.2
Индекс оборотняночной мат / дневной мат

Формулы метрик были заморожены в отдельном файле scale.md, чтобы карточки разных пользователей оставались сравнимыми. Среди шкал: Ярость — считает мат и реплики капсом, Совиность — доля ночных сообщений (00:00–05:59), Индекс оборотня — отношение ночного мата к дневному. Уровень вычисляется как корень из общего числа слов, делённый на 5. У автора он достиг 90-го при 204 тысячах слов. Кроме того, фиксируется частота прерываний модели — в случае автора модель была прервана 53 раза на каждые 100 реплик. Prompt Warrior доступен на GitHub, работает локально и не требует отправки данных в сеть.

Prompt Warrior анализирует локальные JSONL-файлы сессий и генерирует RPG-лист персонажа с уровнем, шкалами характера и 74 ачивками.