{
    "version": "https:\/\/jsonfeed.org\/version\/1.1",
    "title": "Блог Михаила Озорнина",
    "_rss_description": "Главная · Блог · Работы",
    "_rss_language": "ru",
    "_itunes_email": "",
    "_itunes_categories_xml": "",
    "_itunes_image": "",
    "_itunes_explicit": "",
    "home_page_url": "https:\/\/mikeozornin.ru\/blog\/",
    "feed_url": "https:\/\/mikeozornin.ru\/blog\/rss\/",
    "icon": "https:\/\/mikeozornin.ru\/blog\/pictures\/userpic\/userpic@2x.jpg?1614204384",
    "authors": [
        {
            "name": "Михаил Озорнин",
            "url": "https:\/\/mikeozornin.ru\/blog\/",
            "avatar": "https:\/\/mikeozornin.ru\/blog\/pictures\/userpic\/userpic@2x.jpg?1614204384"
        }
    ],
    "items": [
        {
            "id": "236",
            "url": "https:\/\/mikeozornin.ru\/blog\/all\/kimi-visual-manipulation\/",
            "title": "Как легенда влияет на график",
            "content_html": "<p>Заметил тут одну штуку, хочу показать.<\/p>\n<p><aside class=\"aside-margin-right\"><span class=\"related-excerpt\">В тексте написана корректная оценка Опуса — 66.4%, но на графике другая.<br\/><…> K3.1 Pro scores 65.7% <…> narrowly behind Claude Opus 5.5 (66.4%)<\/span><\/aside><\/p>\n<p>У кими вышла новая модель, как обычно с графиками. В целом графики достаточно честные, кроме одного момента. Но одну вещь я заметил, никогда на такое не обращал внимание.<\/p>\n<p>Числа на графике такие: Кими — 65,7%, Опус — 64,85%, чуть хуже:<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/kimi-visual-manipulation-1.png\" width=\"2080\" height=\"1090\" alt=\"\" \/>\n<\/div>\n<p>Но если посмотреть, то Опус кажется более плохим, и дело не в масштабе не от нуля, который растягивает масштаб. Мне кажется, дело в подписи. Кими подписан сверху, а Опус сбоку, из-за этого Кими дополнительно вытягивается вверху и это проецируется и само значение.<\/p>\n<p>Модифицированная:<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/kimi-visual-manipulation-2.png\" width=\"2080\" height=\"1090\" alt=\"\" \/>\n<\/div>\n<p>Вот обе рядом:<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/kimi-visual-manipulation-1.png\" width=\"2080\" height=\"1090\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/kimi-visual-manipulation-2.png\" width=\"2080\" height=\"1090\" alt=\"\" \/>\n<\/div>\n<p>Как будто влияет?<\/p>\n<p>И еще момент.<\/p>\n<p>В качестве формы маркера выбран треугольник углом вверх. Все люди (кроме дизайнеров Эпла) знают, что визуально центр будет ниже. Поэтому можно поставить треугольник геометрически корректно, но визуально чуть убавить балл.<\/p>\n<p>Вот смотрите, левый геометрически чуть выше, а визуально чуть-чуть, самую капельку выше правый.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/kimi-visual-manipulation-3.png\" width=\"2080\" height=\"1090\" alt=\"\" \/>\n<\/div>\n<p>Я не думаю, что сделали специально. Но если специально, то это такие грандмастеры инфодизайна просто, каких мало. Моё почтение.<\/p>\n<p>Понятно, что реальная манипуляция заключается в том, что из моделей ОпенАИ выбрали Астру, а не 6.1-Сол, который показывает ровно те же значения в Терминал Бенче 4.0, но за 20% цены. Сравниваться с Солом не так интересно. Это безусловно не случайно.<\/p>\n",
            "summary": "Заметил тут одну штуку, хочу показать",
            "date_published": "2026-10-26T01:39:20+03:00",
            "date_modified": "2026-10-26T01:38:01+03:00",
            "tags": [],
            "image": "https:\/\/mikeozornin.ru\/blog\/pictures\/kimi-visual-manipulation-1.png",
            "_date_published_rfc2822": "Mon, 26 Oct 2026 01:39:20 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "236",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": [
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/kimi-visual-manipulation-1.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/kimi-visual-manipulation-2.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/kimi-visual-manipulation-3.png"
                ]
            }
        },
        {
            "id": "234",
            "url": "https:\/\/mikeozornin.ru\/blog\/all\/build-html-prototype-skill\/",
            "title": "Скилл для кликабельных прототипов",
            "content_html": "<p class=\"lead\">Я сделал скилл для делания прототипов. С ним ваш клод или кодекс соберет более удобный кликабельный прототип, а вы сможете легко его потом доработать<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/build-html-prototype-skill-1@2x.png\" width=\"1388\" height=\"1031\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/build-html-prototype-skill-2@2x.png\" width=\"1388\" height=\"1031\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/build-html-prototype-skill-3@2x.png\" width=\"1388\" height=\"1031\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/build-html-prototype-skill-4@2x.png\" width=\"1388\" height=\"1031\" alt=\"\" \/>\n<\/div>\n<p>Скринкаст:<\/p>\n<div class=\"e2-text-video\">\n<video src=\"https:\/\/mikeozornin.ru\/blog\/video\/mo-build-prototype-skill-demo.mp4#t=0.001\" width=\"1920\" height=\"1080\" controls alt=\"\" \/>\n\n<\/div>\n<h2>Зачем<\/h2>\n<p>Иногда проще не тащить реальную дизайн-систему и не писать сразу на свифте, котлине или реакт нейтиве. Клод быстрее соберет отдельный изолированный хтмл-файл, и успеет его три раза поправить, пока нпм ставит все зависимости вашей дизайн-системы.<\/p>\n<p>Всё лежит в одном файле: экраны, логика, комментарии, картинки, иконки. Его можно кинуть коллегам, он откроется у них в браузере так же, как у вас.<\/p>\n<h2>Что в скилле<\/h2>\n<p>Главное в скилле — не сами экраны, а обвязка, в которой их удобно смотреть и обсуждать. Она одинаковая во всех прототипах. Агент её не трогает и пишет только экраны.<\/p>\n<ul>\n<li>Браузерная рамка с прототипом, чтобы отделить его от обертки<\/li>\n<li>Переключатели шагов и состояний. По горизонтали — шаги, по вертикали состояния этих шагов. Удобно обозреть целиком, а не искать переходы.<\/li>\n<li>Карта этих же экранов и переходов, иногда удобнее смотреть её<\/li>\n<li>Варианты прототипы (грид или карточки) или параметры: десктоп-мобайл, ориентация планшет и прочее. Если вопрос в том, какое решение выбрать, агент делает 2—3 варианта, которые отличаются структурой, а не цветом кнопок.<\/li>\n<li>Комментарии агент. Агент может подписать тонкости для вас.<\/li>\n<\/ul>\n<h2>Правочки<\/h2>\n<p>Отдельное внимание уделил тому, как вы будете отдавать правочки клоду. Зажимаете Альт (Опшен на маке), кликаете в элемент и пишете комментарий. Он привязывается к конкретному элементу на конкретном экране в конкретном состоянии. Потом нажимаете «Копировать все» и получаете текст для агента. Пара таких итераций, и у вас уже вполне кликабельная штука.<\/p>\n<h2>Сам прототип<\/h2>\n<p>В теории клод должен не бросаться сразу рисовать галерею экранов, а разобраться как сделать прототип под конкретное решение. До того, как писать код он должен будет:<\/p>\n<ul>\n<li>выяснить, кто пользователь и какую задачу решает;<\/li>\n<li>сформулировать, что команда должна решить по прототипу;<\/li>\n<li>расписать сценарий от начала до результата, не уходят во все ненужные ответвления<\/li>\n<\/ul>\n<p>Если продукт уже есть, агент возьмет навигацию из него. Экраны на пути к ответу он сделает кликабельными, остальное нет, но можно попросить всё.<\/p>\n<h2>Скачать<\/h2>\n<p><a href=\"https:\/\/github.com\/mikeozornin\/skills\">https:\/\/github.com\/mikeozornin\/skills<\/a><\/p>\n<pre class=\"e2-text-code\"><code class=\"\">npx skills add mikeozornin\/skills --skill mo-build-html-prototype<\/code><\/pre><p>Если есть что, пишите. Интересно посмотреть на чужой опыт.<\/p>\n",
            "summary": "Скринкаст",
            "date_published": "2026-10-19T23:42:50+03:00",
            "date_modified": "2026-10-19T23:42:46+03:00",
            "tags": [
                "ИИ",
                "прототипы",
                "работа",
                "скиллы"
            ],
            "image": "https:\/\/mikeozornin.ru\/blog\/pictures\/build-html-prototype-skill-1@2x.png",
            "_date_published_rfc2822": "Mon, 19 Oct 2026 23:42:50 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "234",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": [
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/build-html-prototype-skill-1@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/build-html-prototype-skill-2@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/build-html-prototype-skill-3@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/build-html-prototype-skill-4@2x.png"
                ]
            }
        },
        {
            "id": "233",
            "url": "https:\/\/mikeozornin.ru\/blog\/all\/tokenmaxing\/",
            "title": "Учитесь тратить токены в ллм",
            "content_html": "<p class=\"lead\">Сейчас многие учатся экономить токены: как уложиться в подписку за 20 долларов и всё равно приносить пользу. Ставят разные MCP, скиллы, чтобы не сжирать 20 долларов за раз. Мне кажется, это достаточно тупиковая сейчас задача. Гораздо важнее научиться с пользой тратить десять подписок по 200 долларов.<\/p>\n<p>На первый взгляд классно: приносить кучу пользы за 20 долларов, но приносить кучу пользы за 10×200 долларов перспективней.<\/p>\n<p>Какие к этому есть предпосылки.<\/p>\n<h2>Токенов будет больше и дешевле<\/h2>\n<p>Прогресс ИИ по скромным прогнозам сохранит рост на удешевление по текущему тренду. Сейчас не менее, чем в 10 раз за год. Через год тот уровень интеллекта, который входит в 200-долларовую подписку сейчас, будет стоит 20 (я думаю, даже меньше, я понимаю, что задачи тоже будут усложняться). И надо готовиться к тому, чтобы уметь извлекать пользу из подешевевшего ИИ.<\/p>\n<p>Проведем мысленный эксперимент. Дадим среднему разработчику пять подписок по 500 долларов на Сол 6.1 (без астры ультрафаст, иначе чит). Сколько из них он с пользой потратит за месяц? Ставлю бутылку вина, что средний разраб не выжрет и одной. У него почти безлимит на одну из лучших на сейчас моделей, а двадцати хороших MR в день всё равно нет. Имхо, этому стоит учиться уже сейчас.<\/p>\n<p>Дело не только в объёме задач, но и в сложности. Сможет ли кто-то у вас в компании автономно переписать большой продукт на раст, имея десять подписок на клод? Не пофайлово в течение двух лет, а так: настроить агентов, оркестрацию, сборку, приёмку и тестирование, чтобы опус неделю пошуршал и выдал рабочую сборку не хуже текущей. И чтобы её было не страшно отдать клиенту.<\/p>\n<p>Я не говорю, что переписывать надо. Я спрашиваю, готовы ли мы все к этому.<\/p>\n<h2>Узкое место — не написание кода<\/h2>\n<p>Я вижу как многие вокруг думают, что с ИИ главный фокус — написать хороший кода. С этим проблемы нет, это не жрет много токенов.<\/p>\n<p>Существенно сложнее — проверить написанное так, чтобы кнопку Merge было не страшно нажать. Чтобы люди брали ответственность за решения внутри, не читая каждую строчку. И пока мы в гитлабе ревьювим код Опуса глазами и проверяем каждую строку, никакого значимого роста не будет.<\/p>\n<p>Пока мы передаем на тестирование письмом в qa-отдел, никакого значимого роста не будет.<\/p>\n<h2>Что стоит уже сейчас<\/h2>\n<p>Имхо, стоит искать у вас heavy-юзеров (типа Потейто) и давать им ставить эксперименты, проверять что работает, а что нет. 10 подписок на каждого из нескольких человек это не так много, ну ей-богу.<\/p>\n<p>Зато когда токены подешевеют, они вас научат.<\/p>\n<p>Что, мне кажется, стоит пробовать уже сейчас:<\/p>\n<ul>\n<li>Авторесёрч для производительности: агент видит метрики и сам их улучшает, как в <a href=\"https:\/\/github.com\/davebcn87\/pi-autoresearch\">pi-autoresearch<\/a>.<\/li>\n<li>Длинные воркфлоу на несколько дней: переписать проект на другой язык или перевести продукт со старой дизайн-системы на новую. Хотя бы ради эксперимента.<\/li>\n<li>Проактивный мониторинг: агент сам разбирается в проблеме до того, как подключится человек. Автоматически ревьювит и триажит все баги.<\/li>\n<li>Автоматический анализ данных: у продакта постоянно висит агент, который копается в хранилище метрик и приносит находки на проверку.<\/li>\n<\/ul>\n<p>И не обязательно брать только топовые модели. Например, новый дипсик отвечает в целом нормально и очень быстро. Год назад я был бы счастлив получить такую модель безлимитно.<\/p>\n<p>Неужели нет задач, где поможет условно безлимитный дипсик?<\/p>\n<h2>А если нет<\/h2>\n<p>Может, прогресс замедлится и ничего не случится. Я недостаточно разбираюсь в ЛЛМ, чтобы это предсказать. А если не замедлится?<\/p>\n",
            "summary": "На первый взгляд классно: приносить кучу пользы за 20 долларов, но приносить кучу пользы за 10×200 долларов перспективней",
            "date_published": "2026-10-17T02:42:42+03:00",
            "date_modified": "2026-10-17T02:42:52+03:00",
            "tags": [
                "ИИ",
                "рабочее"
            ],
            "_date_published_rfc2822": "Sat, 17 Oct 2026 02:42:42 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "233",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        },
        {
            "id": "232",
            "url": "https:\/\/mikeozornin.ru\/blog\/all\/chargers-strike-back\/",
            "title": "Инженеры могут сделать сложным всё",
            "content_html": "<p class=\"lead\">Нет ни одной вещи, которую хороший инженер не смог бы сделать сложной<\/p>\n<p>Казалось бы, несложная вещь — зарядка. Воткнул один конец в розетку, другой в телефон и телефон заряжается. Ха!<\/p>\n<p>Я хочу рассказать четыре истории о том, как инженеры смогли сделать сложной зарядку.<\/p>\n<h2>История 1. Проектор и провод-ниппель<\/h2>\n<p>У меня есть небольшой портативный проектор. Ему для работы требуется 65 ватт. У него в комплекте своя type-c-зарядка, как раз 65 ватт. В какой-то момент понадобилось, чтобы он работал в том месте, где поблизости нет электричества. Хорошо, что есть большой и достаточно мощный павербанк — как раз на 65 ватт.<\/p>\n<p>Проверили дома: воткнули, завёлся, включился, — всё супер. Берем тот же провод, не такой же, а прямо этот, на котором тестировали. На следующий день относим его в то место, где он должен работать, повторяем ту же самую операцию — не включается. Проверили — не включается, явно запустили павербанк — все равно не включается. Каким-то чудом, после перетыкивания проводов, он завёлся, забрав с собой немало нервов.<\/p>\n<p>Принесли домой, подключили — все нормально с первого раза. Я не мог понять, что это такое было, списал на то, что сейчас все глючит и тупит. Пока ситуация не повторилась второй раз. И вроде как в этот раз помогло перетыкивание провода туда-обратно, в смысле задом наперёд.<\/p>\n<p>Это противоречит некоторым законам, так сказать, физики. Казалось бы, если провод симметричный, то неважно, каким концом вы его воткнёте: провод — это не ниппель, у него нет направления, электроны бегают в обе стороны одинаково хорошо. Но ситуация повторилась второй раз, и второй раз стабильно, в 100 % случаев, потребовалось переткнуть провод. Полная жесть, думал я.<\/p>\n<p>И я пошёл ресёрчить, окунулся в дивный мир, в который погружаться не хотел.<\/p>\n<p>Что выяснилось, если кратко? type-c, Power Delivery, все эти протоколы быстрой зарядки через type-c невероятно сложны, и там есть ряд особенностей.<\/p>\n<p>Первая особенность такая: устройство говорит, какой ток и прочее ему можно. Это я и так знал, понятно, что зарядка и устройство договариваются о подходящем режиме.<\/p>\n<p>Зарядка: я умею вот в эти пять режимов<br \/>\nПроектор: <i>так, мне надо 65 ватт<\/i> Беру 20 В × 3,25 А.<\/p>\n<p>Если потом, например, зарядка перегрелась, сработала защита, она говорит: я умею вот в эти три режима, выбирай.<\/p>\n<p>Оказывается их двоих недостаточно, еще провод должен что-то о себе рассказать: «Зарядка, слушай, я нормальный провод, вот у меня длина два метра, мне разрешено пускать по себе ток до четырех ампер».<\/p>\n<p>И в зависимости от того, какой режим зарядки нужен, какой режим триггернул проектор и как именно он его запросил, зарядка разрешает или не разрешает этот режим в зависимости от провода.<\/p>\n<p>Подходим к самому интересному месту. Порог того, какую мощность можно пускать без специального разрешения провода, — 60 ватт. По любому проводу можно пустить 60 ватт при напряжении 20 вольт, но чтобы пустить по нему же уже 65 ватт при том же напряжении, провод должен рассказать, что он хороший.<\/p>\n<p>Многие уже начали понимать, что происходит, но я скажу явно: чип, который всё это триггерит и обо всём рассказывает (электронная метка), был только в одном конце провода. Поэтому было важно, каким концом мы его воткнём. Если воткнуть другим концом, провод не расскажет о том, что он хороший, и получится не 65, не 100, не 140 ватт, а только 60.<\/p>\n<p>И вот после этого выясняется, что эмпирический опыт о том, что провод работает как система «ниппель», то есть в одну сторону ток пускает, а в другую не пускает, в целом соответствует действительности. Единственное, что он пускает просто немножко по-разному. Но так неудачно получилось, что кто-то придумал спецификацию 60 Вт, а проектору потребовалось именно 65 — чуть-чуть больше. Причем совпадение в 60 и 65 ватт случайно, ограничение по току в 3 А. Просто совпало, что популярный режим — 20 В.<\/p>\n<p>Указано ли это правило на проводах? Нет, конечно. Есть ли там какая-нибудь стрелочка, которая показывает, каким концом куда втыкать? Нет, конечно, не указана.<\/p>\n<p>По спеке делать такие провода нельзя, провода-ниппели запрещены. Но… вот попался.<\/p>\n<p>Шпаргалка: Слева павербанк, справа зарядка. На одной картинке проектор запустится, на другой нет. Листайте<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"320\" data-ratio=\"1\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/chargers-strike-back-3@2x.png\" width=\"320\" height=\"320\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/chargers-strike-back-4@2x.png\" width=\"320\" height=\"320\" alt=\"\" \/>\n<\/div>\n<\/div>\n<h2>История 2. Зарядка, провода и деление мощности<\/h2>\n<p>Она касается опять же разных протоколов зарядки, но на этот раз лишь того, что должна делать сама зарядка.<\/p>\n<p>У вас, например есть зарядка, которая максимум может выдать 100 Вт. Но 100 Вт она выдаёт на один порт, когда, например, подключён ноутбук, и ноутбук быстро заряжается (обычно это 20 В × 5 А). Если вы захотели зарядить ещё планшет, то общая мощность зарядки поделится между двумя портами.<\/p>\n<p>Пока все логично.<\/p>\n<p>В какой пропорции она поделится — это зависит от производителя зарядки и от того, как он всё это реализовал.<\/p>\n<p>Вернемся к той самой зарядке на 100 ватт. На одном порту она выдает 100 ватт, а на двух — 60 + 40. Вы заряжаете свой макбук и айфон.<\/p>\n<p>В какой-то момент телефон зарядился, вы его отключили. Как вы думаете, сколько энергии стало попадать в ваш ноутбук?<\/p>\n<p>А это уже зависит от того, как именно вы отключили телефон: вытащив разъём из телефона или вытащив разъём провода из зарядки. В случае айфонов всё будет работать по-разному.<\/p>\n<p>Если вы вытащили провод, то 100 ватт вернутся к ноутбуку. Если вы оставили провод воткнутым, то, к сожалению, вся ваша хорошая мощная зарядка в 100 ватт превратится в зарядку на 60 и будет заряжать ноутбук заметно медленнее.<\/p>\n<p>Почему так происходит?<\/p>\n<p>Конкретно в айфоновых проводах (lightning) внутри стоит чип и резистор, зарядка считывает их как подключённое устройство и переключает режим.<\/p>\n<h2>История 3. Перезагрузка зарядки и выключенный ноутбук<\/h2>\n<p>Бывает, что у людей умирает батарея в ноутбуке, и ноутбук от нее не может работать и минуты. Они привыкают работать на зарядке, ноутбук превращается фактически в небольшой, но стационарный компьютер: отключить его от розетки нельзя.<\/p>\n<p>Тут им приходит в голову зарядить телефон. Они втыкают провод в ту же самую зарядку — и ноутбук у них вырубается. Почему? Потому что, в зависимости от того, как сделана схемотехника зарядки, некоторые зарядки перезагружаются при перераспределении портов, а некоторые сделаны лучше и умеют не перезагружаться.<\/p>\n<p>Бывает, что некоторым людям это важно. Тем самым людям, у кого ноутбук в таком состоянии, например, это действительно важно. И поэтому они вынуждены погружаться в эти особенности, узнавать, что есть совершенно одинаковые, очень похожие зарядки.<\/p>\n<p>Шпаргалка. На картинках две зарядки, на одной ноут перезагрузится, на другой — нет.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/chargers-strike-back-1@2x.png\" width=\"400\" height=\"406\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/chargers-strike-back-2@2x.png\" width=\"400\" height=\"415\" alt=\"\" \/>\n<\/div>\n<p>Та, на которой не перезагрузится, стоит вдвое дороже, кстати.<\/p>\n<h2>История 4. Фонарики с type-c<\/h2>\n<p>После трех историй, наученные горьким опытом, вы хорошим проводом свой фонарик с type-c втыкаете в хорошую зарядку.<\/p>\n<p>Уже догадываетесь, да?<\/p>\n<p>Да! Фонарик не заряжается.<\/p>\n<p>Почему? Чтобы девайс заряжался от USB-A (обычный большой USB), ничего не надо: USB-A по умолчанию всегда подает 5 вольт. Для type-c инженеры посовещались и решили, что так <i>небезопасно<\/i>. Разъёмы с обеих сторон провода одинаковые, и проводом type-c — type-c можно соединить, например, две зарядки — и они начнут подавать напряжение друг в друга. Поэтому type-c-зарядка молчит, пока не убедится, что на другом конце именно потребитель, а не источник.<\/p>\n<p>Потребитель сообщает о себе двумя резисторами по 5,1 кОм — по одному на каждый из двух сигнальных контактов (CC1 и CC2). Резисторы работают, даже если батарея устройства села в ноль.<\/p>\n<p>Но нет резисторов — нет питания.<\/p>\n<p>Производители фонарика сэкономили на этих двух резисторах стоимостью в копейки. Может быть, поставили один вместо двух — и тогда фонарик заряжается только при одном положении штекера или не заряжается как раз от хороших проводов с электронной меткой. В итоге через нормальную зарядку заряжаться он не способен.<\/p>\n<p>Глупой медленной зарядкой USB-A → type-c фонарик заряжаться будет: USB-A и так подаёт питание всегда, а в штекере type-c такого провода уже стоит резистор, который говорит «я зарядка». А современной быстрой не будет.<\/p>\n<p>Сделал вам шпаргалку. Одним проводом фонарик заряжаться будет, а вторым — нет? В слайдшоу ответ.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"301\" data-ratio=\"0.61178861788618\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/chargers-strike-back-5@2x.png\" width=\"301\" height=\"492\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/chargers-strike-back-6@2x.png\" width=\"301\" height=\"492\" alt=\"\" \/>\n<\/div>\n<\/div>\n<h2>Бонусная история номер 5<\/h2>\n<p>Вы изучили все это, выбрали классный, хороший type-c кабель. Подключаете им ссд-диск и… он еле ворочается.<\/p>\n<p>А все потому, что мы обсуждали зарядку, а кроме зарядки в проводах есть еще шины данных и часто провода, которые быстро заряжают, медленно передают данные и наоборот. Если вам нужен провод и для зарядки ноута, и чтобы ссд-диск подключить…<\/p>\n<p>Штош. Удачи.<\/p>\n<p>К сожалению, у всего этого нет простого решения, кроме как: покупать нормальные провода, иметь запас мощности (чтобы даже когда торчит провод от телефона, ноутбуку хватало). Если важны особые требования — погрузиться (скорее всего, спросить клода хватит).<\/p>\n<p>А type-с надо использовать, да: <a href=\"https:\/\/mikeozornin.ru\/blog\/all\/usb-charging-only\/\">Везде должно быть USB<\/a><\/p>\n",
            "summary": "Казалось бы, несложная вещь — зарядка. Воткнул один конец в розетку, другой в телефон и телефон заряжается",
            "date_published": "2026-10-12T16:17:21+03:00",
            "date_modified": "2026-10-12T23:06:53+03:00",
            "tags": [
                "usb",
                "инженеры",
                "сложный мир"
            ],
            "image": "https:\/\/mikeozornin.ru\/blog\/pictures\/chargers-strike-back-3@2x.png",
            "_date_published_rfc2822": "Mon, 12 Oct 2026 16:17:21 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "232",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "jquery\/jquery.js",
                    "fotorama\/fotorama.css",
                    "fotorama\/fotorama.js"
                ],
                "og_images": [
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/chargers-strike-back-3@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/chargers-strike-back-4@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/chargers-strike-back-1@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/chargers-strike-back-2@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/chargers-strike-back-5@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/chargers-strike-back-6@2x.png"
                ]
            }
        },
        {
            "id": "231",
            "url": "https:\/\/mikeozornin.ru\/blog\/all\/claude-sonnet-5-5-charts\/",
            "title": "Как читать графики ии-бенчей",
            "content_html": "<p>Тут вышел sonnet 5.5: <a href=\"https:\/\/www.anthropic.com\/claude-sonnet-5-5\">anthropic.com\/claude-sonnet-5-5<\/a><\/p>\n<p>Не собираюсь обсуждать качество модели, расскажу как манипулируют рассказом.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/claude-sonnet-5-5-charts-1@2x.png\" width=\"880\" height=\"673\" alt=\"\" \/>\n<\/div>\n<p>Из графика очевидны две вещи:<\/p>\n<ul>\n<li>Новый соннет 5.5 лучше во всем старого соннета 5.<\/li>\n<li>Новый соннет 5.5 почти такой же, как новый более дорогой (по токенам) опус 5.5.<\/li>\n<\/ul>\n<p>Так ли на самом деле? Предлагаю глянуть официальный график из того же анонса. Я всего лишь подпишу значения на графике их же тултипами.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/claude-sonnet-5-5-charts-2@2x.png\" width=\"766\" height=\"546\" alt=\"\" \/>\n<\/div>\n<p>Выходит, соннет 5.5 чуть хуже и на 36,5% дороже опуса 5.5. Может другой график лучше?<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/claude-sonnet-5-5-charts-3@2x.png\" width=\"766\" height=\"546\" alt=\"\" \/>\n<\/div>\n<p>А тут соннет 5.5 не просто чуть-чуть хуже, он еще и в 52 (sic!) раза дороже. Отчасти, это проблема бенча Frontier Code v1.1, он такой по своей идее. Но не в 52 же раза!<\/p>\n<p>В итоге соннет 5.5 по сравнению с опусом 5.5 (более дорогой моделью) почти всегда:<\/p>\n<ul>\n<li>дороже при том же уме,<\/li>\n<li>глупее при той же стоимости,<\/li>\n<li>глупее и дороже одновременно, иногда значительно.<\/li>\n<\/ul>\n<p>Очевидно ли всё это из таблички анонса? Нет<br \/>\nСлучайно ли получилось так, что не понятно? Не знаю<\/p>\n",
            "summary": "Тут вышел sonnet 5.5: anthropic.com\/claude-sonnet-5-5",
            "date_published": "2026-09-28T22:27:52+03:00",
            "date_modified": "2026-09-28T22:27:49+03:00",
            "tags": [
                "антропик",
                "визуализация данных",
                "ИИ",
                "манипуляция"
            ],
            "image": "https:\/\/mikeozornin.ru\/blog\/pictures\/claude-sonnet-5-5-charts-1@2x.png",
            "_date_published_rfc2822": "Mon, 28 Sep 2026 22:27:52 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "231",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": [
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/claude-sonnet-5-5-charts-1@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/claude-sonnet-5-5-charts-2@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/claude-sonnet-5-5-charts-3@2x.png"
                ]
            }
        },
        {
            "id": "230",
            "url": "https:\/\/mikeozornin.ru\/blog\/all\/theatres-2026-h2\/",
            "title": "На что сходить в театрах в Москве и Петербурге во второй половине 2026",
            "content_html": "<p class=\"lead\">Советую спектакли, на которые нужно идти.<\/p>\n<p>Я в одном из чатов написал рекомендации, советую и вам. Вдруг кто-то прочитает тут.<\/p>\n<h2>Вне оценок, шедевры<\/h2>\n<h3>Москва<\/h3>\n<p>Вахтангова · Бутусов · Бег<br \/>\nВахтангова · Туминас · Евгений Онегин (лучше, если Добронравов)<br \/>\nВахтангова · Туминас · Война и мир (лучше, если Добронравов)<br \/>\nВахтангова · Варсимашвили · Ричард III<br \/>\nМТХ · Крымов · Сережа (Крымова почти не осталось)<br \/>\nТеатр Наций · Могучий · Сказка про последнего ангела<br \/>\nПока нигде не играют · Озеро · Ричард, Три сестры, Гроза (сильно постмодерн, не идите, если привыкли к классике, но очень классные, обожаю)<br \/>\nТаганка · Муравицкий · Lё Тартюф  (не был, но жена плохого не посоветует)<\/p>\n<h3>Питер<\/h3>\n<p>Театр на Садовой · Шерешевский · Идиот (идите на Деля, не на Деле не был)<br \/>\nБДТ · Могучий · Три толстяка (все, что будут)<\/p>\n<h2>Прекрасные, на все готов сходить еще разок<\/h2>\n<h3>Москва<\/h3>\n<p>Мтюз · Федоров · Собачье сердце<br \/>\nВахтангова · Ковалёва · Наш класс<br \/>\nВахтангова · Бутусов · Король Лир<br \/>\nВахтангова · Туминас · Царь Эдип<br \/>\nОколо · Толстошева · Клоуны (иногда приезжаю в Питер)<br \/>\nОколо · Толстошева · Сирано де Бержерак<br \/>\nСатарикон · Бутусов (!) · Р<br \/>\nБутусовцы · Ковалёв · Вишневый сад<br \/>\nТеатр-док · Угаров (!) · Человек из Подольска<br \/>\nСатарикон · Мнацаканов · Елизавета Бам<br \/>\nМТХ · Молочников · 19.14<br \/>\nТеатр Наций · Крымов · Му-му<br \/>\nРамт · Бутусов · Сын<br \/>\nШДИ · Мнацаканов · Собака с дамочкой<\/p>\n<h3>Москва, сходить с детьми (но кайф и взрослым)<\/h3>\n<p>Внутри · Мовсесян · Сказки Пушкина<br \/>\nМтюз · Шерешевский · Винни пух<br \/>\nМтюз · Мовсесян · Русалочка<\/p>\n<h3>Питер<\/h3>\n<p>Что там идет из Бутусова в Ленсовета, все можно<br \/>\nНДТ · Злобин · Магазин<br \/>\nМДТ · Тумина · Восемь снов (первый акт — шедевр, второй не такой шедевр)<br \/>\nМалыщицкого · Шерешевский · Три (еще не был, но жена плохого не посоветует, идем осенью)<br \/>\nТеатр на Садовой · Шерешевский · Волки и овцы<\/p>\n<h3>Питер, сходить с детьми (но кайф и взрослым)<\/h3>\n<p>БДТ · Могучий · Счастье<br \/>\nБДТ · Ибрагимов · Когда я снова стану маленьким<br \/>\nОсобняк · Тумина · Комната Герды<br \/>\nКукфо · Викторова · Птифуры. Бабушки<br \/>\nКукфо · Викторова · Птифуры. Дедушки<\/p>\n<p>Есть еще другие, чуть меньше понравились, написал про те, что как будто идут еще. Понятно, что из прекрасных на какие-то я сходил бы повторно с большим кайфом, условно есть более прекрасные.<\/p>\n<p class=\"loud\">Сходите в театр. Можно отложить покупку нового айфона дуо и сходить вместо него на спектакли.<\/p>\n",
            "summary": "Я в одном из чатов написал рекомендации, советую и вам. Вдруг кто-то прочитает тут",
            "date_published": "2026-09-10T11:38:54+03:00",
            "date_modified": "2026-09-10T17:58:43+03:00",
            "tags": [
                "театр"
            ],
            "_date_published_rfc2822": "Thu, 10 Sep 2026 11:38:54 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "230",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        },
        {
            "id": "229",
            "url": "https:\/\/mikeozornin.ru\/blog\/all\/agentic-ui-in-practice\/",
            "title": "Агентский поиск на примере Вкусвилла",
            "content_html": "<p class=\"lead\">Подоспел реальный пример для иллюстрации поста<\/p>\n<p><a href=\"https:\/\/mikeozornin.ru\/blog\/all\/agentic-ui\/\">В позапрошлом посте <\/a> я писал, что агентский поиск должен принимать пачку запросов за раз. Напомню идею: один тулкол, много запросов, один ответ. Иначе получается N+1: агент ищет, ищет, ищет.<\/p>\n<p>И вот поспел живой пример.<\/p>\n<p>У Вкусвилла появился <a href=\"https:\/\/mcp.vkusvill.ru\">официальный MCP<\/a>. <i>vkusvill_products_search<\/i> принимает один <i>q<\/i>. У меня <a href=\"https:\/\/recipe-scaler.ru\/about\">в приложении Recipe Scaler<\/a> список покупок для рецептов. Пара блюда — штук 20 ингредиентов. Чтобы собрать из них корзину Вкусвилла, мой агент делает примерно так:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">vkusvill_search_products({ q: &quot;яйца&quot; })\nvkusvill_search_products({ q: &quot;тесто фило&quot; })\nvkusvill_search_products({ q: &quot;апельсин&quot; })\nvkusvill_search_products({ q: &quot;греческий йогурт&quot; })\nvkusvill_search_products({ q: &quot;сахар&quot; })\nvkusvill_search_products({ q: &quot;разрыхлитель&quot; })\nvkusvill_search_products({ q: &quot;ваниль&quot; })\nvkusvill_search_products({ q: &quot;растительное масло&quot; })\nvkusvill_search_products({ q: &quot;апельсиновый сок&quot; })\nvkusvill_search_products({ q: &quot;корица&quot; })\nvkusvill_search_products({ q: &quot;вода&quot; })\nvkusvill_cart_link_create({ products: [...] })<\/code><\/pre><p>Каждый поиск — это полный цикл тулкола, кусок контекста, шанс упереться в рейт-лимит у меня или у мцп Вкусвилла. Да в целом я задумался, когда у меня сработала защита на число тулов в одном вопросе. Да и пользователю тоже неудобно: «ищем, ищем, ищем».<\/p>\n<p>Человеку так и надо: вбил «сметана», посмотрел выдачу. Агенту так не надо, он может посмотреть пять выдач параллельно.<\/p>\n<p>Могло бы быть так:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">{\n  &quot;queries&quot;: [\n    { &quot;q&quot;: &quot;сметана 20%&quot;, &quot;limit&quot;: 3 },\n    { &quot;q&quot;: &quot;мука пшеничная&quot;, &quot;limit&quot;: 3 },\n    { &quot;q&quot;: &quot;яйца С1&quot;, &quot;limit&quot;: 3 },\n    { &quot;q&quot;: &quot;черника свежая&quot;, &quot;limit&quot;: 3 }\n  ],\n  &quot;mode&quot;: &quot;short&quot;,\n  &quot;sort&quot;: &quot;rating&quot;,\n  &quot;vvonly&quot;: 1\n}<\/code><\/pre><p>И ответ:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">{\n  &quot;results&quot;: [\n    {\n      &quot;q&quot;: &quot;сметана 20%&quot;,\n      &quot;items&quot;: [\n        { &quot;id&quot;: 111, &quot;xml_id&quot;: 222, &quot;name&quot;: &quot;Сметана 20%&quot;, &quot;price&quot;: 89, &quot;rating&quot;: 4.8 }\n      ]\n    }\n  ]\n}<\/code><\/pre><p>Батчинг тоже надо делать не в тупую, например <i>limit<\/i> нужно на каждый запрос, не общий на всю выдачу. Для корзины из рецепта не нужны десять сметан. А общий лимит оставить только как защиту от дос-атаки.<\/p>\n",
            "summary": "В позапрошлом посте я писал, что агентский поиск должен принимать пачку запросов за раз. Напомню идею",
            "date_published": "2026-08-27T13:56:27+03:00",
            "date_modified": "2026-08-27T13:56:25+03:00",
            "tags": [
                "ИИ",
                "интерфейс"
            ],
            "_date_published_rfc2822": "Thu, 27 Aug 2026 13:56:27 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "229",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "228",
            "url": "https:\/\/mikeozornin.ru\/blog\/all\/recipe-scaler-for-ios\/",
            "title": "Нативный recipe scaler",
            "content_html": "<p class=\"lead\">Ох, получается, я сейчас — айос-разработчик<\/p>\n<p>Мои эксперименты с своим веб-приложением recipe scaler (см. посты по тегу <a href=\"https:\/\/mikeozornin.ru\/blog\/tags\/recipe-scaler\/\">recipe-scaler<\/a>) довели меня до апстора. Я выпустил нативное приложение.<\/p>\n<p class=\"loud\"><a href=\"https:\/\/apps.apple.com\/us\/app\/recipe-scaler-recipes-manager\/id6798054474\">Ссылка на магазин<\/a><\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/1@2x.png\" width=\"963\" height=\"695\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/2@2x.png\" width=\"963\" height=\"695\" alt=\"\" \/>\n<\/div>\n<p>Попробуйте, кто готовит, оно классное. Оно умеет всё то же, что веб:<\/p>\n<ul>\n<li>надежная синхронизация, в том числе в оффлайне,<\/li>\n<li>работа в оффлайне,<\/li>\n<li>таймеры с пушами,<\/li>\n<li>кбжу,<\/li>\n<li>импорт откуда угодно: текст, сайты, даже фотографии бабушникой тетрадки, интеграция с телеграмом,<\/li>\n<li>ассистент, который помогает в панике понять, что делать с тестом, которое не поднимается как положено, под капотом — стейт-оф-зе-арт-модель, а не какой-то мусор,<\/li>\n<li>и, если ассистента не хватает, то есть MCP, который позволяет встроить рецепты в клода, гпт или грока. Очень удобно, например, рассортировать кучу рецептов по папкам: грок сам прочитает все рецепты, придумает папки и раскидает<\/li>\n<\/ul>\n<p>А еще делает разные нативные штуки, — то чего не сделать в вебе:<\/p>\n<ul>\n<li>виджеты и лайв-активити, таймеры прямо на локскрине,<\/li>\n<li>импорт из крутона и паприки (не думаю, что кто-то пользовался, но вдруг),<\/li>\n<li>интеграция в спотлайт и сири,<\/li>\n<li>синхронизация покупок с ремайндерсами,<\/li>\n<li>приложуха для часов (не добавил в первое ревью, выйдет апдейтом).<\/li>\n<\/ul>\n<p>Все так же ультимативная прайваси — если вы не залогинитесь в телеграм и не опубликуете профиль, я не узнаю кто вы.<\/p>\n<p>Пишите что думаете, расскажите о том, чего не хватает.<\/p>\n<p>Ешьте вкусно, готовьте с кайфом, ждите обновлений, пишите чего не хватает: <a href=\"mailto:mike.ozornin@gmail.com\">mike.ozornin@gmail.com<\/a><\/p>\n",
            "summary": "Мои эксперименты с своим веб-приложением recipe scaler (см. посты по тегу recipe-scaler) довели меня до апстора",
            "date_published": "2026-08-25T12:35:27+03:00",
            "date_modified": "2026-08-25T12:45:05+03:00",
            "tags": [
                "ios",
                "recipe scaler",
                "готовка",
                "курсор",
                "проекты"
            ],
            "image": "https:\/\/mikeozornin.ru\/blog\/pictures\/1@2x.png",
            "_date_published_rfc2822": "Tue, 25 Aug 2026 12:35:27 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "228",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": [
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/1@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/2@2x.png"
                ]
            }
        },
        {
            "id": "227",
            "url": "https:\/\/mikeozornin.ru\/blog\/all\/agentic-ui\/",
            "title": "Что такое agentic UI \/ agent-friendly сервис",
            "content_html": "<p class=\"lead\">Нейросети сводят всех с ума, началась эпоха «агентского интерфейса».<\/p>\n<p>Только ленивый не говорит про агентский юикс, выходят посты, статьи как его делать. В целом этот агентский юикс немножко напоминает истерию с чат-ботами лет десять назад. Когда появились чат-боты (те, которые работали на скриптах, не поверх языковых моделей), тоже была истерика, что всё, Галя, отменяем все интерфейсы, всё переводим на чат-боты.<\/p>\n<p>Ну отлично, перевели на чат-ботов.<\/p>\n<p>А потом оказалось, что пропускная способность интерфейса чат-бот (количество бит информации, которое может пропустить чат-бот за одно взаимодействие), очень низкая. И людям неинтересно, смотреть по одному варианту чат-бота для билетов. Они хотят выдать хорошую, понятную, удобную выдачу с сортировкой и фильтрами. Они не хотят формулировать пару кликов мыши в виде сообщения «покажи сейчас варианты до 5 тыс, но если хорошие, то и до 7.5 тыс тоже можно».<\/p>\n<p>Чат-бот — это как ночной режим у меня в блоге (посмотрите, чтобы понять аналогию) — смотреть на маленькую область, а не видеть всю картину целиком.<\/p>\n<p><aside class=\"aside-margin-right\"><a href=\"https:\/\/habr.com\/en\/companies\/selectel\/articles\/1061986\/\">MCP как интерфейс продукта: почему я думаю, что GUI может стать не главным<\/a><span class=\"related-excerpt\"><\/br>Вот типичный пример — агентский интефрейс = MCP<\/span><\/aside><\/p>\n<p>Истерия истерией, но и когда начинают говорить про агентский интерфейс, к сожалению, очень многие говорят про него неправильно, делая фокус не на том. Мне кажется, когда говорят «агентский интерфейс», обычно имеют в виду MCP. Типа сделал себе MCP и хоба, получил agentic UI. Как бы да, но и нет.<\/p>\n<p>Рассказываю, что мне кажется более важным, чем MCP.<\/p>\n<h2>Что вообще значит «agent-friendly»<\/h2>\n<p>Еще одну минуту, я договориться об определениях.<\/p>\n<p>Agent-friendly — это продукт, в котором ллм-агент является first class citizen, наравне с человеком — продукт, в который может зайти и человек, и агент.<\/p>\n<p>Человек: открыть браузер, прочитать страницу, нажать кнопку.<br \/>\nАгент: дернуть API, прочитать контент, вызвать действие. В целом агент может и первым вариантом пойти, потыкать кнопочки, но это пока не очень нативный для него способ.<\/p>\n<p>Прямо сейчас продукты делаются для кожаных, а агентам с такими продуктами не очень удобно. Им тоже приходится тыкать кнопочки, скрывать куки-банеры и анализировать скриншоты — это все медленно и неудобно. MCP немного исправит ситуацию, но не полностью.<\/p>\n<h2>Что не так с MCP и прочим агентским юиксом сейчас<\/h2>\n<p>Мне кажется, что MCP, как протокол, как обертка вокруг имеющегося API, — это достаточно тупиковая ветка. Я не очень понимаю, зачем при наличии OpenAPI-спеки, нужно ещё какое-то описание. Почему клод, который настолько умный, что его опасно релизить, не может разобраться в OpenAPI-спеке и сделать всё по ней сразу? Зачем нужна какая-то специальная прослойка для этого? Вот тебе oauth, вот тебе описание методов, иди вызывай. Зачем MCP?<\/p>\n<p>Я бы ожидал, что скоро, либо в связи с улучшением агентов, либо с улучшением моделей, агентам не понадобится специальный протокол только для агентов. Они смогут взять, например, OpenAPI-спеку, разобраться в ней и сами сделать интеграцию на лету.<\/p>\n<p>Я благодарен антропику за то, что они придумали МСР и расширили наше сознание тем, что можно подключать к агентам. Я просто отношусь к этому как к временному явлению. Помните, раньше нужно было промпты писать в строго определенном порядке, структуре. А сейчас можно в целом очень сырой, очень противоречивый войс кодексу послать и как-то он разбирается. Он находит противоречия, он понимает, какая информация более свежая.<\/p>\n<p>Мне кажется, что такая же история будет с МСР, или превратится во что-то более сложное, или не будет нужен.<\/p>\n<p>Ну вот я сделал себе MCP в Recipe Scaler. Вышла, фактически, обёртка вокруг стандартного API. Я не понимаю, зачем я я вынужден её писать.<br \/>\nСам АПИ: ~3 100 строк кода<br \/>\nДополнительная MCP-слой: еще ~5 870<\/p>\n<p>Не кажется, ли что тут что-то не так? Мы делаем втрое больше кода, чтобы…?<\/p>\n<p>Расскажу что на самом деле важно, от базового — к надстройкам.<\/p>\n<h2>1. Доступность контента<\/h2>\n<p>Базовое условие: агент должен уметь прочитать контент продукта без браузера.<\/p>\n<p>Берем баш, пишем в нем:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">curl https:\/\/your-site\/important-page<\/code><\/pre><p>Если в ответ приходит осмысленный хтмл с контентом — всё в порядке. Если приходит СПА-шелл, в котором &lt;div id=’root’&gt;&lt;\/div&gt;и немного скрипт-тегов — все не очень хорошо. Агент не сможет прочитать страницу без playwright, puppeteer и прочих виртуальных браузеров. А поднимать его ради одной страницы — так себе история. Да и не все агенты умеют. Окей, кодекс разберется, клод сможет, а ваш доморощенный? А хватит на сервере памяти открыть 10 вкладок сразу? А 10 вкладок на каждого пользователя?<\/p>\n<p>Это касается всех страниц: главной, статей, поиска, карточки продукта, формы заказа. Angular и React без серверного рендера — это, так сказать, ред флаг.<\/p>\n<h2>2. Понятная структура контента<\/h2>\n<p>Дальше, после того как научились получать контент, можно говорить уже что такое контент. В идеале контент нужно не просто отдать, а отдать в простом, машиночитаемом, удобном для агента формате.<\/p>\n<p>Минимум:<\/p>\n<ul>\n<li>HTML с понятной семантикой (&lt;article&gt;, &lt;h1&gt;, &lt;time&gt;, &lt;nav&gt;), а не див на диве без каких-то поясненией.<\/li>\n<li>Все accessibility-штуки типа alt-описаний для картинок. Если нужно, агенты смогут скачать и прочитать картинку, но есть альт-текст, то как будто не всегда и нужно будет. Текст — проще, быстрее и дешевле.<\/li>\n<li>Субтитры для видео и аудио как отдельный слой данных. Если есть видео, дайти субтитры, чтобы агент понял что там. Вряд ли какой-то агент запарится, чтобы скачать видео, вырезать звук и распознать его.<\/li>\n<li>Микроформаты. Например, чтобы не разбирать неструктурированный текст рецепта, люди придумали специальную разметку. С ней агенту будет сильно проще (поисковику, кстати, тоже).<\/li>\n<\/ul>\n<p>Я бы еще предпочел, чтобы какой-то такой стандарт вошел в жизнь: content negotiation по «Accept». дин адрес, но:<\/p>\n<ul>\n<li>Accept: text\/html — человек видит страницу со всякими интерактивностями<\/li>\n<li>Accept: text\/markdown — агент получает маркдаун-описание, очищенное от навигации и прочих штук.<\/li>\n<\/ul>\n<h2>3. Поиск под агента<\/h2>\n<p>Поиск для людей обычно заточен под одно действие: ввёл запрос — увидел выдачу. Агентский поиск должен учитывать агентские сценарии: поискать 10 запросов сразу, собрать вместе, проанализировать. Намного удобнее будет поиск, который принимает сразу много запросов. Например, могло бы быть так:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">{\n  &quot;queries&quot;: [\n    { &quot;q&quot;: &quot;сброс пароля&quot;, &quot;limit&quot;: 5 },\n    { &quot;q&quot;: &quot;восстановить доступ&quot;, &quot;limit&quot;: 5 },\n    { &quot;q&quot;: &quot;reset password&quot;, &quot;limit&quot;: 3 }\n  ]\n}<\/code><\/pre><p>У меня в MCP сделано как раз так.<\/p>\n<p>Один тулкол, три синонима, один ответ — агент не делает три запроса по очереди, не ждет пинга по 200 мс, не упирается в рейт-лимиты, не тратит окно контекста на три тулкола.<\/p>\n<p>Что еще может пригодиться.<\/p>\n<ul>\n<li>Сниппеты. Нужно возвращать не только адрес результата: иди скачай, прочитай, пойми. А прямо там в ответе добавлять достаточно полный фрагмент — чтобы агент не ходил за статьёй, если вдруг не нужна. Опять же экономим тулколы.<\/li>\n<li>Фильтры. Агент должен уметь сузить результаты: по актуальности, по типу статьи, по категории, продукту.<\/li>\n<\/ul>\n<p>Особенно больно от аналогов N+1 запросов. Сначала агент получает массив из N элементов, а потом делает еще N запросов, чтобы что-то по ним получить. Дайте ему способ сделать один запрос. Получается, изобрели GraphQL?<\/p>\n<h2>4. Стандартные файлы для роботов<\/h2>\n<p>Агентам будут полезны как стандартные файлы для роботов типа sitemap.xml, так и специально написанные для них llms.txt. Туда как раз можно написать про синтаксис поиска, структуры данных и прочее.<\/p>\n<h2>5. Действия<\/h2>\n<p>Тут снова как будто возникает MCP.<\/p>\n<p>Но чот мне кажется, как я уже писал, что OpenAPI-спеки должно хватать. Пусть агент читает спеку, разбирается, делает запрос.<\/p>\n<h2>Генерируемый UI<\/h2>\n<p>Есть еще такая штука — генерируемый агентом интерфейс, это уже обратная часть: сделать пользователю уникальный интерфейс для его задачи или вопроса — MCP Apps, всякие канвасы и json-render-подобные библиотеки. Они все дают модели модели возможность вернуть некоторую структуру данных, по которой нарисуется интерфейс. Агент может удобно спрашивать, показывать варианты, его язык становится более богатым, чем просто текст (с кучей эмодзи, конечно).<\/p>\n<p>При этом в целом я бы не ожидал, что графические интерфейсы отомрут как класс. Но постепенно эти интерфейсы станут более персонализированными, более одноразовыми и более плохими (потому что агент будет делать плохой интерфейс)<\/p>\n<p>На этом и закончим.<\/p>\n<h2>Сделать<\/h2>\n<p>Вот чек-лист для проверки с кратким содержанием и выводами в стиле твоего блога:<\/p>\n<ol start=\"1\">\n<li>curl <a href=\"https:\/\/your-site\/important-page\">https:\/\/your-site\/important-page<\/a> отдаёт контент.<\/li>\n<li>Поиск принимает bulk-запросы и отдаёт богатые сниппеты.<\/li>\n<li>Есть llms.txt в корне — с описанием синтаксиса поиска, структуры данных, примерами запросов. Файл sitemap.xml тоже есть.<\/li>\n<li>Действия описаны в OpenAPI-спеке (или другой), на неё есть ссылка в llms.txt.<\/li>\n<li>Есть MCP, если вы его навайбкодили (раз уж это почти бесплатно).<\/li>\n<\/ol>\n<p>Хочешь, я сформирую для тебя удобный чек-лист в ПДФ, который ты мог бы добавить в пост для повышения цитирования?<\/p>\n",
            "summary": "Только ленивый не говорит про агентский юикс, выходят посты, статьи как его делать. В целом этот агентский юикс немножко напоминает истерию с чат-ботами лет десять назад...",
            "date_published": "2026-08-07T01:22:35+03:00",
            "date_modified": "2026-08-07T01:16:15+03:00",
            "tags": [
                "ИИ",
                "интерфейс"
            ],
            "_date_published_rfc2822": "Fri, 07 Aug 2026 01:22:35 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "227",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "224",
            "url": "https:\/\/mikeozornin.ru\/blog\/all\/llm-and-ui-design\/",
            "title": "Дизайн с помощью ИИ: протестировал 45 моделей и сгенерировал 174 картинок",
            "content_html": "<p class=\"lead\">Я сгенерировал одну и ту же задачу 45 разными агентами\/моделями, и показываю вам 174 итоговых картинок. Разница в стоимости между самым дорогим и дешевым вариантами — 410 раз.<\/p>\n<p class=\"loud\">Актуальные результаты на отдельной странице: <a href=\"https:\/\/mikeozornin.ru\/recipe-scaler-bench\">mikeozornin.ru\/recipe-scaler-bench<\/a><\/p>\n<p>У этого поста есть еще версия на английском: <a href=\"https:\/\/mikeozornin.ru\/blog\/all\/llm-and-ui-design-en\/\">mikeozornin.ru\/blog\/all\/llm-and-ui-design-en<\/a><\/p>\n<p>Иногда коллеги, часто не дизайнеры, после анонсов всяких Клод-дизайнов, спрашивают каково оно. Как оно дизайнит, что это вообще. Насколько хороший дизайн можно ожидать, можно ли взять дизайн-систему и как потом довести до продакшена. Возможно, они хотят услышать, что нейросети заменят не только их, разработчиков, но и дизайнеров тоже, — тогда мы вместе выпиливать столы, жарить кофе или работать курьерами.<\/p>\n<p>Я решил проверить, как дела с ИИ-дизайном обстоят на начало мая 2026 года. Ситуацию быстро меняется, через полгода всё это будет уже неактуально, но сейчас вот так.<\/p>\n<h2>1 План эксперимента<\/h2>\n<p>Я опишу план эксперимента: процедуру и ограничения, чтобы вы могли во-первых, понять, насколько можно верить результатам, во-вторых, могли провалидировать или повторить их самостоятельно.<\/p>\n<p>TL;DR; Агенты рисовали три экрана: десктоп, мобильный и промостраницу через Paper MCP.<\/p>\n<h3>1.1 Процедура<\/h3>\n<p><aside class=\"aside-margin-right\"><a href=\"https:\/\/recipe-scaler.ru\/#\/about\">recipe-scaler.ru\/#\/about<\/a><\/aside><\/p>\n<p>Я дал одну и ту же задачу 34-м разным агентами + моделями. Задача звучала как «сделай три экрана для одного и того же продукта»: десктопный экран, мобильный экран и промостраницу. В качестве продукта взял свою рецептилку и скормил агентам текст со страницы about.<\/p>\n<p>Я взял все популярные агенты и модели, которые сейчас представляю интерес.<\/p>\n<p>Агенты:<\/p>\n<ul>\n<li>Агенты основных вендоров моделей: Claude Code, Codex, даже Antigravity<\/li>\n<li>Самый популярный независимый закрытый агент рынке: Cursor<\/li>\n<li>Два самых популярных открытых агента (и единственные на сейчас, которые заслуживают внимания): Opencode и Kilo Code.<\/li>\n<\/ul>\n<p>Забегая вперед скажу, что в этой задаче агент не был принципиально важен.<\/p>\n<p>Модели использовались как в нативных провайдерах, так и сторонних через Openrouter. Модели:<\/p>\n<ul>\n<li>Флагманские модели американских лаб: Opus 4.7, Sonnet 4.6, Haiku 4.5, GPT 5.5 и 5.4, Gemini 3.1 Pro.<\/li>\n<li>Модели Cursor Auto, Composer 2 и Composer 2.5, а также нишевые игроки типа Grok 4.3 и Grok 4.5,<\/li>\n<li>Все популярные китайские модели: Qwen 3.7, Qwen 3.6 Max Preview (и более старая Qwen3.5 397B A17B), GLM 5.1, MiniMax 2.7, DeepSeek V4 Pro, Kimi 2.6.<\/li>\n<\/ul>\n<p>Всем моделям на входе передавалось задание в файле, оно было одинаковым,отличался только адрес файла — каждой модели выдавался свежий файл Paper, чтобы исключить любое влияние предыдущих запусков.<\/p>\n<p>Полный промт для Пейпера ниже (вариант для фигмы отличался только сменой инструмента и ссылки).<\/p>\n<pre class=\"e2-text-code\"><code class=\"markdown\">I am creating a design for a product.\n\n# Task\nCreate new pages:\n1. A desktop screen interface — choose the main screen and design it. Screen width: 1400px.\n2. A recipe screen interface for mobile. You need to design a recipe screen. Screen width: 375px.\n3. A promo page describing the product. Screen width: 1400px.\n\n# Where to create it and expected result\nWhere to create: TODO\n\nIf the mockups are long, you can make a tall frame\/artboard\/layout. You do not have to fit standard screen proportions.\n\nUse Paper MCP to create the design.\n\nUse English for the content inside the mockups.\n\nYou can use pregenerated images for illustations: &#039;\/Users\/mike\/work\/git-repos\/projects\/ai workshops\/design with ai-tmp&#039;. If you have built-in tools for drawing images, you can use them too.\n\nBelow is the product information, which also describes the product capabilities.\n\n# Product information\n\n```\nRecipe Scaler — app for those who cook\nIt reliably stores your recipes, helps you cook, works on your phone and computer, even offline.\n\nAccess from phone and computer\nYou will have access to your recipes both on your phone and computer. The apps will sync automatically, even from offline.\nOn each platform, the web application uses familiar ways of working: hotkeys on the computer, and standard gesture controls on the phone.\nOn the phone it works as PWA — install it on your home screen and you won&#039;t tell the difference from other apps.\n\nRecalculate recipes for different serving sizes\nThis is where the app started: recalculating recipes for different serving sizes.\nWhen recalculating, not only the ingredient list is updated, but also the recipe text.\n\nCooking assistance\nThe app will help you cook: it won&#039;t turn off the screen while cooking, will track time and even send push notifications. Timers are, of course, available on the computer too.\n\nShopping list\nAdd ingredients to your shopping list one by one from a recipe, or add the whole recipe at once.\nMark purchased items, sort the list the way you like, and share the list with the person going to the store.\n\nAutomagical recipe import\nRecipe Scaler can import a recipe from text, a single link, or multiple links at once.\nYou can also upload a file in almost any text format and even photos of pages from a cookbook, notebook, or handwritten recipe journal.\n\nAI assistant for recipes\nIf something goes wrong while you cook, the AI assistant can help you save the dish and figure out what to do next.\nIt can also explain the recipe, suggest the next step, and point out the equipment you may need.\nIt&#039;s like having a chef always at your fingertips, ready to answer your questions.\n\nDiscover section\nFind new recipes in Discover.\nExplore interesting authors, save recipes to your collection, and build your own shortlist of the best finds.\n\nHealth-friendly: nutrition calculation\nRecipe Scaler will calculate the nutritional value (Kcal, protein, fat, carbs) for a dish and let you view it conveniently: for the entire dish, per 100 grams, or per serving.\nIf artificial intelligence makes a mistake in the numbers, you can always correct the nutritional value of the needed ingredient.\n\nCookbook\nDownload a public recipe collection (your own or someone else&#039;s) as a beautifully formatted PDF.\nThe cookbook includes recipes with photos, ingredients, and cooking instructions.\n\nTelegram bot\nSend the bot a recipe text or a link to it and the bot will save the recipe to your account.\n\nChrome extension for quick import\nInstall the Recipe Scaler Importer extension and import the recipe into your account in one click.\n\nAI assistant integration\nConnect your AI assistant to recipes. It can search recipes, add new ones, or help you cook the way you&#039;re used to: in chat, by voice. To connect, use the link: recipe-scaler.ru\/mcp\nFor techies: yes, this is an MCP server.\n\nCareful handling of your data\nWe are paranoid about your privacy.\nThe app works without sign-up: we don&#039;t know your email or your Google login. Even Telegram is only needed for saving recipes. Don&#039;t want it? Don&#039;t use it.\nWe don&#039;t use trackers or product analytics.\nWe don&#039;t allow AI models to train on your recipes.\nData export and an API are available, so we don&#039;t hold your data hostage.\nMore details: recipe-scaler.ru\/#\/privacy\n\nIf we&#039;ve convinced you to try:\nGo to app\n\nIf we haven&#039;t convinced you:\nWrite what&#039;s missing\n\nMade by Mikhail Ozornin with Cursor. App idea inspired by app by Roman Shamin.\n© Mikhail Ozornin, 2025<\/code><\/pre><h3>1.2 Особенности эксперимента<\/h3>\n<ul>\n<li>Моделям были даны базовые ограничения и инструкции, не было никаких уточнений по стилю, дизайн-системе и прочему. На уточняющие вопросы я не отвечал, скипал их. Вмешательства в процессе не было, максимум — если агент чего-то ждал, я просил начать или продолжить.<\/li>\n<li>Все модели, кроме Опуса 4.7 работали на максимально возможной установке ризонинга или параметра его замещающего (эффорт для клод кода).<\/li>\n<li>Я специально не давал пожеланий по стилю, не прикладывал никакую дизайн-систему, не описывал более  важные и менее важные сценарии. Мне хотелось проверить не что я смогу задизайнить с ллм, а что сможет сам агент.<\/li>\n<li>Все тексты были на английском. Это небольшой чит для моделей — хороших шрифтов для английского заметно больше, чем для кириллицы. С кириллицей было бы похуже, я думаю. И шрифтовой выбор был бы более примитивный, и вообще смело бы выбрали шрифты, в которых вообще не бывает кириллицы.<\/li>\n<li>Для дизайна использовался Paper MCP, в качестве резервного варианта — Figma MCP. Paper MCP работает лучше, быстрее и открыт к большему числу агентов. Фигма не позволяет открытым агентам Опенкод и Кило с ними работать. С Figma MCP я тоже проверил, просто запусти вариантов поменьше.<\/li>\n<li>Чтобы сравнение было честнее, я не чинил макеты руками, максимум — изредка растягивал фрейм, если агент сделал артборд меньше собственного контента. Обидно было видеть, что вот же оно.<\/li>\n<\/ul>\n<h3>1.3 Формальные цели<\/h3>\n<p>Что я хотел посмотреть и проверить:<\/p>\n<ul>\n<li>Результат: насколько сделанные макеты вообще похожи на решение задачи, насколько результат можно использовать в работе, насколько красиво, аккуратно и в целом хорошо.<\/li>\n<li>Внутренности: насколько чисто сверстано внутри, хочется ли помыть после этого руки.<\/li>\n<li>Что по стоимости решения.<\/li>\n<li>Насколько сильно результат зависит от агента.<\/li>\n<li>Насколько сильно результат зависит от уровня ризонинга.<\/li>\n<\/ul>\n<p>В целом я хотел понять, какие модели и агенты имеет смысле для чего-то использовать, а какие не имеет.<\/p>\n<h2>2 Результаты<\/h2>\n<p>Разрыв между моделями огромный — некоторые верстали интересно и красиво. Другие верстали нейрослоп в худшем его понимании, третьи — вообще не могли справиться с тулами и выдавали сломанный макет.<\/p>\n<p>Лучший результат (всё — Опус 4.7 xhigh):<\/p>\n<div class=\"e2-text-picture\">\n<a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.7__all@2x.png\" class=\"e2-text-picture-link\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.7__all-2400@2x.png\" width=\"658\" height=\"1200\" alt=\"\" \/>\n<\/a><\/div>\n<div class=\"e2-text-picture\">\n<a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__opus-4.7__all@2x.png\" class=\"e2-text-picture-link\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__opus-4.7__all-2400@2x.png\" width=\"566\" height=\"1200\" alt=\"\" \/>\n<\/a><\/div>\n<div class=\"e2-text-picture\">\n<a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__opus-4.7__all@2x.png\" class=\"e2-text-picture-link\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__opus-4.7__all-2400@2x.png\" width=\"756\" height=\"1200\" alt=\"\" \/>\n<\/a><\/div>\n<p>Худший результат (Хайку, Квен 3.5 и одна из итераций Дипсика)<\/p>\n<div class=\"e2-text-picture\">\n<a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__haiku__all@2x.png\" class=\"e2-text-picture-link\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__haiku__all-2400@2x.png\" width=\"1200\" height=\"665\" alt=\"\" \/>\n<\/a><\/div>\n<div class=\"e2-text-picture\">\n<a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__qwen35-397b-qwen-397__all@2x.png\" class=\"e2-text-picture-link\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__qwen35-397b-qwen-397__all-2400@2x.png\" width=\"922\" height=\"1200\" alt=\"\" \/>\n<\/a><\/div>\n<div class=\"e2-text-picture\">\n<a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/\" class=\"e2-text-picture-link\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__deepseek-v4-pro-2__all-2400@2x.png\" width=\"1200\" height=\"903\" alt=\"paper__opencode__deepseek-v4-pro-2__all@2x.png\" \/>\n<\/a><\/div>\n<p>Остальные находятся где-то между. Ниже будет табличка с результатами, а пока поделюсь впечатлениями.<\/p>\n<h3>2.1 Качество результата<\/h3>\n<p>Модели разбились на четыре категории:<\/p>\n<p><b>Фенси-дизайн, из которого можно выжать что-то интересное<\/b><br \/>\nТакая модель один — Opus 4.7. Каждым этажом и микроформатом видно, что она выпендривается. Самые интересные и сложные промостраницы. Единственные промостраницы, которые не сверстаны как растянутая мобилка. Покажи такой дизайн издалека программисту, он подумает, что без дизайнера не обошлось.<\/p>\n<p>Примеры мелочей оттуда:<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/Images-1.1@2x.png\" width=\"375\" height=\"505\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/Images-1.2@2x.png\" width=\"1160\" height=\"602\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/Image-1.3@2x.png\" width=\"1123\" height=\"657\" alt=\"\" \/>\n<\/div>\n<p><b>Середнячки<\/b><br \/>\nДесктопный и мобильный интерфейс простой, но понятный, промостраница скучная (ну прямо как у меня сейчас). Нейродизайн видно сразу, но он хотя бы аккуратный и чистый. При этом явных косяков нет, использовать такое когда под рукой нет дизайнера вполне можно. Opus 4.6, Sonnet 4.6, GPT 5.4, Cursor Auto, Qwen 3.6 и с натяжкой GLM 5.1 (если справится с тулами).<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/Images-2.1@2x.png\" width=\"375\" height=\"840\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/Images-2.2@2x.png\" width=\"375\" height=\"840\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/Images-2.3@2x.png\" width=\"736\" height=\"414\" alt=\"\" \/>\n<\/div>\n<p><b>Совсем уже типичный нейрослоп-дизайн<\/b><br \/>\nНейрослоп в худших его проявлениях, заметней всего его на промостранице. Буквально не за что зацепиться глазами. Например, Minimax 2.7, Kimi 2.6 (чуть лучше, но все же здесь), Composer 2 Cursor (доученный Kimi 2.5) тоже недалеко ушел. Даже в целом неплохой Gemini 3.1 Про тут. Grok 4.3 тоже говорит «всем чмоки в этом чате».<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/Images-3.1@2x.png\" width=\"1400\" height=\"2931\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/Images-3.2@2x.png\" width=\"1400\" height=\"2038\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/Images-3.3@2x.png\" width=\"1400\" height=\"2646\" alt=\"\" \/>\n<\/div>\n<p><b>Те модели, что не смогли справиться с тулами<\/b><br \/>\nЭто были Qwen 3.5 39, и в 50% случаев GLM 5.1 с DeepSeek V4  Pro — иногда они справлялись, иногда нет. В эту категорию попадает Haiku 4.5 Антропика, а он, на минуточку, в 1.5 раза дороже GLM 5.1 и в 4 раза дороже, чем Minimax 2.7, которые показали себя лучше его.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/Images-4.1@2x.png\" width=\"1225\" height=\"628\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/Images-4.2@2x.png\" width=\"755\" height=\"449\" alt=\"\" \/>\n<\/div>\n<p>Многим не давалась концепция десктоп-приложения, некоторые делали эдиториал-сайт. Это было бы нормально в целом для сайта рецептов, но не для личного приложения менеджера рецептов. Явно я этого не формулировал, но как будто из контекста можно было догадаться.<\/p>\n<p>Мне кажется, что вот таким было пользоваться ежедневно было бы не очень удобно. Усиливается это с добавлением скилла (будет ниже), там у модели начинается просто горе от ума.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__auto__desktop@2x.png\" width=\"1400\" height=\"2101\" alt=\"\" \/>\n<\/div>\n<p>У самых слабых моделей всплывают типичный нейрослоп: рамки на рамках, градиенты или цветные плашки, мусор везде, эмодзи, плохая иерархия и ритм. Ощущение, что экраны собрали из того, что не пригодилось моделям получше.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/Slop-1@2x.png\" width=\"1400\" height=\"670\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/Slop-2@2x.png\" width=\"1400\" height=\"916\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/Slop-3@2x.png\" width=\"1320\" height=\"480\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/Slop-4@2x.png\" width=\"1400\" height=\"633\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/Slop-5@2x.png\" width=\"1400\" height=\"2000\" alt=\"\" \/>\n<\/div>\n<p>Заметно, что у всех с мобильной версии лучше, чем с промо. Там в целом более простая верстка, меньше элементов, сильные ограничения (узкая колонка). Как следствие — верстка лучше, надежнее и крепче. Как только появляется широкая страница, многие не могут сделать лучше, чем просто растянуть мобильную верстку по ширина 375 → 1400.<\/p>\n<p>Кими 2.6 как-то справился с мобилкой, но не смог ничего на подобном уровне сделать с промостранице. Десктоп тоже плохой.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/Mobile-vs-Promo@2x.png\" width=\"907\" height=\"739\" alt=\"\" \/>\n<\/div>\n<h3>2.2 Качество верстки<\/h3>\n<p>В Paper все модели верстают примерно одинаково — нормально, в Фигме же ГПТ верстал совсем плохо. Все в одном фрейме, по сути — абсолютами. Кожаного дизайнера за такое бы на ревью не похвалили. Он же (ГПТ) в Пейпере верстал нормально, видимо тулы Пейпера попроще, получше и более понятны.<\/p>\n<p>Фигма — все сверстано в одном фрейме, размеры рандомные, по сути если бы в вебе все верстали абсолютами, это ГПТ 5.5.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/inside-figma-gpt-5.5-light@2x.png\" width=\"1440\" height=\"900\" alt=\"\" \/>\n<\/div>\n<p>Тот же ГПТ 5.5 в Пейпере — в целом все чисто, дом-структура нормальная, некоторые слои даже хорошо названы. Кратная разница.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/inside-paper-gpt-5.5-light@2x.png\" width=\"1440\" height=\"900\" alt=\"\" \/>\n<\/div>\n<h3>2.3 Размышления и удивления по ходу эксперимента<\/h3>\n<ol start=\"1\">\n<li>Поразительно, насколько модели ГПТ плохи в дизайне. Как модели для разработки они в целом нормальные, и отторжения не вызывают, а для дизайна ужас. Причем на том одном эксперименте, что я делал, 5.5 оказалась даже хуже, чем 5.4, хотя дороже примерно вдвое. Единственная СОТА-модель (state of the art), которая проигрывает многим более слабым, в том числе китайцам.<\/li>\n<li>Гемини 3.1 показал себя очень плохо. И в Антигравити (их агент, форк винсёрфа) и в Курсоре. И если про Антигравити я могу понять, он очень плохо сделан, то Курсор — нормальный агент. Недопустимо плохо для модели такого уровня.<\/li>\n<li>Агент в целом не принципиально влияет на результат, он не может сделать из не-опус-модели опус-результат. Т. е. результат в этой простой задаче в первую очередь определяется моделью, и лишь потом агентом. При этом, разница все еще есть. ГПТ 5.4 в Курсоре показал себя даже лучше, чем в родном Кодексе.<\/li>\n<li>Курсор + Опус 4.7 оказался вдвое дороже чем та же модель в Кило, Курсор очень активно собирал обратную связь и постоянно себя скриншотил. Результат в целом мне тоже нравится больше. Особенно должна помочь такая<\/li>\n<li>У моделей есть стиль. ГПТ во всех агентах узнается, Опус 4.7 тоже узнается во всех. По результату я бы предположил, что Опус 4.7 и Опус 4.6 явно тяготеют к одной модели, стиль похожий. У Соннета стиль другой, это не просто обрезанный Опус, это разные модели. А вот Опус от снижение рисонинга (xhigh → med) делает хуже, но остается тем же Опусом по стилю.<\/li>\n<li>Модели, которые по ценам за токены совпадают, не совпадают в финальной цене. Формально ГПТ 5.5 и Опус 4.7 стоит одинаково (ГПТ — 30 долларов, Опус 4.7 — 25). Но это цена за миллион токенов, а тратят они по-разному. Именно 5.5 у меня нет, но был в Курсоре ГПТ 5.4 — у него 4.5 М токенов, а у Опуса (тоже в Курсоре) — 15 М.<\/li>\n<li>Разница между самым дорогим и дешевым вариантами — 410 раз. Понятно, что и разница между ними в качестве — тоже дофига, может даже больше, чем в 410 раз.<\/li>\n<li>Визуально работы Опуса неплохие, но разваливаются в мелочах. Начиная с того, что решение не той задачи, не того продукта, заканчивая версткой. Издалека красиво, но как начнешь смотреть — клинит от кринжа. Наверное примерно такой же уровень кринжа у технарей, когда приносишь им вайбкод-код. Почти все варианты проще выкинуть, чем пытаться доработать.<\/li>\n<li>Еще один неприятный результат — аккаунт на Опенроутере забанили от моделей ОпенАПИ, Клода и Гемини. Пока не могу сказать почему, пытаюсь разобраться.<\/li>\n<\/ol>\n<h2>3 Все результаты по одному<\/h2>\n<p>Квоты для Клод кода указаны до недавнего двухкратного увеличения пятичасовой квоты. Т. е. нужно делить предположительно на два. Я не везде засек время или квоту, не везде квоту в целом можно было понять. Там, где написано токены — это и входящие, и исходящие токены, с учетом кеша, поэтому так много.<\/p>\n<p>Полная таблица результатов ниже.<\/p>\n<h3>3.1 Paper MCP<\/h3>\n<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" class=\"e2-text-table\">\n<tr>\n<td><b>Агент<\/b><\/td>\n<td><b>Модель + параметры<\/b><\/td>\n<td><b>Время<\/b><\/td>\n<td><b>Токены<\/b><\/td>\n<td><b>Стоимость<\/b><\/td>\n<td><b>Комментарий<\/b><\/td>\n<\/tr>\n<tr>\n<td>Antigravity<\/td>\n<td>Gemini 3.1 Pro, high<\/td>\n<td>15 мин<\/td>\n<td>—<\/td>\n<td>—<\/td>\n<td>Очень плохо использует тулы, чудовищная интеграция в инструмент<\/td>\n<\/tr>\n<tr>\n<td>Antigravity<\/td>\n<td>Gemini 3.5 Flash<\/td>\n<td>—<\/td>\n<td>—<\/td>\n<td>—<\/td>\n<td>Заметно лучше, чем Gemini 3.1 Pro (но рост от его уровня несложный). Единственный, кто решил сделать дарк-мод.<\/td>\n<\/tr>\n<tr>\n<td>Claude Code<\/td>\n<td>Opus 4.7, xhigh<\/td>\n<td>10—15 мин<\/td>\n<td>—<\/td>\n<td>75%+ квоты pro · 5h<\/td>\n<td>Недолго. Дорого. Офигенно.<\/td>\n<\/tr>\n<tr>\n<td>Claude Code<\/td>\n<td>Opus 4.8, xhigh<\/td>\n<td>—<\/td>\n<td>—<\/td>\n<td>53% квоты pro · 5h (уже удвоенной)<\/td>\n<td>Жрет больше, делает не факт, что лучше, чем 4.7. За три экрана съел половину уже удвоенной 5h pro-квоты.<\/td>\n<\/tr>\n<tr>\n<td>Claude Code<\/td>\n<td>Fable, med<\/td>\n<td>23 мин 19 с<\/td>\n<td>—<\/td>\n<td>37% квоты pro · 5h<\/td>\n<td>Я думал, что сожрет больше, чем сожрало. В целом мало отличимо от Опуса, местами даже проще.<\/td>\n<\/tr>\n<tr>\n<td>Claude Code<\/td>\n<td>Opus 4.7, med<\/td>\n<td>5—10 мин<\/td>\n<td>—<\/td>\n<td>56% квоты pro · 5h<\/td>\n<td>Сохраняет стиль Опуса 4.7, упрощает реализацию<\/td>\n<\/tr>\n<tr>\n<td>Claude Code<\/td>\n<td>Opus 4.6, Max reasoning<\/td>\n<td>—<\/td>\n<td>—<\/td>\n<td>37% квоты pro · 5h<\/td>\n<td>В целом выглядит как упрощенный Опус 4.7, сильно ближе к Соннету по общему лейауту<\/td>\n<\/tr>\n<tr>\n<td>Claude Code<\/td>\n<td>Sonnet 4.5, xhigh<\/td>\n<td>8 мин<\/td>\n<td>—<\/td>\n<td>25% квоты pro · 5h<\/td>\n<td>Существенно ближе к китайским моделям и моделям попроще. Аккуратно, но совсем нейтрально, совсем упрощено<\/td>\n<\/tr>\n<tr>\n<td>Claude Code<\/td>\n<td>Haiku 4.5<\/td>\n<td>3 мин<\/td>\n<td>—<\/td>\n<td>6% квоты pro · 5h<\/td>\n<td>Не справился даже с тулами. Нет ни одной причины использовать<\/td>\n<\/tr>\n<tr>\n<td>Codex<\/td>\n<td>GPT 5.5, xhigh<\/td>\n<td>15 мин<\/td>\n<td>—<\/td>\n<td>26% квоты plus · 5h<\/td>\n<td>Очень дешево по сравнению с опусом, результат соответствующий. Худший результат из СОТА-моделей (state of the art, которые)<\/td>\n<\/tr>\n<tr>\n<td>Codex<\/td>\n<td>GPT 5.4, xhigh<\/td>\n<td>15 мин<\/td>\n<td>—<\/td>\n<td>17% квоты plus · 5h<\/td>\n<td>Удивительно, что мне этот вариант нравится даже больше, чем у ГПТ 5.5<\/td>\n<\/tr>\n<tr>\n<td>Codex<\/td>\n<td>GPT 5.6 Sol, xhigh<\/td>\n<td>26 мин 30 с<\/td>\n<td>—<\/td>\n<td>4% недельной квоты<\/td>\n<td>—<\/td>\n<\/tr>\n<tr>\n<td>Cursor<\/td>\n<td>Auto<\/td>\n<td>25 мин<\/td>\n<td>13.7M<\/td>\n<td>$4.33<\/td>\n<td>Поразительно хороший результат для Авто-режима. Не знаю кто делал, может быть общую задачу делал как раз Опус на лоу-ризонинге, а реализация была каким-то ГПТ-нано. Выбор стиля как будто от Опуса<\/td>\n<\/tr>\n<tr>\n<td>Cursor<\/td>\n<td>Opus 4.7<\/td>\n<td>35 мин<\/td>\n<td>15M<\/td>\n<td>$12.30<\/td>\n<td>Вдвое дороже, чем Опус 4.7 у Кило. Очень много проверяет себя, скриншотил буквально каждый этап и каждый блок. Результат чуть лучше<\/td>\n<\/tr>\n<tr>\n<td>Cursor<\/td>\n<td>GPT 5.4, xhigh<\/td>\n<td>11 мин<\/td>\n<td>4.5M<\/td>\n<td>$2.20<\/td>\n<td>Агент другой, модель узнается, это все тот же ГПТ 5.4, что был в Кодексе. Но тут как будто чуть лучше вышло.<\/td>\n<\/tr>\n<tr>\n<td>Cursor<\/td>\n<td>Gemini 3.1 Pro<\/td>\n<td>8 мин<\/td>\n<td>3.4M<\/td>\n<td>$2.01<\/td>\n<td>Результат сопоставимый с Гемини в Антигравити. Очень плохо для модели такого уровня.<\/td>\n<\/tr>\n<tr>\n<td>Cursor<\/td>\n<td>Grok 4.3<\/td>\n<td>~18 мин<\/td>\n<td>3M<\/td>\n<td>$1.65<\/td>\n<td>От Грока впечатления смешанные. Мобилка в целом норм, на уровне других. Промо хуже чем собраться. Я думал будет дешевле, Грок 4.1 был очень классный именно за счет того, что стоил ну очень мало.<\/td>\n<\/tr>\n<tr>\n<td>Cursor<\/td>\n<td>Grok 4.5<\/td>\n<td>3:30<\/td>\n<td>4.2M<\/td>\n<td>$1.23<\/td>\n<td>Очень быстро, дешево (но это пока 50% скидки), в целом нормально за свои деньги. Промостраница примитивная, не опус, конечно.<\/td>\n<\/tr>\n<tr>\n<td>Cursor<\/td>\n<td>GLM 5.1 (z.ai coding plan)<\/td>\n<td>~7 мин<\/td>\n<td>—<\/td>\n<td>37% квоты lite · 5h<\/td>\n<td>ГЛМ в Курсоре почему-то не смог справиться с тулами<\/td>\n<\/tr>\n<tr>\n<td>Cursor<\/td>\n<td>Composer 2<\/td>\n<td>5 мин<\/td>\n<td>1.3M<\/td>\n<td>$0.33<\/td>\n<td>Очень примитивно, но и зато очень дешево. Не соответствует тому уровню, что Курсор заявляет о своей модели, конечно. Но они честно говорили, что делают модель для кода в первую очередь<\/td>\n<\/tr>\n<tr>\n<td>Cursor<\/td>\n<td>Composer 2.5<\/td>\n<td>—<\/td>\n<td>1.6M<\/td>\n<td>$0.21<\/td>\n<td>Сопоставим по стоимости с Composer 2, качество подросло, но все еще сильно не очень<\/td>\n<\/tr>\n<tr>\n<td>Cursor<\/td>\n<td>MiMo V2.5 Pro<\/td>\n<td>—<\/td>\n<td>4.8M<\/td>\n<td>4.8M из 4,1B включённых попугаев<\/td>\n<td>Включённая модель Курсора; в подписке очень дёшево, в дизайне слабо<\/td>\n<\/tr>\n<tr>\n<td>Source Craft<\/td>\n<td>Default<\/td>\n<td>7 мин<\/td>\n<td>—<\/td>\n<td>65 попугаев из 4500 квоты<\/td>\n<td>Вроде недорого, но пользоваться смысла нет, нейрослописный нейрослоп<\/td>\n<\/tr>\n<tr>\n<td>Source Craft<\/td>\n<td>Default Thinking<\/td>\n<td>10 мин<\/td>\n<td>—<\/td>\n<td>74 попугаев из 4500 квоты<\/td>\n<td>Как будто Default и Default Thinkign модели в Яндекс Сорс Крафте не просто разные режимы одной модели, а разные модели: слишком разный результат, у рисонинг модели даже хуже.<\/td>\n<\/tr>\n<tr>\n<td>Kilo Code<\/td>\n<td>Opus 4.7 (Kilo cloud)<\/td>\n<td>27 мин<\/td>\n<td>6.3M<\/td>\n<td>$6.96<\/td>\n<td>Типичный Опус 4.7. Местами чисто, интересно, издалека дак прямо супер-пупер<\/td>\n<\/tr>\n<tr>\n<td>Kilo Code<\/td>\n<td>Hy3 preview (Kilo cloud)<\/td>\n<td>—<\/td>\n<td>1.6M<\/td>\n<td>$0.06<\/td>\n<td>Самая модная опенсорс-модель на опенроутере. Очень так себе.<\/td>\n<\/tr>\n<tr>\n<td>Kilo Code<\/td>\n<td>Qwen 3.6 Max Preview (Kilo cloud)<\/td>\n<td>17 мин<\/td>\n<td>2.2M<\/td>\n<td>$0.42<\/td>\n<td>В целом Квен для меня справился неплохо. Туповато, по крепко вполне. В промо просел как все. 1\/30 от Опуса по цене.<\/td>\n<\/tr>\n<tr>\n<td>Kilo Code<\/td>\n<td>Qwen 3.5 397<\/td>\n<td>6 мин<\/td>\n<td>—<\/td>\n<td>—<\/td>\n<td>Не справился с тулами<\/td>\n<\/tr>\n<tr>\n<td>Kilo Code<\/td>\n<td>Grok Build 0.1 + Google Skill<\/td>\n<td>—<\/td>\n<td>—<\/td>\n<td>$0.83<\/td>\n<td>Тот же промт со скиллом Google design; сравните с OpenCode Grok Build 0.1 без скилла<\/td>\n<\/tr>\n<tr>\n<td>OpenCode<\/td>\n<td>Opus 4.7, xhigh reasoning (OpenRouter)<\/td>\n<td>—<\/td>\n<td>2.7M<\/td>\n<td>$2.74<\/td>\n<td>Неплохо, что было бы в мобилке не знаю, потому что после этого экрана опенроутер меня забанил от американских СОТА-моделей<\/td>\n<\/tr>\n<tr>\n<td>OpenCode<\/td>\n<td>Kimi 2.6 (OpenRouter)<\/td>\n<td>42 мин<\/td>\n<td>3.62M<\/td>\n<td>$1.78<\/td>\n<td>Мобилка лучше остального, остальное плохо. Из забавного все дублировалось, но он потом через скриншоты обнаруживал и стирал сам. Из-за этого возился очень долго — 40+ минут.<\/td>\n<\/tr>\n<tr>\n<td>OpenCode<\/td>\n<td>Grok 4.3 (OpenRouter)<\/td>\n<td>—<\/td>\n<td>1.57M<\/td>\n<td>$1.09<\/td>\n<td>Грок уже был выше, но в отличие от Курсора, Опенкод с моделью вообще не справился, результат сильно хуже, чем у Курсора<\/td>\n<\/tr>\n<tr>\n<td>OpenCode<\/td>\n<td>Grok Build 0.1 (OpenRouter)<\/td>\n<td>—<\/td>\n<td>3.7M<\/td>\n<td>$1.24<\/td>\n<td>Быстро, слабо, дорого для такого качества<\/td>\n<\/tr>\n<tr>\n<td>OpenCode<\/td>\n<td>DeepSeek V4 Pro (Deepseek Cloud), Max Reasoning<\/td>\n<td>—<\/td>\n<td>4.1M<\/td>\n<td>$0.09<\/td>\n<td>Дипсик очень дешев, но справился лишь один раз. Мобилку можно смотреть, остальное плохо<\/td>\n<\/tr>\n<tr>\n<td>OpenCode<\/td>\n<td>DeepSeek V4 Pro (Deepseek Cloud), Max Reasoning<\/td>\n<td>—<\/td>\n<td>2.5M<\/td>\n<td>$0.05<\/td>\n<td>Дипсик очень дешев, но справился лишь один раз. Мобилку можно смотреть, остальное плохо<\/td>\n<\/tr>\n<tr>\n<td>OpenCode<\/td>\n<td>GLM 5.1 (z.ai coding plan)<\/td>\n<td>—<\/td>\n<td>—<\/td>\n<td>—<\/td>\n<td>В отличие от Курсора Опенкод смог добиться чего-то от ГЛМ, вышло в целом ок для его цены. Он стоит дешевле Хайку, которы не смог буквально ничего<\/td>\n<\/tr>\n<tr>\n<td>OpenCode<\/td>\n<td>Qwen 3.5 397<\/td>\n<td>—<\/td>\n<td>—<\/td>\n<td>—<\/td>\n<td>Не смогло ничего<\/td>\n<\/tr>\n<tr>\n<td>OpenCode<\/td>\n<td>MiniMax 2.7 (OpenRouter)<\/td>\n<td>3 мин<\/td>\n<td>242K<\/td>\n<td>$0.03<\/td>\n<td>Невероятно быстро, невероятно дешево, качество соответствующее<\/td>\n<\/tr>\n<tr>\n<td>OpenCode<\/td>\n<td>MiniMax M3 (OpenRouter)<\/td>\n<td>—<\/td>\n<td>—<\/td>\n<td>$0.28<\/td>\n<td>M2.7 → M3 — огромный шаг вперед, один из самых значительных. Из провальных вышел в топ-3. Очень похоже по стилю на опус<\/td>\n<\/tr>\n<tr>\n<td>OpenCode<\/td>\n<td>Qwen 3.7 Max Preview (OpenRouter)<\/td>\n<td>—<\/td>\n<td>3.13M<\/td>\n<td>$7.95<\/td>\n<td>Дорого для своего результата, не улучшилось с 3.6 Max. Очень плохо работал с тулами (может быть особенность опенкода)<\/td>\n<\/tr>\n<\/table>\n<h3>3.2 Figma MCP<\/h3>\n<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" class=\"e2-text-table\">\n<tr>\n<td><b>Агент<\/b><\/td>\n<td><b>Модель + параметры<\/b><\/td>\n<td><b>Время<\/b><\/td>\n<td><b>Токены<\/b><\/td>\n<td><b>Стоимость<\/b><\/td>\n<td><b>Комментарий<\/b><\/td>\n<\/tr>\n<tr>\n<td>Claude Code<\/td>\n<td>Opus 4.7, xhigh<\/td>\n<td>~19 мин<\/td>\n<td>—<\/td>\n<td>121% квоты pro · 5h<\/td>\n<td>Опус в своем стиле, издалека особенно, но сожрал больше целой 5-часовой квоты<\/td>\n<\/tr>\n<tr>\n<td>Codex<\/td>\n<td>GPT 5.5, xhigh<\/td>\n<td>20 мин<\/td>\n<td>—<\/td>\n<td>16% квоты plus · 5h<\/td>\n<td>В фигме смог чуть лучше, чем в пейпере. Верстает чудовищно просто<\/td>\n<\/tr>\n<tr>\n<td>Cursor<\/td>\n<td>GLM 5.1 (z.ai coding plan)<\/td>\n<td>25 мин<\/td>\n<td>—<\/td>\n<td>13% квоты lite · 5h<\/td>\n<td>В целом похуже чем в пейпере. Макет десктопа снизу это я перетащил слой куда нужно, ГЛМ не осилил корректный ДОМ<\/td>\n<\/tr>\n<tr>\n<td>Cursor<\/td>\n<td>Composer 2<\/td>\n<td>6 мин<\/td>\n<td>1.4M<\/td>\n<td>$0.43<\/td>\n<td>Катастрофически плохо, хуже чем в пейпере<\/td>\n<\/tr>\n<\/table>\n<h3>Полный список всех картинок<\/h3>\n<h4>Paper MCP<\/h4>\n<h3>Antigravity + Gemini 3.1 Pro, high<\/h3>\n<p>Очень плохо использует тулы, чудовищная интеграция в инструмент.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"1200\" data-ratio=\"2.3668639053254\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__antigravity__gemini-3.1-pro__all-2400@2x.png\" width=\"1200\" height=\"507\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__antigravity__gemini-3.1-pro__desktop-2400@2x.png\" width=\"1200\" height=\"771\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__antigravity__gemini-3.1-pro__mobile-2400@2x.png\" width=\"375\" height=\"1009\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__antigravity__gemini-3.1-pro__promo-2400@2x.png\" width=\"1200\" height=\"1186\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Полные картинки: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__antigravity__gemini-3.1-pro__all@2x.png\">Всё вместе<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__antigravity__gemini-3.1-pro__desktop@2x.png\">Десктоп<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__antigravity__gemini-3.1-pro__mobile@2x.png\">Мобильный <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__antigravity__gemini-3.1-pro__promo@2x.png\">Промо<\/a><\/div>\n<\/div>\n<h3>Antigravity + Gemini 3.5 Flash<\/h3>\n<p>Заметно лучше, чем Gemini 3.1 Pro (но рост от его уровня несложный). Единственный, кто решил сделать дарк-мод.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"1200\" data-ratio=\"1.6371077762619\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__antigravity__gemini-3.5-flash__all-2400@2x.png\" width=\"1200\" height=\"733\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__antigravity__gemini-3.5-flash__desktop-2400@2x.png\" width=\"1200\" height=\"814\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__antigravity__gemini-3.5-flash__mobile-2400@2x.png\" width=\"333\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__antigravity__gemini-3.5-flash__promo-2400@2x.png\" width=\"840\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Полные картинки: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__antigravity__gemini-3.5-flash__all@2x.png\">Всё вместе<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__antigravity__gemini-3.5-flash__desktop@2x.png\">Десктоп<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__antigravity__gemini-3.5-flash__mobile@2x.png\">Мобильный <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__antigravity__gemini-3.5-flash__promo@2x.png\">Промо<\/a><\/div>\n<\/div>\n<h3>Claude Code + Opus 4.7, xhigh<\/h3>\n<p>Недолго. Дорого. Офигенно.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"658\" data-ratio=\"0.54833333333333\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.7__all-2400@2x.png\" width=\"658\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.7__desktop-2400@2x.png\" width=\"1200\" height=\"923\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.7__mobile-2400@2x.png\" width=\"252\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.7__promo-2400@2x.png\" width=\"281\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Полные картинки: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.7__all@2x.png\">Всё вместе<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.7__desktop@2x.png\">Десктоп<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.7__mobile@2x.png\">Мобильный <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.7__promo@2x.png\">Промо<\/a><\/div>\n<\/div>\n<h3>Claude Code + Opus 4.8, xhigh<\/h3>\n<p>Всё ещё уровень Опуса; на три экрана съел половину уже удвоенной 5h pro-квоты.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"734\" data-ratio=\"0.61166666666667\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.8__all-2400@2x.png\" width=\"734\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.8__desktop-2400@2x.png\" width=\"1200\" height=\"908\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.8__mobile-2400@2x.png\" width=\"266\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.8__promo-2400@2x.png\" width=\"314\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Полные картинки: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.8__all@2x.png\">Всё вместе<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.8__desktop@2x.png\">Десктоп<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.8__mobile@2x.png\">Мобильный <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.8__promo@2x.png\">Промо<\/a><\/div>\n<\/div>\n<h3>Claude Code + Fable, med<\/h3>\n<p>Я думал, что сожрет больше, чем сожрало. В целом мало отличимо от Опуса, местами даже проще.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"622\" data-ratio=\"0.51833333333333\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__fable-med__all-2400@2x.png\" width=\"622\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__fable-med__desktop-2400@2x.png\" width=\"1200\" height=\"771\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__fable-med__mobile-2400@2x.png\" width=\"264\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__fable-med__promo-2400@2x.png\" width=\"266\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Полные картинки: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__fable-med__all@2x.png\">Всё вместе<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__fable-med__desktop@2x.png\">Десктоп<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__fable-med__mobile@2x.png\">Мобильный <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__fable-med__promo@2x.png\">Промо<\/a><\/div>\n<\/div>\n<h3>Claude Code + Opus 4.7, med<\/h3>\n<p>Сохраняет стиль Опуса 4.7, упрощает реализацию.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"861\" data-ratio=\"0.7175\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.7-med__all-2400@2x.png\" width=\"861\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.7-med__desktop-2400@2x.png\" width=\"1200\" height=\"754\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.7-med__mobile-2400@2x.png\" width=\"228\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.7-med__promo-2400@2x.png\" width=\"368\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Полные картинки: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.7-med__all@2x.png\">Всё вместе<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.7-med__desktop@2x.png\">Десктоп<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.7-med__mobile@2x.png\">Мобильный <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.7-med__promo@2x.png\">Промо<\/a><\/div>\n<\/div>\n<h3>Claude Code + Opus 4.6, max<\/h3>\n<p>В целом выглядит как упрощенный Опус 4.7, сильно ближе к Соннету по общему лейауту.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"998\" data-ratio=\"0.83166666666667\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.6__all-2400@2x.png\" width=\"998\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.6__desktop-2400@2x.png\" width=\"1200\" height=\"898\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.6__mobile-2400@2x.png\" width=\"242\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.6__promo-2400@2x.png\" width=\"427\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Полные картинки: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.6__all@2x.png\">Всё вместе<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.6__desktop@2x.png\">Десктоп<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.6__mobile@2x.png\">Мобильный <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.6__promo@2x.png\">Промо<\/a><\/div>\n<\/div>\n<h3>Claude Code + Sonnet 4.5, xhigh<\/h3>\n<p>Существенно ближе к китайским моделям и моделям попроще. Аккуратно, но совсем нейтрально, совсем упрощено.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"1200\" data-ratio=\"1.6393442622951\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__sonnet-4.6__all-2400@2x.png\" width=\"1200\" height=\"732\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__sonnet-4.6__desktop-2400@2x.png\" width=\"1200\" height=\"771\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__sonnet-4.6__mobile-2400@2x.png\" width=\"269\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__sonnet-4.6__promo-2400@2x.png\" width=\"840\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Полные картинки: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__sonnet-4.6__all@2x.png\">Всё вместе<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__sonnet-4.6__desktop@2x.png\">Десктоп<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__sonnet-4.6__mobile@2x.png\">Мобильный <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__sonnet-4.6__promo@2x.png\">Промо<\/a><\/div>\n<\/div>\n<h3>Claude Code + Haiku 4.5<\/h3>\n<p>Не справился даже с тулами. Нет ни одной причины использовать.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"1200\" data-ratio=\"1.8045112781955\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__haiku__all-2400@2x.png\" width=\"1200\" height=\"665\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__haiku__desktop-2400@2x.png\" width=\"1200\" height=\"771\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__haiku__mobile-2400@2x.png\" width=\"375\" height=\"812\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__haiku__promo-2400@2x.png\" width=\"925\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Полные картинки: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__haiku__all@2x.png\">Всё вместе<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__haiku__desktop@2x.png\">Десктоп<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__haiku__mobile@2x.png\">Мобильный <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__haiku__promo@2x.png\">Промо<\/a><\/div>\n<\/div>\n<h3>Codex + GPT 5.5, xhigh<\/h3>\n<p>Очень дешево по сравнению с опусом, результат соответствующий. Худший результат из СОТА-моделей (state of the art, которые).<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"1200\" data-ratio=\"2.4\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.5__all-2400@2x.png\" width=\"1200\" height=\"500\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.5__desktop-2400@2x.png\" width=\"1200\" height=\"840\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.5__mobile-2400@2x.png\" width=\"351\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.5__promo-2400@2x.png\" width=\"1200\" height=\"1171\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Полные картинки: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.5__all@2x.png\">Всё вместе<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.5__desktop@2x.png\">Десктоп<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.5__mobile@2x.png\">Мобильный <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.5__promo@2x.png\">Промо<\/a><\/div>\n<\/div>\n<h3>Codex + GPT 5.4, xhigh<\/h3>\n<p>Удивительно, что мне этот вариант нравится даже больше, чем у ГПТ 5.5.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"1200\" data-ratio=\"1.5345268542199\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.4__all-2400@2x.png\" width=\"1200\" height=\"782\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.4__desktop-2400@2x.png\" width=\"1185\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.4__mobile-2400@2x.png\" width=\"289\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.4__promo-2400@2x.png\" width=\"787\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Полные картинки: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.4__all@2x.png\">Всё вместе<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.4__desktop@2x.png\">Десктоп<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.4__mobile@2x.png\">Мобильный <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.4__promo@2x.png\">Промо<\/a><\/div>\n<\/div>\n<h3>Codex + GPT 5.6 Sol, xhigh<\/h3>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"935\" data-ratio=\"0.77916666666667\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.6-sol-xhigh__all-2400@2x.png\" width=\"935\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.6-sol-xhigh__desktop-2400@2x.png\" width=\"1200\" height=\"857\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.6-sol-xhigh__mobile-2400@2x.png\" width=\"228\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.6-sol-xhigh__promo-2400@2x.png\" width=\"400\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Полные картинки: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.6-sol-xhigh__all@2x.png\">Всё вместе<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.6-sol-xhigh__desktop@2x.png\">Десктоп<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.6-sol-xhigh__mobile@2x.png\">Мобильный <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.6-sol-xhigh__promo@2x.png\">Промо<\/a><\/div>\n<\/div>\n<h3>Cursor + Auto<\/h3>\n<p>Поразительно хороший результат для Авто-режима. Не знаю кто делал, может быть общую задачу делал как раз Опус на лоу-ризонинге, а реализация была каким-то ГПТ-нано. Выбор стиля как будто от Опуса.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"581\" data-ratio=\"0.48416666666667\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__auto__all-2400@2x.png\" width=\"581\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__auto__desktop-2400@2x.png\" width=\"799\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__auto__mobile-2400@2x.png\" width=\"284\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__auto__promo-2400@2x.png\" width=\"248\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Полные картинки: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__auto__all@2x.png\">Всё вместе<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__auto__desktop@2x.png\">Десктоп<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__auto__mobile@2x.png\">Мобильный <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__auto__promo@2x.png\">Промо<\/a><\/div>\n<\/div>\n<h3>Cursor + Opus 4.7<\/h3>\n<p>Вдвое дороже, чем Опус 4.7 у Кило. Очень много проверяет себя, скриншотил буквально каждый этап и каждый блок. Результат чуть лучше.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"566\" data-ratio=\"0.47166666666667\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__opus-4.7__all-2400@2x.png\" width=\"566\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__opus-4.7__desktop-2400@2x.png\" width=\"778\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__opus-4.7__mobile-2400@2x.png\" width=\"193\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__opus-4.7__promo-2400@2x.png\" width=\"242\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Полные картинки: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__opus-4.7__all@2x.png\">Всё вместе<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__opus-4.7__desktop@2x.png\">Десктоп<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__opus-4.7__mobile@2x.png\">Мобильный <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__opus-4.7__promo@2x.png\">Промо<\/a><\/div>\n<\/div>\n<h3>Cursor + GPT 5.4, xhigh<\/h3>\n<p>Агент другой, модель узнается, это все тот же ГПТ 5.4, что был в Кодексе. Но тут как будто чуть лучше вышло.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"1200\" data-ratio=\"1.5075376884422\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__gpt-5.4__all-2400@2x.png\" width=\"1200\" height=\"796\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__gpt-5.4__desktop-2400@2x.png\" width=\"1200\" height=\"1045\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__gpt-5.4__mobile-2400@2x.png\" width=\"347\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__gpt-5.4__promo-2400@2x.png\" width=\"773\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Полные картинки: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__gpt-5.4__all@2x.png\">Всё вместе<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__gpt-5.4__desktop@2x.png\">Десктоп<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__gpt-5.4__mobile@2x.png\">Мобильный <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__gpt-5.4__promo@2x.png\">Промо<\/a><\/div>\n<\/div>\n<h3>Cursor + Gemini 3.1 Pro<\/h3>\n<p>Результат сопоставимый с Гемини в Антигравити. Очень плохо для модели такого уровня.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"1200\" data-ratio=\"1.7416545718433\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__gemini-3.1-pro__all-2400@2x.png\" width=\"1200\" height=\"689\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__gemini-3.1-pro__desktop-2400@2x.png\" width=\"1200\" height=\"771\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__gemini-3.1-pro__mobile-2400@2x.png\" width=\"239\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__gemini-3.1-pro__promo-2400@2x.png\" width=\"903\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Полные картинки: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__gemini-3.1-pro__all@2x.png\">Всё вместе<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__gemini-3.1-pro__desktop@2x.png\">Десктоп<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__gemini-3.1-pro__mobile@2x.png\">Мобильный <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__gemini-3.1-pro__promo@2x.png\">Промо<\/a><\/div>\n<\/div>\n<h3>Cursor + Grok 4.3<\/h3>\n<p>От Грока впечатления смешанные. Мобилка в целом норм, на уровне других. Промо хуже чем собраться. Я думал будет дешевле, Грок 4.1 был очень классный именно за счет того, что стоил ну очень мало.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"1200\" data-ratio=\"1.4888337468983\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__grok-4.3__all-2400@2x.png\" width=\"1200\" height=\"806\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__grok-4.3__desktop-2400@2x.png\" width=\"1200\" height=\"1028\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__grok-4.3__mobile-2400@2x.png\" width=\"281\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__grok-4.3__promo-2400@2x.png\" width=\"763\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Полные картинки: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__grok-4.3__all@2x.png\">Всё вместе<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__grok-4.3__desktop@2x.png\">Десктоп<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__grok-4.3__mobile@2x.png\">Мобильный <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__grok-4.3__promo@2x.png\">Промо<\/a><\/div>\n<\/div>\n<h3>Cursor + Grok 4.5<\/h3>\n<p>Очень быстро, дешево (но это пока 50% скидки), в целом нормально за свои деньги. Промостраница примитивная, не опус, конечно.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"1048\" data-ratio=\"0.87333333333333\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__grok-4.5__all-2400@2x.png\" width=\"1048\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__grok-4.5__desktop-2400@2x.png\" width=\"1200\" height=\"771\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__grok-4.5__mobile-2400@2x.png\" width=\"295\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__grok-4.5__promo-2400@2x.png\" width=\"448\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Полные картинки: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__grok-4.5__all@2x.png\">Всё вместе<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__grok-4.5__desktop@2x.png\">Десктоп<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__grok-4.5__mobile@2x.png\">Мобильный <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__grok-4.5__promo@2x.png\">Промо<\/a><\/div>\n<\/div>\n<h3>Cursor + GLM 5.1 (z.ai coding plan)<\/h3>\n<p>ГЛМ в Курсоре почему-то не смог справиться с тулами.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"1200\" data-ratio=\"1.4705882352941\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__glm-5.1__all-2400@2x.png\" width=\"1200\" height=\"816\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__glm-5.1__desktop-2400@2x.png\" width=\"1200\" height=\"664\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__glm-5.1__mobile-2400@2x.png\" width=\"152\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__glm-5.1__promo-2400@2x.png\" width=\"975\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Полные картинки: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__glm-5.1__all@2x.png\">Всё вместе<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__glm-5.1__desktop@2x.png\">Десктоп<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__glm-5.1__mobile@2x.png\">Мобильный <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__glm-5.1__promo@2x.png\">Промо<\/a><\/div>\n<\/div>\n<h3>Cursor + Composer 2<\/h3>\n<p>Очень примитивно, но и зато очень дешево. Не соответствует тому уровню, что Курсор заявляет о своей модели, конечно. Но они честно говорили, что делают модель для кода в первую очередь.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"1200\" data-ratio=\"2.247191011236\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__composer-2__all-2400@2x.png\" width=\"1200\" height=\"534\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__composer-2__desktop-2400@2x.png\" width=\"1200\" height=\"429\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__composer-2__mobile-2400@2x.png\" width=\"375\" height=\"1158\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__composer-2__promo-2400@2x.png\" width=\"1153\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Полные картинки: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__composer-2__all@2x.png\">Всё вместе<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__composer-2__desktop@2x.png\">Десктоп<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__composer-2__mobile@2x.png\">Мобильный <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__composer-2__promo@2x.png\">Промо<\/a><\/div>\n<\/div>\n<h3>Cursor + Composer 2.5<\/h3>\n<p>Сопоставим по стоимости с Composer 2, качество подросло, но все еще сильно не очень.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"1200\" data-ratio=\"2.0066889632107\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__composer-2.5__all-2400@2x.png\" width=\"1200\" height=\"598\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__composer-2.5__desktop-2400@2x.png\" width=\"1000\" height=\"698\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__composer-2.5__mobile-2400@2x.png\" width=\"309\" height=\"1000\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__composer-2.5__promo-2400@2x.png\" width=\"595\" height=\"1000\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Полные картинки: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__composer-2.5__all@2x.png\">Всё вместе<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__composer-2.5__desktop@2x.png\">Десктоп<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__composer-2.5__mobile@2x.png\">Мобильный <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__composer-2.5__promo@2x.png\">Промо<\/a><\/div>\n<\/div>\n<h3>Cursor + MiMo V2.5 Pro<\/h3>\n<p>Включённая модель Курсора; в подписке очень дёшево, в дизайне слабо.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"1200\" data-ratio=\"1.2145748987854\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__mimo-v2.5-pro__all-2400@2x.png\" width=\"1200\" height=\"988\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__mimo-v2.5-pro__desktop-2400@2x.png\" width=\"1200\" height=\"755\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__mimo-v2.5-pro__mobile-2400@2x.png\" width=\"302\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__mimo-v2.5-pro__promo-2400@2x.png\" width=\"623\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Полные картинки: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__mimo-v2.5-pro__all@2x.png\">Всё вместе<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__mimo-v2.5-pro__desktop@2x.png\">Десктоп<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__mimo-v2.5-pro__mobile@2x.png\">Мобильный <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__mimo-v2.5-pro__promo@2x.png\">Промо<\/a><\/div>\n<\/div>\n<h3>Source Craft + Default<\/h3>\n<p>Вроде недорого, но пользоваться смысла нет, нейрослописный нейрослоп.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"1200\" data-ratio=\"1.1173184357542\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/sourcecraft__default__w-0__all-2400@2x.png\" width=\"1200\" height=\"1074\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/sourcecraft__default__w-0__desktop-2400@2x.png\" width=\"926\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/sourcecraft__default__w-0__mobile-2400@2x.png\" width=\"326\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/sourcecraft__default__w-0__promo-2400@2x.png\" width=\"573\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Полные картинки: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/sourcecraft__default__w-0__all@2x.png\">Всё вместе<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/sourcecraft__default__w-0__desktop@2x.png\">Десктоп<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/sourcecraft__default__w-0__mobile@2x.png\">Мобильный <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/sourcecraft__default__w-0__promo@2x.png\">Промо<\/a><\/div>\n<\/div>\n<h3>Source Craft + Default Thinking<\/h3>\n<p>Как будто Default и Default Thinkign модели в Яндекс Сорс Крафте не просто разные режимы одной модели, а разные модели: слишком разный результат, у рисонинг модели даже хуже.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"1200\" data-ratio=\"2.7272727272727\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/sourcecraft__default-thinking__all-2400@2x.png\" width=\"1200\" height=\"440\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/sourcecraft__default-thinking__desktop-2400@2x.png\" width=\"1200\" height=\"771\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/sourcecraft__default-thinking__mobile-2400@2x.png\" width=\"375\" height=\"800\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/sourcecraft__default-thinking__promo-2400@2x.png\" width=\"1200\" height=\"1028\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Полные картинки: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/sourcecraft__default-thinking__all@2x.png\">Всё вместе<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/sourcecraft__default-thinking__desktop@2x.png\">Десктоп<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/sourcecraft__default-thinking__mobile@2x.png\">Мобильный <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/sourcecraft__default-thinking__promo@2x.png\">Промо<\/a><\/div>\n<\/div>\n<h3>Kilo Code + Opus 4.7 (Kilo cloud)<\/h3>\n<p>Типичный Опус 4.7. Местами чисто, интересно, издалека дак прямо супер-пупер.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"756\" data-ratio=\"0.63\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__opus-4.7__all-2400@2x.png\" width=\"756\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__opus-4.7__desktop-2400@2x.png\" width=\"1200\" height=\"644\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__opus-4.7__mobile-2400@2x.png\" width=\"276\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__opus-4.7__promo-2400@2x.png\" width=\"323\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Полные картинки: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__opus-4.7__all@2x.png\">Всё вместе<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__opus-4.7__desktop@2x.png\">Десктоп<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__opus-4.7__mobile@2x.png\">Мобильный <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__opus-4.7__promo@2x.png\">Промо<\/a><\/div>\n<\/div>\n<h3>Kilo Code + Hy3 preview (Kilo cloud)<\/h3>\n<p>Самая модная опенсорс-модель на опенроутере. Очень так себе.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"1200\" data-ratio=\"2.1466905187835\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/kilo__hy3-preview__all-2400@2x.png\" width=\"1200\" height=\"559\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/kilo__hy3-preview__desktop-2400@2x.png\" width=\"1200\" height=\"619\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/kilo__hy3-preview__mobile-2400@2x.png\" width=\"375\" height=\"996\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/kilo__hy3-preview__promo-2400@2x.png\" width=\"1100\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Полные картинки: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/kilo__hy3-preview__all@2x.png\">Всё вместе<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/kilo__hy3-preview__desktop@2x.png\">Десктоп<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/kilo__hy3-preview__mobile@2x.png\">Мобильный <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/kilo__hy3-preview__promo@2x.png\">Промо<\/a><\/div>\n<\/div>\n<h3>Kilo Code + Qwen 3.6 Max Preview (Kilo cloud)<\/h3>\n<p>В целом Квен для меня справился неплохо. Туповато, по крепко вполне. В промо просел как все. 1\/30 от Опуса по цене.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"1200\" data-ratio=\"1.1549566891242\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__qwen-3.6__all-2400@2x.png\" width=\"1200\" height=\"1039\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__qwen-3.6__desktop-2400@2x.png\" width=\"1200\" height=\"1156\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__qwen-3.6__mobile-2400@2x.png\" width=\"321\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__qwen-3.6__promo-2400@2x.png\" width=\"592\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Полные картинки: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__qwen-3.6__all@2x.png\">Всё вместе<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__qwen-3.6__desktop@2x.png\">Десктоп<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__qwen-3.6__mobile@2x.png\">Мобильный <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__qwen-3.6__promo@2x.png\">Промо<\/a><\/div>\n<\/div>\n<h3>Kilo Code + Qwen 3.5 397<\/h3>\n<p>Не справился с тулами.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"922\" data-ratio=\"0.76833333333333\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__qwen35-397b-qwen-397__all-2400@2x.png\" width=\"922\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__qwen35-397b-qwen-397__desktop-2400@2x.png\" width=\"867\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__qwen35-397b-qwen-397__mobile-2400@2x.png\" width=\"262\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__qwen35-397b-qwen-397__promo-2400@2x.png\" width=\"394\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Полные картинки: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__qwen35-397b-qwen-397__all@2x.png\">Всё вместе<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__qwen35-397b-qwen-397__desktop@2x.png\">Десктоп<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__qwen35-397b-qwen-397__mobile@2x.png\">Мобильный <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__qwen35-397b-qwen-397__promo@2x.png\">Промо<\/a><\/div>\n<\/div>\n<h3>Kilo Code + Grok Build 0.1 + Google Skill<\/h3>\n<p>Тот же промт со скиллом Google design; сравните с OpenCode Grok Build 0.1 без скилла.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"1200\" data-ratio=\"2.2813688212928\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__grok-build-0.1-google-skill__all-2400@2x.png\" width=\"1200\" height=\"526\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__grok-build-0.1-google-skill__desktop-2400@2x.png\" width=\"1200\" height=\"814\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__grok-build-0.1-google-skill__mobile-2400@2x.png\" width=\"394\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__grok-build-0.1-google-skill__promo-2400@2x.png\" width=\"1170\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Полные картинки: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__grok-build-0.1-google-skill__all@2x.png\">Всё вместе<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__grok-build-0.1-google-skill__desktop@2x.png\">Десктоп<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__grok-build-0.1-google-skill__mobile@2x.png\">Мобильный <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__grok-build-0.1-google-skill__promo@2x.png\">Промо<\/a><\/div>\n<\/div>\n<h3>OpenCode + Opus 4.7, xhigh reasoning (OpenRouter)<\/h3>\n<p>Неплохо, что было бы в мобилке не знаю, потому что после этого экрана опенроутер меня забанил от американских СОТА-моделей.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__opus-4.7__desktop-2400@2x.png\" width=\"1200\" height=\"1097\" alt=\"\" \/>\n<div class=\"e2-text-caption\">Полные картинки: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__opus-4.7__desktop@2x.png\">Десктоп<\/a><\/div>\n<\/div>\n<h3>OpenCode + Kimi 2.6 (OpenRouter)<\/h3>\n<p>Мобилка лучше остального, остальное плохо. Из забавного все дублировалось, но он потом через скриншоты обнаруживал и стирал сам. Из-за этого возился очень долго — 40+ минут.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"1200\" data-ratio=\"1.3651877133106\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__kimi-2.6__all-2400@2x.png\" width=\"1200\" height=\"879\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__kimi-2.6__desktop-2400@2x.png\" width=\"1200\" height=\"1143\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__kimi-2.6__mobile-2400@2x.png\" width=\"304\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__kimi-2.6__promo-2400@2x.png\" width=\"700\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Полные картинки: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__kimi-2.6__all@2x.png\">Всё вместе<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__kimi-2.6__desktop@2x.png\">Десктоп<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__kimi-2.6__mobile@2x.png\">Мобильный <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__kimi-2.6__promo@2x.png\">Промо<\/a><\/div>\n<\/div>\n<h3>OpenCode + Grok 4.3 (OpenRouter)<\/h3>\n<p>Грок уже был выше, но в отличие от Курсора, Опенкод с моделью вообще не справился, результат сильно хуже, чем у Курсора.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"1200\" data-ratio=\"1.6371077762619\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__grok-4.3__all-2400@2x.png\" width=\"1200\" height=\"733\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__grok-4.3__desktop-2400@2x.png\" width=\"1200\" height=\"823\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__grok-4.3__mobile-2400@2x.png\" width=\"331\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__grok-4.3__promo-2400@2x.png\" width=\"840\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Полные картинки: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__grok-4.3__all@2x.png\">Всё вместе<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__grok-4.3__desktop@2x.png\">Десктоп<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__grok-4.3__mobile@2x.png\">Мобильный <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__grok-4.3__promo@2x.png\">Промо<\/a><\/div>\n<\/div>\n<h3>OpenCode + Grok Build 0.1 (OpenRouter)<\/h3>\n<p>Быстро, слабо, дорого для такого качества.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"1200\" data-ratio=\"2.8571428571429\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__grok-build-0-1__all-2400@2x.png\" width=\"1200\" height=\"420\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__grok-build-0-1__desktop-2400@2x.png\" width=\"1200\" height=\"805\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__grok-build-0-1__mobile-2400@2x.png\" width=\"450\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__grok-build-0-1__promo-2400@2x.png\" width=\"1200\" height=\"982\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Полные картинки: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__grok-build-0-1__all@2x.png\">Всё вместе<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__grok-build-0-1__desktop@2x.png\">Десктоп<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__grok-build-0-1__mobile@2x.png\">Мобильный <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__grok-build-0-1__promo@2x.png\">Промо<\/a><\/div>\n<\/div>\n<h3>OpenCode + DeepSeek V4 Pro (Deepseek Cloud), Max Reasoning<\/h3>\n<p>Дипсик очень дешев, но справился лишь один раз. Мобилку можно смотреть, остальное плохо.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"1200\" data-ratio=\"1.2383900928793\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__deepseek-v4-pro__all-2400@2x.png\" width=\"1200\" height=\"969\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__deepseek-v4-pro__desktop-2400@2x.png\" width=\"1200\" height=\"1130\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__deepseek-v4-pro__mobile-2400@2x.png\" width=\"289\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__deepseek-v4-pro__promo-2400@2x.png\" width=\"635\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Полные картинки: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__deepseek-v4-pro__all@2x.png\">Всё вместе<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__deepseek-v4-pro__desktop@2x.png\">Десктоп<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__deepseek-v4-pro__mobile@2x.png\">Мобильный <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__deepseek-v4-pro__promo@2x.png\">Промо<\/a><\/div>\n<\/div>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"1200\" data-ratio=\"1.328903654485\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__deepseek-v4-pro-2__all-2400@2x.png\" width=\"1200\" height=\"903\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__deepseek-v4-pro-2__desktop-2400@2x.png\" width=\"1200\" height=\"771\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__deepseek-v4-pro-2__mobile-2400@2x.png\" width=\"190\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__deepseek-v4-pro-2__promo-2400@2x.png\" width=\"840\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Полные картинки: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__deepseek-v4-pro-2__all@2x.png\">Всё вместе<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__deepseek-v4-pro-2__desktop@2x.png\">Десктоп<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__deepseek-v4-pro-2__mobile@2x.png\">Мобильный <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__deepseek-v4-pro-2__promo@2x.png\">Промо<\/a><\/div>\n<\/div>\n<h3>OpenCode + GLM 5.1 (z.ai coding plan)<\/h3>\n<p>В отличие от Курсора Опенкод смог добиться чего-то от ГЛМ, вышло в целом ок для его цены. Он стоит дешевле Хайку, которы не смог буквально ничего.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"1200\" data-ratio=\"1.1363636363636\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__glm-5.1__all-2400@2x.png\" width=\"1200\" height=\"1056\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__glm-5.1__desktop-2400@2x.png\" width=\"1200\" height=\"772\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__glm-5.1__mobile-2400@2x.png\" width=\"332\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__glm-5.1__promo-2400@2x.png\" width=\"583\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Полные картинки: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__glm-5.1__all@2x.png\">Всё вместе<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__glm-5.1__desktop@2x.png\">Десктоп<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__glm-5.1__mobile@2x.png\">Мобильный <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__glm-5.1__promo@2x.png\">Промо<\/a><\/div>\n<\/div>\n<h3>OpenCode + Qwen 3.5 397<\/h3>\n<p>Не смогло ничего.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"1200\" data-ratio=\"1.3651877133106\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__qwen35-397b-qwen-397__all-2400@2x.png\" width=\"1200\" height=\"879\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__qwen35-397b-qwen-397__desktop-2400@2x.png\" width=\"1200\" height=\"771\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__qwen35-397b-qwen-397__mobile-2400@2x.png\" width=\"375\" height=\"812\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__qwen35-397b-qwen-397__promo-2400@2x.png\" width=\"700\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Полные картинки: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__qwen35-397b-qwen-397__all@2x.png\">Всё вместе<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__qwen35-397b-qwen-397__desktop@2x.png\">Десктоп<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__qwen35-397b-qwen-397__mobile@2x.png\">Мобильный <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__qwen35-397b-qwen-397__promo@2x.png\">Промо<\/a><\/div>\n<\/div>\n<h3>OpenCode + MiniMax 2.7 (OpenRouter)<\/h3>\n<p>Невероятно быстро, невероятно дешево, качество соответствующее.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"1200\" data-ratio=\"1.8209408194234\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__minimax-2.7__all-2400@2x.png\" width=\"1200\" height=\"659\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__minimax-2.7__desktop-2400@2x.png\" width=\"1200\" height=\"1069\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__minimax-2.7__mobile-2400@2x.png\" width=\"332\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__minimax-2.7__promo-2400@2x.png\" width=\"933\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Полные картинки: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__minimax-2.7__all@2x.png\">Всё вместе<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__minimax-2.7__desktop@2x.png\">Десктоп<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__minimax-2.7__mobile@2x.png\">Мобильный <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__minimax-2.7__promo@2x.png\">Промо<\/a><\/div>\n<\/div>\n<h3>OpenCode + MiniMax M3 (OpenRouter)<\/h3>\n<p>M2.7 → M3 — огромный шаг вперед, один из самых значительных. Из провальных вышел в топ-3. Очень похоже по стилю на опус.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"799\" data-ratio=\"0.66583333333333\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__minimax-m3__all-2400@2x.png\" width=\"799\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__minimax-m3__desktop-2400@2x.png\" width=\"1155\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__minimax-m3__mobile-2400@2x.png\" width=\"252\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__minimax-m3__promo-2400@2x.png\" width=\"341\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Полные картинки: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__minimax-m3__all@2x.png\">Всё вместе<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__minimax-m3__desktop@2x.png\">Десктоп<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__minimax-m3__mobile@2x.png\">Мобильный <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__minimax-m3__promo@2x.png\">Промо<\/a><\/div>\n<\/div>\n<h3>OpenCode + Qwen 3.7 Max Preview (OpenRouter<\/h3>\n<p>Дорого для своего результата, не улучшилось с 3.6 Max. Очень плохо работал с тулами (может быть особенность опенкода).<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"1759\" data-ratio=\"1.4658333333333\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__qwen-3.7__all-2400@2x.png\" width=\"1759\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__qwen-3.7__desktop-2400@2x.png\" width=\"1200\" height=\"771\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__qwen-3.7__mobile-2400@2x.png\" width=\"452\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__qwen-3.7__promo-2400@2x.png\" width=\"752\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Полные картинки: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__qwen-3.7__all@2x.png\">Всё вместе<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__qwen-3.7__desktop@2x.png\">Десктоп<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__qwen-3.7__mobile@2x.png\">Мобильный <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__qwen-3.7__promo@2x.png\">Промо<\/a><\/div>\n<\/div>\n<h3>Figma: Claude Code + Opus 4.7, xhigh<\/h3>\n<p>Опус в своем стиле, издалека особенно, но сожрал больше целой 5-часовой квоты.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"831\" data-ratio=\"0.6925\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/figma__claude-code__opus-4.7__all-2400@2x.png\" width=\"831\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/figma__claude-code__opus-4.7__desktop-2400@2x.png\" width=\"1001\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/figma__claude-code__opus-4.7__mobile-2400@2x.png\" width=\"266\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/figma__claude-code__opus-4.7__promo-2400@2x.png\" width=\"355\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Полные картинки: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/figma__claude-code__opus-4.7__all@2x.png\">Всё вместе<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/figma__claude-code__opus-4.7__desktop@2x.png\">Десктоп<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/figma__claude-code__opus-4.7__mobile@2x.png\">Мобильный <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/figma__claude-code__opus-4.7__promo@2x.png\">Промо<\/a><\/div>\n<\/div>\n<h3>Figma: Codex + GPT 5.5, xhigh<\/h3>\n<p>В фигме смог чуть лучше, чем в пейпере. Верстает чудовищно просто.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"1200\" data-ratio=\"1.4616321559074\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/figma__codex__gpt-5.5__all-2400@2x.png\" width=\"1200\" height=\"821\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/figma__codex__gpt-5.5__desktop-2400@2x.png\" width=\"1200\" height=\"840\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/figma__codex__gpt-5.5__mobile-2400@2x.png\" width=\"351\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/figma__codex__gpt-5.5__promo-2400@2x.png\" width=\"750\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Полные картинки: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/figma__codex__gpt-5.5__all@2x.png\">Всё вместе<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/figma__codex__gpt-5.5__desktop@2x.png\">Десктоп<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/figma__codex__gpt-5.5__mobile@2x.png\">Мобильный <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/figma__codex__gpt-5.5__promo@2x.png\">Промо<\/a><\/div>\n<\/div>\n<h3>Figma: Cursor + GLM 5.1 (z.ai coding plan)<\/h3>\n<p>В целом похуже чем в пейпере. Макет десктопа снизу это я перетащил слой куда нужно, ГЛМ не осилил корректный ДОМ.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"1200\" data-ratio=\"1.5625\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/figma__cursor__glm-5.1__all-2400@2x.png\" width=\"1200\" height=\"768\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/figma__cursor__glm-5.1__desktop-2400@2x.png\" width=\"822\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/figma__cursor__glm-5.1__mobile-2400@2x.png\" width=\"318\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/figma__cursor__glm-5.1__promo-2400@2x.png\" width=\"801\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Полные картинки: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/figma__cursor__glm-5.1__all@2x.png\">Всё вместе<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/figma__cursor__glm-5.1__desktop@2x.png\">Десктоп<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/figma__cursor__glm-5.1__mobile@2x.png\">Мобильный <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/figma__cursor__glm-5.1__promo@2x.png\">Промо<\/a><\/div>\n<\/div>\n<h3>Cursor + Composer 2<\/h3>\n<p>Катастрофически плохо, хуже чем в пейпере.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"1200\" data-ratio=\"1.4888337468983\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/figma__cursor__composer-2__all-2400@2x.png\" width=\"1200\" height=\"806\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/figma__cursor__composer-2__desktop-2400@2x.png\" width=\"1200\" height=\"823\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/figma__cursor__composer-2__mobile-2400@2x.png\" width=\"268\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/figma__cursor__composer-2__promo-2400@2x.png\" width=\"763\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Полные картинки: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/figma__cursor__composer-2__all@2x.png\">Всё вместе<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/figma__cursor__composer-2__desktop@2x.png\">Десктоп<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/figma__cursor__composer-2__mobile@2x.png\">Мобильный <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/figma__cursor__composer-2__promo@2x.png\">Промо<\/a><\/div>\n<\/div>\n<p>После основного эксперимента я реши попробовать дать скилл Impeccable и посмотреть как он повлияет. Тот же самый промт, но со скиллом. Полный конфиг — Claude Code + Opus 4.7, xhigh + Frontend Design Skill<\/p>\n<p>Сделал только один десктопный экран, много жрет, еще более фенси, чем было. Один экран сожрал 44% 5h · pro-квоты в клод коде. Как будто Опус стал еще более опусным и началось какое-то горе от дизайн-ума. Каждый пиксель кричит «смотри какой я красивый». Ошибки есть, но дизайн стал еще более дизайнерским.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-frontend-design__desktop-2400@2x.png\" width=\"513\" height=\"1200\" alt=\"\" \/>\n<div class=\"e2-text-caption\">Полная картинка: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-frontend-design__desktop@2x.png\">Десктоп<\/a><\/div>\n<\/div>\n<h2>4 Сколько все это стоило, вы спросите<\/h2>\n<p>В целом в таблице есть цены, доллары в Курсоре виртуальные (входили в подписку), остальные реальные.<\/p>\n<p>~20 $ — модели<br \/>\n16 $ — Paper Pro с бо́льшим лимитом на MCP.<br \/>\n3×20 $ — подписки Клод, Кодекса и Курсора, но они уже были.<\/p>\n<p><aside class=\"aside-margin-right\">См. график тут: <a href=\"https:\/\/www.anthropic.com\/news\/claude-opus-4-7\">anthropic.com\/news\/claude-opus-4-7<\/a><\/aside><\/p>\n<p>Самый дорогой вариант стоил бы 12,30 $ (Курсор + Опус 4.7), самый дешевый — 0,03 (Минимакс 2.7), разница — 410 раз. Опус работал не на 100%, если бы я включил макс-ризонинг, то было бы примерно ×2.<\/p>\n<h2>5 Будущие эксперименты<\/h2>\n<p>Что хотелось бы проверить еще, что не вошло в эту серию:<\/p>\n<ul>\n<li>Проверить со скиллами: насколько те или иные скиллы могут улучшить дизайн.<\/li>\n<li>Проверить, задав стили, юзерсценарии и прочий контекст.<\/li>\n<li>Проверить, разрешив задавать уточняющие вопросы: про задачи, продукт, стиль и пользователя.<\/li>\n<li>Проверить, что будет, если дать ему грубый скетч интерфейса и довести до ума.<\/li>\n<li>Дать существующий экран и попросить добавить стиля или улучшить только интерфейс без полной переделки структуры.<\/li>\n<li>Дать почитать советы Горбунова по верстке и проверить снова.<\/li>\n<\/ul>\n<h2>6 Выводы<\/h2>\n<ol start=\"1\">\n<li>Опус — на коне. Дорого и офигенно. Удивительно, что следующим идет даже не GPT. Ни 5.4, ни даже 5.5 и близко не стоят. Китайские модели, да даже авто-режим Cursor, делает лучше. Код GPT 5.4 пишет хорошо, объясняет и делает анализы — хорошо. Дизайн — провально.<\/li>\n<li>Китайские модели оверфиттятся на метрики и бенчмарки. В целом все модели за пределами больших лаб такие. По метрикам SWE они уже догнали и обогнали Опус, в реальной же жизни не способны сделать простую задачу. Некоторые даже не справляются с корректным вызовом тулов. Типичный пример — Минимакс 2.7, по всем метрикам — он очень хорош, в дизайне не может ничего. Хорош он в итоге только по скорости и цене (там прямо вау). Кто-то скажет, что дипсик тоже оверфит. Про него так однозначно не скажу: во-первых, дипсик один из макетов сделал заметно лучше, во-вторых у него до сих пор какие-то проблемы с вызовом тулов, как было в версии в 3.2. Лучший результат у тех китайских моделей, которые делают свою работу, не особенно крича — Квен 3.6 (но 3.5 так себе).<\/li>\n<li>Хорошая модель делает достататочно бессмысленным дизайн самими разработчиками и продактами, если только они не разбираются в дизайне. Редко, но бывают такие. Если нет, то модель сделает быстрее и лучше. Дизайнерам пока еще есть работа, можно выдохнуть на квартал.<\/li>\n<\/ol>\n<h2>P. S.<\/h2>\n<p>Раз уж зашли, попробуйте <a href=\"http:\/\/recipe-scaler.ru\/#\/about\">recipe-scaler.ru<\/a>, зря я что ли столько дизайн-экспериментов проводил? Если каждый десятый зайдет, у меня будет +1000% пользователей сразу.<\/p>\n<p>Если вдруг у кого есть подкаст, внутренние созвоны команды или просто захотите созвониться и поговорить про все это — зовите. В Мск и Питере могу и очно. <a href=\"mailto:mike.ozornin@gmail.com\">mike.ozornin@gmail.com<\/a> или <a href=\"https:\/\/t.me\/mikeozornin\">t.me\/mikeozornin<\/a>.<\/p>\n<p>Кстати, вот как выгдядит блок аттачей поста:<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/llm-and-ui-design@2x.png\" width=\"858\" height=\"1293\" alt=\"\" \/>\n<\/div>\n<p>upd. Добавлены новые модели: gemini 3.5 flash, grok build, mimo 2.5, opus 4.8, grok 4.5, gpt 5.6 sol, minimax m3, fable<\/p>\n",
            "summary": "У этого поста есть еще версия на английском: mikeozornin.ru\/blog\/all\/llm-and-ui-design-en",
            "date_published": "2026-05-12T09:53:32+03:00",
            "date_modified": "2026-07-15T00:21:51+03:00",
            "tags": [
                "дизайн",
                "ИИ"
            ],
            "image": "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo__hy3-preview__all-2400@2x.png",
            "_date_published_rfc2822": "Tue, 12 May 2026 09:53:32 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "224",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css",
                    "jquery\/jquery.js",
                    "fotorama\/fotorama.css",
                    "fotorama\/fotorama.js"
                ],
                "og_images": [
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo__hy3-preview__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo__hy3-preview__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo__hy3-preview__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo__hy3-preview__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__sourcecraft__default__w-0__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__sourcecraft__default__w-0__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__sourcecraft__default__w-0__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__sourcecraft__default__w-0__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__sourcecraft__default-thinking__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__sourcecraft__default-thinking__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__sourcecraft__default-thinking__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__sourcecraft__default-thinking__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/Images-2.4@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/figma__claude-code__opus-4.7__all@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/figma__claude-code__opus-4.7__desktop@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/figma__claude-code__opus-4.7__mobile@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/figma__claude-code__opus-4.7__promo@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/figma__codex__gpt-5.5__all@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/figma__codex__gpt-5.5__desktop@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/figma__codex__gpt-5.5__mobile@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/figma__codex__gpt-5.5__promo@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/figma__cursor__composer-2__all@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/figma__cursor__composer-2__desktop@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/figma__cursor__composer-2__mobile@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/figma__cursor__composer-2__promo@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/figma__cursor__glm-5.1__all@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/figma__cursor__glm-5.1__desktop@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/figma__cursor__glm-5.1__mobile@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/figma__cursor__glm-5.1__promo@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__antigravity__gemini-3.1-pro__all@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__antigravity__gemini-3.1-pro__desktop@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__antigravity__gemini-3.1-pro__mobile@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__antigravity__gemini-3.1-pro__promo@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__haiku__all@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__haiku__desktop@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__haiku__mobile@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__haiku__promo@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.6__all@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.6__desktop@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.6__mobile@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.6__promo@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.7__all@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.7__desktop@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.7__mobile@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.7__promo@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.7-med__all@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.7-med__desktop@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.7-med__mobile@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.7-med__promo@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-frontend-design__desktop@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__sonnet-4.6__all@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__sonnet-4.6__desktop@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__sonnet-4.6__mobile@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__sonnet-4.6__promo@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.4__all@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.4__desktop@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.4__mobile@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.4__promo@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.5__all@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.5__desktop@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.5__mobile@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.5__promo@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__auto__all@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__auto__mobile@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__auto__promo@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__composer-2__all@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__composer-2__desktop@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__composer-2__mobile@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__composer-2__promo@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__gemini-3.1-pro__all@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__gemini-3.1-pro__desktop@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__gemini-3.1-pro__mobile@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__gemini-3.1-pro__promo@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__glm-5.1__all@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__glm-5.1__desktop@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__glm-5.1__mobile@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__glm-5.1__promo@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__gpt-5.4__all@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__gpt-5.4__desktop@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__gpt-5.4__mobile@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__gpt-5.4__promo@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__grok-4.3__all@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__grok-4.3__desktop@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__grok-4.3__mobile@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__opus-4.7__all@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__opus-4.7__desktop@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__opus-4.7__mobile@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__opus-4.7__promo@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo__hy3-preview__all@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo__hy3-preview__desktop@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo__hy3-preview__mobile@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo__hy3-preview__promo@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__opus-4.7__all@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__opus-4.7__desktop@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__opus-4.7__mobile@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__opus-4.7__promo@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__qwen-3.6__all@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__qwen-3.6__desktop@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__qwen-3.6__mobile@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__qwen-3.6__promo@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__qwen35-397b-qwen-397__all@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__qwen35-397b-qwen-397__desktop@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__qwen35-397b-qwen-397__mobile@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__qwen35-397b-qwen-397__promo@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__deepseek-v4-pro__all@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__deepseek-v4-pro__desktop@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__deepseek-v4-pro__mobile@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__deepseek-v4-pro__promo@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__deepseek-v4-pro-2__all@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__deepseek-v4-pro-2__desktop@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__deepseek-v4-pro-2__mobile@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__deepseek-v4-pro-2__promo@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__glm-5.1__all@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__glm-5.1__desktop@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__glm-5.1__mobile@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__glm-5.1__promo@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__grok-4.3__all@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__grok-4.3__desktop@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__grok-4.3__mobile@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__grok-4.3__promo@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__kimi-2.6__all@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__kimi-2.6__desktop@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__kimi-2.6__mobile@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__kimi-2.6__promo@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__minimax-2.7__all@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__minimax-2.7__desktop@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__minimax-2.7__mobile@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__minimax-2.7__promo@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__opus-4.7__desktop@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__qwen35-397b-qwen-397__all@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__qwen35-397b-qwen-397__desktop@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__qwen35-397b-qwen-397__mobile@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__qwen35-397b-qwen-397__promo@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__sourcecraft__default__w-0__all@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__sourcecraft__default__w-0__desktop@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__sourcecraft__default__w-0__mobile@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__sourcecraft__default__w-0__promo@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__sourcecraft__default-thinking__all@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__sourcecraft__default-thinking__desktop@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__sourcecraft__default-thinking__mobile@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__sourcecraft__default-thinking__promo@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__qwen-3.6__mobile-2400@2x-1.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__composer-2.5__all@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__composer-2.5__desktop@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__composer-2.5__mobile@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__composer-2.5__promo@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__antigravity__gemini-3.5-flash__all@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__antigravity__gemini-3.5-flash__desktop@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__antigravity__gemini-3.5-flash__mobile@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__antigravity__gemini-3.5-flash__promo@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.8__all@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.8__desktop@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.8__mobile@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.8__promo@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__mimo-v2.5-pro__all@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__mimo-v2.5-pro__desktop@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__mimo-v2.5-pro__mobile@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__mimo-v2.5-pro__promo@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__grok-build-0.1-google-skill__all@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__grok-build-0.1-google-skill__desktop@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__grok-build-0.1-google-skill__mobile@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__grok-build-0.1-google-skill__promo@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__grok-4.5__all@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__grok-4.5__desktop@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__grok-4.5__mobile@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__grok-4.5__promo@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.6-sol-xhigh__all@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.6-sol-xhigh__desktop@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.6-sol-xhigh__mobile@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.6-sol-xhigh__promo@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__minimax-m3__all@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__minimax-m3__desktop@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__minimax-m3__mobile@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__minimax-m3__promo@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__fable-med__all@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__fable-med__desktop@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__fable-med__mobile@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__fable-med__promo@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.7__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__opus-4.7__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__opus-4.7__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__haiku__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__qwen35-397b-qwen-397__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__deepseek-v4-pro-2__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/Images-1.1@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/Images-1.2@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/Image-1.3@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/Images-2.1@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/Images-2.2@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/Images-2.3@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/Images-3.1@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/Images-3.2@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/Images-3.3@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/Images-4.1@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/Images-4.2@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__auto__desktop@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/Slop-1@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/Slop-2@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/Slop-3@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/Slop-4@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/Slop-5@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/Mobile-vs-Promo@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/inside-figma-gpt-5.5-light@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/inside-paper-gpt-5.5-light@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__antigravity__gemini-3.1-pro__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__antigravity__gemini-3.1-pro__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__antigravity__gemini-3.1-pro__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__antigravity__gemini-3.1-pro__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__antigravity__gemini-3.5-flash__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__antigravity__gemini-3.5-flash__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__antigravity__gemini-3.5-flash__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__antigravity__gemini-3.5-flash__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.7__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.7__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.7__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.8__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.8__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.8__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.8__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__fable-med__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__fable-med__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__fable-med__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__fable-med__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.7-med__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.7-med__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.7-med__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.7-med__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.6__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.6__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.6__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.6__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__sonnet-4.6__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__sonnet-4.6__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__sonnet-4.6__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__sonnet-4.6__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__haiku__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__haiku__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__haiku__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.5__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.5__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.5__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.5__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.4__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.4__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.4__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.4__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.6-sol-xhigh__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.6-sol-xhigh__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.6-sol-xhigh__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.6-sol-xhigh__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__auto__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__auto__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__auto__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__auto__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__opus-4.7__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__opus-4.7__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__opus-4.7__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__gpt-5.4__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__gpt-5.4__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__gpt-5.4__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__gpt-5.4__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__gemini-3.1-pro__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__gemini-3.1-pro__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__gemini-3.1-pro__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__gemini-3.1-pro__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__grok-4.3__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__grok-4.3__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__grok-4.3__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__grok-4.3__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__grok-4.5__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__grok-4.5__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__grok-4.5__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__grok-4.5__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__glm-5.1__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__glm-5.1__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__glm-5.1__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__glm-5.1__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__composer-2__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__composer-2__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__composer-2__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__composer-2__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__composer-2.5__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__composer-2.5__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__composer-2.5__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__composer-2.5__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__mimo-v2.5-pro__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__mimo-v2.5-pro__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__mimo-v2.5-pro__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__mimo-v2.5-pro__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/sourcecraft__default__w-0__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/sourcecraft__default__w-0__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/sourcecraft__default__w-0__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/sourcecraft__default__w-0__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/sourcecraft__default-thinking__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/sourcecraft__default-thinking__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/sourcecraft__default-thinking__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/sourcecraft__default-thinking__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__opus-4.7__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__opus-4.7__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__opus-4.7__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/kilo__hy3-preview__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/kilo__hy3-preview__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/kilo__hy3-preview__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/kilo__hy3-preview__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__qwen-3.6__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__qwen-3.6__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__qwen-3.6__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__qwen-3.6__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__qwen35-397b-qwen-397__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__qwen35-397b-qwen-397__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__qwen35-397b-qwen-397__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__grok-build-0.1-google-skill__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__grok-build-0.1-google-skill__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__grok-build-0.1-google-skill__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__grok-build-0.1-google-skill__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__opus-4.7__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__kimi-2.6__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__kimi-2.6__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__kimi-2.6__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__kimi-2.6__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__grok-4.3__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__grok-4.3__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__grok-4.3__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__grok-4.3__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__grok-build-0-1__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__grok-build-0-1__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__grok-build-0-1__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__grok-build-0-1__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__deepseek-v4-pro__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__deepseek-v4-pro__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__deepseek-v4-pro__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__deepseek-v4-pro__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__deepseek-v4-pro-2__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__deepseek-v4-pro-2__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__deepseek-v4-pro-2__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__glm-5.1__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__glm-5.1__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__glm-5.1__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__glm-5.1__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__qwen35-397b-qwen-397__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__qwen35-397b-qwen-397__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__qwen35-397b-qwen-397__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__qwen35-397b-qwen-397__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__minimax-2.7__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__minimax-2.7__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__minimax-2.7__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__minimax-2.7__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__minimax-m3__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__minimax-m3__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__minimax-m3__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__minimax-m3__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__qwen-3.7__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__qwen-3.7__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__qwen-3.7__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__qwen-3.7__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/figma__claude-code__opus-4.7__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/figma__claude-code__opus-4.7__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/figma__claude-code__opus-4.7__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/figma__claude-code__opus-4.7__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/figma__codex__gpt-5.5__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/figma__codex__gpt-5.5__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/figma__codex__gpt-5.5__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/figma__codex__gpt-5.5__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/figma__cursor__glm-5.1__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/figma__cursor__glm-5.1__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/figma__cursor__glm-5.1__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/figma__cursor__glm-5.1__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/figma__cursor__composer-2__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/figma__cursor__composer-2__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/figma__cursor__composer-2__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/figma__cursor__composer-2__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-frontend-design__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/llm-and-ui-design@2x.png"
                ]
            }
        },
        {
            "id": "223",
            "url": "https:\/\/mikeozornin.ru\/blog\/all\/llm-and-ui-design-en\/",
            "title": "Design with AI: I tested 45 models and I’m showing 174 generated images",
            "content_html": "<p class=\"lead\">I generated the same task with 45 different agents\/models and I’m showing you 174 resulting images. The cost difference between the most expensive and the cheapest option is 410x.<\/p>\n<p class=\"loud\">Actual results always on the separate page <a href=\"https:\/\/mikeozornin.ru\/recipe-scaler-bench\/en\">mikeozornin.ru\/recipe-scaler-bench<\/a><\/p>\n<p>There’s also an original Russian version of this post: <a href=\"https:\/\/mikeozornin.ru\/blog\/all\/llm-and-ui-design\/\">mikeozornin.ru\/blog\/all\/llm-and-ui-design<\/a><\/p>\n<p>Sometimes colleagues, often non-designers, after announcements of various Claude-Design-type things, ask me what it’s like. How does it design, what is this thing in general. How good a design can you expect, can you take a design system, and how do you bring it to production afterwards. Maybe they want to hear that neural networks will replace not only them, the developers, but designers too — then we’ll go cut tables, roast coffee or work as couriers together.<\/p>\n<p>I decided to check how things stand with AI-design at the beginning of May 2026. The situation is changing fast, in half a year all of this will already be outdated, but for now it’s like this.<\/p>\n<h2>1 The experiment plan<\/h2>\n<p>I’ll describe the experiment plan: the procedure and the limitations, so that you can first, understand how much you can trust the results, and second, validate or repeat them yourself.<\/p>\n<p>TL;DR; The agents drew three screens: desktop, mobile and a promo page through Paper MCP.<\/p>\n<h3>1.1 Procedure<\/h3>\n<p><aside class=\"aside-margin-right\"><a href=\"https:\/\/recipe-scaler.ru\/#\/about\">recipe-scaler.ru\/#\/about<\/a><\/aside><\/p>\n<p>I gave the same task to 34 different agents + models. The task sounded like «make three screens for the same product»: a desktop screen, a mobile screen and a promo page. As the product I took my own recipe app and fed the agents the text from the about page.<\/p>\n<p>I took all the popular agents and models that are currently of interest.<\/p>\n<p>Agents:<\/p>\n<ul>\n<li>Agents from the main model vendors: Claude Code, Codex, even Antigravity<\/li>\n<li>The most popular independent closed agent on the market: Cursor<\/li>\n<li>The two most popular open agents (and the only ones at the moment that deserve attention): Opencode and Kilo Code.<\/li>\n<\/ul>\n<p>Spoiler: in this task the agent wasn’t fundamentally important.<\/p>\n<p>Models were used both via native providers and third-party ones through Openrouter. Models:<\/p>\n<ul>\n<li>Flagship models from American labs: Opus 4.7, Sonnet 4.6, Haiku 4.5, GPT 5.5 and 5.4, Gemini 3.1 Pro.<\/li>\n<li>Cursor Auto, Composer 2 and Composer 2.5 models, as well as niche players like Grok 4.3 and Grok 4.5,<\/li>\n<li>All popular Chinese models: Qwen 3.7, Qwen 3.6 Max Preview (and the older Qwen 3.5 397B A17B), GLM 5.1, MiniMax 2.7, DeepSeek V4 Pro, Kimi 2.6.<\/li>\n<\/ul>\n<p>All models received the task as a file on input, it was the same — only the file address differed — each model was given a fresh Paper file to exclude any influence from previous runs.<\/p>\n<p>The full prompt for Paper is below (the Figma variant differed only in changing the tool and the link).<\/p>\n<pre class=\"e2-text-code\"><code class=\"markdown\">I am creating a design for a product.\n\n# Task\nCreate new pages:\n1. A desktop screen interface — choose the main screen and design it. Screen width: 1400px.\n2. A recipe screen interface for mobile. You need to design a recipe screen. Screen width: 375px.\n3. A promo page describing the product. Screen width: 1400px.\n\n# Where to create it and expected result\nWhere to create: TODO\n\nIf the mockups are long, you can make a tall frame\/artboard\/layout. You do not have to fit standard screen proportions.\n\nUse Paper MCP to create the design.\n\nUse English for the content inside the mockups.\n\nYou can use pregenerated images for illustations: &#039;\/Users\/mike\/work\/git-repos\/projects\/ai workshops\/design with ai-tmp&#039;. If you have built-in tools for drawing images, you can use them too.\n\nBelow is the product information, which also describes the product capabilities.\n\n# Product information\n\n```\nRecipe Scaler — app for those who cook\nIt reliably stores your recipes, helps you cook, works on your phone and computer, even offline.\n\nAccess from phone and computer\nYou will have access to your recipes both on your phone and computer. The apps will sync automatically, even from offline.\nOn each platform, the web application uses familiar ways of working: hotkeys on the computer, and standard gesture controls on the phone.\nOn the phone it works as PWA — install it on your home screen and you won&#039;t tell the difference from other apps.\n\nRecalculate recipes for different serving sizes\nThis is where the app started: recalculating recipes for different serving sizes.\nWhen recalculating, not only the ingredient list is updated, but also the recipe text.\n\nCooking assistance\nThe app will help you cook: it won&#039;t turn off the screen while cooking, will track time and even send push notifications. Timers are, of course, available on the computer too.\n\nShopping list\nAdd ingredients to your shopping list one by one from a recipe, or add the whole recipe at once.\nMark purchased items, sort the list the way you like, and share the list with the person going to the store.\n\nAutomagical recipe import\nRecipe Scaler can import a recipe from text, a single link, or multiple links at once.\nYou can also upload a file in almost any text format and even photos of pages from a cookbook, notebook, or handwritten recipe journal.\n\nAI assistant for recipes\nIf something goes wrong while you cook, the AI assistant can help you save the dish and figure out what to do next.\nIt can also explain the recipe, suggest the next step, and point out the equipment you may need.\nIt&#039;s like having a chef always at your fingertips, ready to answer your questions.\n\nDiscover section\nFind new recipes in Discover.\nExplore interesting authors, save recipes to your collection, and build your own shortlist of the best finds.\n\nHealth-friendly: nutrition calculation\nRecipe Scaler will calculate the nutritional value (Kcal, protein, fat, carbs) for a dish and let you view it conveniently: for the entire dish, per 100 grams, or per serving.\nIf artificial intelligence makes a mistake in the numbers, you can always correct the nutritional value of the needed ingredient.\n\nCookbook\nDownload a public recipe collection (your own or someone else&#039;s) as a beautifully formatted PDF.\nThe cookbook includes recipes with photos, ingredients, and cooking instructions.\n\nTelegram bot\nSend the bot a recipe text or a link to it and the bot will save the recipe to your account.\n\nChrome extension for quick import\nInstall the Recipe Scaler Importer extension and import the recipe into your account in one click.\n\nAI assistant integration\nConnect your AI assistant to recipes. It can search recipes, add new ones, or help you cook the way you&#039;re used to: in chat, by voice. To connect, use the link: recipe-scaler.ru\/mcp\nFor techies: yes, this is an MCP server.\n\nCareful handling of your data\nWe are paranoid about your privacy.\nThe app works without sign-up: we don&#039;t know your email or your Google login. Even Telegram is only needed for saving recipes. Don&#039;t want it? Don&#039;t use it.\nWe don&#039;t use trackers or product analytics.\nWe don&#039;t allow AI models to train on your recipes.\nData export and an API are available, so we don&#039;t hold your data hostage.\nMore details: recipe-scaler.ru\/#\/privacy\n\nIf we&#039;ve convinced you to try:\nGo to app\n\nIf we haven&#039;t convinced you:\nWrite what&#039;s missing\n\nMade by Mikhail Ozornin with Cursor. App idea inspired by app by Roman Shamin.\n© Mikhail Ozornin, 2025<\/code><\/pre><h3>1.2 Particulars of the experiment<\/h3>\n<ul>\n<li>The models were given basic limitations and instructions, there were no clarifications about style, design system and so on. I didn’t answer clarifying questions, I just skipped them. There was no intervention in the process — at most, if the agent was waiting for something, I asked it to start or continue.<\/li>\n<li>All models except Opus 4.7 worked on the maximum possible reasoning setting or its substitute parameter (effort for Claude Code).<\/li>\n<li>I deliberately didn’t give any preferences about style, didn’t attach any design system, didn’t describe more important and less important scenarios. I wanted to check not what I could design with an LLM, but what the agent itself could do.<\/li>\n<li>All texts were in English. This is a small cheat for the models — there are noticeably more good fonts for English than for Cyrillic. With Cyrillic it would be worse, I think. The font choice would be more primitive, and they would have boldly picked fonts that don’t have Cyrillic at all.<\/li>\n<li>For design I used Paper MCP, with Figma MCP as a backup option. Paper MCP works better, faster and is open to a larger number of agents. Figma doesn’t let the open agents Opencode and Kilo work with it. I also tested with Figma MCP, just launched fewer variants.<\/li>\n<li>To make the comparison fairer, I didn’t fix the mockups by hand — at most I occasionally stretched the frame if the agent made the artboard smaller than its own content. It was a shame to see that it was right there.<\/li>\n<\/ul>\n<h3>1.3 Formal goals<\/h3>\n<p>What I wanted to look at and check:<\/p>\n<ul>\n<li>The result: how close the produced mockups are to solving the task at all, how usable the result is at work, how beautiful, neat and overall good it is.<\/li>\n<li>The internals: how cleanly it’s laid out inside, whether you want to wash your hands after this.<\/li>\n<li>What about the cost of the solution.<\/li>\n<li>How much the result depends on the agent.<\/li>\n<li>How much the result depends on the reasoning level.<\/li>\n<\/ul>\n<p>In general, I wanted to understand which models and agents make sense to use for something, and which don’t.<\/p>\n<h2>2 Results<\/h2>\n<p>The gap between the models is huge — some laid things out interestingly and beautifully. Others laid out neuro-slop in its worst sense, the third group couldn’t cope with the tools at all and produced a broken mockup.<\/p>\n<p>Best result (everything is Opus 4.7 xhigh):<\/p>\n<div class=\"e2-text-picture\">\n<a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.7__all@2x.png\" class=\"e2-text-picture-link\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.7__all-2400@2x.png\" width=\"658\" height=\"1200\" alt=\"\" \/>\n<\/a><\/div>\n<div class=\"e2-text-picture\">\n<a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__opus-4.7__all@2x.png\" class=\"e2-text-picture-link\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__opus-4.7__all-2400@2x.png\" width=\"566\" height=\"1200\" alt=\"\" \/>\n<\/a><\/div>\n<div class=\"e2-text-picture\">\n<a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__opus-4.7__all@2x.png\" class=\"e2-text-picture-link\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__opus-4.7__all-2400@2x.png\" width=\"756\" height=\"1200\" alt=\"\" \/>\n<\/a><\/div>\n<p>Worst result (Haiku, Qwen 3.5 and one of the DeepSeek iterations)<\/p>\n<div class=\"e2-text-picture\">\n<a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__haiku__all@2x.png\" class=\"e2-text-picture-link\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__haiku__all-2400@2x.png\" width=\"1200\" height=\"665\" alt=\"\" \/>\n<\/a><\/div>\n<div class=\"e2-text-picture\">\n<a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__qwen35-397b-qwen-397__all@2x.png\" class=\"e2-text-picture-link\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__qwen35-397b-qwen-397__all-2400@2x.png\" width=\"922\" height=\"1200\" alt=\"\" \/>\n<\/a><\/div>\n<div class=\"e2-text-picture\">\n<a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/\" class=\"e2-text-picture-link\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__deepseek-v4-pro-2__all-2400@2x.png\" width=\"1200\" height=\"903\" alt=\"paper__opencode__deepseek-v4-pro-2__all@2x.png\" \/>\n<\/a><\/div>\n<p>The rest are somewhere in between. Below there will be a table with the results, but for now I’ll share my impressions.<\/p>\n<h3>2.1 Quality of the result<\/h3>\n<p>The models split into four categories:<\/p>\n<p><b>Fancy design from which you can squeeze something interesting<\/b><br \/>\nThere’s only one such model — Opus 4.7. You can see on every floor and micro-format that it’s showing off. The most interesting and complex promo pages. The only promo pages that aren’t laid out as a stretched mobile screen. Show such a design to a programmer from afar — they’ll think a designer was involved.<\/p>\n<p>Examples of small details from there:<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/Images-1.1@2x.png\" width=\"375\" height=\"505\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/Images-1.2@2x.png\" width=\"1160\" height=\"602\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/Image-1.3@2x.png\" width=\"1123\" height=\"657\" alt=\"\" \/>\n<\/div>\n<p><b>Mid-tier<\/b><br \/>\nDesktop and mobile interface are simple but understandable, the promo page is boring (literally like mine right now). You can immediately see it’s neuro-design, but at least it’s neat and clean. At the same time, there are no obvious mess-ups, you can quite use this when there’s no designer at hand. Opus 4.6, Sonnet 4.6, GPT 5.4, Cursor Auto, Qwen 3.6 and, with a stretch, GLM 5.1 (if it can handle the tools).<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/Images-2.1@2x.png\" width=\"375\" height=\"840\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/Images-2.2@2x.png\" width=\"375\" height=\"840\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/Images-2.3@2x.png\" width=\"736\" height=\"414\" alt=\"\" \/>\n<\/div>\n<p><b>The completely typical neuro-slop design<\/b><br \/>\nNeuro-slop in its worst manifestations, most noticeable on the promo page. Literally nothing for your eyes to grab onto. For example, Minimax 2.7, Kimi 2.6 (slightly better, but still here), Cursor’s Composer 2 (a fine-tuned Kimi 2.5) is not far behind. Even the generally not-bad Gemini 3.1 Pro is here. Grok 4.3 also says «hi everyone in this chat».<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/Images-3.1@2x.png\" width=\"1400\" height=\"2931\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/Images-3.2@2x.png\" width=\"1400\" height=\"2038\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/Images-3.3@2x.png\" width=\"1400\" height=\"2646\" alt=\"\" \/>\n<\/div>\n<p><b>The models that couldn’t handle the tools<\/b><br \/>\nThese were Qwen 3.5 39, and in 50% of cases GLM 5.1 with DeepSeek V4 Pro — sometimes they managed, sometimes not. This category includes Anthropic’s Haiku 4.5, and it, by the way, is 1.5x more expensive than GLM 5.1 and 4x more expensive than Minimax 2.7, which performed better than it.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/Images-4.1@2x.png\" width=\"1225\" height=\"628\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/Images-4.2@2x.png\" width=\"755\" height=\"449\" alt=\"\" \/>\n<\/div>\n<p>Many couldn’t grasp the concept of a desktop application, some made an editorial site. That would be fine in general for a recipe website, but not for a personal recipe manager app. I didn’t explicitly formulate this, but it’s like you could have guessed from context.<\/p>\n<p>I think it would be inconvenient to use something like this daily. This gets amplified when you add a skill (will be below), there the model gets a serious case of grief from too much thinking.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__auto__desktop@2x.png\" width=\"1400\" height=\"2101\" alt=\"\" \/>\n<\/div>\n<p>In the weakest models, typical neuro-slop surfaces: frames on frames, gradients or colored blocks, junk everywhere, emoji, bad hierarchy and rhythm. The feeling that the screens were assembled from things that the better models didn’t need.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/Slop-1@2x.png\" width=\"1400\" height=\"670\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/Slop-2@2x.png\" width=\"1400\" height=\"916\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/Slop-3@2x.png\" width=\"1320\" height=\"480\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/Slop-4@2x.png\" width=\"1400\" height=\"633\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/Slop-5@2x.png\" width=\"1400\" height=\"2000\" alt=\"\" \/>\n<\/div>\n<p>It’s noticeable that everyone does better with the mobile version than with the promo. There the layout is generally simpler, fewer elements, strong limitations (narrow column). As a result — the layout is better, more reliable, more solid. As soon as a wide page appears, many can’t do better than just stretching the mobile layout to width 375 → 1400.<\/p>\n<p>Kimi 2.6 somehow handled the mobile, but couldn’t do anything at a similar level for the promo page. The desktop is also bad.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/Mobile-vs-Promo@2x.png\" width=\"907\" height=\"739\" alt=\"\" \/>\n<\/div>\n<h3>2.2 Quality of the layout<\/h3>\n<p>In Paper all models lay things out roughly the same way — normally, but in Figma GPT laid things out really badly. Everything in one frame, essentially — using absolutes. A human designer wouldn’t get praised on review for this. The same GPT in Paper laid things out normally, apparently Paper’s tools are simpler, better and more understandable.<\/p>\n<p>Figma — everything is laid out in one frame, sizes are random, essentially as if on the web everyone laid things out with absolutes — this is GPT 5.5.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/inside-figma-gpt-5.5-light@2x.png\" width=\"1440\" height=\"900\" alt=\"\" \/>\n<\/div>\n<p>The same GPT 5.5 in Paper — in general everything is clean, the DOM structure is normal, some layers are even well named. A multifold difference.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/inside-paper-gpt-5.5-light@2x.png\" width=\"1440\" height=\"900\" alt=\"\" \/>\n<\/div>\n<h3>2.3 Thoughts and surprises during the experiment<\/h3>\n<ol start=\"1\">\n<li>It’s amazing how bad GPT models are at design. As development models they’re generally fine and don’t cause rejection, but for design — horror. Moreover, in the one experiment I did, 5.5 turned out to be even worse than 5.4, even though it’s about twice as expensive. The only SOTA model (state of the art) that loses to many weaker ones, including the Chinese.<\/li>\n<li>Gemini 3.1 performed very badly. Both in Antigravity (their agent, a fork of Windsurf) and in Cursor. And if I can understand Antigravity, it’s very poorly made, but Cursor is a normal agent. Unacceptably bad for a model of this level.<\/li>\n<li>The agent in general doesn’t fundamentally affect the result, it can’t make an opus-result out of a non-opus model. That is, the result in this simple task is first determined by the model, and only then by the agent. At the same time, there’s still a difference. GPT 5.4 in Cursor showed itself even better than in its native Codex.<\/li>\n<li>Cursor + Opus 4.7 turned out to be twice as expensive as the same model in Kilo, Cursor was very actively collecting feedback and constantly screenshotting itself. I also like the result more overall. Such a thing should help especially.<\/li>\n<li>Models have a style. GPT is recognizable across all agents, Opus 4.7 is also recognizable across all of them. By the result I’d assume that Opus 4.7 and Opus 4.6 clearly gravitate to one model, the style is similar. Sonnet has a different style, this is not just a cut-down Opus, these are different models. But Opus gets worse from lowering the reasoning (xhigh → med), but remains the same Opus in style.<\/li>\n<li>Models that match in token prices don’t match in final price. Formally, GPT 5.5 and Opus 4.7 cost the same (GPT — 30 dollars, Opus 4.7 — 25). But that’s the price per million tokens, and they spend differently. I don’t have 5.5 specifically, but there was GPT 5.4 in Cursor — it has 4.5M tokens, and Opus (also in Cursor) — 15M.<\/li>\n<li>The difference between the most expensive and cheapest options is 410x. It’s clear that the difference between them in quality is also a lot, maybe even more than 410x.<\/li>\n<li>Visually Opus’s works are not bad, but they fall apart in the details. Starting from solving the wrong task, the wrong product, ending with layout. From afar it’s beautiful, but as soon as you start looking — you cringe. Probably approximately the same level of cringe that techies have when you bring them vibe-coded code. Almost all variants are easier to throw away than to try to refine.<\/li>\n<li>Another unpleasant result — my Openrouter account was banned from OpenAI, Claude and Gemini models. I can’t yet say why, trying to figure it out.<\/li>\n<\/ol>\n<h2>3 All the results in one place<\/h2>\n<p>Quotas for Claude Code are stated before the recent 2x increase of the five-hour quota. That is, you presumably need to divide by two. I didn’t always note the time or quota, and the quota wasn’t always understandable in general. Where it says tokens — those are both incoming and outgoing tokens, including cache, which is why so many.<\/p>\n<p>The full results table is below.<\/p>\n<h3>3.1 Paper MCP<\/h3>\n<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" class=\"e2-text-table\">\n<tr>\n<td><b>Agent<\/b><\/td>\n<td><b>Model + parameters<\/b><\/td>\n<td><b>Time<\/b><\/td>\n<td><b>Tokens<\/b><\/td>\n<td><b>Cost<\/b><\/td>\n<td><b>Comment<\/b><\/td>\n<\/tr>\n<tr>\n<td>Antigravity<\/td>\n<td>Gemini 3.1 Pro, high<\/td>\n<td>15 min<\/td>\n<td>—<\/td>\n<td>—<\/td>\n<td>Very bad at using tools, monstrous integration into the tool<\/td>\n<\/tr>\n<tr>\n<td>Antigravity<\/td>\n<td>Gemini 3.5 Flash<\/td>\n<td>—<\/td>\n<td>—<\/td>\n<td>—<\/td>\n<td>Noticeably better than Gemini 3.1 Pro (but improving from its level is not hard). The only one who decided to do a dark mode.<\/td>\n<\/tr>\n<tr>\n<td>Claude Code<\/td>\n<td>Opus 4.7, xhigh<\/td>\n<td>10—15 min<\/td>\n<td>—<\/td>\n<td>75%+ of pro · 5h quota<\/td>\n<td>Quick. Expensive. Awesome.<\/td>\n<\/tr>\n<tr>\n<td>Claude Code<\/td>\n<td>Opus 4.8, xhigh<\/td>\n<td>—<\/td>\n<td>—<\/td>\n<td>53% of pro · 5h quota (already doubled)<\/td>\n<td>Burns more; not necessarily better than 4.7. Three screens used half of the already-doubled 5h pro quota.<\/td>\n<\/tr>\n<tr>\n<td>Claude Code<\/td>\n<td>Fable, med<\/td>\n<td>23 min 19 s<\/td>\n<td>—<\/td>\n<td>37% of pro · 5h quota<\/td>\n<td>I thought it would burn more than it did. Overall little distinguishable from Opus, in places even simpler.<\/td>\n<\/tr>\n<tr>\n<td>Claude Code<\/td>\n<td>Opus 4.7, med<\/td>\n<td>5—10 min<\/td>\n<td>—<\/td>\n<td>56% of pro · 5h quota<\/td>\n<td>Keeps the Opus 4.7 style, simplifies the implementation<\/td>\n<\/tr>\n<tr>\n<td>Claude Code<\/td>\n<td>Opus 4.6, Max reasoning<\/td>\n<td>—<\/td>\n<td>—<\/td>\n<td>37% of pro · 5h quota<\/td>\n<td>In general looks like a simplified Opus 4.7, much closer to Sonnet in overall layout<\/td>\n<\/tr>\n<tr>\n<td>Claude Code<\/td>\n<td>Sonnet 4.5, xhigh<\/td>\n<td>8 min<\/td>\n<td>—<\/td>\n<td>25% of pro · 5h quota<\/td>\n<td>Substantially closer to the Chinese models and the simpler ones. Neat, but completely neutral, completely simplified<\/td>\n<\/tr>\n<tr>\n<td>Claude Code<\/td>\n<td>Haiku 4.5<\/td>\n<td>3 min<\/td>\n<td>—<\/td>\n<td>6% of pro · 5h quota<\/td>\n<td>Didn’t even cope with the tools. There’s not a single reason to use it<\/td>\n<\/tr>\n<tr>\n<td>Codex<\/td>\n<td>GPT 5.5, xhigh<\/td>\n<td>15 min<\/td>\n<td>—<\/td>\n<td>26% of plus · 5h quota<\/td>\n<td>Very cheap compared to opus, the result is accordingly. The worst result among SOTA models (state of the art, that is)<\/td>\n<\/tr>\n<tr>\n<td>Codex<\/td>\n<td>GPT 5.4, xhigh<\/td>\n<td>15 min<\/td>\n<td>—<\/td>\n<td>17% of plus · 5h quota<\/td>\n<td>Surprisingly, I like this variant even more than GPT 5.5<\/td>\n<\/tr>\n<tr>\n<td>Codex<\/td>\n<td>GPT 5.6 Sol, xhigh<\/td>\n<td>26 min 30 s<\/td>\n<td>—<\/td>\n<td>4% of weekly quota<\/td>\n<td>—<\/td>\n<\/tr>\n<tr>\n<td>Cursor<\/td>\n<td>Auto<\/td>\n<td>25 min<\/td>\n<td>13.7M<\/td>\n<td>$4.33<\/td>\n<td>A surprisingly good result for Auto mode. I don’t know who was doing it, maybe Opus on low-reasoning was doing the overall task, and the implementation was some GPT-nano. The style choice is like from Opus<\/td>\n<\/tr>\n<tr>\n<td>Cursor<\/td>\n<td>Opus 4.7<\/td>\n<td>35 min<\/td>\n<td>15M<\/td>\n<td>$12.30<\/td>\n<td>Twice as expensive as Opus 4.7 at Kilo. Checks itself a lot, screenshotted literally every stage and every block. The result is slightly better<\/td>\n<\/tr>\n<tr>\n<td>Cursor<\/td>\n<td>GPT 5.4, xhigh<\/td>\n<td>11 min<\/td>\n<td>4.5M<\/td>\n<td>$2.20<\/td>\n<td>The agent is different, the model is recognizable, it’s the same GPT 5.4 that was in Codex. But here it turned out slightly better.<\/td>\n<\/tr>\n<tr>\n<td>Cursor<\/td>\n<td>Gemini 3.1 Pro<\/td>\n<td>8 min<\/td>\n<td>3.4M<\/td>\n<td>$2.01<\/td>\n<td>Result comparable to Gemini in Antigravity. Very bad for a model of this level.<\/td>\n<\/tr>\n<tr>\n<td>Cursor<\/td>\n<td>Grok 4.3<\/td>\n<td>~18 min<\/td>\n<td>3M<\/td>\n<td>$1.65<\/td>\n<td>Mixed impressions from Grok. Mobile is generally fine, on the level of others. Promo is worse than ones to collect. I thought it’d be cheaper, Grok 4.1 was very cool precisely because it cost very little.<\/td>\n<\/tr>\n<tr>\n<td>Cursor<\/td>\n<td>Grok 4.5<\/td>\n<td>3:30<\/td>\n<td>4.2M<\/td>\n<td>$1.23<\/td>\n<td>Very fast, cheap (50% discount for now), overall fine for the money. The promo page is primitive — not Opus, of course.<\/td>\n<\/tr>\n<tr>\n<td>Cursor<\/td>\n<td>GLM 5.1 (z.ai coding plan)<\/td>\n<td>~7 min<\/td>\n<td>—<\/td>\n<td>37% of lite · 5h quota<\/td>\n<td>GLM in Cursor for some reason couldn’t cope with the tools<\/td>\n<\/tr>\n<tr>\n<td>Cursor<\/td>\n<td>Composer 2<\/td>\n<td>5 min<\/td>\n<td>1.3M<\/td>\n<td>$0.33<\/td>\n<td>Very primitive, but also very cheap. Doesn’t match the level Cursor claims for its model, of course. But they honestly said they’re making a model for code first<\/td>\n<\/tr>\n<tr>\n<td>Cursor<\/td>\n<td>Composer 2.5<\/td>\n<td>—<\/td>\n<td>1.6M<\/td>\n<td>$0.21<\/td>\n<td>Comparable in cost to Composer 2, quality has grown, but still very not great<\/td>\n<\/tr>\n<tr>\n<td>Cursor<\/td>\n<td>MiMo V2.5 Pro<\/td>\n<td>—<\/td>\n<td>4.8M<\/td>\n<td>4.8M of 4.1B included tokens<\/td>\n<td>Included Cursor model; very cheap in subscription terms, weak on design<\/td>\n<\/tr>\n<tr>\n<td>Source Craft<\/td>\n<td>Default<\/td>\n<td>7 min<\/td>\n<td>—<\/td>\n<td>65 units of 4500 quota<\/td>\n<td>Seems inexpensive, but no point in using it, neuro-slop neuro-slop<\/td>\n<\/tr>\n<tr>\n<td>Source Craft<\/td>\n<td>Default Thinking<\/td>\n<td>10 min<\/td>\n<td>—<\/td>\n<td>74 units of 4500 quota<\/td>\n<td>It’s like Default and Default Thinking models in Yandex Source Craft are not just different modes of one model, but different models: too different a result, with the reasoning model even worse.<\/td>\n<\/tr>\n<tr>\n<td>Kilo Code<\/td>\n<td>Opus 4.7 (Kilo cloud)<\/td>\n<td>27 min<\/td>\n<td>6.3M<\/td>\n<td>$6.96<\/td>\n<td>Typical Opus 4.7. Clean in places, interesting, from afar it’s super-duper<\/td>\n<\/tr>\n<tr>\n<td>Kilo Code<\/td>\n<td>Hy3 preview (Kilo cloud)<\/td>\n<td>—<\/td>\n<td>1.6M<\/td>\n<td>$0.06<\/td>\n<td>The trendiest open-source model on Openrouter. Very so-so.<\/td>\n<\/tr>\n<tr>\n<td>Kilo Code<\/td>\n<td>Qwen 3.6 Max Preview (Kilo cloud)<\/td>\n<td>17 min<\/td>\n<td>2.2M<\/td>\n<td>$0.42<\/td>\n<td>In general Qwen did decently for me. A bit dim, but pretty solid. Sagged in promo like everyone. 1\/30 of Opus’s price.<\/td>\n<\/tr>\n<tr>\n<td>Kilo Code<\/td>\n<td>Qwen 3.5 397<\/td>\n<td>6 min<\/td>\n<td>—<\/td>\n<td>—<\/td>\n<td>Didn’t cope with the tools<\/td>\n<\/tr>\n<tr>\n<td>Kilo Code<\/td>\n<td>Grok Build 0.1 + Google Skill<\/td>\n<td>—<\/td>\n<td>—<\/td>\n<td>$0.83<\/td>\n<td>Same prompt with Google’s design skill attached; compare with OpenCode Grok Build 0.1 without a skill<\/td>\n<\/tr>\n<tr>\n<td>OpenCode<\/td>\n<td>Opus 4.7, xhigh reasoning (OpenRouter)<\/td>\n<td>—<\/td>\n<td>2.7M<\/td>\n<td>$2.74<\/td>\n<td>Not bad, what would have been in mobile I don’t know because after this screen Openrouter banned me from American SOTA models<\/td>\n<\/tr>\n<tr>\n<td>OpenCode<\/td>\n<td>Kimi 2.6 (OpenRouter)<\/td>\n<td>42 min<\/td>\n<td>3.62M<\/td>\n<td>$1.78<\/td>\n<td>Mobile is better than the rest, the rest is bad. The funny thing is everything was duplicated, but then through screenshots it discovered and erased it itself. Because of this it fussed for a very long time — 40+ minutes.<\/td>\n<\/tr>\n<tr>\n<td>OpenCode<\/td>\n<td>Grok 4.3 (OpenRouter)<\/td>\n<td>—<\/td>\n<td>1.57M<\/td>\n<td>$1.09<\/td>\n<td>Grok was already above, but unlike Cursor, Opencode couldn’t handle the model at all, the result is much worse than Cursor’s<\/td>\n<\/tr>\n<tr>\n<td>OpenCode<\/td>\n<td>Grok Build 0.1 (OpenRouter)<\/td>\n<td>—<\/td>\n<td>3.7M<\/td>\n<td>$1.24<\/td>\n<td>Fast, weak, expensive for this quality<\/td>\n<\/tr>\n<tr>\n<td>OpenCode<\/td>\n<td>DeepSeek V4 Pro (Deepseek Cloud), Max Reasoning<\/td>\n<td>—<\/td>\n<td>4.1M<\/td>\n<td>$0.09<\/td>\n<td>DeepSeek is very cheap, but managed only once. Mobile is watchable, the rest is bad<\/td>\n<\/tr>\n<tr>\n<td>OpenCode<\/td>\n<td>DeepSeek V4 Pro (Deepseek Cloud), Max Reasoning<\/td>\n<td>—<\/td>\n<td>2.5M<\/td>\n<td>$0.05<\/td>\n<td>DeepSeek is very cheap, but managed only once. Mobile is watchable, the rest is bad<\/td>\n<\/tr>\n<tr>\n<td>OpenCode<\/td>\n<td>GLM 5.1 (z.ai coding plan)<\/td>\n<td>—<\/td>\n<td>—<\/td>\n<td>—<\/td>\n<td>Unlike Cursor, Opencode managed to get something out of GLM, turned out generally OK for its price. It costs less than Haiku, which couldn’t do literally anything<\/td>\n<\/tr>\n<tr>\n<td>OpenCode<\/td>\n<td>Qwen 3.5 397<\/td>\n<td>—<\/td>\n<td>—<\/td>\n<td>—<\/td>\n<td>Couldn’t do anything<\/td>\n<\/tr>\n<tr>\n<td>OpenCode<\/td>\n<td>MiniMax 2.7 (OpenRouter)<\/td>\n<td>3 min<\/td>\n<td>242K<\/td>\n<td>$0.03<\/td>\n<td>Incredibly fast, incredibly cheap, the quality is accordingly<\/td>\n<\/tr>\n<tr>\n<td>OpenCode<\/td>\n<td>MiniMax M3 (OpenRouter)<\/td>\n<td>—<\/td>\n<td>—<\/td>\n<td>$0.28<\/td>\n<td>M2.7 → M3 — a huge step forward, one of the most significant. Went from a flop into the top 3. Very similar in style to Opus<\/td>\n<\/tr>\n<tr>\n<td>OpenCode<\/td>\n<td>Qwen 3.7<\/td>\n<td>—<\/td>\n<td>3.13M<\/td>\n<td>$7.95<\/td>\n<td>Expensive for its result, no improvement over 3.6 Max. Very bad at using tools (possibly an Opencode issue)<\/td>\n<\/tr>\n<\/table>\n<h3>3.2 Figma MCP<\/h3>\n<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" class=\"e2-text-table\">\n<tr>\n<td><b>Agent<\/b><\/td>\n<td><b>Model + parameters<\/b><\/td>\n<td><b>Time<\/b><\/td>\n<td><b>Tokens<\/b><\/td>\n<td><b>Cost<\/b><\/td>\n<td><b>Comment<\/b><\/td>\n<\/tr>\n<tr>\n<td>Claude Code<\/td>\n<td>Opus 4.7, xhigh<\/td>\n<td>~19 min<\/td>\n<td>—<\/td>\n<td>121% of pro · 5h quota<\/td>\n<td>Opus in its style, especially from afar, but ate more than a full 5-hour quota<\/td>\n<\/tr>\n<tr>\n<td>Codex<\/td>\n<td>GPT 5.5, xhigh<\/td>\n<td>20 min<\/td>\n<td>—<\/td>\n<td>16% of plus · 5h quota<\/td>\n<td>In Figma it managed slightly better than in Paper. Lays things out monstrously simply<\/td>\n<\/tr>\n<tr>\n<td>Cursor<\/td>\n<td>GLM 5.1 (z.ai coding plan)<\/td>\n<td>25 min<\/td>\n<td>—<\/td>\n<td>13% of lite · 5h quota<\/td>\n<td>In general worse than in Paper. The desktop layout on the bottom is me dragging a layer to where it needs to go, GLM didn’t master a correct DOM<\/td>\n<\/tr>\n<tr>\n<td>Cursor<\/td>\n<td>Composer 2<\/td>\n<td>6 min<\/td>\n<td>1.4M<\/td>\n<td>$0.43<\/td>\n<td>Catastrophically bad, worse than in Paper<\/td>\n<\/tr>\n<\/table>\n<h3>Full list of all the images<\/h3>\n<h4>Paper MCP<\/h4>\n<h3>Antigravity + Gemini 3.1 Pro, high<\/h3>\n<p>Very bad at using tools, monstrous integration into the tool.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"1200\" data-ratio=\"2.3668639053254\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__antigravity__gemini-3.1-pro__all-2400@2x.png\" width=\"1200\" height=\"507\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__antigravity__gemini-3.1-pro__desktop-2400@2x.png\" width=\"1200\" height=\"771\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__antigravity__gemini-3.1-pro__mobile-2400@2x.png\" width=\"375\" height=\"1009\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__antigravity__gemini-3.1-pro__promo-2400@2x.png\" width=\"1200\" height=\"1186\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Full images: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__antigravity__gemini-3.1-pro__all@2x.png\">All together<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__antigravity__gemini-3.1-pro__desktop@2x.png\">Desktop<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__antigravity__gemini-3.1-pro__mobile@2x.png\">Mobile <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__antigravity__gemini-3.1-pro__promo@2x.png\">Promo<\/a><\/div>\n<\/div>\n<h3>Antigravity + Gemini 3.5 Flash<\/h3>\n<p>Noticeably better than Gemini 3.1 Pro (but improving from its level is not hard). The only one who decided to do a dark mode.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"1200\" data-ratio=\"1.6371077762619\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__antigravity__gemini-3.5-flash__all-2400@2x.png\" width=\"1200\" height=\"733\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__antigravity__gemini-3.5-flash__desktop-2400@2x.png\" width=\"1200\" height=\"814\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__antigravity__gemini-3.5-flash__mobile-2400@2x.png\" width=\"333\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__antigravity__gemini-3.5-flash__promo-2400@2x.png\" width=\"840\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Full images: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__antigravity__gemini-3.5-flash__all@2x.png\">All together<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__antigravity__gemini-3.5-flash__desktop@2x.png\">Desktop<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__antigravity__gemini-3.5-flash__mobile@2x.png\">Mobile <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__antigravity__gemini-3.5-flash__promo@2x.png\">Promo<\/a><\/div>\n<\/div>\n<h3>Claude Code + Opus 4.7, xhigh<\/h3>\n<p>Quick. Expensive. Awesome.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"658\" data-ratio=\"0.54833333333333\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.7__all-2400@2x.png\" width=\"658\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.7__desktop-2400@2x.png\" width=\"1200\" height=\"923\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.7__mobile-2400@2x.png\" width=\"252\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.7__promo-2400@2x.png\" width=\"281\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Full images: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.7__all@2x.png\">All together<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.7__desktop@2x.png\">Desktop<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.7__mobile@2x.png\">Mobile <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.7__promo@2x.png\">Promo<\/a><\/div>\n<\/div>\n<h3>Claude Code + Opus 4.8, xhigh<\/h3>\n<p>Still Opus-level; half the already-doubled 5h pro quota on a full three-screen run.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"734\" data-ratio=\"0.61166666666667\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.8__all-2400@2x.png\" width=\"734\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.8__desktop-2400@2x.png\" width=\"1200\" height=\"908\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.8__mobile-2400@2x.png\" width=\"266\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.8__promo-2400@2x.png\" width=\"314\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Full images: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.8__all@2x.png\">All together<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.8__desktop@2x.png\">Desktop<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.8__mobile@2x.png\">Mobile <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.8__promo@2x.png\">Promo<\/a><\/div>\n<\/div>\n<h3>Claude Code + Fable, med<\/h3>\n<p>I thought it would burn more than it did. Overall little distinguishable from Opus, in places even simpler.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"622\" data-ratio=\"0.51833333333333\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__fable-med__all-2400@2x.png\" width=\"622\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__fable-med__desktop-2400@2x.png\" width=\"1200\" height=\"771\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__fable-med__mobile-2400@2x.png\" width=\"264\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__fable-med__promo-2400@2x.png\" width=\"266\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Full images: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__fable-med__all@2x.png\">All together<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__fable-med__desktop@2x.png\">Desktop<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__fable-med__mobile@2x.png\">Mobile <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__fable-med__promo@2x.png\">Promo<\/a><\/div>\n<\/div>\n<h3>Claude Code + Opus 4.7, med<\/h3>\n<p>Keeps the Opus 4.7 style, simplifies the implementation.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"861\" data-ratio=\"0.7175\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.7-med__all-2400@2x.png\" width=\"861\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.7-med__desktop-2400@2x.png\" width=\"1200\" height=\"754\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.7-med__mobile-2400@2x.png\" width=\"228\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.7-med__promo-2400@2x.png\" width=\"368\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Full images: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.7-med__all@2x.png\">All together<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.7-med__desktop@2x.png\">Desktop<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.7-med__mobile@2x.png\">Mobile <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.7-med__promo@2x.png\">Promo<\/a><\/div>\n<\/div>\n<h3>Claude Code + Opus 4.6, max<\/h3>\n<p>In general looks like a simplified Opus 4.7, much closer to Sonnet in overall layout.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"998\" data-ratio=\"0.83166666666667\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.6__all-2400@2x.png\" width=\"998\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.6__desktop-2400@2x.png\" width=\"1200\" height=\"898\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.6__mobile-2400@2x.png\" width=\"242\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.6__promo-2400@2x.png\" width=\"427\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Full images: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.6__all@2x.png\">All together<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.6__desktop@2x.png\">Desktop<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.6__mobile@2x.png\">Mobile <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.6__promo@2x.png\">Promo<\/a><\/div>\n<\/div>\n<h3>Claude Code + Sonnet 4.5, xhigh<\/h3>\n<p>Substantially closer to the Chinese models and the simpler ones. Neat, but completely neutral, completely simplified.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"1200\" data-ratio=\"1.6393442622951\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__sonnet-4.6__all-2400@2x.png\" width=\"1200\" height=\"732\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__sonnet-4.6__desktop-2400@2x.png\" width=\"1200\" height=\"771\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__sonnet-4.6__mobile-2400@2x.png\" width=\"269\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__sonnet-4.6__promo-2400@2x.png\" width=\"840\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Full images: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__sonnet-4.6__all@2x.png\">All together<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__sonnet-4.6__desktop@2x.png\">Desktop<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__sonnet-4.6__mobile@2x.png\">Mobile <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__sonnet-4.6__promo@2x.png\">Promo<\/a><\/div>\n<\/div>\n<h3>Claude Code + Haiku 4.5<\/h3>\n<p>Didn’t even cope with the tools. There’s not a single reason to use it.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"1200\" data-ratio=\"1.8045112781955\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__haiku__all-2400@2x.png\" width=\"1200\" height=\"665\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__haiku__desktop-2400@2x.png\" width=\"1200\" height=\"771\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__haiku__mobile-2400@2x.png\" width=\"375\" height=\"812\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__haiku__promo-2400@2x.png\" width=\"925\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Full images: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__haiku__all@2x.png\">All together<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__haiku__desktop@2x.png\">Desktop<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__haiku__mobile@2x.png\">Mobile <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__haiku__promo@2x.png\">Promo<\/a><\/div>\n<\/div>\n<h3>Codex + GPT 5.5, xhigh<\/h3>\n<p>Very cheap compared to opus, the result is accordingly. The worst result among SOTA models (state of the art, that is).<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"1200\" data-ratio=\"2.4\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.5__all-2400@2x.png\" width=\"1200\" height=\"500\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.5__desktop-2400@2x.png\" width=\"1200\" height=\"840\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.5__mobile-2400@2x.png\" width=\"351\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.5__promo-2400@2x.png\" width=\"1200\" height=\"1171\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Full images: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.5__all@2x.png\">All together<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.5__desktop@2x.png\">Desktop<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.5__mobile@2x.png\">Mobile <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.5__promo@2x.png\">Promo<\/a><\/div>\n<\/div>\n<h3>Codex + GPT 5.4, xhigh<\/h3>\n<p>Surprisingly, I like this variant even more than GPT 5.5.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"1200\" data-ratio=\"1.5345268542199\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.4__all-2400@2x.png\" width=\"1200\" height=\"782\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.4__desktop-2400@2x.png\" width=\"1185\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.4__mobile-2400@2x.png\" width=\"289\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.4__promo-2400@2x.png\" width=\"787\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Full images: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.4__all@2x.png\">All together<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.4__desktop@2x.png\">Desktop<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.4__mobile@2x.png\">Mobile <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.4__promo@2x.png\">Promo<\/a><\/div>\n<\/div>\n<h3>Codex + GPT 5.6 Sol, xhigh<\/h3>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"935\" data-ratio=\"0.77916666666667\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.6-sol-xhigh__all-2400@2x.png\" width=\"935\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.6-sol-xhigh__desktop-2400@2x.png\" width=\"1200\" height=\"857\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.6-sol-xhigh__mobile-2400@2x.png\" width=\"228\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.6-sol-xhigh__promo-2400@2x.png\" width=\"400\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Full images: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.6-sol-xhigh__all@2x.png\">All together<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.6-sol-xhigh__desktop@2x.png\">Desktop<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.6-sol-xhigh__mobile@2x.png\">Mobile <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.6-sol-xhigh__promo@2x.png\">Promo<\/a><\/div>\n<\/div>\n<h3>Cursor + Auto<\/h3>\n<p>A surprisingly good result for Auto mode. I don’t know who was doing it, maybe Opus on low-reasoning was doing the overall task, and the implementation was some GPT-nano. The style choice is like from Opus.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"581\" data-ratio=\"0.48416666666667\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__auto__all-2400@2x.png\" width=\"581\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__auto__desktop-2400@2x.png\" width=\"799\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__auto__mobile-2400@2x.png\" width=\"284\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__auto__promo-2400@2x.png\" width=\"248\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Full images: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__auto__all@2x.png\">All together<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__auto__desktop@2x.png\">Desktop<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__auto__mobile@2x.png\">Mobile <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__auto__promo@2x.png\">Promo<\/a><\/div>\n<\/div>\n<h3>Cursor + Opus 4.7<\/h3>\n<p>Twice as expensive as Opus 4.7 at Kilo. Checks itself a lot, screenshotted literally every stage and every block. The result is slightly better.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"566\" data-ratio=\"0.47166666666667\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__opus-4.7__all-2400@2x.png\" width=\"566\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__opus-4.7__desktop-2400@2x.png\" width=\"778\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__opus-4.7__mobile-2400@2x.png\" width=\"193\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__opus-4.7__promo-2400@2x.png\" width=\"242\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Full images: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__opus-4.7__all@2x.png\">All together<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__opus-4.7__desktop@2x.png\">Desktop<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__opus-4.7__mobile@2x.png\">Mobile <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__opus-4.7__promo@2x.png\">Promo<\/a><\/div>\n<\/div>\n<h3>Cursor + GPT 5.4, xhigh<\/h3>\n<p>The agent is different, the model is recognizable, it’s the same GPT 5.4 that was in Codex. But here it turned out slightly better.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"1200\" data-ratio=\"1.5075376884422\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__gpt-5.4__all-2400@2x.png\" width=\"1200\" height=\"796\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__gpt-5.4__desktop-2400@2x.png\" width=\"1200\" height=\"1045\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__gpt-5.4__mobile-2400@2x.png\" width=\"347\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__gpt-5.4__promo-2400@2x.png\" width=\"773\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Full images: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__gpt-5.4__all@2x.png\">All together<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__gpt-5.4__desktop@2x.png\">Desktop<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__gpt-5.4__mobile@2x.png\">Mobile <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__gpt-5.4__promo@2x.png\">Promo<\/a><\/div>\n<\/div>\n<h3>Cursor + Gemini 3.1 Pro<\/h3>\n<p>Result comparable to Gemini in Antigravity. Very bad for a model of this level.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"1200\" data-ratio=\"1.7416545718433\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__gemini-3.1-pro__all-2400@2x.png\" width=\"1200\" height=\"689\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__gemini-3.1-pro__desktop-2400@2x.png\" width=\"1200\" height=\"771\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__gemini-3.1-pro__mobile-2400@2x.png\" width=\"239\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__gemini-3.1-pro__promo-2400@2x.png\" width=\"903\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Full images: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__gemini-3.1-pro__all@2x.png\">All together<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__gemini-3.1-pro__desktop@2x.png\">Desktop<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__gemini-3.1-pro__mobile@2x.png\">Mobile <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__gemini-3.1-pro__promo@2x.png\">Promo<\/a><\/div>\n<\/div>\n<h3>Cursor + Grok 4.3<\/h3>\n<p>Mixed impressions from Grok. Mobile is generally fine, on the level of others. Promo is worse than ones to collect. I thought it’d be cheaper, Grok 4.1 was very cool precisely because it cost very little.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"1200\" data-ratio=\"1.4888337468983\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__grok-4.3__all-2400@2x.png\" width=\"1200\" height=\"806\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__grok-4.3__desktop-2400@2x.png\" width=\"1200\" height=\"1028\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__grok-4.3__mobile-2400@2x.png\" width=\"281\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__grok-4.3__promo-2400@2x.png\" width=\"763\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Full images: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__grok-4.3__all@2x.png\">All together<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__grok-4.3__desktop@2x.png\">Desktop<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__grok-4.3__mobile@2x.png\">Mobile <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__grok-4.3__promo@2x.png\">Promo<\/a><\/div>\n<\/div>\n<h3>Cursor + Grok 4.5<\/h3>\n<p>Very fast, cheap (50% discount for now), overall fine for the money. The promo page is primitive — not Opus, of course.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"1048\" data-ratio=\"0.87333333333333\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__grok-4.5__all-2400@2x.png\" width=\"1048\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__grok-4.5__desktop-2400@2x.png\" width=\"1200\" height=\"771\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__grok-4.5__mobile-2400@2x.png\" width=\"295\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__grok-4.5__promo-2400@2x.png\" width=\"448\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Full images: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__grok-4.5__all@2x.png\">All together<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__grok-4.5__desktop@2x.png\">Desktop<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__grok-4.5__mobile@2x.png\">Mobile <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__grok-4.5__promo@2x.png\">Promo<\/a><\/div>\n<\/div>\n<h3>Cursor + GLM 5.1 (z.ai coding plan)<\/h3>\n<p>GLM in Cursor for some reason couldn’t cope with the tools.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"1200\" data-ratio=\"1.4705882352941\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__glm-5.1__all-2400@2x.png\" width=\"1200\" height=\"816\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__glm-5.1__desktop-2400@2x.png\" width=\"1200\" height=\"664\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__glm-5.1__mobile-2400@2x.png\" width=\"152\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__glm-5.1__promo-2400@2x.png\" width=\"975\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Full images: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__glm-5.1__all@2x.png\">All together<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__glm-5.1__desktop@2x.png\">Desktop<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__glm-5.1__mobile@2x.png\">Mobile <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__glm-5.1__promo@2x.png\">Promo<\/a><\/div>\n<\/div>\n<h3>Cursor + Composer 2<\/h3>\n<p>Very primitive, but also very cheap. Doesn’t match the level Cursor claims for its model, of course. But they honestly said they’re making a model for code first.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"1200\" data-ratio=\"2.247191011236\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__composer-2__all-2400@2x.png\" width=\"1200\" height=\"534\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__composer-2__desktop-2400@2x.png\" width=\"1200\" height=\"429\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__composer-2__mobile-2400@2x.png\" width=\"375\" height=\"1158\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__composer-2__promo-2400@2x.png\" width=\"1153\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Full images: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__composer-2__all@2x.png\">All together<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__composer-2__desktop@2x.png\">Desktop<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__composer-2__mobile@2x.png\">Mobile <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__composer-2__promo@2x.png\">Promo<\/a><\/div>\n<\/div>\n<h3>Cursor + Composer 2.5<\/h3>\n<p>Comparable in cost to Composer 2, quality has grown, but still very not great.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"1200\" data-ratio=\"2.0066889632107\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__composer-2.5__all-2400@2x.png\" width=\"1200\" height=\"598\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__composer-2.5__desktop-2400@2x.png\" width=\"1000\" height=\"698\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__composer-2.5__mobile-2400@2x.png\" width=\"309\" height=\"1000\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__composer-2.5__promo-2400@2x.png\" width=\"595\" height=\"1000\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Full images: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__composer-2.5__all@2x.png\">All together<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__composer-2.5__desktop@2x.png\">Desktop<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__composer-2.5__mobile@2x.png\">Mobile <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__composer-2.5__promo@2x.png\">Promo<\/a><\/div>\n<\/div>\n<h3>Cursor + MiMo V2.5 Pro<\/h3>\n<p>Included Cursor model; very cheap in subscription terms, weak on design.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"1200\" data-ratio=\"1.2145748987854\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__mimo-v2.5-pro__all-2400@2x.png\" width=\"1200\" height=\"988\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__mimo-v2.5-pro__desktop-2400@2x.png\" width=\"1200\" height=\"755\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__mimo-v2.5-pro__mobile-2400@2x.png\" width=\"302\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__mimo-v2.5-pro__promo-2400@2x.png\" width=\"623\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Full images: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__mimo-v2.5-pro__all@2x.png\">All together<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__mimo-v2.5-pro__desktop@2x.png\">Desktop<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__mimo-v2.5-pro__mobile@2x.png\">Mobile <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__mimo-v2.5-pro__promo@2x.png\">Promo<\/a><\/div>\n<\/div>\n<h3>Source Craft + Default<\/h3>\n<p>Seems inexpensive, but no point in using it, neuro-slop neuro-slop.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"1200\" data-ratio=\"1.1173184357542\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/sourcecraft__default__w-0__all-2400@2x.png\" width=\"1200\" height=\"1074\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/sourcecraft__default__w-0__desktop-2400@2x.png\" width=\"926\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/sourcecraft__default__w-0__mobile-2400@2x.png\" width=\"326\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/sourcecraft__default__w-0__promo-2400@2x.png\" width=\"573\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Full images: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/sourcecraft__default__w-0__all@2x.png\">All together<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/sourcecraft__default__w-0__desktop@2x.png\">Desktop<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/sourcecraft__default__w-0__mobile@2x.png\">Mobile <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/sourcecraft__default__w-0__promo@2x.png\">Promo<\/a><\/div>\n<\/div>\n<h3>Source Craft + Default Thinking<\/h3>\n<p>It’s like Default and Default Thinking models in Yandex Source Craft are not just different modes of one model, but different models: too different a result, with the reasoning model even worse.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"1200\" data-ratio=\"2.7272727272727\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/sourcecraft__default-thinking__all-2400@2x.png\" width=\"1200\" height=\"440\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/sourcecraft__default-thinking__desktop-2400@2x.png\" width=\"1200\" height=\"771\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/sourcecraft__default-thinking__mobile-2400@2x.png\" width=\"375\" height=\"800\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/sourcecraft__default-thinking__promo-2400@2x.png\" width=\"1200\" height=\"1028\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Full images: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/sourcecraft__default-thinking__all@2x.png\">All together<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/sourcecraft__default-thinking__desktop@2x.png\">Desktop<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/sourcecraft__default-thinking__mobile@2x.png\">Mobile <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/sourcecraft__default-thinking__promo@2x.png\">Promo<\/a><\/div>\n<\/div>\n<h3>Kilo Code + Opus 4.7 (Kilo cloud)<\/h3>\n<p>Typical Opus 4.7. Clean in places, interesting, from afar it’s super-duper.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"756\" data-ratio=\"0.63\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__opus-4.7__all-2400@2x.png\" width=\"756\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__opus-4.7__desktop-2400@2x.png\" width=\"1200\" height=\"644\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__opus-4.7__mobile-2400@2x.png\" width=\"276\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__opus-4.7__promo-2400@2x.png\" width=\"323\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Full images: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__opus-4.7__all@2x.png\">All together<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__opus-4.7__desktop@2x.png\">Desktop<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__opus-4.7__mobile@2x.png\">Mobile <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__opus-4.7__promo@2x.png\">Promo<\/a><\/div>\n<\/div>\n<h3>Kilo Code + Hy3 preview (Kilo cloud)<\/h3>\n<p>The trendiest open-source model on Openrouter. Very so-so.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"1200\" data-ratio=\"2.1466905187835\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/kilo__hy3-preview__all-2400@2x.png\" width=\"1200\" height=\"559\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/kilo__hy3-preview__desktop-2400@2x.png\" width=\"1200\" height=\"619\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/kilo__hy3-preview__mobile-2400@2x.png\" width=\"375\" height=\"996\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/kilo__hy3-preview__promo-2400@2x.png\" width=\"1100\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Full images: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/kilo__hy3-preview__all@2x.png\">All together<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/kilo__hy3-preview__desktop@2x.png\">Desktop<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/kilo__hy3-preview__mobile@2x.png\">Mobile <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/kilo__hy3-preview__promo@2x.png\">Promo<\/a><\/div>\n<\/div>\n<h3>Kilo Code + Qwen 3.6 Max Preview (Kilo cloud)<\/h3>\n<p>In general Qwen did decently for me. A bit dim, but pretty solid. Sagged in promo like everyone. 1\/30 of Opus’s price.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"1200\" data-ratio=\"1.1549566891242\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__qwen-3.6__all-2400@2x.png\" width=\"1200\" height=\"1039\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__qwen-3.6__desktop-2400@2x.png\" width=\"1200\" height=\"1156\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__qwen-3.6__mobile-2400@2x.png\" width=\"321\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__qwen-3.6__promo-2400@2x.png\" width=\"592\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Full images: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__qwen-3.6__all@2x.png\">All together<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__qwen-3.6__desktop@2x.png\">Desktop<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__qwen-3.6__mobile@2x.png\">Mobile <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__qwen-3.6__promo@2x.png\">Promo<\/a><\/div>\n<\/div>\n<h3>Kilo Code + Qwen 3.5 397<\/h3>\n<p>Didn’t cope with the tools.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"922\" data-ratio=\"0.76833333333333\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__qwen35-397b-qwen-397__all-2400@2x.png\" width=\"922\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__qwen35-397b-qwen-397__desktop-2400@2x.png\" width=\"867\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__qwen35-397b-qwen-397__mobile-2400@2x.png\" width=\"262\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__qwen35-397b-qwen-397__promo-2400@2x.png\" width=\"394\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Full images: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__qwen35-397b-qwen-397__all@2x.png\">All together<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__qwen35-397b-qwen-397__desktop@2x.png\">Desktop<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__qwen35-397b-qwen-397__mobile@2x.png\">Mobile <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__qwen35-397b-qwen-397__promo@2x.png\">Promo<\/a><\/div>\n<\/div>\n<h3>Kilo Code + Grok Build 0.1 + Google Skill<\/h3>\n<p>Same prompt with Google’s design skill attached; compare with OpenCode Grok Build 0.1 without a skill.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"1200\" data-ratio=\"2.2813688212928\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__grok-build-0.1-google-skill__all-2400@2x.png\" width=\"1200\" height=\"526\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__grok-build-0.1-google-skill__desktop-2400@2x.png\" width=\"1200\" height=\"814\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__grok-build-0.1-google-skill__mobile-2400@2x.png\" width=\"394\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__grok-build-0.1-google-skill__promo-2400@2x.png\" width=\"1170\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Full images: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__grok-build-0.1-google-skill__all@2x.png\">All together<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__grok-build-0.1-google-skill__desktop@2x.png\">Desktop<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__grok-build-0.1-google-skill__mobile@2x.png\">Mobile <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__grok-build-0.1-google-skill__promo@2x.png\">Promo<\/a><\/div>\n<\/div>\n<h3>OpenCode + Opus 4.7, xhigh reasoning (OpenRouter)<\/h3>\n<p>Not bad, what would have been in mobile I don’t know, because after this screen Openrouter banned me from American SOTA models.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__opus-4.7__desktop-2400@2x.png\" width=\"1200\" height=\"1097\" alt=\"\" \/>\n<div class=\"e2-text-caption\">Full images: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__opus-4.7__desktop@2x.png\">Desktop<\/a><\/div>\n<\/div>\n<h3>OpenCode + Kimi 2.6 (OpenRouter)<\/h3>\n<p>Mobile is better than the rest, the rest is bad. The funny thing is everything was duplicated, but then through screenshots it discovered and erased it itself. Because of this it fussed for a very long time — 40+ minutes.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"1200\" data-ratio=\"1.3651877133106\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__kimi-2.6__all-2400@2x.png\" width=\"1200\" height=\"879\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__kimi-2.6__desktop-2400@2x.png\" width=\"1200\" height=\"1143\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__kimi-2.6__mobile-2400@2x.png\" width=\"304\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__kimi-2.6__promo-2400@2x.png\" width=\"700\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Full images: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__kimi-2.6__all@2x.png\">All together<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__kimi-2.6__desktop@2x.png\">Desktop<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__kimi-2.6__mobile@2x.png\">Mobile <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__kimi-2.6__promo@2x.png\">Promo<\/a><\/div>\n<\/div>\n<h3>OpenCode + Grok 4.3 (OpenRouter)<\/h3>\n<p>Grok was already above, but unlike Cursor, Opencode couldn’t handle the model at all, the result is much worse than Cursor’s.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"1200\" data-ratio=\"1.6371077762619\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__grok-4.3__all-2400@2x.png\" width=\"1200\" height=\"733\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__grok-4.3__desktop-2400@2x.png\" width=\"1200\" height=\"823\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__grok-4.3__mobile-2400@2x.png\" width=\"331\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__grok-4.3__promo-2400@2x.png\" width=\"840\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Full images: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__grok-4.3__all@2x.png\">All together<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__grok-4.3__desktop@2x.png\">Desktop<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__grok-4.3__mobile@2x.png\">Mobile <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__grok-4.3__promo@2x.png\">Promo<\/a><\/div>\n<\/div>\n<h3>OpenCode + Grok Build 0.1 (OpenRouter)<\/h3>\n<p>Fast, weak, expensive for this quality.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"1200\" data-ratio=\"2.8571428571429\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__grok-build-0-1__all-2400@2x.png\" width=\"1200\" height=\"420\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__grok-build-0-1__desktop-2400@2x.png\" width=\"1200\" height=\"805\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__grok-build-0-1__mobile-2400@2x.png\" width=\"450\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__grok-build-0-1__promo-2400@2x.png\" width=\"1200\" height=\"982\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Full images: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__grok-build-0-1__all@2x.png\">All together<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__grok-build-0-1__desktop@2x.png\">Desktop<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__grok-build-0-1__mobile@2x.png\">Mobile <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__grok-build-0-1__promo@2x.png\">Promo<\/a><\/div>\n<\/div>\n<h3>OpenCode + DeepSeek V4 Pro (Deepseek Cloud), Max Reasoning<\/h3>\n<p>DeepSeek is very cheap, but managed only once. Mobile is watchable, the rest is bad.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"1200\" data-ratio=\"1.2383900928793\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__deepseek-v4-pro__all-2400@2x.png\" width=\"1200\" height=\"969\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__deepseek-v4-pro__desktop-2400@2x.png\" width=\"1200\" height=\"1130\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__deepseek-v4-pro__mobile-2400@2x.png\" width=\"289\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__deepseek-v4-pro__promo-2400@2x.png\" width=\"635\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Full images: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__deepseek-v4-pro__all@2x.png\">All together<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__deepseek-v4-pro__desktop@2x.png\">Desktop<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__deepseek-v4-pro__mobile@2x.png\">Mobile <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__deepseek-v4-pro__promo@2x.png\">Promo<\/a><\/div>\n<\/div>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"1200\" data-ratio=\"1.328903654485\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__deepseek-v4-pro-2__all-2400@2x.png\" width=\"1200\" height=\"903\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__deepseek-v4-pro-2__desktop-2400@2x.png\" width=\"1200\" height=\"771\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__deepseek-v4-pro-2__mobile-2400@2x.png\" width=\"190\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__deepseek-v4-pro-2__promo-2400@2x.png\" width=\"840\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Full images: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__deepseek-v4-pro-2__all@2x.png\">All together<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__deepseek-v4-pro-2__desktop@2x.png\">Desktop<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__deepseek-v4-pro-2__mobile@2x.png\">Mobile <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__deepseek-v4-pro-2__promo@2x.png\">Promo<\/a><\/div>\n<\/div>\n<h3>OpenCode + GLM 5.1 (z.ai coding plan)<\/h3>\n<p>Unlike Cursor, Opencode managed to get something out of GLM, turned out generally OK for its price. It costs less than Haiku, which couldn’t do literally anything.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"1200\" data-ratio=\"1.1363636363636\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__glm-5.1__all-2400@2x.png\" width=\"1200\" height=\"1056\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__glm-5.1__desktop-2400@2x.png\" width=\"1200\" height=\"772\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__glm-5.1__mobile-2400@2x.png\" width=\"332\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__glm-5.1__promo-2400@2x.png\" width=\"583\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Full images: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__glm-5.1__all@2x.png\">All together<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__glm-5.1__desktop@2x.png\">Desktop<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__glm-5.1__mobile@2x.png\">Mobile <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__glm-5.1__promo@2x.png\">Promo<\/a><\/div>\n<\/div>\n<h3>OpenCode + Qwen 3.5 397<\/h3>\n<p>Couldn’t do anything.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"1200\" data-ratio=\"1.3651877133106\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__qwen35-397b-qwen-397__all-2400@2x.png\" width=\"1200\" height=\"879\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__qwen35-397b-qwen-397__desktop-2400@2x.png\" width=\"1200\" height=\"771\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__qwen35-397b-qwen-397__mobile-2400@2x.png\" width=\"375\" height=\"812\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__qwen35-397b-qwen-397__promo-2400@2x.png\" width=\"700\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Full images: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__qwen35-397b-qwen-397__all@2x.png\">All together<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__qwen35-397b-qwen-397__desktop@2x.png\">Desktop<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__qwen35-397b-qwen-397__mobile@2x.png\">Mobile <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__qwen35-397b-qwen-397__promo@2x.png\">Promo<\/a><\/div>\n<\/div>\n<h3>OpenCode + MiniMax 2.7 (OpenRouter)<\/h3>\n<p>Incredibly fast, incredibly cheap, the quality is accordingly.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"1200\" data-ratio=\"1.8209408194234\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__minimax-2.7__all-2400@2x.png\" width=\"1200\" height=\"659\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__minimax-2.7__desktop-2400@2x.png\" width=\"1200\" height=\"1069\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__minimax-2.7__mobile-2400@2x.png\" width=\"332\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__minimax-2.7__promo-2400@2x.png\" width=\"933\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Full images: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__minimax-2.7__all@2x.png\">All together<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__minimax-2.7__desktop@2x.png\">Desktop<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__minimax-2.7__mobile@2x.png\">Mobile <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__minimax-2.7__promo@2x.png\">Promo<\/a><\/div>\n<\/div>\n<h3>OpenCode + MiniMax M3 (OpenRouter)<\/h3>\n<p>M2.7 → M3 — a huge step forward, one of the most significant. Went from a flop into the top 3. Very similar in style to Opus.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"799\" data-ratio=\"0.66583333333333\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__minimax-m3__all-2400@2x.png\" width=\"799\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__minimax-m3__desktop-2400@2x.png\" width=\"1155\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__minimax-m3__mobile-2400@2x.png\" width=\"252\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__minimax-m3__promo-2400@2x.png\" width=\"341\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Full images: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__minimax-m3__all@2x.png\">All together<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__minimax-m3__desktop@2x.png\">Desktop<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__minimax-m3__mobile@2x.png\">Mobile <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__minimax-m3__promo@2x.png\">Promo<\/a><\/div>\n<\/div>\n<h3>OpenCode + Qwen 3.7<\/h3>\n<p>Expensive for its result, no improvement over 3.6 Max. Very bad at using tools (possibly an Opencode issue).<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"1759\" data-ratio=\"1.4658333333333\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__qwen-3.7__all-2400@2x.png\" width=\"1759\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__qwen-3.7__desktop-2400@2x.png\" width=\"1200\" height=\"771\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__qwen-3.7__mobile-2400@2x.png\" width=\"452\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__qwen-3.7__promo-2400@2x.png\" width=\"752\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Full images: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__qwen-3.7__all@2x.png\">All together<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__qwen-3.7__desktop@2x.png\">Desktop<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__qwen-3.7__mobile@2x.png\">Mobile <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__qwen-3.7__promo@2x.png\">Promo<\/a><\/div>\n<\/div>\n<h3>Figma: Claude Code + Opus 4.7, xhigh<\/h3>\n<p>Opus in its style, especially from afar, but ate more than a full 5-hour quota.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"831\" data-ratio=\"0.6925\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/figma__claude-code__opus-4.7__all-2400@2x.png\" width=\"831\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/figma__claude-code__opus-4.7__desktop-2400@2x.png\" width=\"1001\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/figma__claude-code__opus-4.7__mobile-2400@2x.png\" width=\"266\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/figma__claude-code__opus-4.7__promo-2400@2x.png\" width=\"355\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Full images: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/figma__claude-code__opus-4.7__all@2x.png\">All together<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/figma__claude-code__opus-4.7__desktop@2x.png\">Desktop<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/figma__claude-code__opus-4.7__mobile@2x.png\">Mobile <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/figma__claude-code__opus-4.7__promo@2x.png\">Promo<\/a><\/div>\n<\/div>\n<h3>Figma: Codex + GPT 5.5, xhigh<\/h3>\n<p>In Figma it managed slightly better than in Paper. Lays things out monstrously simply.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"1200\" data-ratio=\"1.4616321559074\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/figma__codex__gpt-5.5__all-2400@2x.png\" width=\"1200\" height=\"821\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/figma__codex__gpt-5.5__desktop-2400@2x.png\" width=\"1200\" height=\"840\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/figma__codex__gpt-5.5__mobile-2400@2x.png\" width=\"351\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/figma__codex__gpt-5.5__promo-2400@2x.png\" width=\"750\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Full images: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/figma__codex__gpt-5.5__all@2x.png\">All together<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/figma__codex__gpt-5.5__desktop@2x.png\">Desktop<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/figma__codex__gpt-5.5__mobile@2x.png\">Mobile <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/figma__codex__gpt-5.5__promo@2x.png\">Promo<\/a><\/div>\n<\/div>\n<h3>Figma: Cursor + GLM 5.1 (z.ai coding plan)<\/h3>\n<p>In general worse than in Paper. The desktop layout on the bottom is me dragging a layer to where it needs to go, GLM didn’t master a correct DOM.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"1200\" data-ratio=\"1.5625\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/figma__cursor__glm-5.1__all-2400@2x.png\" width=\"1200\" height=\"768\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/figma__cursor__glm-5.1__desktop-2400@2x.png\" width=\"822\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/figma__cursor__glm-5.1__mobile-2400@2x.png\" width=\"318\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/figma__cursor__glm-5.1__promo-2400@2x.png\" width=\"801\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Full images: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/figma__cursor__glm-5.1__all@2x.png\">All together<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/figma__cursor__glm-5.1__desktop@2x.png\">Desktop<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/figma__cursor__glm-5.1__mobile@2x.png\">Mobile <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/figma__cursor__glm-5.1__promo@2x.png\">Promo<\/a><\/div>\n<\/div>\n<h3>Cursor + Composer 2<\/h3>\n<p>Catastrophically bad, worse than in Paper.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"1200\" data-ratio=\"1.4888337468983\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/figma__cursor__composer-2__all-2400@2x.png\" width=\"1200\" height=\"806\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/figma__cursor__composer-2__desktop-2400@2x.png\" width=\"1200\" height=\"823\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/figma__cursor__composer-2__mobile-2400@2x.png\" width=\"268\" height=\"1200\" alt=\"\" \/>\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/figma__cursor__composer-2__promo-2400@2x.png\" width=\"763\" height=\"1200\" alt=\"\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Full images: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/figma__cursor__composer-2__all@2x.png\">All together<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/figma__cursor__composer-2__desktop@2x.png\">Desktop<\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/figma__cursor__composer-2__mobile@2x.png\">Mobile <\/a> · <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/figma__cursor__composer-2__promo@2x.png\">Promo<\/a><\/div>\n<\/div>\n<p>After the main experiment I decided to try giving it the Impeccable skill and see how it would influence things. The same prompt, but with the skill. Full config — Claude Code + Opus 4.7, xhigh + Frontend Design Skill<\/p>\n<p>I only made one desktop screen, it eats a lot, even fancier than it was. One screen ate 44% of the 5h · pro quota in Claude Code. It’s like Opus became even more Opus-y and some kind of grief-from-too-much-design-thinking started. Every pixel shouts «look how beautiful I am». There are errors, but the design became even more designer-y.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-frontend-design__desktop-2400@2x.png\" width=\"513\" height=\"1200\" alt=\"\" \/>\n<div class=\"e2-text-caption\">Full image: <a href=\"https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-frontend-design__desktop@2x.png\">Desktop<\/a><\/div>\n<\/div>\n<h2>4 How much all this cost, you ask<\/h2>\n<p>In general there are prices in the table, dollars in Cursor are virtual (included in the subscription), the rest are real.<\/p>\n<p>~$20 — the models<br \/>\n$16 — Paper Pro with a higher MCP limit.<br \/>\n3×$20 — subscriptions to Claude, Codex and Cursor, but they were already there.<\/p>\n<p><aside class=\"aside-margin-right\">See the chart here: <a href=\"https:\/\/www.anthropic.com\/news\/claude-opus-4-7\">anthropic.com\/news\/claude-opus-4-7<\/a><\/aside><\/p>\n<p>The most expensive option would cost $12.30 (Cursor + Opus 4.7), the cheapest — $0.03 (Minimax 2.7), the difference — 410x. Opus wasn’t running at 100%, if I had turned on max-reasoning, it would have been about ×2.<\/p>\n<h2>5 Future experiments<\/h2>\n<p>What I would like to check, that didn’t make it into this series:<\/p>\n<ul>\n<li>Check with skills: how much this or that skill can improve the design.<\/li>\n<li>Check by giving styles, user scenarios and other context.<\/li>\n<li>Check by allowing it to ask clarifying questions: about tasks, product, style and user.<\/li>\n<li>Check what happens if you give it a rough sketch of the interface and bring it to a finished state.<\/li>\n<li>Give an existing screen and ask it to add style or improve only the interface without a complete redo of the structure.<\/li>\n<li>Let it read Gorbunov’s layout advice and check again.<\/li>\n<\/ul>\n<h2>6 Conclusions<\/h2>\n<ol start=\"1\">\n<li>Opus is on top. Expensive and awesome. Surprisingly, the next one isn’t even GPT. Neither 5.4 nor even 5.5 come close. Chinese models, even Cursor’s auto mode, do it better. GPT 5.4 writes code well, explains and does analyses well. Design — a flop.<\/li>\n<li>Chinese models are overfitting on metrics and benchmarks. In general all models outside the big labs are like this. By SWE metrics they’ve already caught up with and overtaken Opus, but in real life they can’t do a simple task. Some can’t even cope with correctly calling tools. A typical example is Minimax 2.7 — by all metrics it’s very good, in design it can do nothing. In the end it’s only good in speed and price (those are really wow). Someone will say DeepSeek is overfitting too. I can’t say so unequivocally about it: first, DeepSeek made one of the mockups noticeably better, and second, it still has some kind of problems with calling tools, as was the case in version 3.2. The best result is from those Chinese models that do their work without particularly shouting — Qwen 3.6 (but 3.5 is so-so).<\/li>\n<li>A good model makes design by developers and product managers themselves quite pointless, unless they have an understanding of design. It’s rare, but such people exist. If not, the model will do it faster and better. There’s still work for designers, you can breathe out for a quarter.<\/li>\n<\/ol>\n<h2>P. S.<\/h2>\n<p>Since you’re here, try <a href=\"http:\/\/recipe-scaler.ru\/#\/about\">recipe-scaler.ru<\/a> — the best recipe management app ever made. Wasn’t this all for nothing — so many design experiments? If every tenth person comes in, I’ll have +1000% users instantly.<\/p>\n<p>By the way, here’s what the post attachments block looks like:<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/llm-and-ui-design@2x.png\" width=\"858\" height=\"1293\" alt=\"\" \/>\n<\/div>\n<p>upd. Added Gemini 3.5 Flash, Grok Build, MiMo 2.5, Opus 4.8, Grok 4.5, GPT 5.6 Sol, MiniMax M3, Fable<\/p>\n",
            "summary": "There’s also an original Russian version of this post: mikeozornin.ru\/blog\/all\/llm-and-ui-design",
            "date_published": "2026-05-01T09:53:00+03:00",
            "date_modified": "2026-07-15T00:22:55+03:00",
            "tags": [
                "ai",
                "design"
            ],
            "image": "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__grok-build-0-1__all@2x.png",
            "_date_published_rfc2822": "Fri, 01 May 2026 09:53:00 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "223",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css",
                    "jquery\/jquery.js",
                    "fotorama\/fotorama.css",
                    "fotorama\/fotorama.js"
                ],
                "og_images": [
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__grok-build-0-1__all@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__grok-build-0-1__desktop@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__grok-build-0-1__mobile@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__grok-build-0-1__promo@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__qwen-3.7__all@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__qwen-3.7__desktop@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__qwen-3.7__mobile@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__qwen-3.7__promo@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.7__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__opus-4.7__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__opus-4.7__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__haiku__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__qwen35-397b-qwen-397__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__deepseek-v4-pro-2__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/Images-1.1@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/Images-1.2@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/Image-1.3@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/Images-2.1@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/Images-2.2@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/Images-2.3@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/Images-3.1@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/Images-3.2@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/Images-3.3@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/Images-4.1@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/Images-4.2@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__auto__desktop@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/Slop-1@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/Slop-2@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/Slop-3@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/Slop-4@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/Slop-5@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/Mobile-vs-Promo@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/inside-figma-gpt-5.5-light@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/inside-paper-gpt-5.5-light@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__antigravity__gemini-3.1-pro__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__antigravity__gemini-3.1-pro__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__antigravity__gemini-3.1-pro__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__antigravity__gemini-3.1-pro__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__antigravity__gemini-3.5-flash__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__antigravity__gemini-3.5-flash__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__antigravity__gemini-3.5-flash__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__antigravity__gemini-3.5-flash__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.7__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.7__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.7__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.8__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.8__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.8__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.8__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__fable-med__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__fable-med__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__fable-med__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__fable-med__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.7-med__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.7-med__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.7-med__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.7-med__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.6__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.6__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.6__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-4.6__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__sonnet-4.6__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__sonnet-4.6__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__sonnet-4.6__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__sonnet-4.6__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__haiku__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__haiku__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__haiku__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.5__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.5__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.5__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.5__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.4__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.4__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.4__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.4__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.6-sol-xhigh__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.6-sol-xhigh__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.6-sol-xhigh__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__codex__gpt-5.6-sol-xhigh__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__auto__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__auto__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__auto__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__auto__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__opus-4.7__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__opus-4.7__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__opus-4.7__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__gpt-5.4__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__gpt-5.4__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__gpt-5.4__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__gpt-5.4__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__gemini-3.1-pro__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__gemini-3.1-pro__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__gemini-3.1-pro__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__gemini-3.1-pro__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__grok-4.3__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__grok-4.3__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__grok-4.3__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__grok-4.3__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__grok-4.5__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__grok-4.5__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__grok-4.5__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__grok-4.5__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__glm-5.1__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__glm-5.1__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__glm-5.1__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__glm-5.1__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__composer-2__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__composer-2__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__composer-2__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__composer-2__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__composer-2.5__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__composer-2.5__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__composer-2.5__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__composer-2.5__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__mimo-v2.5-pro__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__mimo-v2.5-pro__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__mimo-v2.5-pro__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__cursor__mimo-v2.5-pro__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/sourcecraft__default__w-0__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/sourcecraft__default__w-0__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/sourcecraft__default__w-0__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/sourcecraft__default__w-0__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/sourcecraft__default-thinking__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/sourcecraft__default-thinking__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/sourcecraft__default-thinking__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/sourcecraft__default-thinking__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__opus-4.7__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__opus-4.7__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__opus-4.7__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/kilo__hy3-preview__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/kilo__hy3-preview__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/kilo__hy3-preview__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/kilo__hy3-preview__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__qwen-3.6__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__qwen-3.6__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__qwen-3.6__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__qwen-3.6__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__qwen35-397b-qwen-397__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__qwen35-397b-qwen-397__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__qwen35-397b-qwen-397__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__grok-build-0.1-google-skill__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__grok-build-0.1-google-skill__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__grok-build-0.1-google-skill__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__kilo-code__grok-build-0.1-google-skill__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__opus-4.7__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__kimi-2.6__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__kimi-2.6__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__kimi-2.6__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__kimi-2.6__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__grok-4.3__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__grok-4.3__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__grok-4.3__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__grok-4.3__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__grok-build-0-1__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__grok-build-0-1__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__grok-build-0-1__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__grok-build-0-1__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__deepseek-v4-pro__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__deepseek-v4-pro__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__deepseek-v4-pro__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__deepseek-v4-pro__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__deepseek-v4-pro-2__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__deepseek-v4-pro-2__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__deepseek-v4-pro-2__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__glm-5.1__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__glm-5.1__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__glm-5.1__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__glm-5.1__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__qwen35-397b-qwen-397__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__qwen35-397b-qwen-397__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__qwen35-397b-qwen-397__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__qwen35-397b-qwen-397__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__minimax-2.7__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__minimax-2.7__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__minimax-2.7__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__minimax-2.7__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__minimax-m3__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__minimax-m3__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__minimax-m3__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__minimax-m3__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__qwen-3.7__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__qwen-3.7__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__qwen-3.7__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__opencode__qwen-3.7__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/figma__claude-code__opus-4.7__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/figma__claude-code__opus-4.7__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/figma__claude-code__opus-4.7__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/figma__claude-code__opus-4.7__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/figma__codex__gpt-5.5__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/figma__codex__gpt-5.5__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/figma__codex__gpt-5.5__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/figma__codex__gpt-5.5__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/figma__cursor__glm-5.1__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/figma__cursor__glm-5.1__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/figma__cursor__glm-5.1__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/figma__cursor__glm-5.1__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/figma__cursor__composer-2__all-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/figma__cursor__composer-2__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/figma__cursor__composer-2__mobile-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/figma__cursor__composer-2__promo-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/paper__claude-code__opus-frontend-design__desktop-2400@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/llm-and-ui-design@2x.png"
                ]
            }
        },
        {
            "id": "221",
            "url": "https:\/\/mikeozornin.ru\/blog\/all\/recipe-scaler-release-5\/",
            "title": "Recipe scaler: набор изменений номер 5",
            "content_html": "<p class=\"lead\">Еще новинки самого лучшего в мире менеджера рецептов<\/p>\n<p>Как вы помните (не помните, конечно), я делаю самый удобный и продвинутый менеджер рецептов — <a href=\"https:\/\/recipe-scaler.ru\/about\">recipe-scaler.ru<\/a>.<\/p>\n<p>С момента <a href=\"https:\/\/mikeozornin.ru\/blog\/all\/recipe-scaler-release-4\/\">прошлого поста<\/a> прошла неделя. За это время я в фоне поделал еще пару классных штук.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/shopping-list-ru-light@2x-2.png\" width=\"2048\" height=\"1536\" alt=\"\" \/>\n<\/div>\n<h2>1. Список покупок<\/h2>\n<p>Сейчас можно и список покупок вести в общей приложухе. Синхронизация, оффлайн — все будет работать как привычно. Можно пошарить ссылкой или текстом для месенджера. Можно весь рецепт отправить в покупки.<\/p>\n<p>Ну не кайф ли? Плюс одно приложение внутри приложения.<\/p>\n<hr \/>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/chrome-extension-ru-light@2x.png\" width=\"1024\" height=\"768\" alt=\"\" \/>\n<\/div>\n<h2>2. Расширение для Хрома<\/h2>\n<p>Телеграм у некоторых не работает, чтобы можно было сохранить рецепт я сделал расширение. Жмакаете, и рецепт отправляет в приложение.<\/p>\n<p><a href=\"https:\/\/chromewebstore.google.com\/detail\/recipe-scaler-importer\/nboblelpbhjijeaglahippkocnecblfb\">Recipe Scaler Importer<\/a><\/p>\n",
            "summary": "Как вы помните (не помните, конечно), я делаю самый удобный и продвинутый менеджер рецептов — recipe-scaler...",
            "date_published": "2026-04-14T13:38:00+03:00",
            "date_modified": "2026-10-21T02:24:10+03:00",
            "tags": [
                "recipe scaler",
                "готовка",
                "курсор",
                "проекты"
            ],
            "image": "https:\/\/mikeozornin.ru\/blog\/pictures\/shopping-list-ru-light@2x-2.png",
            "_date_published_rfc2822": "Tue, 14 Apr 2026 13:38:00 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "221",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": [
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/shopping-list-ru-light@2x-2.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/chrome-extension-ru-light@2x.png"
                ]
            }
        },
        {
            "id": "219",
            "url": "https:\/\/mikeozornin.ru\/blog\/all\/recipe-scaler-release-4\/",
            "title": "Recipe scaler: набор изменений номер 4",
            "content_html": "<p class=\"lead\">Рассказываю о новинках самого лучшего в мире менеджера рецептов<\/p>\n<p>Как вы помните (не помните, конечно), я делаю самый удобный и продвинутый менеджер рецептов — <a href=\"recipe-scaler.ru\">recipe-scaler.ru<\/a>.<\/p>\n<p>С момента <a href=\"https:\/\/mikeozornin.ru\/blog\/all\/recipe-scaler-release-3\/\">прошлого поста<\/a> прошло два месяца. За это время я в фоне поделал еще немного разных штук.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/recipe-scaler-release-4-1@2x.png\" width=\"1024\" height=\"768\" alt=\"\" \/>\n<\/div>\n<h2>1. Раздел Discovery<\/h2>\n<p>Можно почитать чужие рецепты. Пока рецепты людей, но потом будут еще и коллекции, ищу где можно найти рецептов так, чтобы не нарушить сразу 100 миллионов авторских прав<\/p>\n<hr \/>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/recipe-scaler-release-4-4@2x.png\" width=\"1024\" height=\"768\" alt=\"\" \/>\n<\/div>\n<h2>2. Универсальный импорт<\/h2>\n<p>Импорт сильно прокачался. Сейчас можно импортировать что угодно: много рецептов за раз, много ссылок, рецепты из произвольного текста или файла произвольного формата. Можно даже импортировать рецепты из фотографии, например, отфоткать любимые бабушкины рецепты и автоматически загрузить их к себе.<\/p>\n<p>Если хотите перенести рецепты из своего приложения, то есть описание для формата для агента: <a href=\"https:\/\/github.com\/mikeozornin\/recipe-scaler-import-guide\">гайд для вашего агента<\/a><\/p>\n<hr \/>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/recipe-scaler-release-4-2@2x.png\" width=\"1024\" height=\"768\" alt=\"\" \/>\n<\/div>\n<h2>3. Пин рецептов<\/h2>\n<p>Частые рецепты можно запинить сверху, чтобы не искать их внизу по алфавиту<\/p>\n<h2>4. Эмодзи-иконки<\/h2>\n<p>Если начать рецепт с эмодзи, то эмодзи станет его иконкой. Сортировка, понятно, будет работать нормально, без учета эмодзи<\/p>\n<h2>5. Вход по QR-коду<\/h2>\n<p>Чтобы войти на другом устройстве, например, на телефоне, можно просто отсканировать QR-код, без передачи секретной фразы.<\/p>\n<h2>6. Скачать рецепт в ПДФ<\/h2>\n<p>Можно скачать рецепт в ПДФ и одной штукой<\/p>\n<hr \/>\n<p>Кстати, зацените как клод умеет. Можно аттачить в чат рецепт, если подключить Recipe Scaler MCP.<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/recipe-scaler-release-4-3@2x.png\" width=\"1033\" height=\"665\" alt=\"\" \/>\n<\/div>\n",
            "summary": "Как вы помните (не помните, конечно), я делаю самый удобный и продвинутый менеджер рецептов — recipe-scaler...",
            "date_published": "2026-04-07T10:54:25+03:00",
            "date_modified": "2026-04-06T19:51:31+03:00",
            "tags": [
                "recipe scaler",
                "готовка",
                "курсор",
                "проекты"
            ],
            "image": "https:\/\/mikeozornin.ru\/blog\/pictures\/recipe-scaler-release-4-1@2x.png",
            "_date_published_rfc2822": "Tue, 07 Apr 2026 10:54:25 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "219",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": [
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/recipe-scaler-release-4-1@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/recipe-scaler-release-4-4@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/recipe-scaler-release-4-2@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/recipe-scaler-release-4-3@2x.png"
                ]
            }
        },
        {
            "id": "220",
            "url": "https:\/\/mikeozornin.ru\/blog\/all\/ai-native-software\/",
            "title": "ИИ-нативные продукты",
            "content_html": "<p class=\"lead\">Рассуждаю, что важно учесть при разработке сложного софтверного продукта сейчас, чтобы он остался актуальным через год или два<\/p>\n<p>Мир софта меняется и скоро поменяется совсем. Да, я про ИИ и ЛЛМ в частности. Многие компании не пережили прошлую мобильную революцию (вспомните про нокию). Я размышляю как нам пережить эту. Поэтому, я хочу поразмышлять, что значит  «ии-нативные продукты».<\/p>\n<p>Я говорю не про конкретные ии-фичи, не про пресловутого бота, который отвечает мимо и невпопад, а скорее про общее ощущение от продуктов. Я говорю про по сути набор нефункциональных требований, касающихся ИИ, которые могут быть применимы ко всем нашим продуктам. Как сделать продукт, который:<\/p>\n<ul>\n<li>будет актуальным в среде агентов, а не людей,<\/li>\n<li>сам будет таким, что в нем агент станет полноценным пользователем и субъектом наряду с человеком<\/li>\n<\/ul>\n<p>Особенно это важно тем, кто поставляет продукты в он премис, там делают продукт не на месяц вперед. Пока спроектируют, пока разработают, пока клиенты обновятся. Продукт делается сейчас, а клиенты будут пользоваться ими через год.<\/p>\n<p>Хочется сейчас угадать и сделать что-то, что за год-два не потеряет своей актуальности.<\/p>\n<p>Для контекста: почти год назад, в конце февраля, вышел Сонет 3.7. Сонетом 3.7 уже можно было пользоваться, он мог уверенно написать работающий файл. Ну может несколько файлов. Но он не был настолько автономным как Опус 4.6 или ГПТ 5.4.<\/p>\n<p>Для контекста: стоимость решения одной и той же задачи с помощью ЛЛМ падает в 10 раз каждый год.<\/p>\n<p>Вот что мне приходит в голову ↓<\/p>\n<h2>1. Не оптимизировать human-only-сценарии<\/h2>\n<p>Я бы не вкладывался в долгую разработку удобного интерфейса работы оператора и решения им тех задач, которые он в целом решать не должен. Я бы подумал перед тем как тратить сейчас не одну сотню человеко-часов только на фронте.<\/p>\n<ul>\n<li>Хорошо: сделать графический редактор сценариев в стиле н8, но быстро.<\/li>\n<li>Не стал бы: тратить 500 человеко-часов на конструктор сценариев, хотя за 100 часов можно было бы сделать написание тех же сценариев из войса в телеграме.<\/li>\n<\/ul>\n<h2>2. Удобный, ии-нативный интерфейс<\/h2>\n<p>Я бы в целом ожидал возврата к основам линукосовой концепции «всё — это файл» и концепции компонуемости из юникс-утилит — программы как атомарные небольшим программам, результаты которых можно цеплять друг к другу через пайп и с унифицируемым интерфейсом ввода (текст) и вывода (текст).<\/p>\n<p><aside class=\"aside-margin-right\">См. в тему <a href=\"https:\/\/cursor.com\/blog\/dynamic-context-discovery#1-turning-long-tool-responses-into-files\">cursor.com\/blog\/dynamic-context-discovery<\/a><\/aside><\/p>\n<p>Я не говорю именно про терминал и текст, но идея компонуемости, как мне кажется, станет более актуальной.<\/p>\n<p>Интерфейс программ должен быть стандартный и максимально дружелюбный для агентов: rest api, терминальные команды, стандартный протокол.<\/p>\n<ul>\n<li>Хорошо: консольный cdk для прогона тестов<\/li>\n<li>Не стал бы: gui-программа для прогона тестов, которая еще работает только для Виндоуза.<\/li>\n<\/ul>\n<p>Я говорю про достаточно общие протоколы, не обязательно про МПЦ. Я не удивлюсь, если через год агенты научатся работать с любыми апи по опенапи-спеке и мы забудем врапперы типа МПЦ, как тупиковую ветвь эволюции.<\/p>\n<h2>3. Агент должен уметь разобраться по доке<\/h2>\n<p>Если доки недостаточно, чтобы агент разобрался — дока не очень. Если для интеграции продукта с телеграмом недостаточно дать доку агенту и отправить делать, значит дока не очень понятная или подробная. Если агент не может запустить дев-стенд вашего продукта по доке за один промт — у вас что-то не так.<\/p>\n<p>Сама дока должна быть доступна в агент-френдли формате: сервер-сайд-рендеринг, llm.txt или agents.md, доступность из курла. Никаких реакт-сайтов, которые требуют браузера. Да, агенты уже умеют читать и такое, но зачем усложнять им жизнь.<\/p>\n<h2>4. Стандартные форматы хранения, языки и протоколы<\/h2>\n<p>Я бы до последнего откладывал придумывание своих кастомных DSL, а попытался бы найти распространенный язык для задачи. Даже если бы он подходил всего лишь на 50%. Я понимаю, что ллм выучит и чужой незнакомый DSL. Но я не специалист и кажется, что лучше бы, чтобы не учила. Наша выучит, другая не станет.<\/p>\n<h2>5. Собирать из всего, что можно собрать, датасеты<\/h2>\n<p>В каждой фиче думать, какие данные нужно собрать и сохранить. С клиентов: метрики, сценарии действий, телеметрию. С нас самих: сохранять треки работы внутренних пользователей, записи всех митингов и обсуждений, все код-ревью, тикеты в саппорте, вопросы в чатах и поисковые запросы на портале хелпа.<\/p>\n<p>Контекст менеджмент — 50% самого важного в контексте именно написания продукта (вторые 50% — харнес). И поэтому не удивительно, что Ноушен и Линеар сделали своих агентов, у них внутри столько контекста по компании, что зашатаешься.<\/p>\n<h2>6. Не замыкаться в текущих ограничениях<\/h2>\n<p>Стоит рассчитывать, что через 2-3 года контекстное окно вырастет так, что можно будет отправлять туда 5 миллионов токенов (давайте представим, что я — футурист). Т. е. в окно контекста целиком влезут те данные, для которых сейчас нужно делать сложные система РАГ.<\/p>\n<h2>7. Агенты — first class citizens<\/h2>\n<p>При реализации каждой фичи нужно начать думать: а какие тулы и апишки нужно в рамках фичи заэкспоузить наружу для будущие агентов, и тратить на это время не по остаточному принципу, а так, чтобы агенты были first class citizen.<\/p>\n<p>Если функция доступна человеку, но недоступна агенту — мы сделали что-то не так.<\/p>\n<h2>8. Безопасность всего этого<\/h2>\n<p>Придется подумать, как не сделать с агентским продуктом с невероятно широким контектом хуже, чем без него вообще. В какой-то момент в защите инфраструктуры возник zero trust (когда пропал периметр и всё стало периметром), так же и тут нужно будет делать zero trust 2.0.<\/p>\n<p>Как минимум нужны будут:<\/p>\n<ul>\n<li>границы применимости: разделение на задачи, где норм принять решение агенту и на те, где обязателен человек;<\/li>\n<li>трассировка источников: откуда агент взял вывод и как к нему пришел,<\/li>\n<li>аудит: что он сделал и почему;<\/li>\n<li>replayability: можно ли воспроизвести решение агента потом при разборе инцидента.<\/li>\n<\/ul>\n<h2>9. Как встроить ии в feedback loop работы продукта<\/h2>\n<p>Хочется как-то перенести ответственность за контекст с человека на агента. Не оператор должен думать какие данные передать агенту, а агент должен у себя иметь инструменты self discovery и data retrival, пусть сам подумает, что ему надо.<\/p>\n<p>Сейчас хорошо работает сказать агенту «задай мне вопросы, которые помогут тебе хорошо решить задачу», хочется что-то аналогичное.<\/p>\n<h2>10. Самим заставлять себя решать задачи ллмками и агентами<\/h2>\n<p>Самим пытаться становиться ии-нативными, даже если прямо сейчас так медленнее. Например, договориться, в командах, что все лоу-баги чинятся только ЛЛМкой, никакой код нельзя для этого писать руками.<\/p>\n<p>Случайно вышло 10 пунктов, ну и хорошо.<\/p>\n<p>Если вдруг у кого есть, прости господи, подкаст, можем поговорить про это.<\/p>\n",
            "summary": "Мир софта меняется и скоро поменяется совсем. Да, я про ИИ и ЛЛМ в частности. Многие компании не пережили прошлую мобильную революцию",
            "date_published": "2026-04-06T10:34:36+03:00",
            "date_modified": "2026-04-06T13:45:05+03:00",
            "tags": [
                "ИИ",
                "ллм",
                "работа"
            ],
            "_date_published_rfc2822": "Mon, 06 Apr 2026 10:34:36 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "220",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        },
        {
            "id": "218",
            "url": "https:\/\/mikeozornin.ru\/blog\/all\/llm-i-dizayn\/",
            "title": "ЛЛМ и дизайн",
            "content_html": "<p class=\"lead\">Я шарю скилл несколько раз, самое время кинуть в пост<\/p>\n<p>Как делать дизайн с ЛЛМ, чтобы не было дефолтно и ИИшно:<\/p>\n<ul>\n<li>Не делать, делать руками<\/li>\n<li>Кидать референсы<\/li>\n<li>Дать скиллов<\/li>\n<\/ul>\n<p>Пост про опцию три.<\/p>\n<ol start=\"1\">\n<li><a href=\"https:\/\/impeccable.style\">https:\/\/impeccable.style<\/a><br \/>\nЕсть вот такой набор скиллов, в нем разные вещи, чтобы делать дизайн и верстку:<\/li>\n<\/ol>\n<ul>\n<li>Аудит того, что есть и критика<\/li>\n<li>Есть работа с текстом<\/li>\n<li>Есть работа с визуалкой<\/li>\n<\/ul>\n<p>На промостранице есть объяснения, начните с них.<\/p>\n<p>Это не серебрянная пуля, по начать, например, можно с этого.<\/p>\n<ol start=\"2\">\n<li><a href=\"https:\/\/developers.openai.com\/blog\/designing-delightful-frontends-with-gpt-5-4\/\">https:\/\/developers.openai.com\/blog\/designing-delightful-frontends-with-gpt-5-4\/<\/a><br \/>\nСкилл и объяснение от опенаи<\/li>\n<\/ol>\n",
            "summary": "Как делать дизайн с ЛЛМ, чтобы не было дефолтно и ИИшно",
            "date_published": "2026-03-27T10:18:59+03:00",
            "date_modified": "2026-03-24T14:24:36+03:00",
            "tags": [
                "вайб-кодинг",
                "дизайн",
                "ллм"
            ],
            "_date_published_rfc2822": "Fri, 27 Mar 2026 10:18:59 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "218",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        },
        {
            "id": "216",
            "url": "https:\/\/mikeozornin.ru\/blog\/all\/street-guesser-2\/",
            "title": "Street guesser",
            "content_html": "<p class=\"lead\">Игра, чтобы выучить свой район<\/p>\n<p>Как ведь бывает, переехал в новый район, а там все улицы незнакомые. Как вот их учить?<\/p>\n<p>Сделал игру:<\/p>\n<div class=\"e2-text-picture\">\n<a href=\"https:\/\/mikeozornin.ru\/share\/street-guess\/#lat=55.752773&lon=37.620606&radius=2335&mode=click&size=large\" class=\"e2-text-picture-link\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/street-guesser@2x.png\" width=\"1564\" height=\"1012\" alt=\"\" \/>\n<\/a><\/div>\n<p>Случайный положительный эффект: можно легко сравнить масштаб городов, понять, что Садовое в Москве — это от Фонтанки с заходом на начало Васьки и Петроградки.<\/p>\n",
            "summary": "Как ведь бывает, переехал в новый район, а там все улицы незнакомые. Как вот их учить?",
            "date_published": "2026-02-21T12:32:19+03:00",
            "date_modified": "2026-02-21T02:01:18+03:00",
            "tags": [
                "street guesser",
                "вайб-кодинг",
                "игра"
            ],
            "image": "https:\/\/mikeozornin.ru\/blog\/pictures\/street-guesser@2x.png",
            "_date_published_rfc2822": "Sat, 21 Feb 2026 12:32:19 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "216",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": [
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/street-guesser@2x.png"
                ]
            }
        },
        {
            "id": "215",
            "url": "https:\/\/mikeozornin.ru\/blog\/all\/reflection-is-more-important\/",
            "title": "Важность рефлексии растет",
            "content_html": "<p>На пост меня натолкнула рабочая ситуация: Я написал (будем честны, попросил ллм написать) один скрипт, и некоторые коллеги прореагировали «о, давно о таком мечтаю». И у меня в голове щелкнуло.<\/p>\n<p><aside class=\"aside-margin-right\">Когда я сейчас написал про один промт, я не утрировал, это был реально один промт.<\/span><\/aside><\/p>\n<p>Сейчас простые задачи решаются ллмками достаточно хорошо. Ядро линукса они все еще не напишут, но пропарсить все ресурсные файлы проекта, сгруппировать одинаковые строчки и дать к ним мгновенный поиск — это задача на один промт. И все, что удерживает людей сейчас, от того, что некоторая часть их задач начнет быть проще — рефлексия. Все что нужно — остановиться, и заметить момент «ага, я тут хочу упрощение, которое возможно реально»).<\/p>\n<p>И если раньше рефлексия не всегда помогала, например:<\/p>\n<ul>\n<li>Понял, что занимается рутиной, но невозможно понять, что рутина автоматизируема.<\/li>\n<li>Понял, что занимается рутиной, пошел узнать, автоматизируема ли она, ИТ-служба сказала «не существует технической возможности».<\/li>\n<li>Понял, что занимается рутинной автоматизированной задачей, понял, что автоматизируема, а питониста рядом нет.<\/li>\n<li>Понял, что занимается рутинной автоматизированной задачей, понял, что автоматизируема, а питонист рядом занят.<\/li>\n<li>Понял, что занимается рутинной автоматизированной задачей, понял, что автоматизируема, сходил в ИТ, питониста нашли, они задачу взяли, то на Q3 2027 года, потому что есть более важные.<\/li>\n<\/ul>\n<p>Сейчас ситуация сильно меняется.<\/p>\n<ul>\n<li>Понял, что занимается рутинной автоматизированной задачей, потратил один-два промта и, возможно, получил решение.<br \/>\nВозможно решения не получил, но и потратить 10 минут как будто не так и долго. Время на созвон со знакомым питонистом будете в календаре выбирать дольше.<\/li>\n<\/ul>\n<p>Нас всегда учили, что идея не стоит ничего. В целом идея все так же стоит ничего, но иногда — чуть больше, чем ничего, если есть ллмка.<\/p>\n",
            "summary": "На пост меня натолкнула рабочая ситуация: Я написал (будем честны, попросил ллм написать) один скрипт, и некоторые коллеги прореагировали «о, давно о таком мечтаю»",
            "date_published": "2026-01-26T10:34:56+03:00",
            "date_modified": "2026-01-26T01:00:13+03:00",
            "tags": [
                "вайб-кодинг",
                "ИИ",
                "работа",
                "рефлексия"
            ],
            "_date_published_rfc2822": "Mon, 26 Jan 2026 10:34:56 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "215",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        },
        {
            "id": "213",
            "url": "https:\/\/mikeozornin.ru\/blog\/all\/ai-design\/",
            "title": "ИИ-дизайн",
            "content_html": "<p class=\"lead\">Я задал один и тот же промт нескольким моделям и вот что вышло<\/p>\n<h2>Промт<\/h2>\n<pre class=\"e2-text-code\"><code class=\"\">Прочитай @\/llm\/PRD.md и сверстай статическую html-страницу about. Укажи в ней все преимущества, придумай как их проиллюстрировать, используй модный современный дизайн\n\nСохрани в файл about-page\/{model-name}.html\n\nОриентируйся только на prd, не используй about-страницу.<\/code><\/pre><p>Эксперимент проведен в декабре 2025-январе 2026. Использовался openrouter или облака ллммок. В скриншотах могут быть небольшие артефакты, скриншоты снимал плейрайт, он не умеет в стики-позиции.<\/p>\n<p>Для сравнения дизайн кожаного мешка (меня): <a href=\"https:\/\/recipe-scaler.ru\/#\/about\">https:\/\/recipe-scaler.ru\/#\/about<\/a><\/p>\n<h2>Gemini 3 pro<\/h2>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/gemini-3-pro@2x.png\" width=\"1344\" height=\"3283\" alt=\"\" \/>\n<\/div>\n<h2>Grok code fast 1<\/h2>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/grok.code-fast-1@2x.png\" width=\"1280\" height=\"4044\" alt=\"\" \/>\n<\/div>\n<h2>Minimax 2.1<\/h2>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/minimax-2.1-1@2x.png\" width=\"1280\" height=\"2359\" alt=\"\" \/>\n<\/div>\n<h2>Minimax 2.1<\/h2>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/minimax-2.1-2@2x.png\" width=\"1280\" height=\"9523\" alt=\"\" \/>\n<\/div>\n<h2>Minimax 2.1<\/h2>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/minimax-2.1-3@2x.png\" width=\"1280\" height=\"11107\" alt=\"\" \/>\n<\/div>\n<h2>Minimax 2.1<\/h2>\n<p>Тут я просил швейцарский стиль<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/minimax-2.1-4@2x.png\" width=\"1280\" height=\"3501\" alt=\"\" \/>\n<\/div>\n<h2>Minimax 2.1<\/h2>\n<p>Тут я просил брутализм<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/minimax-2.1-5@2x.png\" width=\"1280\" height=\"3169\" alt=\"\" \/>\n<\/div>\n<h2>Opus 4.5<\/h2>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/opus-4.5-1@2x.png\" width=\"1280\" height=\"7191\" alt=\"\" \/>\n<\/div>\n<h2>Opus 4.5<\/h2>\n<p>Тут я просил брутализм<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/opus-4.5-2@2x.png\" width=\"1280\" height=\"6154\" alt=\"\" \/>\n<\/div>\n<h2>Swe 1.5<\/h2>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/swe-1.5-1@2x.png\" width=\"1280\" height=\"2923\" alt=\"\" \/>\n<\/div>\n<h2>Swe 1.5<\/h2>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/swe-1.5-2@2x.png\" width=\"1280\" height=\"4061\" alt=\"\" \/>\n<\/div>\n<h2>Yandex assistant 2026-01-20<\/h2>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/yandex-assistant-2026-01-20@2x.png\" width=\"1280\" height=\"2635\" alt=\"\" \/>\n<\/div>\n<h2>Zai GLM-4.7<\/h2>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/zai-4.7-3@2x.png\" width=\"1954\" height=\"3319\" alt=\"\" \/>\n<\/div>\n",
            "summary": "Эксперимент проведен в декабре 2025-январе 2026. Использовался openrouter или облака ллммок. В скриншотах могут быть небольшие артефакты, скриншоты снимал плейрайт",
            "date_published": "2026-01-20T20:45:35+03:00",
            "date_modified": "2026-01-20T20:45:55+03:00",
            "tags": [
                "вайб-кодинг",
                "ИИ",
                "эксперименты"
            ],
            "image": "https:\/\/mikeozornin.ru\/blog\/pictures\/gemini-3-pro@2x.png",
            "_date_published_rfc2822": "Tue, 20 Jan 2026 20:45:35 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "213",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": [
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/gemini-3-pro@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/grok.code-fast-1@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/minimax-2.1-1@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/minimax-2.1-2@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/minimax-2.1-3@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/minimax-2.1-4@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/minimax-2.1-5@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/opus-4.5-1@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/opus-4.5-2@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/swe-1.5-1@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/swe-1.5-2@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/yandex-assistant-2026-01-20@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/zai-4.7-3@2x.png"
                ]
            }
        },
        {
            "id": "212",
            "url": "https:\/\/mikeozornin.ru\/blog\/all\/claude-code-and-stupid-questions\/",
            "title": "Псевдозабота Клод Кода",
            "content_html": "<p>Клод код (Claude Code) заботится обо мне и показывает команды на согласования, к сожалению, он делает это <s>без уважения<\/s> плохо.<\/p>\n<p>Посмотрите на этот апрув:<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/claude-code-1@2x.png\" width=\"741\" height=\"298\" alt=\"\" \/>\n<\/div>\n<p>Выполняет трехстрочную шелл-команду с вложенными конструкциями: циклы, условия. Если там где-то будет какая-то ошибка, я её просто не замечу.<\/p>\n<p>Я не специально выбирал, что скриншотить, они все такие:<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/claude-code-2@2x.png\" width=\"685\" height=\"303\" alt=\"\" \/>\n<\/div>\n<p>У меня остается два варианта:<\/p>\n<ul>\n<li>Как мартышка жать и жать на кнопку «Approve». В итоге вырабатывается привычка, которая не даст мне себя защититить в опасной ситуации. См. принцип «подтверждения не работают».<\/li>\n<li>Один раз апрувнуть тоже не выйдет, потому что эта <i>конкретная<\/i> трехэтажная команда вряд ли когда-нибудь появится.<\/li>\n<li>Согласитья на YOLO (You Only Live Once) режим и разрешить ему делать все, что угодно, даже  <i>rm -rf <\/i>\/<\/li>\n<\/ul>\n<p>Оба варианта, как вы понимаете, плохие.<\/p>\n<p><b>Как надо<\/b><\/p>\n<p>Клод код должен выдавать ЛЛМ понятные инструменты к файлам: прочитать, изменить, и т. д. ЛЛМ должна не грепать файлы, а читать их тулами. Тогда клод код с одной стороны сможет не спрашивать никаких разрешений на чтение файлов (разве что на .env), а с другой быть уверенным, что ЛЛМ ничего не сломает своей командой. Тулом чтения ничего сломать нельзя по определению.<\/p>\n<p>Да, это нужно программировать, а греп уже есть. Да, греп более атомарный и гибкий, чем любые придуманные тулы. Да, ЛЛМ точнее сгенерирует команду для грепа, поскольку она на них обучалась. Но блин, апрувить все команды — не решение вовсе.<\/p>\n<p>Понятно, что клод код не увидит мой пост, но вы, когда будете делать ИИ-фичи, не будьте как клод.<\/p>\n",
            "summary": "Клод код (Claude Code) заботится обо мне и показывает команды на согласования, к сожалению, он делает это без уважения плохо",
            "date_published": "2026-01-15T22:01:21+03:00",
            "date_modified": "2026-01-26T16:02:36+03:00",
            "tags": [
                "ИИ",
                "привычки"
            ],
            "image": "https:\/\/mikeozornin.ru\/blog\/pictures\/claude-code-1@2x.png",
            "_date_published_rfc2822": "Thu, 15 Jan 2026 22:01:21 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "212",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": [
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/claude-code-1@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/claude-code-2@2x.png"
                ]
            }
        },
        {
            "id": "211",
            "url": "https:\/\/mikeozornin.ru\/blog\/all\/recipe-scaler-release-3\/",
            "title": "Recipe scaler: релиз 3",
            "content_html": "<p>На новогодние праздники вышли два больших апдейта recipe-scaler<\/p>\n<p><b>Первый апдейт — публичный профиль и коллекции<\/b><br \/>\nСейчас можно шарить не только рецепты как одну штуку, но и всю коллекцию.<br \/>\nИли выборочно, или прибранные рецепты (с рецептом и фоткой), или вообще все-все-все<\/p>\n<p class=\"loud\"><a href=\"https:\/\/recipe-scaler.ru\/#\/public\/@\/mike.ozornin\">https:\/\/recipe-scaler.ru\/#\/public\/@\/mike.ozornin<\/a><\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/recipe-scaler-3@2x.png\" width=\"1024\" height=\"768\" alt=\"\" \/>\n<\/div>\n<p><b>Интеграция с ИИ-иссистентом<\/b><br \/>\nМожно через MCP подключиться к своему ассистенту. У кого-то клод, у кого-то курсор. Пока подглючивает чуток. Но смотрите, какая красота:<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/mcp-server-light@2x.png\" width=\"1024\" height=\"768\" alt=\"\" \/>\n<\/div>\n",
            "summary": "На новогодние праздники вышли два больших апдейта recipe-scaler",
            "date_published": "2026-01-13T23:50:10+03:00",
            "date_modified": "2026-04-05T17:48:36+03:00",
            "tags": [
                "recipe scaler",
                "готовка",
                "курсор",
                "проекты"
            ],
            "image": "https:\/\/mikeozornin.ru\/blog\/pictures\/recipe-scaler-3@2x.png",
            "_date_published_rfc2822": "Tue, 13 Jan 2026 23:50:10 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "211",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": [
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/recipe-scaler-3@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/mcp-server-light@2x.png"
                ]
            }
        }
    ],
    "_e2_version": 4199,
    "_e2_ua_string": "Aegea 11.5 (v4199)"
}