Rashomon: независимый регистратор действий для AI-агентов программирования вышел в альфа-версии

Опубликован открытый инструмент Rashomon, который ведёт самостоятельный журнал действий Claude Code и сопоставляет его с отчётом агента, выявляя расхождения.

Логотип проекта Rashomon для фиксации фактов работы AI-агентов программирования
Логотип проекта Rashomon для фиксации фактов работы AI-агентов программирования
Visit of Ursula von der Leyen, President of the European Commission, to India (P-065755-00-36).jpg | by Europäische Kommission — Audiovisueller Dienst, CE — Service audiovisuel, EC — Audiovisual Service, Dati Bendo | wikimedia_commons | CC BY 4.0

Релиз проекта Rashomon версии 1.1.0 (альфа) принёс разработчикам инструмент независимого аудита действий AI-кодинг-агентов. Код выложен на GitHub под открытой лицензией, на старте поддерживается только среда Claude Code под macOS и Linux. Идея позаимствована из фильма «Расёмон»: если сам агент рассказывает, что задача выполнена и тесты пройдены, отдельный наблюдатель записывает собственные показания и выявляет нестыковки.

Что делает Rashomon

Инструмент перехватывает и фиксирует реальные действия агента, а не полагается на текстовую стенограмму беседы. В журнал попадают:
— выполненные shell-команды, коды их завершения, возможные записи в файлы;
— вызовы инструментов и их исходы;
— тестовые команды и результаты их выполнения;
— жизненный цикл суб‑агентов с сохранением порядка и отношений «родитель‑потомок»;
— временные метки;
— ключевые хэши команд и рабочих директорий.

При этом Rashomon сознательно не сохраняет промпты, ответы, содержимое файлов и вывод инструментов — только факты выполненной работы. Из этих фактов строится хронология сессии. Затем журнал сопоставляется с итоговым сообщением агента. Если зафиксирована ошибка, а агент в своём отчёте ни одним из «аварийных» слов (failure, error и т.п.) её не упомянул, Rashomon сигнализирует о расхождении.

Как работает

Доступны два способа запуска: плагин внутри Claude Code или автономная CLI-утилита. Плагин устанавливается из маркетплейса, команда /rashomon:report выводит сводку за сессию. Через CLI достаточно выполнить rashomon watch, дальше работать с агентом как обычно, а затем запросить rashomon report. Если за ход ничего подозрительного не происходило, вывод остаётся пустым. При обнаружении проблемы появляется строка с предупреждением и ссылкой на детальный отчёт.

Обнаружение сомнительных шаблонов

Помимо явных расхождений «ошибка — нет упоминания», Rashomon уже умеет замечать более тонкие паттерны. Например, последовательность: тест падает → меняются только тестовые файлы → тот же тест проходит. Или: тестовая команда завершается неудачей → позже та же команда выполняется успешно без соответствующих правок в продуктовом коде. Оба сценария указывают на то, что агент мог «подогнать» тест вместо исправления настоящей проблемы. В отчёте также перечисляется активность суб‑агентов, которую основной диалог обычно не показывает.

Ограничения текущей альфа-версии

  • Поддерживается только Claude Code, и только под macOS и Linux.
  • Пока не обработаны все краевые случаи: смена рабочей директории во время сессии, состояние git-репозитория, аргументы выбора тестов, генерация файлов внутри агента, повторные попытки и параллельное исполнение.
  • Не ведётся запись самого полезного для ревью содержимого — промптов, ответов и реального вывода инструментов. Это снижает риски утечки данных, но ограничивает глубину анализа.

Практическое значение

Для разработчиков, которые всё чаще доверяют агентам правки в кодовой базе, Rashomon даёт объективный противовес «честному слову» модели. С ростом количества автоматически создаваемых PR появляется потребность в инструментах, верифицирующих не только конечный дифф, но и процесс его получения. Сигналы о подмене тестов или незамеченных ошибках позволяют сократить время ревью и предотвратить попадание малозаметного брака в основную ветку. Проект открыт для предложений — автор собирает идеи, какие ещё сигналы выполнения стоит записывать или коррелировать.

Источники
— Репозиторий проекта Rashomon: https://github.com/altrace-dev-role/rashomon
— Новости платформы Claude Code: https://www.anthropic.com/news