FastNews | Никита Пастухов
2.58K subscribers
117 photos
4 videos
1 file
224 links
Welcome! Я - Никита Пастухов: AI-энтузиаст и OpenSource разработчик (автор FastStream, AG2)

Здесь я пишу обо всем, что мне интересно

Чатик: @fastnewsdev_chat
Чатик по FastStream: @python_faststream
Мой GitHub: https://github.com/Lancetnik
Download Telegram
Нихрена интересного

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

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

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

Счетчик в интерфейсе показывал экономию 92,9%. На полной выборке в 32 000 команд вышло 22,1%. Медианный вызов сжал ровно ноль токенов - больше половины команд прошли сквозь rtk и вышли обратно такими же😑

Помесячно еще веселее: май 54,7%, июнь 56,1%, июль 15,1%, август 21,5%. И тут видно, что в мае я давал агенту вызывать rtk на любых командах, а к июлю повесил глобальный хук и ограничил его whitelist'ом команд🤷‍♂️

Проблема в том, что когда агент вызывал через rtk что хотел, он действительно сжимал МНОГО. Например, вызовы pytest ужимались на 80%. И rtk весело репортил в статистике, что пожал 100500 токенов. Но вот только rtk не учитывал, что после его пережатия агент плевался "мне тут rtk вызов попортил, пойду запущу команду в обход". Вот я и ограничил ему список команд, на которые стоит запускаться. Но сделал я это эмпирически.

И вот, спустя месяц, я решил проверить, а как на самом деле работает rtk? Отправил агента парсить логи всех своих сессий с момента установки rtk и искать ровно эти паттерны - когда агент плюнул на rtk и пошел в обход. В общем, спойлер, я оказался прав - тесты запускать не стоит.

Но всплыло еще кое-что интересное: например, я завернул все вызовы grep в rtk. А по статистике оказалось, что он падал с ошибкой на любые флаги - в 23,7% кейсов. Сначала я хотел вообще снести rtk нахрен, но потом умный Claude полез в релиз-ноуты. Оказывается, я два месяца сидел с багом, который давно пофиксили. Так что я обновился, перенастроил конфиг и юзаю его дальше.

Сейчас в whitelist восемь позиций: cat / head / tail (у rtk это все один фильтр read), ls, grep, find, diff, wc, gh и весь git, кроме status и log. Все остальное идет мимо хука.

Смешное тут, что в README у rtk заявлено 100+ команд, и половина списка: pytest, ruff, mypy, tsc, eslint, prettier, curl. Все это я у себя выключил. Оставшиеся девяносто с чем-то - AWS, kubectl, pulumi, cargo, sbt, rubocop, rspec - я просто не запускаю, ни разу за три месяца. А из тех восьми, что дожили, 84% всей экономии дает один cat🌚

Спустя неделю после обновления цифры такие:

• на командах, где он запускается, экономия 44,5%
• отказы парсинга упали с 23,7% до 1,2% - это когда rtk падает сам
• медианный вызов на произвольных командах как был нулем, так и остался

Читается это так: rtk работает, чето экономит на командах, где ему разрешили, но 99% команд идут мимо него - ну и пусть идут. Главное, что агент перестал переспрашивать команды после форматирования rtk, так что пусть экономит свои крохи. Он все равно стоит хуком, контекст не ест.

Теперь к дайджесту.

Что интересного все-таки нашлось:

Archify - прикольная рисовалка архитектуры по коду. Помогает визуально понять, что за архитектурные схемы вам агент пытается построить в коде;
BrowserSkill от Tencent - отдает агенту твой настоящий залогиненный браузер, вкладку он обязан одолжить и вернуть. Ставится одной фразой самому агенту, дальше он справляется сам;
claude-mem - память между сессиями, но ценен протокол доступа: search отдает индекс по 50-100 токенов на результат, детали тянутся потом и только по отфильтрованным ID. Заявлена экономия ×10;
Skill Sunset - аудит накопленных CLAUDE.md и SKILL.md: ищет раздутые always-loaded файлы и протухшие правила. Локально, без единого вызова модели.

Все, что проходит фильтр рубрики, копится в репозитории awesome-engineering-ai - там же мои вердикты по тем, что успел потыкать.

#AI
🔥145👍2👀1
Почему LLM вызывает привыкание?

Весной я писал, что Claude Code превращает работу в казино-разработку. Тогда это было просто ощущение, но теперь я нашел ему теоретическую базу.

Читаю книгу "На крючке" Нира Эяля - настольную книгу продактов про то, как строить продукты, формирующие привычку. Модель довольно простая, состоит из 4 шагов по кругу:

