feelin
47 subscribers
90 photos
3 videos
4 files
168 links
Разработка, чистый код, AI, безопасность — и ещё миллион тем для холиваров.

Авторский канал Валерия Филатова, Developer Advocate и Project Lead в PVS-Studio.

По вопросам: @feeeeelin
Download Telegram
Нейросетевой разговорник
Часть 3. Контекст


Предыдущая часть

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

В базовом смысле контекст — это входные данные, которые точно понадобятся модели, чтобы решить вашу задачу, но в качестве контекста можно передать и много других полезных данных.

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

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

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

Но в передаче контекста важно также не переборщить. Важно понимать, что нейросеть будет опираться на ту информацию, что мы ей дали, и вполне вероятно, что лишний контекст лишь собьёт её с толку и понизит качество результата. Передавайте ровно столько информации, сколько нужно для решения, и не добавляйте информацию, которую модель точно не будет использовать.

Как и с любой другой частью промпта, в контексте нужно указывать всё максимально явно. Модель не должна догадываться или додумывать. А также можно помочь ИИ разобраться в контексте, структурировав информацию, например, с помощью списков.

Возвращаясь к моему примеру, мы можем передать такой контекст:

• Проект использует React 19 с функциональными компонентами, классовые компоненты не используются.

• Переиспользуемые компоненты уже есть в src/components/shared. При декомпозиции сначала проверь, нет ли там подходящего кода.

• Стилизация вынесена в отдельные .module.css файлы.


Здесь мы передали ровно столько информации, сколько нужно. React 19 даёт понимание, какие фичи фреймворка мы можем использовать, а также ограничивает модель в использовании именно функциональных компонентов, а не классовых. А также даём пару важных пунктов о том, откуда брать и куда складывать некоторые вещи.

🎤 feelin #ai
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥2
Нейросетевой разговорник
Часть 4. Роль


Предыдущая часть

Я уверен, вы много раз видели, что модели пишут что-то типа "Ты Senior Software Developer" или что-то в этом роде. Может показаться, что эта часть промпта подобна мемному "make no mistakes", но на самом деле указать подобное в промпте бывает полезным.

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

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

Естественно, роль должна соответствовать той задаче, которую нужно решить. Ещё лучше, если роль будет максимально конкретизирована, так мы сможем направить ИИ в верную сторону.

Но при этом модель должна понять, что вы имеете в виду, поэтому не стоит придумывать несуществующих титулов.

Для нашего примера с рефакторингом React-приложения мы могли бы указать роль следующим образом:

Ты Senior Frontend разработчик на React


В примере мы указали уровень экспертизы (Senior), область специализации (Frontend) и конкретизировали технологию (React), чтобы модель вела себя именно как разработчик интерфейсов на этом стеке.

🎤 feelin #ai
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥1
Нейросетевой разговорник
Часть 5. Ограничения


Предыдущая часть

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

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

К ограничениям относятся и требования по безопасности. Например, даже люди, использующие агентов для разработки ежедневно, могут не разрешать агенту взаимодействовать с системой контроля версий.

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

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

Для нашего примера мы могли бы задать такие ограничения:

Обязательно
• Никак не взаимодействуй с системой контроля версий.
• Все unit-тесты должны проходить.
• Не редактируй файлы тестов.
• Не добавляй никаких новых зависимостей в проект.

Желательно
• ESLint не должен выдавать ошибок (предупреждения допустимы, если не противоречат остальным пунктам).


В этом примере мы как определили для модели правила поведения, так и добавили дополнительные автоматические проверки, которые помогут модели понять, насколько её решение соответствует нашим критериям качества. Всё было разбито по приоритетам, а ESLint вынесен в желательные пункты, чтобы модель не циклилась на исправлении оформления кода в ущерб другим пунктам.

Отдельно обращу внимание, что формулировкой "все unit-тесты должны проходить" мы оставили агенту лазейку. Если бы не следующий пункт, он бы просто поменял файлы тестов под свой код и радостно бы сказал: "Я сделяль!"

