В августе 2026 года мир искусственного интеллекта пережил волну, вызванную не очередным прорывом в генерации фотореалистичных изображений, а совершенно иной эстетикой. Серхио Паньего (Sergio Paniego) и Сурия Нарредди (Surya Narreddi) представили проект, в котором языковая модель пишет код на JavaScript, используя библиотеку p5.brush, чтобы создавать нежные, «ручные» акварельные картины. Видео с процессом рисования набрало более 1,5 миллиона просмотров, вызвав бурную дискуссию о природе творчества и границах контроля ИИ. В отличие от стандартных генеративных моделей, выдающих статистически идеальные, но бездушные картинки, этот подход возвращает нам ощущение несовершенства, текстуры и человеческого участия.
Эта статья — не просто пересказ новости, а глубокий технический разбор того, как воспроизвести этот пайплайн самостоятельно. Мы рассмотрим архитектуру обучения с подкреплением (RL), устройство среды (environment), систему наград (reward function) и конкретные настройки для запуска на Hugging Face. Здесь нет магии, есть инженерия, творчество и тонкая настройка вкусовых предпочтений через код.
01Почему это стало вирусным: эстетика несовершенства
Успех проекта Сурии Нарредди кроется в контрасте. В эпоху, когда модели вроде Midjourney или DALL-E генерируют изображения с безупречной детализацией и идеальным освещением, работа ИИ, имитирующего акварель, выглядит как глоток свежего воздуха. Картины выглядят «свободно», с размытыми краями, просачивающейся краской и видимыми мазками. Это напоминает ранние дни генеративного искусства, такие как DeepDream (2015) или работы Эдмона де Бельями (2018), где художники исследовали саму природу нейросетей, а не просто использовали их как инструмент для быстрого создания контента.
Ключевая идея здесь двойная. Во-первых, это ограничение. Модель не рисует пиксели напрямую; она пишет программу на JavaScript (около 150 строк), которая затем исполняется в браузере. Это означает, что каждое решение — от цвета до формы — прозрачно и может быть отредактировано. Во-вторых, это медиум. Библиотека p5.brush симулирует физику воды и бумаги: пигмент растекается, бумага имеет текстуру, а мазки имеют массу. Модель учится не просто «рисовать цветок», а управлять физикой краски.
Этот проект также перекликается с работами таких художников, как Анна Ридлер (Anna Ridler), которая вручную маркировала тысячи тюльпанов, чтобы обучить модель. Здесь же создатели вручную курируют пул изображений, определяя, что считается «красивым» в контексте их проекта. Это смещает фокус с тонкой настройки гиперпараметров на создание набора данных, который кодирует эстетические предпочтения.

02Архитектура обучения: RL над вкусом
Большинство современных проектов обучения языковых моделей с подкреплением (RLHF) опираются на проверяемые награды: математические задачи с одним правильным ответом или код, проходящий тесты. В проекте с акварелью награда субъективна. Мы не можем сказать, что одна картина «правильная», а другая — «нет». Мы можем лишь сказать, что одна нравится больше другой. Поэтому система использует комбинацию моделей-предикторов вкуса.
Функция награды (reward function) состоит из четырех компонентов:
- Gate (Ворота): Базовая проверка. Скетч должен компилироваться, использовать библиотеку p5.brush, а не прямые вызовы p5.js, и не пытаться обмануть систему (например, не писать текст на холсте).
- Length (Длина): Мягкое поощрение за более длинные и детализированные фрагменты кода.
- Pairwise Judge (Парный судья): Основная компонента. Модель сравнивает сгенерированную картину с четырьмя эталонными изображениями из пула. Она оценивает стиль: размытие, полупрозрачные слои, мягкие края. Результат — доля побед кандидата в сравнениях.
- HPSv3: Открытая модель предпочтений. Она оценивает общую эстетику изображения на основе текстового описания. HPSv3 обучалась на парах изображений, выбранных людьми, поэтому её оценка отражает усредненный человеческий вкус.

Важно понимать, что два из четырех компонентов — это модели. Они являются прокси-инструментами для человеческого вкуса. Весовые коэффициенты, выбранные авторами, показывают, что основной упор делается на парное сравнение с эталонами, а общая эстетика (HPSv3) играет вспомогательную роль. Это позволяет модели учиться не просто «красиво», а в конкретном стиле, заданном пулом эталонов.
03Создание среды обучения (RL Environment)
Среда обучения — это «песочница», в которой модель учится рисовать. Она оборачивает всё, что происходит между генерацией кода языковой моделью и вычислением награды. В нашем случае это включает библиотеку p5.brush, системный промпт, заголовочный браузер Chromium для рендеринга и систему «ворот» (gate).
Библиотека p5.brush и ограничения
Библиотека p5.brush, созданная @acamposuribe, симулирует среду, а не просто рисует геометрические фигуры. Когда модель вызывает метод brush.fillBleed(0.25), она решает, насколько далеко краска растечется по бумаге. Библиотека предлагает 47 методов, но для достижения нужного акварельного стиля модель ограничена только 10 методами:
scaleBrushes
noStroke
fill
noFill
fillBleed
fillTexture
beginShape
vertex
endShape
circleПочему так мало? Остальные методы (линии, штриховка, кастомные кисти) нарушили бы визуальный стиль акварели. С этими десятью методами модель может рисовать только заполненные фигуры, а библиотека автоматически добавляет эффект растекания. Это жесткое ограничение заставляет модель искать творческие решения в рамках простых примитивов.
Системный промпт и GEPA
Сурия Нарредди потратил значительное количество итераций на оптимизацию промпта с помощью GEP
Источник: Hugging Face ↗