Триггер - что заставляет открыть продукт
Действие - минимальное усилие ради награды
Переменное вознаграждение - награда, которую нельзя предсказать
Инвестиция - ваш вклад в продукт, который повышает его ценность и цену ухода

По этой модели построены Instagram, Pinterest, Google и вся лента, в которой вы залипаете. Теперь примерьте ее на работу с LLM🌚

Триггер - любой затык в задаче - раньше гуглил, теперь "спрошу у Claude"
Действие - написать промпт, порог - ноль

Переменное вознаграждение - почему мы привязаны к LLM вообще

Продакты Instagram проектировали свою слот-машину годами: pull-to-refresh, непредсказуемая лента, лайки пачками. LLM не проектировал никто:

LLM - слот-машина из коробки. Переменное вознаграждение зашито в саму стохастическую природу модели


Одна и та же задача решается с первого промпта блестяще - или разваливается на ровном месте. Предсказать нельзя. Поэтому НУ ТЕПЕРЬ ТОЧНО ПОВЕЗЕТ - и депаешь токены дальше😎 По Эялю непредсказуемость награды - самый сильный механизм формирования привычки (голуби Скиннера, вот это все). Мы построили индустрию на механике игровых автоматов и удивляемся, что не хочется писать код руками😅

Инвестиция - почему мы привязаны к провайдеру в частности

Четвертый шаг у Эяля самый недооцененный: каждый ваш вклад в продукт повышает цену ухода. Фотки в Instagram, доски в Pinterest, заметки в Evernote - все это нельзя забрать с собой.

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

Именно поэтому Anthropic весной выкатили импорт памяти из ChatGPT, Gemini и Copilot - специально чтобы снизить вам цену переезда к себе.

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

Ну что, родные, еще не слопнулись?

#AI #книги
👍12🤔10😁53🔥2🤡2
Хватит нести бред про миллион токенов

Я заебался это слушать. Каждый релиз модели - новое окно на 1кк, и каждый раз находится кто-то, кто выдает: теперь можно не думать о контексте.

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

В июле я про это уже писал: https://t.me/fastnewsdev/360. Тогда это опиралось на мой опыт, без единого пруфа. На днях поспорил в чате, услышал, что представления у меня устаревшие, и полез за пруфами. Собрал сильно больше, чем ждал😅

Lost in the middle, 2023 год

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

Но самое прикольное даже не это. Когда нужный документ лежал в середине, GPT-3.5 отвечал ХУЖЕ, чем когда ему вообще не давали документов. Контекст в этой позиции не бесполезен, а даже вредит.

И вторая находка: модели с расширенным окном показали ровно те же цифры, что и базовые. Уже в 2023 измерили - окно побольше не значит, что модель им пользуется.

Context Rot, 2025 год

Отчет Chroma на 18 моделях - Claude 4, GPT-4.1, Gemini 2.5. Отсюда термин.

Главное: деградация - это НЕ переполнение окна. Модель начинает врать задолго до лимита и на тривиальных задачах.

• чем меньше вопрос буквально совпадает с ответом - тем быстрее падение качества
• на перемешанном тексте модели работают даже лучше, чем на связном

Почему так

Внимание - это распределение фиксированной суммы. Модель раскладывает 100% внимания по всем токенам окна: чем их больше, тем меньше достается каждому. Между 8к и 256к разница в 32 раза. Плюс училась она на коротких текстах - двухсоттысячную позицию почти не видела. Отсюда и края: начало с концом конкуренцию выигрывают, середина проигрывает.

И главное - у модели нет адресной памяти. Она не достает факт, а размазывает по нему внимание вместе со всем остальным мусором. Поэтому хорошим поиском это не лечится, измерено отдельно: даже когда модель извлекает все нужное идеально, качество падает на 13.9-85%.

Самое демонстративное

LOCA-bench, февраль 2026. Агенту дают задачу и раздувают вокруг него окружение, не трогая задачу. Точность по длине:

• Claude-4.5-Opus: 96% на 8к, 84% на 32к, 65% на 64к, 34% на 128к, 14.7% на 256к
• GPT-5.2-Medium: 72%, 60%, 52%, 38.7%, 21.3%
• Gemini-3-Flash: 64%, 40%, 36%, 21.3%, 17.3%

У Opus заявленное окно - 200к, и на 256к от него остается 14.7%. Причем мои 200к тут выглядят даже щедро. Половина точности теряется уже к 100к.

Самое свежее

PredicateLongBench от NVIDIA, июль 2026. Модели совсем свежие - Opus 4.6, GPT-5.4, Gemini 3.1 Pro.

