2024-10-16: UIC.dev - интересные разноплановые доклады

< Блог:Максима Цепкова

Неделю назад был в Ижевске на конференции UIC.dev и услышал ряд разноплановых интересных докладов. Благодарю организаторов за приглашение и жалею, что у меня получилось побывать только во второй день.

UIC.dev-20241008.jpg

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

А теперь - обзор докладов, которые я услышал.

Do you want to try some new features? By joining the beta, you will get access to experimental features, at the risk of encountering bugs and issues.

Ок Нет, спасибо

Лев Бахарев. Ситуативный ИИ-контент: от брейнштормов к готовым проектам за минуты

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

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

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

Максим Цепков. Постановка от модели бизнеса до детального дизайна требований: как делать и кому

Мой доклад Постановка от модели бизнеса до детального дизайна требований: как делать и кому, по отзывам участников, получился интересным. Мы много работали с ПК, первоначальная версия была больше часа, и со стороны Евгения Галактионова были очень конструктивные замечания - что исключить, а где логические провалы. А по полной версии мы договорились сделать вебинар. Конспектов своих докладов я не делаю. Можно посмотреть мою серию статей на habr Какие нужны требования: развитие концепта, Domain Driven Design: модели вместо требований, Agile-методы: light-версии требований, но в докладе было больше. Наверное. надо писать продолжение.


Юлия Иванова и Екатерина Колпакова из Emex Group. Автоматизируй это: как мы построили DWH для международного холдинга командой из 6 человек

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

Emex - междуранодная компания по продаже автозапчастей, продажи в России и Эмиратах, а закупки и логистика - более, чем в 40 странах. Автозапчасти отличаются громадным каталогом, у них более 40 млн. позиций, 30 тысяч заказов в сутки и доставка за 48 часов - если что-то сломалось. люди хотят получить замену быстро. В компании более 700 сотрудников, она существует 26 лет, как часто бывает в таких компаниях - размытая, исторически сложившаяся орг.структура и границы ответственности, много экспертов с уникальными знаниям, часть людей работает с основания компании.

ИТ-ландшафт управления складами, логистикой и заказами сложился исторически, крайне разнороден и поддерживается изолированными командами, а описание структур данных отсутствует. При этом ядро системы - Oracle 2003, к которому нельзя подключиться из современных средств анализа данных, SQL Server 2008 и 1C. Большое количество отчетов, формируемых процедурами, достоверность которых непонятна.

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

  • Загрузка фуры, которая плохо предсказывалась, в результате какие-то фуры уезжали полупустыми, а в другие товар не помещался.
  • Коробки, информация о которых терялась на стыке систем, и которые могли стоять годами.
  • И интересная бизнес-проблема. В России покупатели забирают заказы очень быстро. А в Эмиратах покупатели начали использовать хранение уже заказанных запчастей как бесплатный склад. Отчеты существующих систем это не показывали, масштаб бедствия был неясен.

Начали они с выбора хранилища. Кандидаты: greenplum database, vertica, exasol, snowflake. Неожиданно оказалось, что по затратам на 2 года платный snowflake дешевле бесплатного greenplum в 4 раза, за счет того, что showflake развернут в облаке и ты платишь только за фактически использованные ресурсы, а для greenplum нужно свое оборудование и команда devops для поддержки. При том, что у компании есть серверные парки в каждой стране.

Showflake обеспечивает

  • Хранение. Данные автоматически партиционируются, распределяются, сжимаются, индексируются по статистике запросов.
  • Вычисление - кластеры засыпающие и поднимающиеся
  • Облачные сервисы - аутентификация, менеджер ролей, работа с метаданными

Можно гибко управлять производительностью, аналитические запросы и регулярный поток разносить на разные кластеры и так далее. Чит-код для snowflake: если запрос медленный - его перекидывают на отдельный кластер и накидывают ресурсы. Snowflake реально обеспечивает оптимизацию затрат: ты оптимизировал запрос - и меньше платишь. У тебя нет ограничения на ресурсы, но есть ограничение на бюджет.