🎤 feelin #ai
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥1
Нейросетевой разговорник
Часть 6. Формат вывода


Предыдущая часть

Ещё одна полезная опция в промптах — указание формата вывода. Это может пригодиться в разных ситуациях.

Например, если мы хотим увидеть в отклике модели короткий ответ без объяснений всего и вся, есть смысл указать, что нам нужен именно короткий ответ. Если мы хотим от модели фрагмент кода на C++, то нужно попросить у неё фрагмент кода на C++.

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

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

В таком случае также полезным будет не только сказать, в каком формате возвращать результат, но ещё и дать конкретную структуру, которую вы ждёте. То же может быть полезно и в обычном запросе без автоматизации, например, если мы хотим получить от модели таблицу.

С моим сквозным примером про рефакторинг React-приложения не очень получается добавить формат вывода, поскольку промпт пишется для использования модели в агентском режиме. Результатом работы нейросети будут вызовы нужных инструментов и изменения в нужных файлах, но мы чуть повернём в сторону:

После завершения рефакторинга предоставь отчёт в формате:
• Изменённые файлы (список)
• Что изменено в каждом (1-2 предложения)
• Какие пункты ограничений применялись, если применялись


С таким отчётом мы получим от модели данные о том, что конкретно она сделала, зачем это сделала и в какие ограничения упиралась в ходе работы.

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

🎤 feelin #ai
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Нейросетевой разговорник
Часть 7. Общий сбор


Предыдущая часть

Для структурирования промпта полезным будет правильно отформатировать текст. "Модель же не смотрит глазами, зачем форматировать текст?" — можете спросить вы. Но то, что для нас является покраской букв, для LLM будет определением структуры. Это, например, сократит итерации reasoning'а для понимания задачи.

Для форматирования промптов нам поможет старый добрый markdown. Всё по классике: для разделов и подразделов используем заголовки разных уровней, полужирным выделяем важные требования, курсивом — пояснения. Если в запросе есть фрагмент кода, его нужно обернуть в тройные бэктики, если мы выделяем в тексте конкретную сущность — используем одинарные.

Для структуры также важно собрать все кирпичики в правильном порядке. Мы двигались в чуть ином порядке, чем нужен модели. В конечном промпте лучше придерживаться такой последовательности:

• Роль
• Задача
• Контекст
• Ограничения
• Формат вывода

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

С учётом вышесказанного полный пример промпта, который мы собирали по пути к этому посту, будет выглядеть так:

# Роль
Ты Senior Frontend разработчик на React.

# Задача
Вынеси повторяющийся JSX и раздели компоненты длиннее 150 строк на более мелкие с одной зоной ответственности.

# Контекст
- Проект использует React 19 с функциональными компонентами, классовые компоненты не используются.
- Переиспользуемые компоненты уже есть в `src/components/shared`. При декомпозиции сначала проверь, нет ли там подходящего.
- Стилизация вынесена в отдельные `module.css` файлы.

# Ограничения
**Обязательно**
- Никак не взаимодействуй с системой контроля версий.
- Все unit-тесты должны проходить.
- Не редактируй файлы тестов.
- Не добавляй никаких новых зависимостей в проект.

**Желательно**
- ESLint не должен выдавать ошибок (предупреждения допустимы, если не противоречат остальным пунктам).

# Формат вывода
После завершения рефакторинга предоставь отчёт в формате:
- Изменённые файлы (список)
- Что изменено в каждом (1-2 предложения)
- Какие пункты ограничений применялись, если применялись


И ещё небольшой совет по экономии ресурсов: для промптов чаще лучше использовать английский язык. Модели обучаются на большом количестве англоязычных текстов, а также имеют более оптимизированный словарь токенов именно для английского языка. Поэтому, написав промпт на английском, можно сэкономить токены :)

Вот и всё! За 7 постов мы разобрались в том, из чего состоит промпт, и как его собрать. Об этом всём можно сказать ещё много всякого, но серию постов рано или поздно нужно заканчивать. К другим вопросам ещё успеем обратиться в этом канале. А пока, если у вас есть знакомый или коллега, который постоянно жалуется на глупые нейросети, поделитесь с ним этим постом. Думаю, что он узнает много нового :)