История повторяется: на сложных вариантах Opus 4.6 проваливается до 7%, а на самом тяжелом лучший результат - 10% у Gemini при 1% у Opus и GPT😑

Что с этим делать

Вывод ровно один: контекст надо не чистить, а не засорять.

Там же померили, что помогает при 128к: programmatic tool calling поднимает GPT-5.2 с 38.7% до 49.3%, context awareness тащит Gemini с 21.3% до 33.3%. А тупое удаление старого не дает почти ничего - очистка тулколлов +1.3 пункта, автокомпакция (привет, /compact) местами вообще в минус.

Что из этого делаю я:

Одна сессия - одна задача. Не тянуть диалог, пока он не превратился в тыкву
План живет в файле, а не в диалоге. О чем и был пост про SDD
Progressive disclosure. Пусть агент сам сходит за информацией, когда понадобится
Никакой надежды на автокомпакцию. Померили на агентах: полный контекст 85.7%, он же со сжатием - 63.7%. Если использовать /compact - то только с указанием, что должно остаться

И перестаньте смотреть на чиселко максимального контекста при выборе модели. Его вам и так хватит.

Контроль контекста - не оптимизация и не тюнинг для задротов. Сейчас это ваша основная работа. Пока не поменяется архитектура моделей - придется приседать вокруг контекста руками.

Можете кидать этот пост любым приверженцам "А у X КОНТЕКСТ БОЛЬШЕ" - пусть спорят со мной в комментариях

#архитектура #AI
👍32🔥112🤔1
Для тех, кому лень слушать подкаст, всегда можно натравить нейронку сгенерировать из него комикс😂 Идея принадлежит @pmdmpmdmpm из чата

Версия в чате не сходилась с самим подкастом - GPT нагенерила дженерик историй вместо того, что я рассказывал. Поэтому я решил поиграться и сделать нормальный комикс. Из пяти попыток нормального ничего так и не вышло, поэтому держите самую мемную🌚
😁31👍2🌚2🔥1
Я как-то немного потерял смысл делать #digest агентского тулинга, т.к. там сейчас только инфошум...

Не рассказывать же вам о релизах моделей в конце концов? - ну ладно, вышли GPT Astra AGI 6🤯, Fable 5.1 и Muse Spark 1.3 (вдруг вы пропустили)

Но что-то полезное на прошлой недели все-таки нашлось:

https://github.com/Nanako0129/sepia - еще один скилл, который "заставляет агента писать нормальные тексты". Но этот теперь опирается на настоящие исследования. А еще в нем есть отдельные правила под написание текста в популярных сценариях: описания Issue, PR и тд. Для себя я пока так и не решил эту проблему, так что будем посмотреть

https://github.com/MrZoyo/deslop-GPT - а вот это пушка-бомба-мастхев. Во всяком случае по описанию. Скилл нацелен на удаление лишнего кода ~50% - распухшие тесты, ~25% - "театр верификации", ~25% - защитный код. Я что-то такое сделал в скиллах внутри FastStream, но пока только обкатываю. Так что этот скилл тоже попробую
118👍8🔥4
Я сам себя заменю. Это мой карьерный план!

У Прокопова был интересный пост: 20 лет точил самурайский меч мастерства, а теперь можно купить сто тупых ножей из Икеи - и нарезать ими в десять раз больше моркови. Зачем теперь твоя заточка?

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

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

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

Я сам себя заменил. Это будет level up


Мне возразили: "это лошади, приветствующие трактор", но я с этим вообще не согласен. Лошадь не проектирует трактор. Инженер, который упаковал свой вкус и опыт в систему - не лошадь, а конструктор тракторного завода🌚 Разница принципиальная: меня заменяет не технология, а моя же экспертиза, оформленная в артефакты. И кто-то должен ее туда оформить.

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

Но одно вижу уже сейчас: "я хорошо пишу код" перестает быть профессией. Профессией становится "я умею объяснить системе, что такое хорошо".

#AI #карьера
👍31🤡76🎉1
FastNews | Никита Пастухов
Я как-то немного потерял смысл делать #digest агентского тулинга, т.к. там сейчас только инфошум... Не рассказывать же вам о релизах моделей в конце концов? - ну ладно, вышли GPT Astra AGI 6🤯, Fable 5.1 и Muse Spark 1.3 (вдруг вы пропустили) Но что-то полезное…
Я снова пропустил #digest агенсткого тулинга, потому что там все как-то тухленько. Но кое-кто из вас напомнил мне, что не дело оставлять любимых коллег без ссылок на "потыкать"🥲