Для получения быстрых результатов применили двухходовку: сделан поток REPLICA, в которые данные перекладываются "как есть" и на нем строятся отчеты, и в бэклог ставили задачу на реструктуризацию этих данных. приведению к однородному виду. И, что интересно, за 11 месяцев эти задачи уже выполнены, в потоке replica ничего не осталось. Что интересно - для хранения предпочитают третью нормальную форму, а не денормализацию, применяемую во многих DWH. На запросах snowflake с этим справляется.

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

Перегрузка через лог позволила решить много технических проблем. До этого они работали по отдельным таблицам, и там всегда были проблемы отследить изменения и, особенно, удаления строк. Настрока загрузки объекта занимала 4-6 часов технической работы. А сейчас это делается за 15-20 минут работы с метаданными. Бизнес-анализ - никуда не делся, но это - отдельная задача.

Конфигурация хранится в google sheet. По конфигу идет автоматическое создание объектов - таблицы, SQL, таски, стримы. Автогенерация: репликатор (первый, используется редко), автодоки, ddl, ddl executor, dq оператор (контроль качества с алертами), мониторинг-оператор, task shedule оператор. И дальше деплой этого кода в snowflake автоматически. Потому надо проверить результат и запустить поток в snowflake, потом проверить что перегрузка заработала и отдать бизнесу. Регулярность - очень гибкая, самая частый поток - раз в 3 минуты.

Каталог данных.

  • DataHub для управления и каталогизации
  • Отслеживание lineage от источника до дашборда в tableau.

В команде есть core data engineer - поддержка базовой инфраструктуры и системный аналитик, который работает с заказчиком, разбирается с легаси и добавляет данные в хранилище. Но не напрямую настраивая ETL или через задания разработчику, как в других местах, а через сделанные фреймворки.

Бизнес-результат - экспедиция стала прибыльнее на 25% от квартала в квартал.

Иван Башарин из ЭТП ГПБ/VESNA. Сменили стек, внедрив ИИ — нейроджун на службе зла

Они используют локально развернутый mistral для работы с текстами, у него 40к токенов контекстное окно и самовалидация, развернуто на двух юнитах в стойке. А для разработки - deepseek и практически сразу получают готовый код. Как альтернативы пробовали llama 3.5 - не очень хорошее качество, доученный gpt, у него высокая точность, но контекст за пару запросов кончался и coder - легковесные модели, они эффективно и быстро поднимаются, даже на локальном устройстве, но оказалось неудобно и неточно. В презентации были варианты кода на один промпт от разных моделек.

Нейросетка ставится как плугин vscode и другие - в ide пишешь код, она дает автоподсказки, или даешь ей задания в чатиках и видишь результат. В инфраструктуре - простая установка моделек, быстрая установка и мониторинг. Полное обучение на своем коде не используют, потому что в этом случае модель узнает правильные варианты, но не знает про ошибки. Правильно докучивать - finetune, и для этого достаточно 72 часа на 1 карточке, можно делать на арендованных ресурсах.

Для чего используют?

  • Получили задачу от заказчика или на рефакторинг или devops или ИБ. Надо описать, упростить убрав вводные канцеляризмы, и обогатить описанием результата. Еще ИИ помогает в для оценки, она у них сложная.
  • Регламенты. Личный кабинет ЭТП по сопровождению клиента - там много регламентов и все надо обновлять. Шаблоны - заполнение полей.
  • Ретро и другие командные мероприятия - в текст, и нейросетка даст результат.
  • Нейропрокси. Сервис под типовые задачи, к которым обращается кто угодно.
  • Как ответить заказчику, что он с ума сошел. ИИ дает несколько вариантов, но вот это надо тщательно проверять.
  • Разработка. Код и тексты. Безопасноть, Оформление, Тесты.

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

Уже пишем код быстрее. Быстрее пишут тесты, 100% покрытия. Модульные тесты нейросетка поддерживает. Но! Тесты будут численные, они будут перебирать данные, принципиально новых тестов нейросеть не напишет. Модульные тесты - 5 минут. Сделать тест, сделать контекст. В end2end тестах сделать контейнер, поднять контейнер, документация - mistral по сценариям и источникам делает.