🎤 feelin #ai
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥1
У нас уже есть Claude Code дома

Рассказывая про приобретение своего Mac Mini, я упомянул, что одна из причин его покупки – возможность на нём гонять различные AI модели для собственного пользования. Я поэкспериментировал с этим некоторое время, и сегодня расскажу, что получилось.

Для начала, почему именно Mac? У компьютеров Apple довольно интересная архитектура памяти – так называемая объединённая память – когда одна и та же плашка является и оперативной, и видеопамятью. Это позволяет сократить большое количество издержек при работе с локальными моделями.

Ну и плюсом к этому идёт фирменная фишка Apple – специализированные инструменты, которые создаются под конкретное железо. Из таких, например, фреймворк MLX, который позволяет производителям моделей делать оптимизированные версии под яблочные чипы.

Для запуска моделей я использую LM Studio. У него и GUI, и возможность одной кнопкой поднять сервер с API в формате OpenAI, и поддержка MLX.

Для разработки я использую агента Pi. Он довольно минималистичный, не съедает много контекста системным промптом, да и в целом довольно быстро работает. По настройке также не требуется ничего сверхъестественного: добавляем модели в JSON-файл, выставляем им размер контекста, и готово!

Но! Должен всё-таки заметить, что на 16 ГБ видеопамяти явно не получится аналога Claude Opus или GPT-5.5. Сильного китайского опенсорса на таком железе не поставишь, а из тех моделей, что есть, сильно много не выжмешь.

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

Но для больших и сложных задач, конечно, сильно проще использовать Claude Code. Моей $20 подписки вполне хватает, чтобы автоматизировать какую-то рутину, тем более что недавно вышел Sonnet 5. Для локального агента пришлось бы декомпозировать задачу на такие мелкие части, что проще и быстрее уже взять и сделать своими руками.

🎤 feelin #ai
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3
Не делай так: работа без перерыва

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

Всё это, конечно же, ложь и провокация. Отдых — полезная штука (спасибо, кэп). И не только для банального восстановления. Отпуск позволяет хоть и ненадолго, но выйти из вакуума всяких рабочих проблем и других сложных серьёзностей, которые с тобой пять дней в неделю.

В итоге этот выход из вакуума не только возвращает тебя туда более энергичным, но ещё и позволяет посмотреть на старые вещи по-новому. Банально возвращаешься из отпуска, смотришь на код и понимаешь, что отдохнуть нужно было пораньше :)

Если вы удивлены внезапными рассказами про отпуск в этом канале, то это связано исключительно с тем, что на этой неделе я вышел из своего летнего отпуска, и всё произошло ровно так, как я описал выше.

Справедливости ради уточню, что мой последний отпуск вообще был полноценным IT-детоксом. Я не следил за технологическими новостями, не писал код, не читал техническую литературу. Только свежий воздух, бесконечный список фильмов и сериалов, которые нужно посмотреть, и другие простые удовольствия. Могу только рекомендовать такой опыт :)

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

Поэтому #неДелайТак — отдыхай!

🎤 feelin
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2❤1
Absolute Opus

Пока я ловил дзен в отпуске, Anthropic выпустили новый Claude Opus 5. И, казалось бы, самый обычный релиз: просто вечером раскатали модель, выпустили немного текстов и анонсов, но...

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

С одной стороны, весь этот хайп вокруг Fable выглядит немного иначе на фоне нового релиза: Opus 5 по цене вдвое ниже подбирается по возможностям почти вплотную к общедоступному Claude Fable.

С другой стороны, Anthropic никак не разгоняли хайп вокруг этого релиза. Хотя бы на своих ошибках учатся, уже хорошо :)

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

Про то, как с таким бороться, кстати у @t0digital есть классная презентация вот здесь.

🎤 feelin #ai
Please open Telegram to view this post
VIEW IN TELEGRAM
Yes Future!

