Константин Доронин
3.11K subscribers
619 photos
312 videos
1 file
333 links
По любым вопросам, которые не хотите задавать в комментариях, можете писать напрямую – @kdoronin
Download Telegram
Мне нравится использовать гифки в переписках в Telegram.

Особенно, когда удаётся найти что-то неожиданно-точно подходящее под ситуацию. Те, с кем регулярно переписываемся, знают эту мою тягу к "смешным гифкам".

Сегодня откопал нейросеть для face swap в gif-файлах. Называется easel-gifswap. Я её использовал на не раз уже упомянутой в этом блоге платформе fal.ai.

Работает просто и эффектно. Загружаем фотографию лица в анфас, а потом гифку, на которой желаем заменить лицо. Через несколько секунд и 5 центов получаем готовую генерацию.


Чего стоит стараться избегать в генерациях:

1. Перекрытия лица на гифке. Например, руками или какими-то предметами.

2. Модель плохо работает с лицами в очках или с бородой. Могут возникать артефакты.

3. Сложная мимика. Спасибо Джеку Николсону, что показал мне это через сцену "Here's Johnny" 🙂

На результаты моих экспериментов можете посмотреть в медиа данного поста.
1🔥106👍4😁4
Media is too big
VIEW IN TELEGRAM
У Goose есть очень удобная функция, позволяющая создать пресет AI-агента, доступный по ссылке.

Помимо имени и описания, агенту можно задать специализированный набор расширений, а также задать кнопки быстрых действий (Activities) и кастомные инструкции.

Создаётся он на базе уже существующей сессии Goose. Так что из сессии агент также подтянет выбранную в ней LLM и историю сообщений.

Таким образом, на базе одного приложения Goose можно собрать целую группу AI-агентов с MCP и специальными инструкциями, каждый из которых выполняет определённые задачи.

Как создать такого AI-агента – смотрите на видео в данном посте.

Если вы ещё не знаете, что за Goose такой, то здесь я писал инструкцию о том, как его установить и настроить.
1🔥53👍3
Завершилась презентация Google I/O 2025, на которой, в том числе, было представлено множество новинок в сфере AI. Если не хотите более двух часов смотреть конференцию, в комментарии закину NotebookLM-подкаст, сгенерированный по презентации.

Любители текстовых версий, могут ознакомиться со статьёй в блоге Google.

Вместе с презентацией завершилась эпоха "У меня есть подписка за $20, которая позволяет мне быть на острие AI-технологий".

Google, вслед за OpenAI и Anthropic, распробовали подписку по цене x10. В случае с Google, это $250/месяц и зовётся данное безобразие "Ultra".

Самое интересное, что добавляет подписка, это, конечно, Veo3 (вместе с платформой Flow). Мощный AI-видеогенератор, который может генерировать длинные видео (Google показала примеры по полторы минуты) сразу со звуком. Несколько примеров видеогенерации закинул в медиа поста. Другие – можете посмотреть тут.

Также будет интересно глянуть на "Codex от Google", который называется Jules. Он доступен даже без $250/месяц за подписку.

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

Как вам Google I/O 2025? Какие AI-продукты от Google вы используете?
1👍8🔥53🤔1
Немного мыслей критического характера относительно технологии MCP.

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

Рецепт очень прост. Найти популярную программу или платформу и сделать для неё собственный MCP-сервер. После чего – рассказать об этом в Твиттере X или LinkedIn.

Готово! Вы восхитительны. У твита тысячи лайков и комментариев, а на GitHub сотни звёзд.

Думаю, что некоторые разработчики, благодаря собственным MCP-серверам, даже получали вкусные предложения от рекрутеров. Или даже устраивались на работу...

Иначе я не могу объяснить тот факт, что многие MCP-сервера обновлялись ровно один раз – в момент создания. И потом попросту останавливались в развитии. Никаких новых версий, обновления кода, увеличения стабильности и обеспечения дальнейшей работоспособности (да и у самого рыльце в пушку).

