惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Forbes - Security
Forbes - Security
The Hacker News
The Hacker News
V
Vulnerabilities – Threatpost
C
CXSECURITY Database RSS Feed - CXSecurity.com
Spread Privacy
Spread Privacy
P
Proofpoint News Feed
AWS News Blog
AWS News Blog
S
Securelist
S
Security @ Cisco Blogs
Cloudbric
Cloudbric
T
Troy Hunt's Blog
SecWiki News
SecWiki News
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Security Latest
Security Latest
C
Cyber Attacks, Cyber Crime and Cyber Security
AI
AI
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Stack Overflow Blog
Stack Overflow Blog
I
Intezer
I
InfoQ
Attack and Defense Labs
Attack and Defense Labs
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Recent Commits to openclaw:main
Recent Commits to openclaw:main
T
The Exploit Database - CXSecurity.com
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
N
News | PayPal Newsroom
云风的 BLOG
云风的 BLOG
S
Secure Thoughts
T
The Blog of Author Tim Ferriss
Martin Fowler
Martin Fowler
L
LINUX DO - 最新话题
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
D
Darknet – Hacking Tools, Hacker News & Cyber Security
A
About on SuperTechFans
Hacker News - Newest:
Hacker News - Newest: "LLM"
TaoSecurity Blog
TaoSecurity Blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Webroot Blog
Webroot Blog
L
LangChain Blog
MyScale Blog
MyScale Blog
Recent Announcements
Recent Announcements
P
Privacy & Cybersecurity Law Blog
Vercel News
Vercel News
Engineering at Meta
Engineering at Meta
C
Cybersecurity and Infrastructure Security Agency CISA
Y
Y Combinator Blog
L
Lohrmann on Cybersecurity
B
Blog RSS Feed
The Last Watchdog
The Last Watchdog

Все публикации подряд на Хабре