Пока был в отпуске, покорял глубины YouTube, смотря всё, что непосмотрено. В итоге добрался до таких глубин, что рекомендации стали закидывать что-то незнакомое, но концептуально интересное.

Так мне на глаза попалась визуализация того, насколько выросли за время существования компьютеров единицы, которыми мы измеряем используемое дисковое пространство.

Примечателен здесь даже не тот факт, что привычные для нас вещи стали занимать столько памяти, сколько лет 15 назад нам казалось много, а более философский вопрос.

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

А ведь на самом деле будущее складывается из других, более мелких деталей.

Когда я начинал учиться тому, чем сегодня зарабатываю на жизнь, я даже не подозревал, что на работе весь рутинный труд за меня будет делать замысловатый алгоритм, позволяя мне заняться большим количеством более интересных и важных вещей, чем переписывать методы или перекладывать JSON.

И ведь во всём это происходит так — настолько постепенно, что мы привыкаем и двигаемся дальше, не замечая прогресса.

В голове прямо-таки крутится сравнение с Пелевинским «Трансгуманизмом», но всё-таки верится, что это просто противоположная стоковым картинкам сторона спектра.

🎤 feelin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
GuardConf 2026

12 ноября этого года в Москве пройдёт конференция GuardConf 2026, посвящённая разработке и защите софта.

В этом году я состою в программном комитете, и мы с коллегами прямо сейчас собираем программу — на прошлой неделе открыли Call For Papers. Если есть практический опыт, которым хочется поделиться, можно податься с докладом на один из двух треков:

• Инструменты разработчика: качество кода, инженерные практики, автоматизация, безопасность, Open Source, производительность, AI и другие инструменты.

• Стратегия и управление: архитектура, технический долг, масштабирование систем и команд, процессы разработки, AI в инженерных процессах.

Подробнее про конференцию можно прочитать на сайте, там же уже открыта форма регистрации. А по поводу спикерства можно написать мне напрямую.

Увидимся в ноябре!

🎤 feelin
Please open Telegram to view this post
VIEW IN TELEGRAM
😎3
С широко закрытыми глазами

Иногда в работе очень хочется позаботиться об удобстве пользователя.

Ведь понятно, что человек, который начнёт трогать то, что мы делаем, обязательно столкнётся с каким-то дискомфортом. Важно, чтобы всё работало исправно и быстро, но не менее важен и так называемый User Experience (или Developer Experience, если опираться на терминологию DevRel) — от него тоже зависит больша́я часть впечатлений.

Я сам долгое время терпел неудобство, которое разработчики продукта откладывали, вероятно, с мотивацией «ну потом, сейчас не горит». Публиковать большие отформатированные тексты в Telegram долгое время было настоящим адом. Сначала накидаешь текст в markdown, а потом ещё будь добр всё своё оформление переделать под то, как Telegram понимает markdown.

Но finally в мессенджере вышел полноценный markdown-редактор. Он сам по себе мне не очень нравится, и посты, сделанные в нём, мозг как-то отвергает — привыкли мы за годы, что заголовок идёт после картинки. Зато благодаря этому обновлению Telegram Desktop наконец-то умеет подхватывать markdown-форматирование в обычном редакторе сообщений.

Telegram здесь просто пример неудобного UX, с которым я сам сталкивался. Есть примеры и пострашнее. Например, корпоративный мессенджер от Яндекса каждый раз заставляет тебя извиняться, когда упоминаешь C++, потому что они придумали свой формат разметки, и в нём плюс означает нижнее подчёркивание.

Поэтому если вы задумывались, стоит ли так запариваться из-за UX — точно стоит. Но здесь тоже нужно знать меру. Ради мелочи, которая не сильно критична для пользователя, не стоит переписывать всю архитектуру :)

🎤 feelin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Мистер Андерсон!

Плохая новость: лето заканчивается. Хорошая: осенний сезон конференций и прочих мероприятий уже на подходе.

На одно из них зову вас сегодня. Мы в PVS-Studio запустили новый цикл вебинаров про использование AI в разработке.