Планы.

  • Хотелось бы по модульному собирать отчету, но текущие фреймвоки и так делают
  • e2e было бы идеально начать писать нейросеткой сразу
  • доки - не только писать, но и использовать
  • аналитики - только помощь: взять текст от сеньора, оформить, распихать задачи в issue track
  • маркетинг готовит материалы, но на каждом этапе - валидиция человеком, глюки всякие
  • руководители проектов - общаются с заказчиком
  • стажеры - более эффективно обучаются, но наставники есть
  • ИТ-школа - подготовка курсов, тестов, проверка заданий

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

Что не делать

  • передавать срества контроля, например, платежа на валидность. Решения - за человеком
  • Не надо автоматизировать уже автоматизированное.
  • Не надо обучать на непроверенном. Если отдать весь проект - баги кода расползутся.
  • Не надо усложнять реализацию и изобретать велосипед. Своя LLM - дорого и не эффективно. Тюньте существующее.

Нейросеть - джун, сколько бы не учили - но максимально производительный нейроджун. У каждого человека нейросекретарь - но ответственность использование - твоя. Получается три помощника нейроджуна: задачу ревьюют, пишет тесты, и так далее. Код - эффективнее на 25% по метрикам. Тесты до 90% - по метрикам, которые были до и после. На маленьких задачах эффективнее на порядок. На уровня дней - в 4 раза эффективнее.

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

Андрей Комиссаров из СберУниверситет. Цифровое и человеческое в образовании, усиленном ИИ

Есть прогнозы, что человек будет уходить в виртуальный мир. И они уже осуществляются: Nerf метавселенные - можно брать фото, сшивать матрицу и переводить в 3d. Google так сделал реконструкцию улиц по снимкам. В Roblox - 80м пользователей, которые там 2.5 часа в день, и в опросах в США 56% говорят, что там лучше, чем в реальном мире. И то, как выглядит твой аватар и что происходит с твоим персонажем - важнее, чем происходящее в реале.

Но дальше эту тему не развивали, был лишь обзор разных технологий.

  • Цифровые двойники - можно делать с человека или полностью виртуальные. Есть на основе видео lipsync - мы синхронизируем губы со звуками, и получается речь на других языках. Было демо - видео, специально казахский, котому что heygen его не знает. Но в реальном времени это пока не тянет.
  • faceswap - можно перенести голос на другое лиц. Через реперные точки. deepfake. И это можно быстро, в реальном времени.
  • Генерация текстов LLM. ChatGPT, GigaChat от Сбера. Могут писать текст, ориентироваться в наших, отвечать на сложные вопросы. GigaChatPro лучше, чем Mistral.

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

Я бы сказал. что это - типичное поведение человека на экзамене по незнакомому предмету, или человека, который хочет быть экспертом, и выдумывает, авось не проверят. Почему такой стиль сделали для ИИ - вопрос отдельный. Может, чтобы был хорошим собеседником. ИИ по умолчанию не с4кажет, что чего-то не знает, об этом надо явно попросить в промпте. И не спорит с собеседником. принимая его точку зрения. Это нельзя просто объяснить тем, что он так предсказывает ход разговора: ведь реальный разговор может идти как в согласии говорящих, так и в споре, это именно обучение - чтобы был комфортный собеседник. И чтобы люди его не боялись, помнится в одном из фантастическихз романов у героя была задача делать так. чтобы роботы казались неуклюжими и скрипящими, чтобы человек не чувствовал неполноценность. Я не знаю, насколько такую позицию ИИ сделали сознательно, а насколько так само получилось.

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

perplexity.ai - поиск по инету с резюме наяденного. Качественнее нейропоиска в яндексе.

Наступает эпоха ИИ-ассистентов. Суммаризация, рейтингование, редактура и анализ текстов, создание черновиков под диктовку. Conference bot - сбор контактов на мероприятиях. QR-код для получения презентации - при переходе запоминается контакт.

Ассистент сообщества - анализирует климат. Два кейса: Самолет - добрососедские сообщества, и Синие киты - вылавливают, кто влияет на детей в их сообществах, что их расстраивает, а что радует.

