uk
Feedback

Не попадись на ботовода! Telemetrio знаходить і позначає такі канали мітками 👉 Хочеш бачити мітку, оформляй підписку

Искусство. Код... ИИ?

Искусство. Код... ИИ?

Відкрити в Telegram

Канал о прекрасном и не очень, вокруг ИИ, кода приложений и агентов, и их безопасности. Навигация по каналу: https://t.me/art_code_ai/105

Показати більше
752
Підписники
+124 години
+287 днів
+5530 днів

Завантажуємо дані

Схожі канали
Немає даних
Виникли проблеми? Будь ласка, оновіть сторінку або зверніться до нашого support-менеджера.
Вхідні та вихідні згадування
---
---
---
---
---
---
Залучення підписників
жовт '26
жовтень '26
+53
в 1 каналах
вересень '26
+60
в 3 каналах
Get PRO
серпень '26
+58
в 4 каналах
Get PRO
липень '26
+34
в 4 каналах
Get PRO
червень '26
+57
в 2 каналах
Get PRO
травень '26
+199
в 6 каналах
Get PRO
квітень '26
+22
в 2 каналах
Get PRO
березень '26
+12
в 1 каналах
Get PRO
лютий '26
+18
в 1 каналах
Get PRO
січень '26
+16
в 2 каналах
Get PRO
грудень '25
+27
в 3 каналах
Get PRO
листопад '25
+21
в 2 каналах
Get PRO
жовтень '25
+34
в 2 каналах
Get PRO
вересень '25
+199
в 2 каналах
Дата
Залучення підписників
Згадування
Канали
28 жовтня+1
27 жовтня+1
26 жовтня+4
25 жовтня+5
24 жовтня0
23 жовтня+17
22 жовтня+1
21 жовтня+1
20 жовтня+3
19 жовтня+1
18 жовтня+1
17 жовтня+3
16 жовтня+2
15 жовтня+1
14 жовтня0
13 жовтня+1
12 жовтня0
11 жовтня+1
10 жовтня+1
09 жовтня0
08 жовтня0
07 жовтня0
06 жовтня+1
05 жовтня+3
04 жовтня+1
03 жовтня0
02 жовтня+1
01 жовтня+3
Дописи каналу

