Claude Code проверяет палитру скриптом, а форму графика — эвристикой
🛠 Claude Code проверяет палитру скриптом, а форму графика — эвристикой
В начале июля в Claude Code появился встроенный скилл `/dataviz`, и внутри он устроен гораздо интереснее, чем обычный генератор диаграмм. Процедура из семи шагов жёстко фиксирует порядок: сначала «работа данных» (magnitude, identity, polarity, headline или change‑over‑time), потом форма, а цвет — последним, после чего остаётся только отрисовка. При этом выбор палитры замкнут в петлю самопроверки: модель обязана прогнать цвета через исполняемый `validate_palette.js`, который считает lightness band в OKLCH, chroma floor, ΔE‑разделение при трёх типах дальтонизма по матрицам Machado и WCAG‑контраст с фоном. Реальные цифры прогона на тестовом датасете популярных имён (76 лет, только ранги) были такими: худшая пара при протанопии #008300 против #eda100 дала ΔE 24,2, с запасом; бирюза #1baf7a и жёлтый #eda100 недотянули до контраста 3:1 (2,74 и 2,11), но прошли по правилу вторичного кодирования — у каждой линии есть подпись, так что цвет не единственный способ опознать имя.
Форму модель выбрала сама, без проверки: перевёрнутую логарифмическую шкалу для рангов, многолинейный rank‑trajectory и прямые подписи вместо легенды. Геометрию и коллизии подписей скрипт не проверял — модель отрисовала результат, нашла наезжающие лейблы, переформатировала их и увеличила зазоры, а затем самостоятельно собрала адаптив для мобильных и тёмную тему с отдельной палитрой. Финальный HTML занял 28 КБ, все данные зашиты встроенно, страница работает без сети. Интересно, что модель также сумела обойти ограничения песочницы, подняв локальный POST‑сервер, чтобы вытащить PNG‑превью из canvas, — чистое агентное поведение.
Но там, где скрипт молчал, модель ошиблась: в конце сессии она утверждала, что Sofia в рейтинге выше Sophia, хотя в исходных CSV за 2025 год Sophia на 5‑м месте, а Sofia на 9‑м. Сам график при этом был построен корректно, точка Sophia на 5‑й позиции верна — ошибка случилась только в словесной интерпретации данных, которую никакой проверка не ловила.
Ровно в этом и проявляется асимметрия инструмента: цвет закрыт объективной математикой на каждой итерации, а выбор графика и выводов — эвристика модели, которую пока некому перепроверить, кроме человека. /dataviz получился отличным прототипировщиком с честной границей делегирования: там, где есть исполняемый скрипт, можно доверять; там, где только «посмотри глазами», — последнее слово за разработчиком.
По данным Habr
#ClaudeCode #dataviz #валидация #инструменты #скиллы