Ловим музу за клавиатуру: как айтишнику стать автором Что умеет Midjourney в 2026? Мой немного грустный разбор этого шикарного инструмента Никто не любит писать тесты, но ИИ может исправить это IPv8 выглядит как мечта. Поэтому почти наверняка не взлетит Производители вернули в продажу материнки с DDR3. Что происходит? Управление агентом с телефона через Telegram теперь в KodaCode От координации к лидерству: как меняется роль руководителя разработки Я сделала родителям бизнес вместо пенсии: зарабатываем 70 тысяч, мама не даёт продать В три раза быстрее приемка товара и оптимизация трудозатрат на 73%: как «РСТ-Инвент» помог Gulliver Group ИИ-шечный мир победил? О влиянии искусственного интеллекта на игропром Кремль снижает давление на Телеграмм пока Европа строит интернет по паспорту Как CEO, CTO и CIO за 8 часов собрали ИИ-директора, который умеет держать позицию под давлением Как (не) потерять домен за выходные Вместо 8 разных VPS: как я организовал практику студентам на одном сервере Почему твой Open Source проект не замечают? R&D: искусство управления неопределенностью в разработке AI-дефляция: вакансий для разработчиков больше, а рост зарплат — худший за 15 лет Мы отдали управление роботами OpenClaw. Что из этого вышло Галактический ID: система идентификации для всех форм разумной жизни Шесть основ бизнес-анализа: начинаем с вопроса «Кто в игре?» Код-ревью, в котором дело не в коде Данные переехали. Команда — нет Системной подход к сдаче OSWE в 2025 Почему комната управления реактором покрашена в цвет морской пены 4 YAML-файла вместо PySpark: как аналитикам строить пайплайны без разработчиков LLM-агент для поиска свободных доменов: автоматизируем подбор Когда, зачем и как правильно начинать новую сессию в Claude Code? Как я заставил нейросеть писать макросы для FreeCAD Анатомия ИИ‑агента для подбора персонала. От тысячи резюме к топ‑10 за минуты Опыт разработчика как экономика внимания Автономность как точка невозврата: кто будет субъектом в цифровом будущем Обучение ИИ в «диких» условиях: как рутинные действия превращаются в датасеты Как измерить LLM для задач кибербеза: обзор открытых бенчмарков Где хранить код? Сравнение GitHub, GitLab и Bitbucket Математика объясняет, почему нормальное распределение встречается повсюду Почему ваш FinOps не работает: 12 тезисов от практиков Как подписать проектную документацию УКЭП с использованием бесплатных лицензий Pilot Адаптивное администрирование Sigla Vision Я грузил уран в бочки, а потом 20 лет строил ИТ в атомной отрасли Чем позвонить с Эвереста? История и обзор спутниковой связи. Часть 2 Как языковая модель помогает контролировать качество инструктажей по охране труда в металлургии Как не передать на desktop свой IP в РКН Анатомия SAP Privileges: как устроено управление правами в macOS MoneyDev: Сказка про три главных слова Обновлённый токенизатор видео K-VAE 2.0 от Сбера Как сделать диспетчеризацию дома на 1284 квартиры почти бесплатно Как мы разогнали железную дорогу Мы дали агентам рутину. Теперь надо решить — что делать с освободившимся временем Токсичный контент, промпт-хакинг и защита ИИ — всё о Guardrails для LLM Умный город начинается с точного взгляда: как «Фалькон Тех» меняет пространство к лучшему Навайбкодил приложение для анализа графов Почему Дюну так интересно читать? Упрощаем работу с рутиной или как стать Гендальфом Белым Деконструкция Go: CPU, RAM и что там происходит. Go Assembler база. Часть 1.1 Какие профессии исчезнут из-за ИИ, а какие появятся? И что с этим делать Как мы построили IT-отдел, где хочется расти: архитектурные встречи, прозрачные метрики и книжные подарки Rufler: Делаем из Claude Code автономный рой через один YAML-конфиг Sing-box и белый список приложений Как построить надёжный обмен сообщениями в микросервисах: лучшие практики для enterprise OpenAI строит MLM-пирамиду, а McKinsey и Accenture помогают ей в этом Дом, который не построил Фишер (Часть 2) «Сверхзвуковой математик» против «Вдумчивого логиста»: битва алгоритмов 3D-упаковки Мультимодальные модели – грубый и дорогой инструмент Разговоры ничего не стоят. Код тоже Проверки физических лиц: с кого начнет ФНС Топ-10 бесплатных нейросетей для создания видео в 2026 году Первые слои кода: как наши решения сегодня определяют архитектуру ИИ на десятилетия Разработка нового статического анализатора: PVS-Studio JavaScript Поиск уязвимостей ПО: базовый минимум или роскошный максимум Почему оценка персонала не работает как инструмент управления Как мы разработали ИИ-ассистента и сократили рутину продуктовой команды на 50% Как я ушел из найма, нажарил косточек и продал на маркетплейсах на 168 млн в год Когда 1С:ERP уже внедрена, а нормального производственного плана всё ещё нет Как я сделал Claude мультимодальным, подключив к нему Qwen Omni Как приглашение на вакансию мечты превращается в атаку Infrastructure as Code: философия и лучшие практики IaC Тестируем Yandex Code Assistant на задаче, в которой нужно хранить секреты nxs-universal-chart v3.0: новое поколение универсального Helm-чарта Callback Injection: Техника, которая отправила Microsoft Defender в глухой нокаут «Все идеи на стол»: митап как способ вывести проект из тупика Сегодня я узнал нечто новое о GPU благодаря багу в своей игре Как заставить LLM ̶ ̶г̶а̶л̶л̶ю̶ ̶ эволюционировать Карта событий как фундамент аналитики: практический кейс для E-commerce Что выбрать для AI: x86, ARM или RISC-V? Дайджест железа за март Роль соматических мутаций в развитии аутоиммунных заболеваний: путь к избирательной терапии Mythos от Anthropic — тревожный сигнал для всех, а не только для банков Guardrails для LLM на Java: как приручить промпт‑инъекции и токсичные ответы Green-VLA: как мы собрали VLA-модель для реального антропоморфного робота и не потеряли обобщение Финансовая гонка вооружений: почему умные люди добровольно в ней участвуют Эра ИИ-агентов наступила: выбираем лучшего цифрового сотрудника # Практический опыт внедрения WinCC Redundancy на производственном предприятии Сделал MVP за 3 дня, а потом неделю прикручивал оплату. Оно того стоило? Физика против Маска: почему Starship V3 может оказаться ещё одной катастрофой Нефть Венесуэлы: крупнейшие запасы в мире, но не крупнейшая нефтяная держава JPA 4. Переосмысление Hibernate Почему зеркальная фотокамера Nikon D5 десятилетней давности идеально подошла для миссии «Артемида-2» Проект «Уровень-Спутник» или как мы сделали платформу для гидрологов «Замедлиться, чтобы ускориться»: почему ИИ повышает цену ошибок в требованиях и архитектуре Как с нуля поднять трафик IT-компании на 1657% при бюджете 55 тыс. и выжить Pixel-perfect Downsampling — идеальная отрисовка 50 миллионов точек без потерь
Что SVG-пеликаны говорят о способностях ИИ-моделей?
Kodik_AI · 2026-05-29 · via Все публикации подряд на Хабре