Ближайший вебинар цикла пройдёт через неделю, 28 августа в 15:00, — будем разбираться, как контролировать качество кода в условиях, когда пишут его кодинг-агенты.

Я расскажу, к каким выводам пришёл, изучая способы контроля агентов, и поделюсь полезностями, которые можно прикрутить к своим пишущим код вёдрам с болтами.

Кроме меня будут коллеги с другими интересными темами. В общем, идти точно стоит :)

Регистрация здесь. Услышимся!

🎤 feelin
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3❤1
Технологическая диктатура

Для одного рабочего проекта потребовалось написать небольшой сервис для всяких манипуляций над его исходниками. Раз уж такое дело — решил попробовать что-то новое, не всё же на Python да TypeScript писать. Выбрал Go, который хайпится уже не первый год.

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

Есть C++ с миллионом компиляторов и стандартов, UB и всем подобным. Есть Python, в котором стандарт языка один, но он развивается сообществом разработчиков, которое принимает решения о тех или иных фичах.

Подход в Go — буквально диктатура. В Google когда-то решили, что писать будем так, значит писать будем так.

И этот подход нужен не для того, чтобы показать доминацию. Язык изначально придуман для того, чтобы писать максимально простой, производительный, поддерживаемый, а главное — безопасный код. Иным образом поддерживать такие цели было бы тяжело.

Каждый раз, сталкиваясь с какими-то своеобразными решениями — например, с обработкой ошибок через явный if err != nil вместо исключений — сразу понимаешь, почему это было сделано именно так: язык явно указывает тебе, в каком конкретном месте может появиться ошибка, и если ты её не обработал — это исключительно твоя ответственность.

🎤 feelin
Please open Telegram to view this post
VIEW IN TELEGRAM
I am the one who knocks

Я уже долгое время пользуюсь Claude для всяких задач. Раньше — только в качестве чата, сейчас уже ежедневно использую в агентском режиме. И недавно решил понять, как так вышло, — наткнулся на забавную мысль.

Я сижу на подписке Pro за 20$. Раньше лимитов такой подписки мне не особо хватало, чтобы сделать что-то серьёзное с Claude Code. Справедливости ради, мои эксперименты и без того не всегда увенчивались успехом — банально не хватало навыка работать с моделями и агентами. Но!

В последнее время Anthropic стали заваливать пользователей различными приятностями. Например, на протяжении какого-то времени лимиты на Claude Code были увеличены на 50%. Я за день делал множество задач разного объёма с помощью агента — и до конца лимита всё равно было далеко.

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

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

По местным законам должен на всякий случай напомнить: дети и взрослые, наркотики – это плохо. Не прикасайтесь к такому ни за что и никогда, лучше пишите код или сериал посмотрите :)

🎤 feelin #ai
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1😁1
PVS-Studio 8

Сегодня особенный повод, чтобы напомнить о том самом статическом анализаторе. Мы выпустили PVS-Studio 8.0 – новую major версию.

Главную цифру в номере версии мы решили сменить не просто так: в PVS-Studio появились новые анализаторы. Один умеет работать с JavaScript и TypeScript кодом, второй – с Go. У каждого из них уже больше 40 диагностических правил общего назначения, и ещё по одному – из категории OWASP.

Для работы с новыми анализаторами мы сделали отдельные плагины для WebStorm и GoLand. А в расширении для Visual Studio Code, которое у нас уже было, добавили поддержку новых языков и навели всякой другой красоты.

Из примеров такой красоты – новый формат файлов конфигурации, вдохновлённый лучшими практиками индустрии. Делали его в первую очередь ради удобства разработчика: теперь конфигурация – это TOML-файл, в котором легко разобраться.

Подробнее об изменениях в этом релизе можно прочитать здесь. А можно миновать лишнюю лирику и сразу взять пробную лицензию, чтобы попробовать всё новое вживую :)

🎤 feelin
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5❤1
Научить учёного

Тема моих евангелистских изысканий в новом сезоне выступлений – контроль кодинг-агентов в целом и взаимодействие SAST с AI в частности.