Ещё один момент, связанный с MCP-серверами. Зачастую, в них слишком много инструментов. Настолько много, что AI-агент начинает между ними путаться и без точных инструкций не всегда в состоянии понять, что и когда использовать. А ведь даже Cursor просит добавлять не более 45 tools одновременно.

И последнее. Качество. Многие MCP-сервера просто "навайбкожены" за три команды и выложены в сеть. И это вполне может быть единственный MCP для нужной вам платформы.

Выводы:

1. Лучший MCP-сервер – это тот, который пишешь себе сам. Можно и инструменты только нужные под задачу подобрать, и обновить, когда необходимо. Ещё и код у него такой знакомый и родной!

2. Хорошо, когда большие компании сами выпускают MCP-сервера для своих платформ. Как пример – GitHub MCP-сервер.

3. Если интегрировали в рабочий процесс MCP-сервер от разработчика-одиночки, будьте готовы самостоятельно его дописывать или даже переписывать.

Если у вас есть в подборке качественные (и проверенные временем) MCP-сервера – делитесь ссылками в комментариях. Будем собирать общую качественную базу.
213👍3🔥1🤔1
Попробовал вышедший сегодня Claude Sonnet 4. Благо, его сразу же завезли в Cursor. Opus 4 пока протестировать не удалось, так как Cursor уже съел все предоставленные им от Anthropic лимиты.

Sonnet 4 стал заметно лучше кодить и подходит к задачам более комплексно. Пишет тесты, развёрнутую документацию (другие модели, не только от Anthropic, очень часто отделываются отписками), скрипты для упрощённого запуска.

Что это значит для нас? Правильно! Инструкции должны стать ещё более строгими, а на каждом из этапов заставляем модель делать самопроверку. Плюс – добавляем формальные внешние проверки, в которых не задействованы LLM.

Потому что чем мощнее инструмент мы используем, тем больше нужно навыка, чтобы с ним эффективно управляться.

Факт остаётся фактом. С четвёртой версией Opus и Sonnet AI-разработку можно будет вывести на ещё более высокий уровень.

Cursor rules адаптирую под них и совсем скоро начну делиться в канале.
1👍11🔥87👎1
Эффективный набор MCP-серверов должен быть заточен под конкретную задачу.

Более того. Не набор MCP-серверов, а даже набор инструментов у каждого из этих MCP-серверов.

Схема выглядит следующим образом:

1. Мы используем AI-агента, выполняющего ровно одну узкоспециализированную задачу (желательно – детерменированную).

2. Возможности и ограничения AI-агента описывает строгий детальный промпт.

3. У агента есть минимально-необходимый набор инструментов, по которым в промпте есть инструкция, какой из них на каком этапе использовать.

Ранее я писал про Figma MCP-сервер. У этого сервера 30+ инструментов. Большая часть из них позволяет при помощи AI-агента "самостоятельно рисовать дизайн". Получается занятно, но в реальных задачах применить этот инструмент не представляется возможным.

А реальная задача, для которой мне нужен Figma MCP-сервер, – это вёрстка по макету. И мне совсем не нужны инструменты для добавления кнопочек.

При этом, для получения информации о nodes, нужен дополнительный инструмент, позволяющий получить информацию компактно. Это даст своего рода навигацию по нодам, позволяющую одну за другой брать их в работу и из них собирать страницу.

Ещё один нюанс – мне гораздо привычнее писать сервера на Python. Поэтому вчера я стартовал проект Python Figma MCP Server. С фокусом на задачи вёрстки. Завтра поделюсь его кодом и расширенной версией впечатлений от работы с Sonnet 4.
2👍157🔥4
Первая альфа-версия MCP-сервера для вёрстки макетов из Figma.

Код сервера можете посмотреть здесь.

Я возложил на Claude Sonnet 4 достаточно интересную задачу. Переписать уже готовый MCP-сервер на Python, улучшив архитектуру и сохранив при этом функциональность. При этом намеренно в этой задаче его никак не ограничивал, кроме, разве что, требования по архитектуре.

С первого промпта Sonnet 4, ожидаемо, не справился. Основные проблемы были в запуске и авторизации у websocket-сервера.