Анализ речи - для оценки по метрикам: слова-паразиты, мычание, вводные слова. сложность. Личный тренажер развития речи.

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

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

Юрий Сироткин. Игровая индустрия в современной России: взгляд изнутри

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

Он сам - левел-дизайнер, гейм-дизайнер, а еще ведет каналы и организует мероприятия. И у него идея вовлечь разработчиков. Более того, под такую идею есть господдержка - поручение президента. Но корпорации не хотят, они не понимают, что и как делать. Хотя два года назад Ростелеком сказать, что будет делать фонд, и они сделали, для получения гранта нужен преокт, где 55% возврата за год.

Для дизайна игры - есть пайплайн, есть лекция от ТанкиОнлайн. Но игровая индустрия - это не только разработка. Это фестивали, это платформы, на которых могут работать индивидуальные разрабочики, такие как Яндекс.Игры. Много ассоциаций, АКИ - фабрика игр в Сколково. В конкурсе лидеры цифровой трансформации - было направление игр. В Яндекс Плюс Сити - геймифицировали все сервисы.

В общем, идея и боль докладчика мне понятна, но хотелось бы более глубокого рассказа: о технологиях и о вариантах сценариев, которые возможны. Потому что они ведь сильно разные - на разных платформах, для разных аудиторий. Перспективы игры различны на внутреннем и глобальном рынке, но для успешной игры нужно учитывать культурный контекст, и это надо закладывать с самого начала. Я это слышал по мультфильмам: Маша и Медведь - международный проект, взлетевший во многих странах: знают 95% в Индонезии, 88% в Италии, более 90% в Чили и Тайване, входит в пятерку самых популярных в Бразилии и Турции. И ее с самого начала делали глобальной. А вот Смешарики делали как российский проект. За рубежом он популярен, но далеко не так, как Маша. Хотя в Китае аудитория в 12 раз больше российской, при том, что население всего в 10 раз больше. Но это было отступление от темы.


Александр Сажин из Ситек. Магия тех. лидерства: искусство наставничества в мире технологий

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

  • Наставник - первый встретит человека, будет сопросовждать на онбординге, поможет с индивидуальным планом развития - эту функцию забрали у HR. Это специалист, который сам недавно прошел онбординг. Проводник, он понимает как учить и хочет это делать. В конце испытательного срока - мини-аттестация, он помогает подготовиться.
  • Куратор - на проекте, он прошел не один проект, опытный и с пониманием, он подхватывает внутри проекта. У него есть свои задачи, встречается с клиентами - он является частью команды. Если новичок опытный, у него могут быть наставник и куратор одновременно. Куратор помонает проекту в целом. В начале проекта он закладывает метрики, которые помогут его завершить. Премия по завершению, если успех - большая и на команду.
  • Техническое лидерство. Курирует группу со схожими специализациями вне проекта, каждый из группы - в конкретном проекте. 5-7 человек в группе.
    • обучение - помогает с индивидуальными планы с теми кто прошел испытательный срок. Мучается с экспертами - находит точки развития.
    • участие в пресейлах - клиенты хотят пообщатсья с командой, и техспециалиста надо научить
    • загрузка и распределение - помощь руководителю, загрузка рваная, люди в нескольких проектах, и надо курировать и понимать. Подсвечивать где что проседает, не закрывается, или ого-то надо загрузить новым.
    • поиск новых потребностей блока учета - развитие продукта, ниши рынка; адаптация инструментария аналитика для нужд группы - участие на конференциях - донесение услышанного
    • Эмоциональное состояние и поддержка. Люди оказываются в одиночку на проекте - надо поддержать, и в команде тоже. А еще ценности - например, манифест разработки от клиента, как общаться в таких-то чатах, как идти к клиенту на встречу, в том числе к генеральному.

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

Техлиды у них под тимлидами. Это не альтернативная ветка управления. А проектная организация - альтернатива.

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

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

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

[ Хронологический вид ]Комментарии

(нет элементов)

Войдите, чтобы комментировать.