Пока что моё глобальное впечатление такое: в QA всё остаётся плюс-минус так же, просто с небольшими дополнениями. Одно из таких дополнений – умение вашего агента работать с нужными инструментами.

Чтобы провернуть такую авантюру, достаточно написать небольшой скилл, в котором будут описаны правила использования и нужные знания. Для примера я сделал такой скилл для нашего нового анализатора JavaScript и TypeScript кода.

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

Репозиторий открытый, поэтому можно при желании предложить какие-нибудь изменения. А если нужен подобный скилл для других инструментов в составе PVS-Studio – пишите, обсудим с коллегами.

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

🎤 feelin #ai
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2👀1
Компрессия по-французски

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

На прошлой неделе Ubisoft выпустила переиздание Heroes of Might and Magic 3, но забыла положить в папку нужные файлы. В итоге при загрузке игры за $10 на компьютер скачивался файл размером 23,49 КБ — вместо игры весом почти в гигабайт. И это при том, что та же Ubisoft параллельно анонсировала полноценный ремейк этой же игры на новом движке — он выйдет только в 2027-м.

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

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

🎤 feelin
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4😁1
Да кто такие эти ваши Best Practices?

Если история про Ubisoft вас тоже чем-то зацепила, ловите от меня тематический анонс :)

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

Я, естественно, тоже с таким сталкивался. И наконец-то нашёл время, чтобы проанализировать опыт и рассказать о результатах своих изысканий.

8 сентября совместно с AppSafe проведём вебинар «Автоматизация контроля качества и безопасности ПО».

И пусть довольно общая формулировка темы вас не пугает. Говорить будем о лучших практиках в разработке и безопасности, и о том, как всё-таки справиться с сопротивлением и внедрять их.

Регистрация доступна по ссылке.

Услышимся! 🎙

🎤 feelin
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5❤3
Понты дороже токенов

Думаю, что все уже видели новость про то, что OpenAI опубликовали доказательство теоремы Навье-Стокса, входящей в число "семи задач тысячелетия".

Интереснее этой новости, конечно, вся история вокруг неё. Если вдруг вы пропустили, Хабровчанин сделал неплохой пересказ всей эпопеи.

Меня сильнее самой истории порадовало только совпадение дат – во время всей этой загадочной истории выходит трейлер фильма "Искусственный", который рассказывает о том, как в 2023 году Альтмана уволили из OpenAI, а потом вернули обратно.

Мне кажется, что OpenAI нужно сделать постоянной практику генерации скандалов, которые можно превратить в фильм.

Уже прямо видится новая "Игра в имитацию", только вместо Алана Тьюринга и компании будут агенты Codex, а вместо нацистов – коварные учёные, которые решили обогнать Альтмана.

🎤 feelin #ai
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2❤1😁1
Яблочный телепорт

На прошлой неделе случайно нащупал технологию, о существовании которой даже не подозревал, делюсь экспириенсом.

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

И после его переезда мы заметили странную аномалию: при подключении к сети этого роутера телефон от Apple по геолокации телепортируется на предыдущий адрес моего обитания.

Сначала показалось, что это баг в картах Яндекса или лаг геолокации. А оказалось намного интереснее.

У Apple есть технология Wi-Fi Positioning System — она связывает Wi-Fi сети с геоданными. Смысл в том, чтобы улучшить работу геолокации внутри зданий, экономить энергию устройства и ускорять определение позиции за счёт передачи GPS начального контекста.

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

Большой брат даже ближе, чем вы думаете 🙂

🎤 feelin
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2🤨2
Plata за хайп

На прошлой неделе в IT-тусовке разразился скандал из-за ситуации с разработчиком-рилзмейкером из мексиканского банка с русским происхождением.

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

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

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

Забавно, конечно, наблюдать за подобными ситуациями, как за сериалом. Но, смотря за подобными твиттерскими трибуналами, иногда как будто забывается, чем мы вообще тут в IT все занимаемся.

🎤 feelin
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4