Поэтому мы (с Claude Sonnet 4) итеративно доработали MCP-сервер до состояния "хотя бы работает". Для этого пришлось ещё несколько раз привести оригинал в пример и объяснить, что именно и как должно работать.

После чего я удалил из MCP-сервера все методы, которые не пригодятся для задачи вёрстки. Реализацию методов в плагине для Figma пока что оставил (он полностью перекочевал из оригинального репозитория).

Sonnet 4 работает иначе, чем 3.7. Он пробует быть гораздо более самостоятельным и при этом имитирует работу ответственного разработчика. Можно оценить старания по написанным тестам, а также по качеству оформления Readme-файла. Но работоспособность программы "с первого раза" это всё ещё не обеспечивает. Более того, я всё-таки попросил привести архитектуру программы к FastMCP Best Practice. Думаю, без этого поддерживать код проекта уже на текущем этапе не представлялось бы возможным.

p.s.: только при реализации своего сервера обратил внимание, насколько же плох код у исходного Figma-плагина. Просто полотно JS-кода почти на 4000 строк. Даже вспомнились убойные проекты на jQuery из прошлого... 🙂
1🔥14👍63💩1
Первый сайт на заказ я сделал в начале 2010 года.

Это был сайт для маленького бизнеса по установке пластиковых окон. Стесняясь и краснея, я обозначил стоимость создания сайта аж в целых 1600 рублей. Заплатили мне их тогда очень просто, даже без попыток сбить цену.

Сейчас я понимаю, что этому микробизнесу сайт на самом деле был не нужен. И за всё время существования, скорее всего, сайт не привёл в бизнес ни одного клиента.

Просто время тогда такое было. Вокруг витал нарратив, что каждому бизнесу нужен сайт. И без присутствия в интернете жить как-то "не солидно".

Тогда же было популярно сделать клиенту типовой сайт "бесплатно" и посадить его на ежемесячный платёж за поддержку (во времена, когда слово "подписка" ещё не стало модным...), чтобы зарабатывать на нём с течением времени.

С развитием в профессии, я стал чаще понимать, когда сайт полезен, а когда лучше отговорить клиента от попыток выкинуть деньги на ветер. Чтобы не стоял сайт особняком от работающих бизнес-процессов, как памятник всеобщей некомпетентности.

Сейчас становится очень модно делать "AI-интеграции" для бизнеса. Ведь если её не сделать, то можно бесконечно отстать от всего цивилизованного мира (на вас всегда должно "небо падать", чтобы не было возможности принять взвешенное решение).

Здесь также могут быть ситуации, когда конкретной компании не нужно внедрять AI.

Встречал, как минимум, три кейса, когда AI внедрять НЕ следует:

1. Вы пытаетесь создать новый бизнес-процесс с помощью AI-интеграции. Это, как правило, дорого и у вас нет понимания, окупится ли внедрение когда-нибудь. Хуже всего, с точки зрения расходов, попытаться запустить этот бизнес-процесс при участии конечного пользователя. В таком случае неопределённость только увеличивается. А за ней неизбежно придут убытки.

2. Попытки улучшить, с помощью AI, большой и сложный процесс, о котором вы вообще ничего не знаете. То есть у вас нет данных о том, сколько денег процесс съедает и приносит. В таком случае у вас большие шансы начать терять деньги на AI вместо того, чтобы зарабатывать. Причём начнёте вы их терять ещё до запуска, так как внедрение AI – штука далеко не бесплатная.

3. К вам приходят "специалисты по внедрению искусственного интеллекта" и пытаются вам впарить дорогое "пакетное" предложение, даже не интересуясь данными о ваших бизнес-процессах. Такие ребята бьют массово по всему рынку, особо не заботясь о том, чтобы их решение потом работало и зарабатывало.

В сухом остатке, правило: сначала всё посчитать и оценить финансовый эффект от внедрения AI, а лишь потом маленькими шагами с максимальным контролем приступать к поэтапному внедрению искусственного интеллекта в бизнес.
1👍128🔥5😁1
Я достаточно давно знал о существовании сервиса context7.com, но добрался до тестов только сегодня.

