Multi-agent feedback для оценки рисунков: архитектура и стоимость | AiManual
AiManual Logo Ai / Manual.
21 Май 2026 Гайд

Три критика и один судья: как мы строили multi-agent фидбек для художников (и во сколько это обошлось)

Разбор архитектуры multi-agent feedback для художников: 3 LLM-персоны + судья, компромиссы, стоимость токенов и реальные метрики. Опыт продакшна.

Проблема, о которой молчат

Один LLM-судья — это как попросить случайного прохожего оценить твой рисунок. Даже GPT-5 (май 2026) выдаёт что-то вроде «хорошая композиция, но есть проблемы с анатомией». Ни конкретики, ни применимых советов. А если попросить быть строже — начинает придираться к мелочам, теряя картину целиком.

Вот тут и встаёт вопрос: а зачем вообще мультиагент? Почему бы не прогнать один и тот же промпт через одну модель три раза? Потому что три независимых мнения от одного и того же мозга — это три вариации одной ошибки. А разные персоны с разными инструкциями видят разные слои рисунка. И это принципиально меняет качество фидбека.

Мы (я, пара инженеров и один дизайнер, который нас ненавидел) построили систему multi-agent feedback для платформы художников. Ниже — архитектура, компромиссы и цифры, за которые пришлось заплатить.

TL;DR: Три агента (стилист, анатомист, композитор) + судья-агрегатор. Система стоит ~$0.12 за один фидбек против $0.03 у одного LLM. Но охват ошибок вырос с 30% до 71% на тестовом датасете.

Архитектура: почему три, а не пять и не семь

Изначально хотели сделать 7 агентов: свет, цвет, анатомия, композиция, стиль, сюжет, настроение. Быстро поняли, что это не масштабируется — каждый агент генерирует по 400 токенов, судья потом мучительно голосует. Задержка вырастала до 30 секунд. Прод отрубил нас на этапе демо.

Остановились на трёх — это минимум, дающий покрытие ключевых слоёв:

  • Стилист — оценивает общее впечатление, цветовую гамму, текстуры. Его системный промпт начинается с «Ты — ворчливый арт-директор с 20-летним стажем».
  • Анатомист — про пропорции, перспективу, построение. «Ты — преподаватель академического рисунка, у тебя лазерная указка и плохое настроение».
  • Композитор — центры внимания, ритм, баланс. «Ты — режиссёр-постановщик: кадр должен работать, или переснимаем».

Каждый агент получает одно и то же изображение (закодированное base64) и выдаёт 2-3 предложения критики. Никаких оценок по шкале. Только текст. Потому что числа усредняются в бессмыслицу, а текст можно скомбинировать.

Судья-агрегатор — четвёртый LLM-вызов — получает три ответа и собирает из них единое заключение, убирая противоречия и выделяя главное. Это самый дорогой этап: он генерирует 600-800 токенов. Но без него фидбек выглядит как каша из трёх голосов.

Ошибка, которую мы сделали на старте: судья пытался ставить общую оценку от 1 до 10. Агенты расходились на 3-4 балла, судья выдавал среднее — и художники плевались. Убрали числа — стало лучше.

Оркестрация: LangChain против самописного

Пробовали LangChain — на тот момент версия 0.5 с AgentExecutor. Раздражало всё: накладные расходы на парсинг, странные retry-стратегии, баги с параллельными вызовами. В итоге оркестратор написали на чистом asyncio с aiohttp.

Топология — гибрид: параллельный запуск трёх агентов, затем последовательный запуск судьи. Это классика для мультиагентных систем (о сравнении архитектур я писал здесь).

async def get_feedback(image_b64: str):
    tasks = [
        run_agent("stylist", image_b64, STYLIST_PROMPT),
        run_agent("anatomist", image_b64, ANATOMIST_PROMPT),
        run_agent("composer", image_b64, COMPOSER_PROMPT),
    ]
    results = await asyncio.gather(*tasks)
    final = await run_judge(results, JUDGE_PROMPT)
    return final

Выглядит просто, но внутри каждого run_agent — свой rate limiter, таймаут 15 секунд, ретрай на ошибки контекста (проклятые обрывы ответов у дешёвых провайдеров).

Компромиссы: качество, скорость, деньги

Вот таблица, которую я показываю всем, кто спрашивает «почему multi-agent не везде»:

МетрикаОдин LLM-судьяMulti-agent (3+1)
Средняя задержка2.4 сек7.1 сек
Стоимость одного фидбека$0.028$0.118
Доля релевантных замечаний*30%71%
Количество галлюцинаций на 100 ответов124

*Релевантность оценивали 5 художников: замечание считается релевантным, если оно конкретно, применимо и точечно указывает на недостаток.

Стоимость посчитана на модели Claude Sonnet 4.5 (Anthropic) — для апреля 2026 это best price/quality для vision-задач. Если взять GPT-4o (OpenAI), будет +20% к цене и +40% к токенам из-за длинных ответов. Тестировали на 500 рисунках из базы r/ArtCrit, разметка — ручная.

Главный компромисс: multi-agent даёт в 2.4 раза больше релевантных замечаний, но стоит в 4.2 раза дороже и ждать приходится в 3 раза дольше. Для пользовательского опроса, где художник ждёт 5-7 секунд, 7 секунд — приемлемо. А вот для массового скоринга портфолио (1000+ работ) — уже нет, выгоднее гонять одного судью и мириться с шумом.

Когда multi-agent окупается (и когда нет)

Мы перепробовали несколько конфигураций. Заметили: если рисунок технически плохой — анатомия сломана, перспектива никакая — один судья отлично справляется, потому что ошибки очевидны. Multi-agent тут лишний.

А вот средние и хорошие работы — где нужно копать глубже, разбирать цветовое решение, композиционные приёмы — тут multi-agent раскрывается. Для сильного художника фидбек от одного LLM звучит как «всё отлично». А три эксперта вытаскивают конкретные улучшения.

Есть ещё один момент: multi-agent меньше галлюцинирует. В 12% случаев один судья выдумывает несуществующие проблемы (типа «неправильная тень от носа» при нормальном освещении). Агрегация трёх мнений такие выбросы срезает — если один агент ошибся, двое других его перевесят.

Стоимость: детальный разбор

Для тех, кто считает бюджет. Провайдер — Anthropic (Claude Sonnet 4.5). Цены на май 2026:

  • Input: $3.00 / 1M токенов
  • Output: $15.00 / 1M токенов

Один запрос к каждому агенту: в среднем 1200 токенов input (промпт + base64 изображение 300x300, сжатое до 100KB) + 150 токенов output. Судья: 900 input (промпт + три ответа) + 700 output.

Считаем:

(3 * (1200 + 900) * $3/1M + 3*150*$15/1M + 700*$15/1M) = ~$0.118

Если увеличить картинку до 1024x1024 (что требуется для качественного анализа), input растёт до 5000 токенов. Цена умножается на 2.5. Получаем $0.295 за один фидбек. Для платформы с 1000 активных художников, которые просят фидбек 3 раза в неделю — это почти $900 в месяц только на LLM.

💡
Можно снизить стоимость, используя каскад моделей: сначала дешёвый LLM (например, Claude Haiku) для первичной фильтрации, и только для сложных кейсов звать полноценный multi-agent. Мы так и сделали — экономия 40%.

Подводные камни: три совета от обожжённых

  1. Не давайте агентам доступ к истории чата. Как только они начинают видеть предыдущие фидбеки — копируют стиль друг друга, теряется разнообразие. Мы держим каждый вызов stateless.
  2. Судья обязан быть сильнее агентов. Если судья — та же модель, что и агенты, он плохо разрешает противоречия. Мы используем Claude Opus 4.0 для судьи (дорого, но качество агрегации растёт на 20%).
  3. Тестируйте на реальных художниках, а не на датасетах. У нас было 82% accuracy на тестовой выборке — а пользователи ругались, что фидбек не учитывает стиль аниме. Оказалось, что наши агенты переобучены на академизм. Пришлось добавить в промпты «если стиль карикатурный — не критикуй за нарушение пропорций».

И последнее. Multi-agent feedback не заменит код-ревью человека (о том, как строили AI-агента для код-ревью, я писал тут — там те же грабли, только с кодом). Художники чувствуют, когда машина не понимает замысел. Наша система — это черновик ревью, который художник потом может доработать. Абсолютная замена — утопия и, честно говоря, не нужна.

Вместо заключения: если решите попробовать — начните с одного дополнительного агента (стилист). Замерьте, как изменится конверсия в доработки. Часто один extra взгляд уже даёт 60% эффекта от полного multi-agent. А там и до судьи-агрегатора рукой подать.

Подписаться на канал