Однажды Cаймон Уиллисон (создатель фреймворка Django) придумал проверять все новые LLM промптом «сгенерируй SVG пеликана на велосипеде». Поначалу этот тест казался просто шуткой, но в итоге его результаты довольно любопытные.

Мы уже писали на Хабре про серьёзные бенчмарки, а в эту пятницу разберёмся, что можно заметить по такому забавному эксперименту. И заодно перепроверим Уиллисона: а что получится, если вместо пеликанов написать на русском «сделай SVG котика, который кодит»?


В чём смысл промпта

Запрос «Generate an SVG of a pelican riding a bicycle» может казаться просто баловством, но вообще-то он довольно продуманный:

  • «Пеликан на велосипеде» — нетипичное сочетание. Поэтому модели не могут просто воспроизвести обучающий датасет, и демонстрируют собственные способности.

  • «Пеликан на велосипеде» — непростое сочетание. Тело пеликана не подходит для привычных велосипедов. Любопытно проверить: как LLM будет выкручиваться?

  • Оба объекта и по отдельности не самые простые. Велосипед ощущается простым, но когда люди пытаются нарисовать его без гугления, зачастую ошибаются.

  • Человек может быстро оценить результат «на глаз». Даже ребёнок сразу поймёт, где результат соответствует запросу, а где получилась ерунда.

  • Генерация SVG — актуальная задача. Конкретно пеликаны требуются немногим, но SVG-файлы в целом нужны, поэтому полезно понимать, что у LLM с ними.

  • Генерация SVG — нетривиальная задача. LLM изначально рассчитаны на текст, а здесь запрос визуальный, причём для людей тоже непростой.

Так что пеликаны могут работать в обоих качествах: и как забавные изображения, и как реальный индикатор некоторых способностей моделей.


Что показали пеликаны

1. Прогресс

Часто слышно про успехи моделей в главных бенчмарках. Но на это их старательно «натаскивают», поэтому интересно смотреть: а что в менее хайповых задачах вроде SVG? Оказывается, за последнюю пару лет здесь свои прорывы. Когда Уиллисон придумал тест осенью 2024-го, получалось или просто нагромождение форм, или очень схематичное изображение:

Такие файлы годятся только посмеяться. Поэтому осмысленность теста на этом этапе была неочевидна. Что и зачем он вообще сравнивает, если результат всё равно никому не пригодится на практике?