На сайте опубликована актуальная документация по большому количеству (более 13000, ага) библиотек и языков.

Но дело не в сайте. Кого интересуют веб-морды во времена AI? 🙂

У них есть MCP-сервер. Код тут. Он решает извечную боль при написании кода через LLM. Когда библиотека обновилась, а база знаний о ней в LLM – нет. И AI-агент пытается использовать устаревшие интерфейсы в новых библиотеках. Потом ещё и версию пакета пытается понизить, "подогнав" под свой код.

Чтобы поставить MCP-сервер от context7 в Cursor, достаточно добавить в настройки mcp-серверов следующее:


"context7": {
"command": "npx",
"args": ["-y", "@upstash/context7-mcp"]
}


Готово. MCP-сервер установлен и готов к работе.

Самое крутое – у него всего два инструмента. То есть он не забивает, как многие другие, весь контекст LLM всеми возможными инструментами, 90% из которых никогда не будут использованы.

Можно в инструкции для AI-агента сразу прописать, что валидность любого используемого интерфейса библиотек обязательно проверять через Tools.

В общем, ещё один MCP-сервер, который сразу можно брать в работу без переделывания "под себя".
311👍7🔥6❤‍🔥2🤝1
У LLM в режиме чата есть интересная особенность. С каждым следующим символом вероятность того, что символ окажется последним, возрастает.

Потому что, на этапе обучения модели, у ответов, как правило, была некая средняя длина. Которой достаточно для решения большинства задач. Поэтому вероятность получить очень длинный ответ от модели не очень высока.

Рубрика "Кейс от подписчика".

Сегодня меня попросили разбить длинный документ на заметки по методу Zettelkasten. Потому как используемая LLM в режиме чата из PDF документа объёмом 8Мб создала всего лишь 10-15 карточек.

Отличная возможность потратить очередные 300-400 токенов от Manus!

Берём мастер-промпт, создаём промпт для Manus, чтобы он разбил документ на Zettelkasten-карточки в формате Markdown, адаптированные под Obsidian.

Количество карточек при этом задаёт пользователь.

30 минут работы агента – и готово. У меня получилось выжать из документа целых 400(!) карточек! Можно было даже не настолько сильно дробить документ.

Поэтому, если не знаете, куда потратить залежавшиеся токены в Manus, попросите его разбить на Zettelkasten-карточки книгу или научную статью, идеи из которой давно хотели изучить.
2👍86🔥42
В качестве продолжения ко вчерашнему посту – встречайте интерактивный проект с карточками Zettelkasten по "The 2025 AI Index Report" (PDF есть в комментариях).

Посмотреть веб-версию проекта можно здесь: https://xpqngsvk.manus.space/

Там 50 карточек по основным темам, распределённые по тегам и иерархии. Есть представление карточек в виде графа, а также не работающий поиск (решил не тратить токены на его починку).

Самое крутое – всё переведено на русский язык самим Manus! Правда, он дважды спросил "Тут объёмная задача. Мы точно хотим её делать?".

Заработало всё не с первого промпта. В первой версии не работал граф, а также отсутствовали страницы тегов. Добавлял их отдельными запросами.

Также Manus в процессе работы создал дополнительный чат, так как первый быстро переполнился контекстом (ни разу не виню. Он 400+ страниц PDF-документа перевёл).

Суммарно на эту задачу у меня ушло 2200 токенов. Большая часть из них потрачена на перевод, а также на создание сайта.
1👍128🔥5
"Карта, деньги, Pull Request" или "сказ о том, как Background Agent в Cursor работает и зарабатывает".

В один день с презентацией, на которой OpenAI представили Codex (писал про него тут), Cursor выкатили "Codex у нас дома". Он называется Background Agent.

Работает он по тому же принципу. Мы авторизуем приложение Cursor в GitHub и запускаем автономную задачу в режиме AI-агента. Агент самостоятельно поднимает виртуальное окружение, пишет код, после чего создаёт Pull Request. На скринкастах в медиа можете посмотреть, как это работает.