Поэтому вот - единственная стоящая находка этой недели https://github.com/redhat-et/ripwire
Ripwire - еще одна замена grep в копилку codegraph / graphify / code-review-graph и десятков таких же инструментов. Но этот делают серьезные ребята - Redhat, так что стоит попробовать

Проблема всех этих тулов в том, что ни один из них у меня особо не завелся... Агент всегда продолжает вызывать grep с завидным упорством. И чем новее модель - тем упорнее она grep'ет. Чтож, возможно, я как-то криво настраиваю. Промпт не тот, модель не та, да и оператор так себе. Когда-нибудь я соберусь и составлю нормальный бенчмарк всех этих инструментов и мы выберем лучший

По прошлому выпуску:
https://github.com/Nanako0129/sepia - да, тексты становятся из коробки ЗНАЧИТЕЛЬНО лучше. Не идеально, но терпимо. Забавно, что я этот скилл даже не устанавливал, а периодически кидаю в контекст чата ссылку и говорю "иди перепиши по правилам из того скила на гите" - оказывается, можно использовать и так😂
https://github.com/MrZoyo/deslop-GPT - норм. Использовал один раз на проекте, который прямо зарос слопом. Стало лучше. Ставить ли на постоянку? Не знаю. Но прогнать свой проект хотя бы разок стоит

Напоследок хочу всех предупредить - мне уже поднадоело писать про AI, поэтому ближайшее время вас ждет мощная волна авторского щитпостинга🌚 Успейте отписаться сегодня, а то завтра я обижусь👌
👍158😁4🔥3🤡2🍓1
Забавно, что лучшую иллюстрацию OpenSource комьюнити я нашел в сериале про рестораны...

Смотрю я, значит, "The Bear" (отличный сериал, к слову) - и там во 2 сезоне одного из главных персонажей отправляют стажироваться в мишленовский ресторан. А там происходит типичный путь героя: сначала он сопротивляется грязной работе, потом проникается атмосферой этого места и преображается - становится мегамотивированным, ответственным и вообще самым-самым рьяным администратором😁

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

Да, работа очень стрессовая, но и очень драйвит. Те, кто не справляется со стрессом - уходят. Те же, кто остался - это огромные профессионалы. Люди, которые горят этим делом. Им не нужна внешняя мотивация - они кайфуют от процесса и это заставляет их выкладываться изо всех сил. А когда приходит спад мотивации, ты смотришь на коллег рядом, как они любят это дело, и вспоминаешь почему сам любил его. Окружение очень сильно влияет на наше удовольствие от работы (ага, та самая "амбициозная молодая команда профессионалов" и "печеньки на кофепоинте"😑)

Итого: чувство причастности к чему-то важному, команда с огромным опытом, экспертностью и горящими глазами - ничего не напоминает?

Именно такой у меня опыт от работы в OpenSource.

Нетворкинг с выдающимися профессионалами своего дела, энтузиастами, чувство причастности к чему-то важному и ответственность за продакшен тысяч людей. Это какой-то наркотик, от которого ты и страдаешь, и кайфуешь. На этот наркотик подсаживаешься не только ты сам, но и тянешь за собой кучу людей - ведь первая доза бесплатно (не хотите попробовать закрыть пару Issue? 🌚). И вот ты уже не один, а у вас целый кружок друзей-энтузиастов-наркоманов-опенсорсеров, которые дебажат чужой баг с прода в пятницу после работы.

Иллюстративный пример: когда я работал над поддержкой NATS, я зашел в чат их комьюнити и увидел обсуждение моей беты со словами "пока не будем смотреть". Вполне резонно, я делал наобум и не знал, как NATS работает, какие у ребят кейсы. Но в чате нашел оч крутого эксперта, который шарит за брокер - и мы с ним три месяца вдвоем дизайнили API. Он не получил за это ни копейки и ни строчки в резюме. Просто ему было не все равно, как будет выглядеть интеграция с его любимым брокером. Зато в итоге результатом был доволен и я, и комьюнити NATS.

Кстати, тут стоит напомнить, что в OpenSource денег нет. Зато есть люди и чувство причастности. Это идеальное место для тех, кто ЛЮБИТ технологии. Ведь если ты любишь заниматься своим делом - то будешь заниматься им и бесплатно / почти даром (сотрудники Яндекса не дадут соврать🌚)

#opensource
🔥16😁41🤔1🗿1
С днем рождения🎉 Сегодня, ровно 3 года назад, 18 сентября 2023 года, вышла первая версия FastStream 0.1.0