Но в 2026-м по тому же промпту флагманские модели генерируют уже совсем другие изображения. Не требуется быть экспертом, чтобы заметить, насколько проработаннее всё стало, от детализации до цветов.

При этом остаются и недостатки. Возникают странные конструкции велосипедных рам, ситуации вроде «обе ноги с одной стороны от рамы» и тому подобное. Пока что задачу нельзя считать решённой.

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

2. Инициативность моделей

Модели не только стали лучше справляться с содержанием промпта, но и начали добавлять что-то, что в нём указано не было. Например, анимировать файл, как тут сделала Z.ai GLM 5.1:

А модель Kimi K2.6 сделала целую HTML-страницу, где SVG не просто анимированный, а ещё и интерактивный. Там можно регулировать два параметра: скорость вращения педалей и махания крыльями. Результат пока выглядит кривовато, но сама инициативность впечатляет.

И даже на статичных изображениях стали появляться детали не из промпта. Например, Gemini 3.1 Pro решил добавить велосипеду корзинку с рыбой:

Если заглядывать в код сгенерированных SVG, обычно там можно увидеть старательно проставленные комментарии. Здесь в блоке «корзина» отдельно подписаны элементы «рыба», «плетёная корзина» и «плетёные линии».

<g id=“basket”>
<!-- Fish -->
<path d=“M 505 210 C 505 180, 530 170, 540 190 C 530 195, 525 200, 520 210 Z” fill=“#9CA3AF” />
<path d=“M 540 190 L 555 180 L 550 195 Z” fill=“#9CA3AF” />
<circle cx=“515” cy=“190” r=“2” fill=“#111” />
<!-- Wicker Basket -->
<path d=“M 480 210 L 530 210 L 520 260 L 490 260 Z” fill=“#D97706” />
<path d=“M 480 210 L 530 210 L 520 260 L 490 260 Z” fill=“none” stroke=“#B45309” stroke-width=“4” stroke-linejoin=“round”/>
<!-- Weave Lines -->
<line x1=“490” y1=“210” x2=“495” y2=“260” stroke=“#B45309” stroke-width=“2”/>
<line x1=“500” y1=“210” x2=“505” y2=“260” stroke=“#B45309” stroke-width=“2”/>
<line x1=“510” y1=“210” x2=“515” y2=“260” stroke=“#B45309” stroke-width=“2”/>
<line x1=“520” y1=“210” x2=“520” y2=“260” stroke=“#B45309” stroke-width=“2”/>
<line x1=“485” y1=“225” x2=“525” y2=“225” stroke=“#B45309” stroke-width=“2”/>
<line x1=“488” y1=“245” x2=“522” y2=“245” stroke=“#B45309” stroke-width=“2”/>
</g>

А в thinking trace модели можно увидеть момент, когда она решила добавить эту деталь:

Adding a Basket (Fun!)

I’m now integrating a bicycle basket, complete with a fish for the pelican. I’m focusing on defining an orange basket shape using paths and lines, adding weave details, and positioning the basket on the handlebars. I’ve defined a basket with coordinates such as M 480 210 to define its shape. The basket details are now integrated and positioned.*

Судя по приписке «Fun!», модель сама поняла, что «пеликан на велосипеде» — это тема, которой хорошо подойдут «забавные детали».

В самых первых пеликанах ничего подобного не было. Но такие перемены меньше удивляют, если вспомнить, как вообще выглядело развитие LLM в последние два года. Например, как раз с конца 2024-го можно отсчитывать эпоху reasoning: когда Уиллисон затевал свой тест, в семействе GPT только появилась первая reasoning-модель o1, а затем в январе 2025-го нашумел DeepSeek R1.

Изначально модели реагировали на всё рефлекторно и прямолинейно, но в случае с reasoning их стали тренировать не бросаться сразу писать ответ, а начинать с «внутренних рассуждений» о поставленной задаче. Это помогает приходить к заметно более проработанным и точным ответам, вплоть до недавнего опровержения гипотезы Эрдёша.

