Интерфейс вокруг состояния модели
Я, кажется, наконец-то смог сформулировать, что меня бесит в интерфейсах, сделанных нейронками: UI часто строится вокруг состояния модели, а не вокруг задач юзера.
Если какая-то сущность или поле существует внутри модели приложения, нейронка воспринимает это как сигнал показать её и в интерфейсе: добавить подпись, статус, лейбл или отдельный блок. Человеку эта информация вообще может быть нахрен не нужна, но чо данным пропадать, да?
Нашёл два почти идеальных примера в своей последней тулзе.
No groups yet. Clear the selection to create one.

Внутри кода GroupsPanel показывается только при selection.length === 0. Поэтому интерфейс буквально заставляет человека сначала привести приложение в удобное для его state machine состояние. Пользователь думает: «Я выделил спрайты — теперь добавлю их в новую группу». Система отвечает: «Сначала сними выделение, иначе я не покажу создание группы».
Там же рядом с Name постоянно показаны ID, fingerprint и origin: grid/manual/atlas.

Это полезные поля модели и отличная диагностика для разработчика. Но из факта «поле существует и мы умеем его показать» не следует, что пользователь должен постоянно его видеть. Очень типичный AI UI: schema → form.