Магия OpenSource в том, что ты сидишь пилишь свой код, а потом приходит живой человек и говорит "а вот тут не работает", а иногда даже "я САМ починил". А потом вы пьете пиво на конференции, приходит больше людей - и так появляется комьюнити. И это уже не твой личный проект по вечерам, а НАШ проект. Для меня это до сих пор выглядит невероятно!

Так за три года FastStream вырос из моего личного проекта в настоящий OpenSource. И это не моя заслуга, а ваша: пользователей, кто адоптит проект и репортит баги, компаний, что добавляют FS в требования вакансий, контрибуторов, кто помогает закрывать Issue, и мейнтейнеров, кто тащат огромные домены. Поэтому сегодня я хочу поздравить все комьюнити FastStream и сказать спасибо людям, которые сделали этот проект:

@borisalekseev - мейнтейнер MQTT. Ради FS он написал с нуля асинхронный клиент zMQTT. Это вклад во всю экосистему Python, не только во фреймворк
@Sehat1137 - наш мейнтейнер CLI части и главный амбассадор FastStream (во всяком случае у него больше всего статей). Он и привел к нам в команду Бориса😂
@powersemmi - мейнтейнер всего Redis в FastStream. Затащил самые непонятные фичи Redis Streams, Cluster, Sentinel. А сейчас пилит свой аналог на Rust - RustStream!
@draincoder - человек, который стоит за OpenTelemetry, да и вообще всем Observability в FastStream
@roma-frolov - затащил нам поддержку Prometheus, легенда
@ApusBerliozi - наш главный член Triage Team. Разгреб вековые залежи Issue, а сейчас пилит бенчмарки, чтобы мы подтянули производительность
@IvanKirpichnikov - самый молодой и самый активный в команде. Половина работы по 1.0.0 - его
@dolfinus - человек, трудами которого был настроен весь CI репозитория. А еще он затащил FastStream в корпоративную либу MTS
@C3EQUALZz - разработал для нужд своей компании адаптер faststream-celery для плавной миграции легаси проектов и вывел его в OpenSource!
@Shepard2154 и @vvlrff - ребята помогли нам сделать лучшую фичу - AsyncAPI TryItOut. 2 года переговоров с мейнтейнерами AsyncAPI - но мы сделали это!
@lesnik512 - интегрировал FastStream в свои комьюнити-проекты, принес кучу багов с прода, а теперь курирует awesome-faststream
@ApostolFet - мейнтейнер dishka-faststream, спасибо!
• спасибо @RenameMe1, @NelsonNotes, @pepellsd, @Rusich90, @Flosckow, @spataphore1337, @sheldygg, @DABND19 - ребята сделали важный вклад в репозиторий в свое время, но личная жизнь забирает лучших из нас🥲 Если что - мы всегда будем рады их возвращению в команду🌚
• спасибо всем и каждому из 170+ контрибуторов в репозитории
• спасибо каждому автору, кто написал статью или выступил с докладом про FastStream
• спасибо каждому пользователю, кто убедил работодателя затащить фреймворк
• спасибо Никите Соболеву и другим людям, кто помогает популяризировать фреймворк
• спасибо @Tishka17 за его активное участие в обсуждении дизайна

Кого забыл - простите, вас правда много🥲

Куда доехал код

Сейчас от FastStream зависит прод сотен компаний по всему миру. И это не только маленькие стартапы, а техгиганты, банки, государственные учреждения и научные лаборатории. Вот кого я нашел по публичным репам на гите: Red Hat, ECMWF (европейский центр прогнозов погоды), обсерватория Рубина, Hydro-Quebec, IT города Мюнхена, британский NHS.

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

И теперь для этого есть специальное место - ADOPTERS.md. Вы можете открыть PR в этот файл с добавлением своей компании или просто написать комментарий в Issue на Github! Найти своих пользователей самому трудно, будет круто, если расскажете сами😁 А еще это простой способ получить смерженный PR🌚

P.S: я хотел выкатить 1.0.0 к этой дате, но объем работ растет прямо в процессе, и сроки немного затянулись. Но команда работает усердно, так что релиз можно ждать в ближайшее время!
1546👏11🍾7👍1🔥1
Последние 2 недели я заметил, что Opus 5 значительно отупел в Claude Code. Обычно такое случается перед дропом новой модели, когда ее деплоят за счет железа предыдущих

И вот неожиданность - последние 20 часов твиттерские бурлят от Fable 5.2🌚

Судя по всему часть пользователей редиректят на Fable 5.2 при выборе "Fable" в Claude. Вот такое вот A/B тестирование от скамтропиков

Остальным нужно тихо-мирно сидеть ждать релиза😢 Надеюсь, они пофиксили манеру общения слопуса - больше мне от них ничего не нужно
🔥105👍2