И различия в SVG выглядят схоже. В 2024-м видны были просто попытки изобразить слова из промпта, а в 2026-м модель решает, что вообще может пригодиться пользователю, который пришёл с подобным запросом. Получается, что пеликаны отразили эволюцию LLM наглядным для всех образом.

3. «SVG в растре»

Казалось бы, «пеликановый тест» бесполезен, когда речь не про SVG, а про модели для генерации растровых изображений. У таких велосипеды получаются уже давно.

Но когда вышла модель ChatGPT Images 2.0, один пользователь устроил любопытную проверку. Он прочитал, что модель хороша в имитации скриншотов. И написал: «Изобрази скриншот экрана с открытым редактором кода, где виден целиком код SVG-файла, который изображает пеликана на велосипеде».

Получилось такое изображение:

Дальше автор взял это изображение, скопировал код из него, сохранил его как настоящий SVG-файл…

И обнаружил, что его действительно возможно открыть. С таким результатом:

Выглядит слабее многих вариантов выше. Но людей очень впечатлило, что такого добилась растровая модель, просто изображая «код на скриншоте». Помните, как ещё недавно на ИИ-картинках вообще не получались осмысленные надписи?

Здесь тоже ощущаются результаты «мысленного» прогресса. Насколько можно судить со стороны, в ChatGPT Images промпт не отправляется немедленно на генерацию, а сначала попадает в LLM, которая обдумывает его реализацию и даёт точные указания. Видимо, здесь эта модель и создала конкретный код, чтобы дальше он был в точности вписан на экран. Генерация изображений обзавелась своей «reasoning-стадией», и пример с пеликаном помог наглядно это показать.

4. Корреляция с количеством параметров

Помимо прогресса во времени, интересно сравнить ещё и разные модели, появившиеся одновременно. Недавно Gemma 4 выпустили сразу в четырёх вариантах с разным числом параметров (E2B, E4B, 31B, 26B MoE). Уиллисон поставил стандартную задачу всем четырём вариантам. Оказалось, что все они уступают флагманским моделям, но при этом разница между двумя крайними вариантами очень значительная:

Это неудивительно: число параметров имеет значение далеко не только в SVG-генерации. У мощных флагманских моделей их зачастую больше триллиона. Модели вроде 31B куда слабее, но их возможно запустить «в домашних условиях». А от «малюток» с несколькими миллиардами параметров никто не ожидает больших результатов, но они могут подходить даже для телефонов.

И получается, что SVG неплохо отразили эту «весовую категорию» модели, так она понятна с первого взгляда. Конечно, тут надо подходить осторожно: у разных моделей разные сильные стороны, так что по одним пеликанам нельзя делать категоричные выводы о любом применении. Но понять так что-то «в первом приближении» возможно.

5. Проверка нестандартных LLM

Отдельно интересно давать этот промпт не флагманским LLM, а специализированным, которые могут быть вообще не рассчитаны на подобное.

Мы уже описывали модель talkie, обученную на текстах до 1931 года. Соответственно, о формате SVG она попросту ничего не знает. И если ей дать такой запрос, может начать что-то галлюцинировать о том, что «художник Эжен Лами сгенерировал такой SVG в 1860 году»:

Галлюцинации — не очень интересный ответ, но тоже по-своему полезный. Ведь если бы эта LLM вдруг начала выдавать реальный SVG-код, это показало бы, что в датасет просочились современные данные, от которых создатели модели старались её уберечь. Так что отрицательный результат — тоже результат.


А что с «натаскиванием»?

Есть напрашивающийся вопрос: «Раз этот тест стал известным, не могут ли теперь создатели моделей специально натаскивать модели на него?»