В моей кастомной Python-версии Figma MCP я использовал Figma Plugin от разработчика Cursor Talk to Figma MCP. К сожалению, этот плагин содержал один основной файл с 3915 строками JS-кода внутри. Поддерживать и развивать такое – очень непросто. Даже с AI.

Поэтому я попросил Background Agent провести рефакторинг данного плагина, чтобы облегчить его сопровождение. Результат его работы можете посмотреть в данном PR.

Что важно знать про режим Background Agent:

1. Прежде, чем его включать, необходимо отключить опцию Privacy Mode в General настройках Cursor. Без неё включить Background Agent попросту не получится.

2. После того, как Background Agent включён, необходимо авторизоваться в GitHub-аккаунте, в котором существует текущий (локальный) репозиторий.

3. Если вы хотите выбрать ветку, отличную от Main, она должна обязательно быть опубликована в GitHub. Если ветка существует только локально, то Cursor позволит её выбрать, но работать с ней не сможет и будет выдавать почему-то ошибку подключения к API.

4. Похоже, что в режиме Background Agent Cursor не использует MCP-сервера. Но использует встроенные Tools. Так как актуальную документацию по Figma агент изучал через поиск, а не через Context7 MCP.

5. Деньги. Важный пункт. Все запросы, которые идут в режиме Background Agent, тарифицируются по Usage-based pricing. То есть мы платим за все используемые токены. Я использовал для своей задачи Claude 4 Opus. Поэтому потратился (об этом – ниже).

6. Следствие из предыдущего пункта. Перед тем, как запустить задачу в Background Agent, необходимо включить поддержку Usage-based pricing и установить месячные лимиты. Cursor заботливо предлагает разгуляться на $50, но я оставил $20.

7. Background Agent беспринципно закинул мне в PR папку node_modules. Я отдельным коммитом убирал её, чтобы оставить только код, созданный агентом. Меня удивило, что Opus 4 не догадался обновить .gitignore, чтобы не допустить попадания папки в PR.

Какие результаты я получил по своей задаче:

1. На создание PR с 3178 строчками кода Background Agent потратил $14.20. В самом PR, как вы можете видеть, полностью обновлённый плагин для Figma.

2. Плагин, к счастью, завёлся с первого раза. Подключился к серверу и даже выдал токен авторизации. Это внушает надежду, что деньги не были выброшены на ветер 😊

3. В PR также попали служебные файлы от Background Agent, так что можно внимательно изучить, какой документации, по мнению Cursor, достаточно для того, чтобы автономно выполнять задачи небольшого объёма.

Вывод: эксперимент получился относительно дорогой, но это следствие того, что я очень хотел попробовать в деле Claude 4 Opus. В режиме AI-агента он действительно хорош. Я планирую попробовать недавно вышедший обновлённый DeepSeek-v3 и расскажу, что изменится в вопросах качества и стоимости результатов.
👍177🔥7
Во Flux Pro завезли модель Kontext. Которая привозит с собой отличный inpainting. То есть изменяет часть изображения, оставляя неизменным остальные области.

Чтобы попробовать бесплатно, берём промокод KONTEXT10 и идём его активировать в личный кабинет на https://fal.ai/.

При активации дадут $10, которых хватит на 125 генераций с моделью Kontext Max или на 250 с версией Pro. Цена – по $0.08 и $0.04 за генерацию соответственно.

Лучше всего модель справляется, если на текущем изображении нужно изменить какую-то незначительную деталь или цельный объект. В таком случае, Flux отлично определяет область для изменений, не редактируя лишнего.

Большая часть примеров из медиа поста – это Kontext Max. Работает он стабильно и, по моему мнению, хорошо справляется со своими задачами.

Также на fal.ai завезли экспериментальную Multi Image версию. Она работает не так чтобы нестабильно и всё, что я смог с её помощью сделать – это переодеть Нео в шаровары и отправить в далёкую-далёкую Галактику. При этом Киану Ривз перестал быть похожим на себя, как вы видите.
1🔥84👍3😁3