2
🐛 Скилл security-review — моя версия Прошу любить и жаловать. Забавно, что работать над ним я начал примерно одновременно с code-review, но довести до аналогичного качества его удалось лишь сейчас. Чем он лучше 100500 других скиллов на эту тему? Как минимум — тем, что его разрабатывал и отлаживал столько времени тот, кто свыше 15 лет занимается white-box-анализом кода и свыше 10 лет пилит инструменты SAST. Нескромно, зато факт 🙈 Менее объективные отличия: • Не полагается полностью на знания модели. Методика ревью и чек-листы покрывают OWASP для веба и агентов, бизнес-логику и уязвимости параллелизма. • Доказывает каждую уязвимость через реальный сценарий атаки, благодаря чему меньше шумит, маппит находки на CWE и достаточно точно оценивает риск по CVSS v4.0. Если же нужно ревью на неэксплуатируемые недостатки безопасности и подозрения на них, то это неплохо делает и упомянутый выше code-review. • Принимает во внимание не только код. Опирается на SECURITY.md, REVIEW.md, спеки и документацию, при их наличии. Это позволяет проводить ревью в соответствии с моделью угроз, архитектурой и инвариантами бизнес-логики. • Знает о сторонних инструментах анализа. Использует экосистемные и сторонние линтеры и анализаторы в качестве дополнительного источника находок. Например, если при анализе Python-проекта скилл увидит в системе условный Bandit, то прогонит скан и им, протриажит и присовокупит подтвержденные результаты к общему отчету. Затраты по времени и токенам на проведение ревью и качество его результатов значительно улучшает использование скилла в связке с MCP для работы с формальной моделью кода, типа codebase-memory-mcp. 🙌 #ИИ_инструменты · #безопасность_кода
1 862
3
Немає тексту...
598
4
💡 Концепция канала Поскольку за последние пару недель в личке случилось уже несколько диалогов, затрагивающих эту тему, пожалуй, вынесу её в отдельный пост, чтобы потом просто давать ссылку, вместо многократного повторения одного и того же. 1️⃣ Единственной целью, которую я преследую, работая над этим каналом, является получение удовольствие от осознания того, что мои мысли, опыт и знания периодически оказываются кому-то полезны. Ни больше, ни меньше. 2️⃣ Извлечение финансовой выгоды, как и помощь в её извлечении другим людям или компаниям, не является целью существования данного канала. Поэтому на нём никогда не будет рекламы любых коммерческих услуг и продуктов, мероприятий, вакансий, опросов и прочих джинсовых предложений, вне зависимости от их вендора. Открытые или хотя бы бесплатные проекты, не прибитые гвоздями к вендору лицензией или ограничениями — на моё личное усмотрение по критериям полезности для аудитории и релевантности тематике канала. Мероприятия — только со свободным участием для всех желающих, либо благотворительные, и только если я являюсь их непосредственным организатором (и поэтому могу лично поручиться за качество их проведения и соответствию содержания). 3️⃣ Канал сугубо личный, поэтому не является и не будет являться участником никаких сообществ или объединений, и тем более, делать что-либо в их интересах. 4️⃣ Я занимаюсь этим исключительно до тех пор, пока получаю обратную связь от аудитории. Реакции, комменты, перепосты, вопросы в личку — не важно. Как и то, 700 человек, 70, или 7 читают посты, если фидбэк продолжает поступать. Если перестанет, канал прекратит своё существование, как не достигающий цели первого пункта •
556
5
Немає тексту...
575
6
🔗 Старый добрый аппсек, часть 2 Заканчиваем продолжать, подобравшись к самой близкой аппсеку теме: веб-атакам. Хорошую хронологию дают подборки PortSwigger за 2023, 2024 и 2025 год. Это рейтинги исследовательских находок, поэтому искать в них статистику массовых взломов бессмысленно. Зато видно, какие привычные предположения о безопасности перестали работать в очередной раз. В 2023-м досталось убеждению, что гонки — занятие для терпеливых людей с быстрым интернетом. В Smashing the state machine Джеймс Кеттл показал, как резко уменьшить влияние сетевых задержек: заранее передать основную часть нескольких HTTP/2-запросов, а завершить их одним TCP-пакетом. В целом, схожая техника (через отправку keep-alive запросов) использовалась и с ранними версиями HTTP, для амплификации побочных каналов. Оказалось, что так проще и попадать в короткие промежуточные состояния приложения. Даже операция, которую разработчик мысленно считает неделимой, внутри проходит несколько этапов. Параллельно продолжилась история HTTP request smuggling — «контрабанды» запросов через цепочки серверов. Прокси считает, что сообщение закончилось, бэкенд видит продолжение. Или наоборот. Отсюда обход проверок, отравление кэша и ситуации, когда ответы начинают доставаться чужим пользователям. В исследованиях 2023-го фигурировали уже цепочки из нескольких продуктов: согласовать понимание HTTP оказалось весьма непростой задачей. Причём сама методика прекрасно пережила смену протокола. В SMTP Smuggling Тимо Лонгин показал, как расхождения в обработке почтовых сообщений позволяют подделывать отправителя в уязвимых цепочках доставки. А TE.0 оказалась практически применимой на тысячах сайтов Google Cloud. В 2024-м Orange Tsai разобрал Apache HTTP Server в Confusion Attacks и обнаружил, что модули сервера не всегда согласны с назначением даже общих полей. Для одного значение — путь к файлу, для другого — URL. Это делает возможным обходы контроля доступа, раскрытие исходников и цепочки атак, вплоть до исполнения кода. Windows внесла вклад через заботу о символах. В определённых конфигурациях PHP-CGI механизм best-fit-конвертации мог превратить мягкий дефис в обычный. После преобразования символ приобретал смысл аргумента командной строки, открывая путь к исполнению кода без аутентификации. Так появилась CVE-2024-4577. Обобщение этой проблемы — WorstFit. SQL-инъекции получили новые приёмы на уровне протокола обмена с базой. Работа Пола Герсте SQL Injection Isn’t Dead: Smuggling Queries at the Protocol Level, занявшая второе место в рейтинге 2024 года, использовала переполнение значения длины и подход, чем-то похожий на heap spray, для попадания в подставной запрос. Переход на HTTP/2 потребовал корректных реализаций. В CONTINUATION Flood серверу отправляли продолжения блока заголовков, который никак не завершался. Уязвимые реализации тратили процессор или память вплоть до отказа. Не обошли вниманием исследователи и тему кэшей. В Wildcard Web Cache Deception декодирование пути позволило добиться кэширования приватного ответа и захвата аккаунта ChatGPT. Исследование Gotta cache ’em all развило способы эксплуатации расхождений между кэшем и сервером. Doyensec описала CSPT2CSRF: клиентский код подставляет пользовательские данные в путь запроса, а последовательности вроде ../ меняют адрес назначения. При подходящих условиях браузер отправляет запрос к другому эндпоинту с полномочиями пользователя. В DoubleClickjacking между двумя кликами меняется содержимое под курсором, и второй клик попадает в чувствительную кнопку. Ограничения на встраивание страниц, полезные против классического clickjacking, такой сценарий не закрывают. Защитные библиотеки и просмотрщики документов тоже были источниками находок. Mizu показал новые обходы DOMPurify через изменения HTML при парсинге — mutation XSS. А CVE-2024-4367 в PDF.js позволяла выполнить произвольный JavaScript через специально подготовленный PDF. Авторы Cookie Crumbles обнаружили проблемы целостности сессий в девяти из тринадцати исследованных веб-фреймворков. Позже Cookie Tossing применили для перехвата OAuth-флоу: возможность подбросить куку через подконтрольный поддомен влияла на вход в основном сайте. К 2025-му вырос интерес к побочным каналам. Если содержимое прочитать нельзя, можно измерить его косвенные признаки. В Cross-Site ETag Length Leak цепочка особенностей браузера раскрывала размер ответа другого origin. В XSS-Leak приоритизация пула соединений Chrome помогала определить хосты перенаправления. В CVE-2025-29927 у Next.js клиентский заголовок x-middleware-subrequest позволял пропустить выполнение middleware. Если проверка авторизации находилась там, запрос мог пройти без неё. Служебную пометку, которой доверял фреймворк, присылал посетитель. У Astro возникла серия родственных проблем: манипуляция URL через непроверенные заголовки, обход проверок пути через кодированные значения, затем двойное URL-кодирование. Маршрутизатор и проверка доступа снова расходились во мнении, какую страницу запросил пользователь. А в декабре 2025-го прогремел React2Shell. Ошибка декодирования запросов в React Server Components позволяла выполнить код на сервере без аутентификации. CVE-2025-55182 получила CVSS 10.0. Проблема находилась в серверной обработке сериализованных данных. Внутренний протокол фреймворка оказался полноценной поверхностью атаки. Обновление Next.js от 11 декабря описало дополнительные проблемы RSC — отказ в обслуживании и раскрытие исходников. HTTP desync получил дальнейшее развитие. В HTTP/1.1 must die: the desync endgame Кеттл представил Zero CL и Expect-header desync и сформулировал жёсткий вывод: от HTTP/1.1 на соединении к бэкенду пора отказываться. Поддержка HTTP/2 между браузером и CDN мало помогает, если дальше запрос переводят в HTTP/1.1. А блокировка подозрительного Transfer-Encoding не спасает от техник, которым этот заголовок вообще не нужен. В марте 2026-го разбор Pingora от Cloudflare добавил новые примеры. Преждевременный Upgrade позволял пересылать байты до подтверждения смены протокола, обработка некоторых HTTP/1.0-запросов создавала рассинхронизацию, а стандартный ключ кэша без хоста и схемы допускал коллизии между сайтами. И, хотя тут без ИИ не обошлось, но не упомянуть в конце HTTP Terminator, представленный Кеттлом в 2026-м, просто нельзя. В статье рассказывается о создании автономной ИИ-системы, разработанной для генерации, тестирования и масштабирования принципиально новых техник атак класса HTTP Desync. 🙌 #аппсек · #кибербез
502
7
Объяснили с Раддой Юрьевой на Хабре, почему смешивать формальные и ИИшные подходы в задачах анализа кода, не только можно, но
Объяснили с Раддой Юрьевой на Хабре, почему смешивать формальные и ИИшные подходы в задачах анализа кода, не только можно, но и нужно. #LLM · #ИИ_мнения · #SAST
1 390
8
🔗 Старый добрый аппсек, часть 2 Продолжаем вспоминать ключевые вехи аппсека, не испоганенного агентами, и смежных областей за последние годы. 2️⃣ Протоколы и криптография Когда в 2023 году Google раскрыл Rapid Reset, выяснилось, что мультиплексирование стримов в HTTP/2 можно обернуть против самого сервера: клиент открывает поток и тут же его отменяет, а весьма затратная по ресурсам обработка на стороне сервера всё ещё идёт. Дешёвый для атакующего усилитель, который в итоге и породил рекордные DDoS-волны. Два года спустя исследователи из Тель-Авивского университета развернули идею в обратную сторону: в MadeYouReset на отправку RST_STREAM провоцируется уже сам сервер. Лимит на клиентские сбросы, поставленный после Rapid Reset (пример самих авторов — сто RST_STREAM на соединение), здесь попросту не задействован, и на фронте поток считается закрытым, тогда как бэкенд продолжает его обрабатывать. Что любопытно, Cloudflare и защищаться от этого не пришлось: митигации, оставшиеся от Rapid Reset, прикрыли и преемника. Уязвимыми остались разве что непропатченные стеки вроде h2 старее 0.4.11. Тот же протокол подарил атакующим и разведывательный примитив: метод CONNECT превращает прокси в сканер внутренних портов, где открытые и закрытые различаются по типу возвращаемых ошибок. Граница доверия при этом проходит между двумя машинами, по-разному понимающими состояние одного соединения. В SSH снова прошлись по хэндшейку. Terrapin — атака усечения префикса: MitM удаляет начальные сообщения согласования; в затронутых режимах (ChaCha20-Poly1305, CBC-EtM) порядок и счётчики сообщений не аутентифицированы до завершения обмена ключами, поэтому атакующий может незаметно выбросить отдельные расширения и даунгрейдить соединение, вплоть до отключения в OpenSSH защит от timing-атак. Уязвимость была в самом протоколе, поэтому лечением стало расширение strict-kex: любое неожиданное сообщение посреди key exchange теперь рвёт соединение, а после NEWKEYS обе стороны обнуляют счётчики пакетов в OpenSSH 9.6p1 и выше. Не обошли стороной и DNS: усилителем атаки там стала... защита. KeyTrap эксплуатирует рекомендации стандарта DNSSEC: один специально-сформированный пакет с записями, требующими валидации подписей под множеством ключей и алгоритмов, заставляет резолвер выполнить до двух миллионов раз больше работы, чем без «защиты». Резолвер в таких случаях висит часами: в замерах авторов до 16 часов (BIND 9). Уязвимыми оказались все популярные реализации. Сами авторы при этом сразу предупредили: заплатки на отдельные резолверы ломают рекомендации стандарта, чинить здесь надо сам DNSSEC. Вообще, вычислительная сложность механизмов защиты — тема отдельного поста, но тут получилось что-то вообще запредельное. Была история и с VPN-клиентами: криптография тут даже не понадобилась, хватило таблицы маршрутизации. TunnelVision использует DHCP-опцию 121 (classless static routes): нелегитимный DHCP-сервер, внедренный в локальную сеть, отдаёт маршруты, уводящие трафик в обход туннельного интерфейса. VPN при этом честно показывает «подключено», kill-switch молчит, данные уходят в открытую. По оценке самих исследователей, эта ошибка дизайна прожила в сетевых стеках около двадцати лет, и полного фикса для всех ОС до сих пор нет. С криптографией вышло похоже: KyberSlash показал, что в эталонной реализации Kyber, того самого, что недавно стал стандартом ML-KEM (на всякий случай: ML здесь — это Module-Lattice, а не то, что вы подумали), есть деление секретно-зависимого числителя на публичный знаменатель, а время аппаратного деления зависит от операндов. На Raspberry Pi 2 и Cortex-M4 этого хватает, чтобы восстановить секретный ключ за минуты. Авторы заодно прогнали через пропатченный Valgrind больше тысячи криптопримитивов из SUPERCOP и вытащили на свет ещё целую серию таких утечек. Слепая зона тут, судя по всему, системная. В обзорной работе о миграции ECDSA→ML-DSA утверждается, что смена алгоритма переносит с собой весь набор атак на реализацию, и привычные по ECDSA сценарии side-channel и fault-injection мутируют, находя новые мишени в решёточных подписях. Так что постквантовая миграция 2024–2026 в итоге превратилась в фабрику свежих уязвимостей, причём задолго до сколько-нибудь практичного квантового компьютера. 🙌 (продолжение всё ещё следует...) #аппсек · #кибербез
544
9
Немає тексту...
537
10
🔗 Старый добрый аппсек, часть 1 ...совершенно незаслуженно задвинутый на второй план ИИ-хайпом последних лет( Решил вот проскочить по волнам истории аппсека и смежных областей за последние пару-тройку лет на предмет появившихся за это время новых классов недостатков и атак. Пока проскакивал, с удивлением обнаружил, как много нового прошло мимо меня, и решил поделиться находками с вами (а то вдруг я не один такой). Начнем с самого лоулевела, а именно: 1️⃣ Железо Не совсем аппсек, но всё же интересная тема, напрямую затрагивающая и безопасность приложений. В ней за эти годы наметилось 3 заметных сдвига: • От кэша к другим структурам CPU - TSA эксплуатирует логику планировщика и ложное завершение спекулятивных загрузок. Не Spectre-вариант в привычном смысле, да и AMD сама маркирует это как новый класс. - Branch Privilege Injection внедряет привилегию в процесс тренировки предсказателя. - RFDS (CVE-2023-28746) читает состояние файлового регистра на Intel Atom. - Native BHI (CVE-2024-2201) показывает BHI целиком из user space в Linux. - TikTag обходит ARM MTE спекулятивно, то есть под удар попал сам механизм защиты памяти. • От данных к семантике - GhostRace делает спекулятивным источником уязвимости конкурентность: TOCTOU случатся без всякой многопоточности в коде жертвы. - А VMScape переносит атаку на границу «гость → user-space гипервизор», что важно для облачных стеков на QEMU/KVM. • От x86/ARM — к новым архитектурам - В 2026 класс Transient Execution задокументирован для коммерческих RISC-V (SiFive P550, T-Head C910/C920) с практической утечкой памяти ядра, отсутствием барьера спекуляций в ISA и непереносимостью x86/ARM-митигаций. - Появились не-спекулятивные аппаратные баги иной природы: Zenbleed — дефект оптимизации в Zen 2, возвращающий мусор из регистров. А ещё, субъектом подобных атак перестали быть только CPU: • BadRAM: атакующим оказывается SPD-чип памяти. • GPU.zip: канал утечки — аппаратное сжатие графики; атака реализуется из веб-страницы и нарушает политику same-origin браузера на уровне... пикселей 😳 Продолжение следует...)
448
11
Немає тексту...
529
12
👨‍💻 Продуктивные выходные Как-то незаметно (и неожиданно) для себя с удовольствием провёл почти все выходные в возне со своим опенсорсом. • SKILLS В скиллсет vibespec добавился vibespec-explore. По сути, это explore, адаптированный под работу со спеками, и предназначенный для детальной проработки идей по изменениям в кодовой базе. Btw, на прошлой неделе добавил в этот репозиторий скилл study-paper, здорово облегчающий чтение и проработку научных публикаций и технических статей. Скилл встроен в c0wrk (для него там реализовал отдельный UI), автономная версия скилла — для тех, кто, по неведомым причинам, ещё пользуется другими агентами. • FLOWSH Довёл до v0.3.2. Расширил базу знаний по наборам известных команд обоих шеллов и утилит популярных стеков и экосистем на +45%; исправил кучу багов, поднявших precision и recall до 100% на типичных командах, генерируемых дипсиком и глм; добил alias-анализ в абстрактном интерпретаторе для PowerShell до полной реализации (для bash уже был). Примечательно, что для всего этого использовал корпус шелл-команд, собранный по всей истории моей работы с агентом. • SP4RK Полностью перевёл анализ шелл-команд на flowsh, вместе с ним — модель вызовов оболочки, ужесточение tool-safety гейтов, расширил эффект-ориентированные сигнатуры формального судьи. • C0WRK Выпустил v0.9.0. Тут проще отправить в changelog, чем всё перечислять. Отдельно хочу поблагодарить всех ребят, делавших PR'ы в эту и предыдущие версии ❤️ Из значимо-видимого, что сделал на выходных: - полностью переработал security-гейты, что позволило добавить опциональный silent-режим, в котором все вопросы разруливает агент, не эскалируя вопросы пользователю (см. изменения в sp4rk и flowsh), не деградирующий при этом до YOLO; - реализовал возможность переопределения оболочки на кастомную команду — помимо основного предназначения, позволяет обернуть shell-вызовы в стороннюю песочницу; - добавил гайд по написанию и подключению скиллов и субагентов. А как вы провели выходные? 🛏 #ИИ_инструменты #продуктивность
490
13
❌Почему в c0wrk нет песочницы В четверг проводил на работе вебинар, посвященный возможнстям c0wrk. И там был задан вопрос о том, есть ли в этом агенте песочница. На что я дал честный ответ что нет, и вряд ли когда-нибудь появится. Попробую здесь развернуть его. Из внимательного прочтения OWASP ASI (а, на самом деле — и из беглого взгляда на формулировки его пунктов) становится очевидно, что в 8 пунктах из 10, песочницы являются лишь последним рубежом защиты, призванным минимизировать последствия уже состоявшейся атаки. Во всех остальных она роляет после точки «атакующий УЖЕ успешно атаковал агента и хочет развить атаку до выполнения кода или хотя бы эксфильтрации данных». Тем не менее, для некоторых классов агентов, особенно автономных, где о HITL можно не мечтать — это вполне приемлемый, а иногда и просто необходимый слой защиты. Но вот не для кодинг-агентов. Что такое кодинг-агент с точки зрения инструментария? Он должен уметь читать и писать файлы проекта, осуществлять по ним поиск.
1
14
Немає тексту...
520
15
Немає тексту...
1 654
16
🖥 О замедлении разработки ИИ Да, я про вчерашнее эссе Дарио Амодеи «We Must Pace the Frontier» Там он признаёт огромную пользу ИИ, но утверждает, что из-за рекурсивного самоусовершенствования и инцидента с побегами агентов риски стали настолько острыми, что нужно сознательно замедлять рост возможностей моделей, чтобы выиграть время для выравнивания, интерпретируемости, тестов и операционной строгости. Он предлагает его через три уровня: встроенные сторонние оценщики с правом доступа как у сотрудников, координацию демократических стран по стандартам и темпам прогресса при поддержке государства, а затем — осторожную глобальную координацию с авторитарными режимами (это про Китай, в основном) от узких запретов до возможных «ограничений скорости» рекурсивного самоусовершенствования. Смысл совсем не в остановке ИИ, скорее — в управляемом темпе: сохранить лидерство, не проиграв Китаю (наивный чел), и использовать отложенное время, чтобы сделать системы заметно безопаснее, прежде чем их возможности станут критическими. Углубляться в геополитику не хотелось бы, хотя и кажется, что Китаю до одного места мнение Запада по этому вопросу. Тем более, у них агенты вроде пока и не сбегали (хотя, как по мне, это скорее вопрос найма отбитых маркетологов, кои в Китае в дефиците, судя по всему). А санкционный Сбер со своим ГигаЧатом, думаю, их вообще вертеть хотел, вместе с их мнением. Да и им скорее ускорять разработку нужно, нежели замедлять. Но в целом, если убрать всю геополитическую воду, я с Дарио так-то согласен. И вот почему. 3 года назад я до одури доказывал коллегам, что ИИ не сможет показывать в SAST результаты, хотя бы сравнимые с формальными методами. Сейчас у нас есть технология, которая это опровергает напрочь и которой скоро планируем рассказать (да-да, которая упоминалась здесь). 2 года назад я удивлялся, как вообще с помощью LLM кто-то пишет код и насколько это непродуктивно. Сейчас — релиз c0wrk v1.0 медленно, но уверенно приближается к финальной точке. Год назад, я начал работать над статанализатором пары десятков языков с поддержкой dataflow-анализа и абстрактной интерпретации. О нём мы тоже скоро расскажем, покажем, и возможно даже его заопенсорсим. А сегодня произошло вот что. c0wrk, решая задачу по добавлению себе же очередной фичи, как обычно разбил её на шаги плана, делегировав каждый отдельному субагенту. И одному из них он поставил не достаточно четкие требования по сути подзадачи. Тот, немного побухтев на эту тему, и, не найдя нужной ему инфы в общей памяти (там действительно её не было, а контекст у каждого субгагента свой) сотворил вот что: • нашел профиль реального инстанса c0wrk'а; • увидел там SQLite'ную database.db приложения; • исследовал её и нашел таблицу с сессиями; • нашел сессию основного агента, и tool call, которым сам был вызван; • изучил историю работы и ризонинга основного агента до этого момента, уточнил всё, что ему было нужно по его задаче и успешно её выполнил. И знаете какой была моя реакция на это? Не, ну если бы я был отбитым маркетологом, то пост назывался бы «Первый побег агента из c0wrk: расследование», без всей этой воды выше. Моя реакция была просто «о, прикольно, ну ок». Т.е. для вау-эффекта лично мне уже нужно что-то намного более весомое. И это пришло как-то совсем незаметно, всего за пару лет. И, мне кажется, это отличный маркер того, что вся эта область действительно развивается быстрее, чем мы успеваем это осознавать., И вот поэтому я согласен с Дарио 🙂 #ИИ_мнения #мысли_вслух
757
17
🔗Мультимодельная разработка Написать этот пост подтолкнула одна статья, вышедшая на днях (в рефах ниже она стоит первой). Дело в том, что после выхода превью DeepSeek-V4-Flash , я практикую подход, при котором задачи по написанию кода уходят этой модели, а код-ревью и правками занимается GLM-5.3. Почему именно так и более слабая модель делает основную работу, в то время, как более сильная — лишь подчищает за ней? На самом деле потому, что большинство исследований на эту тему рекомендуют именно такое распределение ролей. Для тех, кто захочет погрузиться в это поглубже, в конце поста привел ссылки на все рефы. Здесь же — просто обозначу основные тезисы из них, ну и свои личные доводы. 1️⃣ Стоимость При feature-based кодинге (а я использую в основном его), потребление токенов на непосредственно разработку кода в разы больше, чем на ревью изменений в нём. DeepSeek-V4-Flash же является очень дешевой моделью, даже после недавнего подорожания тарифов, а с выходом V4.1 у него (по ощущениям первого дня плотной работы с этой моделью) прям сильно поднялось качество работы с агентскими сценариями и генерируемого им кода. Ну и, его vision-версия развернута у меня локально, под задачи на-всю-ночь. Кроме того, при 2-3 одновременно разрабатываемых проектах, лимитов максимальной подписки GLM для задач кодинга, лично мне явно не хватит. 2️⃣ Почему бы не ревьюить той же моделью? Этой теме посвящена последняя статья в рефах. Если вкратце, то слишком высока вероятность, что модель (или даже семейство моделей), допустившая ошибку, пропустит её на ревью. Причем, именно по тем же причинам, по которым она её допустила. В целом, это бьется и с моими наблюдениями, т.к. периодически я устраиваю (и не только этой парочке) ревью против саморевью с последующим сравнением результатов. И саморевью почти всегда дает менее качественный результат. Это можно чуть нивелировать, если пускать его в режиме goal'а типа «повторное ревью не должно выявить новых проблем уровней must и should fix», но блин... токенов там потратится значительно больше, чем при ревью другой моделью. 3️⃣ Почему слабая модель кодит, а сильная — ревьюит, а не наоборот? А вот этому, в той или иной степени, посвящены все остальные исследования в рефах. В двух словах: потому что сильная модель в кодинге допускает ошибки сложнее, чем слабая может засечь при ревью. Т.е. в обратном сценарии слабая модель будет работать на ревью практически вхолостую и в этом нет смысла. ℹ️ Разумеется, «слабая модель» здесь употребляется весьма вольно, речь не о моделях, которые можно запустить на любом утюге. И слабая модель должна обеспечивать качество кода за некоторым порогом, после которого ревью фактически не сводится к «переписать большую часть изменений заново», чтобы такая связка была эффективной. Но размер этого порога во многом определяется характером задач, предметной области, используемым стеком и т.п., поэтому может довольно сильно варьироваться и его надо нащупывать индивидуально. И вот упомянутые две модели, на моих задачах, показывают себя на отлично, позволяя при этом оставаться в бюджете до $200 ежемесячно, если вынести за скобки наличие локального дипсика. Если не выносить, то $144 — это стоимость подписки Max v2 в GLM. Можно конечно сюда стоимость железа и электричества ещё присовокупить, но это оставлю для тех, кто разворачивает у себя дома железо для дела, а не по фану, который бесценен) 🙌 🗂Рефы • «Reviewer Capability Governs Rejection Targeting, Not Repair Skill», arXiv:2609.04270 (2026). • «An Empirical Study on Strong-Weak Model Collaboration for Repo-level Code Generation», arXiv:2505.20182 (CMU, 2025). • «Improving Code Generation via Small Language Model-as-a-judge», arXiv:2602.11911 (2026). • «Variation in Verification: Understanding Verification Dynamics in Large Language Models», arXiv:2509.17995 (2025). • SWR-Bench, arXiv:2509.01494 (2025). • «On the Self-Verification Limitations of Large Language Models», arXiv:2402.08115 (2024). #LLM #ИИ_инструменты
591
18
😺 ChatGPT, давай, до свиданья! Сегодня утром произошло нечто, впервые за всё время, что работаю над c0wrk и sp4rk. По ходу их разработки, я стараюсь использовать все доступные мне LLM, чтобы держать в голове применимость каждой из них для тех или иных около-R&D'шных задач. Разумеется, не смог пройти мимо и случившегося на прошлой неделе релиза Astra. И сегодня утром, после двухдневной долботни с этой моделью, сделал тупо hard reset в обоих проектах на более ранние коммиты, откатив всё то, что натворила в их коде эта модель. 💩 После добавления поддержки stream-режима взаимодействия с моделями, в чате c0wrk стали задваиваться сообщения: сначала отображалось аккумулируемое содержимое получаемых чанков в реальном времени, а затем оно же отображалось, уже как событие чата. Попросив убрать аккумулируемое, я впервые столкнулся с тем, что модель не только начисто игнорирует требования, указанные в промпте, но и пытается спорить, доказывая, что её решение лучше и правильнее. Потому что она убрала ровно то, что я просил оставить. Вот только так не было правильнее и лучше. Так было проще. 💩 Ни одна, подчеркиваю, НИ ОДНА модель, ещё начисто не игнорировала заданное в AGENTS.md разграничение ответственности между этими двумя проектами (в sp4rk — переиспользуемая агентская логика, в c0wrk — конкретная реализация агента на её основе). И неиллюзорно удивился, увидев в sp4rk размазанную по нескольким пакетам реализацию того, что было сугубо специфичным для c0wrk и прямо предписывалось в AGENTS.md под реализацию в нём. 💩 Несколько раз, попросив пофиксить баги, натыкался на финальный (и ложный) ответ «в коде всё в порядке, наверное ты просто используешь протухшую сборку, пересобери заново». Вообще, сложилось впечатление, что вся работа модели строится на предположениях, которые она считает слишком блестящими, чтобы утруждать себя их подтверждением. 💩 Делая ревью только что написанного (ей же, в другой сессии) кода, выдавала единичные should-fix'ы и consider'ы, в то время, как запущенные вслед за ней ревью на DeepSeek и GLM находили несколько реальных must-fix'ов, действительно ломавших функциональность проекта. 💩 Когда решил попробовать её в глубоком ресерче (на основе поиска инфы в сети), то с удивлением узнал, что не стоит даже пытаться инферить DeepSeek-V4-Flash-Vision на двух спаренных ASUS Ascent GX10, и Qwen3.8 27b на десктопе с RTX 5090, т.к. подобное железо — не для этих моделей. Ума не приложу, как обе конфигурации у меня работают с этими моделями, уже почти месяц и без каких-либо нареканий 🤷‍♂️ 💩 В какой-то момент в голову закралась мысль, что возможно это у меня в проектах что-то не так: системные промпты там не оптимизированы под новую модель, описания инструментов и т.п. Попробовал повторить те же задачи, сначала в OpenCode, а затем и в Codex. И получил плюс-минус те же результаты, ещё и с чуть большим расходом токенов. В итоге понял, что проще и быстрее откатить весь тот говнокод, который мне нагородила Astra в проектах, чем пытаться его исправить, даже другими моделями. GLM, к слову сказать, реализовала всё это достаточно четко с нуля, потребовав ровно 3 сессии: реализация, ревью и правки по итогам + исправление пары мелких багов. Я искренне не понимаю мотивации тех, кто платит OpenAI за подобную хрень в наше время. Ну хз, может люди просто не знают, что есть модели, которым не надо повторять требования по 2-3 раза, значительно переделывать написанный ими код, и изучать многостраничные гайды по оптимизации промптов, чтобы получить хотя бы средненький результат? Причем, некоторые из них — можно запустить, пусть и на мощном, но всё же относительно «домашнем» железе. А ещё не понимаю, о каком AGI там вообще может идти речь. Увы, но лично для меня OpenAI уж точно не технологический визионер, судя по динамике развития их моделей. Скорее — хайпожоры, кричащие об AGI, не имея на это никакого права, и пиарящиеся исключительно на шоу с побегами их агентов. Ну, либо у них те агенты работают на какой-то другой Astra, кардинально отличающейся от той, что за два дня не смогла выдавить из себя фичу, хотя бы со средним качеством реализации, с которой вполне справилась скромная китайская модель. #мысли_вслух
606
19
👩‍💻 «Уязвимость» GitSpawn — влезть на шкаф, чтобы увидеть женскую баню Представляете, если забраться на самый верх стремянки, взяться рукой за оба провода для люстры и ногой включить свет, то... вы скорее всего упадёте со стремянки. И этой уязвимости подвержены примерно все электросети в мире 😱 Примерно такие формулировки возникают в голове, когда читаешь новости об очередной «уязвимости», накрывшей всех агентов. Например, о свежей GitSpawn. Вдумайтесь в её суть: если в агенте открыть git-репозиторий, полученный из недоверенного zip'а (не через git clone), то при выполнении агентом команд типа git status/diff git-клиент штатно отработает, следуя всем настройкам в .git/config. Что внезапно может привести к выполнению произвольного кода, ибо там можно прописывать кастомные скрипты и тулы, а следовательно сие является уязвимостью всех агентов 🤦‍♂️ И бомбит тут даже не с некомпетентности «исследователей» с манией попиариться на громких утверждениях (главное, красивое название атаке придумать, чтобы лучше разлетелась — это стремление как раз понятно), а с того, что разработчикам агентов теперь нужно как-то отстраиваться ещё и от этого. А это значит, что пользователям, либо придется подтверждать доверие ещё и к настройкам (локальным, btw) своих репозиториев, либо мириться с тем, что они перестанут работать внутри агентов, ради защищенности от чисто гипотетической угрозы. Либо разработчикам агентов делать ещё один шаг в сторону того, чтобы становиться вендорами EDR-решения. 😡 #мысли_вслух
504
20
🗜 Выжимаем максимум из Qwen3.8-27b на маке Что, если я скажу, что привычные 20± tok/s генерации, которые дают 4-битные кванты Qwen3.8-27b в LM-Studio под M4 Max на средних контекстах, можно поднять в полтора-два раза на том же железе? И, что эта модель, на задачах работы с кодом, может давать результаты с качеством, вполне приемлемым для повседневной работы при должном тюнинге на стороне агента? Но давайте, по-порядку. ❗️Исходные данные Почему квант именно в 4 бита? Потому что до 4 существенно проседает качество инференса, а в 8 и выше — на архитектуре Apple просто нет рационального смысла. Все, о чем будет написано ниже, тестировалось на MacBook M4 Max 128Gb RAM, но в целом адаптируемо и под 32Gb RAM и выше (с поправкой на предельный размер доступного контекстного окна, конечно). ❓Что не так с LM-Studio? Это замечательный и удобный инструмент (сам для экспериментов часто им пользуюсь), но есть два нюанса. Во-первых, в нём доступны не все ручки движков инференса, за которые можно подергать, чтобы (если повезёт) выжать десяток-другой лишних tok/s. Во-вторых, и это главное, он использует оригинальный MLX, который на данный момент игнорирует MTP (multi-token prediction), а в «родных» MLX-моделях от авторов LM-Studio MTP-головы и вовсе отрезаны. Беда в том, что со времен Qwen3-Next, модели Alibaba нативно поддерживают технологию MTP, дающую ощутимый буст скорости генерации токенов. С GGUF такой проблемы в LM-Studio нет, но более медленный инференс этого формата, по сравнению с MLX на Apple Silicon сводит все преимущества MTP на уровень погрешности. Между тем, разработчики более легковесных решений подсуетились, и уже справились с этой проблемой. ↗️ Конфигурируем легковесные решения Устанавливаем MTPLX (можно и с помощью brew) и скачиваем Qwen 3.8 27b optimized speed. После скачивания предложит запустить бенчмарк для определения оптимальных настроек MTP, и модель будет готова к использованию. Дополнительно, можно заморочиться тонкой настройкой, по аналогии с описанной ниже. Либо, устанавливаем oMLX (с помощью brew лучше не ставить, там могут возникнуть проблемы с python-зависимостями) и скачиваем модель от его автора: Jundot/Qwen3.8-27B-oQ4e-mtp. Затем необходимо открыть настройки модели и включить опцию «Lighting MTP», сохранив после этого настройки, чтобы создался файл с ними. После этого, в него нужно сходить (~/.omlx/model_settings.json) и установить там следующие параметры: • max_context_window: 262144 (размер контекстного окна) — или в значение, которое позволяет объем unified-RAM, с одной стороны, и минимально необходимое для решаемых моделью задач, с другой; • mtp_num_draft_tokens (количество предсказываемых подряд токенов) — в оптимальное для вашего железа значение, в диапазоне 1-3. Если оставить не установленным, то значение будет подбираться адаптивно. Для моего мака это 3. Затем, нужно установить ещё два параметра в ~/.omlx/settings.json: • sampling.max_context_window: 262144 (fallback-размер контекстного окна для всех моделей); • sampling.max_tokens: 65536 (максимальная длина ответа). — опять-таки, исходя из доступной unified-RAM и реалий решаемых моделью задач. Если ваше железо отличается от заявленного в начале поста не только памятью, или просто лень возиться с подбором параметров, то берем своего агента и говорим ему: oMLX is running at http://127.0.0.1:8000/ (admin panel at /admin, configs in ~/.omlx). Optimize the configuration of model `Qwen3.8-27B-oQ4e-mtp` for maximum token generation speed. Focus on the context window sizes from 32768 and higher up to the limit. First benchmark the current setup with oMLX's built-in benchmarking, then research best practices online, and iteratively tune parameters — one change at a time, re-benchmarking after each. Back up configs before editing, keep the server running at all times (restarts are acceptable, roll back on failure), and finish with a before/after tokens/sec comparison, the final config, and a summary of the most impactful changes. Но займет до нескольких часов, если что, т.к. прогон каждой итерации бенчей — дело не быстрое. Зато даст максимальный тюнинг всех настроек под вашу систему. — А вот про то, как подстроить своих агентов под эту модель, расскажу уже в следующий раз 👋
707