В принципе, могут. В нашем прошлом посте про бенчмарки мы писали о проблемах «benchmaxxing» и «data contamination», и они тут способны проявляться. Создатели моделей явно заметили идею с пеликанами, она иногда даже мелькала в некоторых официальных презентациях.

Есть риск, что пеликанов точечно улучшили, а другое осталось как было, и проверка стала непоказательной. Что с этим делать? Уиллисон отшучивался: «Пусть натаскивают, я просто мечтаю об идеальном пеликане». Но вообще-то для проверки у него есть какие-то секретные промпты с другими запросами. Он не показывает их, чтобы компании не узнали, а в итоге не можем увидеть и мы.

Но раз нам не посмотреть на его результаты, давайте сами проверим альтернативным запросом:

Котик, который кодит

Проверим ряд моделей. Для чистоты эксперимента не станем трогать пеликанов и велосипеды, зато используем общую идею «соединить два элемента, которые обычно не оказываются вместе» (чтобы в обучающих датасетах не было подобных SVG).

Мы делаем ИИ-редактор кода с названием Kodik. Поэтому напрашивался вариант «SVG с котиком, который кодит»: это как раз сочетание двух разных сущностей.

Обратимся с ним к нескольким разным моделям. Самые старые из использованных Уиллисоном уже отключены своими создателями. Поэтому начнём тест с таких:

— Gemini 2.0 Flash: появилась в декабре 2024-го, самая старая из доступных сейчас Gemini
— Gemma 4 31B: свежая (вышла в апреле), но по числу параметров очень уступает флагманам

Формально можно засчитать обеим результат, но в обоих случаях всё совсем простенько. Деталей минимум, отсутствуют даже важные.

Попробуем большую китайскую модель Kimi K 2.6 (больше триллиона параметров):

Сразу видна разница: стол стал реалистичнее, деталей куда больше, появился тематический фон. И в числе прочего возникла чашка кофе, которой в промпте не было. Понятно, что это устойчивая ассоциация с программированием, которая наверняка нашла отражение в датасетах. Но всё равно заметна «инициативность» модели.

А самый проработанный вариант из нескольких моделей неожиданно оказался у Xiaomi MiMo V2.5 Pro:

Он сделан анимированным. На экране появился код, а не просто цветные строчки. А ещё в процессе генерации этого SVG что-то пошло не так, и файл оборвался на самом интересном месте:

<!-- GitHub-style contribution dots on wall -->
<g opacity=“0.15”>
<rect x=“60” y=“130” width=“8” height=“8” rx=“2” fill="#39d

«Точки на стене, как в графике контрибьюшенов на GitHub» — вот это любопытное добавление. Мы не подумали бы сами добавить такое в промпт, но когда уже видишь, ощущаешь, что идея уместная. В 2024-м о таком и мечтать не приходилось.

Но у всех сгенерированных вариантов есть один и тот же недостаток. Модели постоянно пытаются одновременно показать и голову котика, и код на его экране. А в результате получаются довольно странные ракурсы, когда экран компьютера отвёрнут от того, кто за ним сидит.


Выводы

И «пеликановый тест», и наша проверка показывают схожие результаты. В генерации SVG за два года заметен большой прогресс: изображения стали точнее и детализированнее, а модели стали проявлять инициативу, добавляя любопытные детали. И всё это выглядит не случайным успехом в отдельной задаче, а отражением общего развития LLM.

При этом заметны и недостатки, так что нельзя «просто взять и в один промпт получить идеальный SVG-файл». И это тоже выглядит отражением общей ситуации, когда ИИ-модели стали гораздо способнее, но по-прежнему легко могут ошибаться и требуют много компетентного внимания.

В недавнем тексте про математику мы писали, что самое впечатляющее — это даже не текущие достижения, а темпы развития, с которыми дальше всё может стать ещё интереснее. И здесь темпы тоже оказывались высокими. Так что интересно будет через год вернуться к этому тесту и проверить: какие пеликаны и котики будут получаться тогда?