Pull to refresh

Technotext

ИИ в «Финаме»: от первого прототипа на Flutter до корпоративной платформы на 1000+ сотрудников

Level of difficultyEasy
Reading time11 min
Reach and readers7.6K

ИИ в «Финаме» — это не история про «подключили ChatGPT и всё заработало».
Это путь от личного эксперимента с GPT-3.5 до корпоративной платформы, которой ежедневно пользуются тысячи сотрудников.

За этим стоят не только модели и API, но и лимиты, логирование, безопасность, работа с документами, RAG, локальные модели и постоянные компромиссы между качеством, скоростью и стоимостью.

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

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

Читать далее

Лидары в автономном транспорте: почему важна длина волны лазера

Level of difficultyEasy
Reading time14 min
Reach and readers19K

Привет, друзья! На связи Алексей Разин. Я работаю инженером‑оптиком в Яндексе и уже четвёртый год занимаюсь разработкой лидаров. Мы с командой сделали несколько устройств, и сегодня я хочу поделиться с вами своими мыслями и опытом в сфере разработки лидаров — приборов, которые играют ключевую роль в развитии автономного транспорта. 

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

Читать далее

Всё везде и сразу

Reading time9 min
Reach and readers17K

Привет! На связи Евгений Антонов. Я работаю ведущим техническим менеджером проектов в Yandex Infrastructure. А также руковожу парой команд (разработчиков и менеджеров) и факультативно занимаюсь IT‑консалтингом. Ещё я автор телеграм‑канала «Тимлид Очевидность» и ведущий подкастов «Кода кода» и «Три тимлида заходят в бар».

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

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

Читать далее

Собираем 1 000 000 метрик в секунду с сетевых устройств

Reading time20 min
Reach and readers9.2K

«Бди!» — сказал Козьма Прутков. И действительно, как инженер я считаю важным бдительно следить за показателями сетевых устройств, да и не только сетевых. На связи Александр Балезин из отдела сетевой разработки Yandex Infrastructure. Сегодня расскажу о нашем новом коллекторе метрик с сетевых устройств, о том как мы к нему пришли и о системах вокруг сетевых метрик.

Читать далее

Повышаем точность диагностики ДЦП у новорожденных с помощью нейросетей

Reading time12 min
Reach and readers15K

МРТ головного мозга помогает диагностировать серьёзные патологии, от опухолей до нейродегенеративных заболеваний. Своевременная диагностика в младенческом возрасте позволяет заметить в развитии мозга негативную динамику, приводящую к заболеваниям наподобие ДЦП, и вовремя начать терапию. Но когда дело касается обследования таких пациентов, есть дополнительные риски: эту процедуру проводят под анестезией. Поэтому врачам важны решения, которые позволят сократить время диагностики, снизить риски и принять более информированные решения.

Специалисты Санкт‑Петербургского государственного педиатрического медицинского университета (СПбГПМУ) совместно со Школой анализа данных (ШАД) и Центром технологий для общества Yandex Cloud разработали решение на базе нейросети, которое помогает оценить развитие мозга новорожденных по МРТ‑снимкам. При подозрении на ДЦП и другие болезни ЦНС решение работает как вспомогательный инструмент, который сокращает время расшифровки результатов МРТ до нескольких минут вместо нескольких дней.

Меня зовут Юлия Бусыгина, я руковожу проектом со стороны Yandex Cloud, и в этой статье мы вместе с профессором Александром Поздняковым расскажем подробнее, как проектировали решение, обучали модель, как тестируем и оцениваем его эффективность.

Читать далее

CPython — Сборка мусора изнутри, ч.4

Level of difficultyHard
Reading time35 min
Reach and readers12K

Пришло время поговорить о главной функции сборщика мусора в CPython. В предыдущих частях (1, 2, 3) мы говорили о поколениях, инкрементальной и полной сборке мусора — но все они в итоге вызывают главную функцию, которая и реализует основной алгоритм циклического сборщика мусора — находит и разрывает циклы у объектов, которые уже вышли из использования.

В первой статье на тему устройства сборщика мусора я написал, что история началась, когда я попробовал исправить ошибку в CPython. И вот, в четвёртой статье, я наконец‑то добрался до функции, в которой была ошибка.

Если вам интересно, давайте посмотрим, как работает «сердце» сборщика мусора.

Читать далее

ИИ-трейдер без кода: создаем бота для автоматизации торговли на базе OpenClaw

Level of difficultyEasy
Reading time7 min
Reach and readers23K

Настройте своего персонального ИИ-трейдера на базе OpenClaw в Telegram — полностью бесплатно и без единой строчки кода. Агент понимает естественный язык, работает с Finam Trade API и умеет сам писать и запускать Python-скрипты прямо в чате.

В этом туториале покажем, как настроить агента с нуля, подключить к Trade API и использовать его для сканирования рынка, алгостратегий и выставления ордеров по расписанию.

Читать далее

WHIP — стандартный протокол общения WebRTC приложений

Reading time8 min
Reach and readers4.3K

Всем привет! Давно я ничего не писал на Хабр про WebRTC. Наверное как‑то не было повода, да и WebRTC давно понятен и прост в общих чертах. Пара строк кода с одной стороны, пара строк кода с другой — вот и готово. Наверное. Там дальше есть несколько тонкостей. На самом деле — целое море тонкостей и обстоятельств, которые надо понимать и уметь с ними работать, но такая уж наша инженерная доля — криво неидеально читать и писать стандарты.

Но сегодня я хочу рассказать не столько про WebRTC как таковой, сколько про велосипеды в его использовании в продакшн‑среде и о том, как тихо без помпы растёт новый стандарт для его сигналинга. На написание этой серии статей меня натолкнула активность Sean Dubois, создателя и мейнтейнера Pion — отличной WebRTC‑библиотеки для Golang.

Читать далее

Jenkins в Kubernetes: гайд по развёртыванию

Reading time22 min
Reach and readers6.3K

На связи Андрей Леодоров, ведущий инженер по автоматизации процессов компании «Гарда». За время работы с Jenkins я видел разные сценарии его использования: от локальных инсталляций под одну команду до масштабируемых инстансов с централизованным сопровождением. Я пришёл к выводу, что Jenkins отлично подходит для использования на уровне продукта — когда команда может сама определять, какие инструменты и ресурсы нужны для организации процессов CI/CD.

Статья — это практический гайд для небольшой команды или отдельного проекта, которому нужен собственный воспроизводимый Jenkins в Kubernetes. Мы развернём Jenkins в Kubernetes, настроим хранение конфигураций как код и зафиксируем версии плагинов. Такой подход позволит разворачивать идентичные среды с нуля, не завися от конкретных версий плагинов. Я также добавил несколько готовых примеров со ссылками на GitHub, которые можно взять за базу и доработать под свои нужды.

Читать далее

Ночь с пятницы на понедельник: борьба за устойчивость, когда облако дало сбой

Level of difficultyMedium
Reading time13 min
Reach and readers15K

…Был обычный ноябрьский вечер, 2024 год шёл к своему завершению: на носу была «чёрная пятница». Я вернулся домой в Новосибирск из почти двухнедельной командировки, пробыв в пути 12 часов и поспав часа четыре. В 19:07 алерт сообщил мне о падении одного из контроллеров. В целом, проблема не критичная, так как сервисы зарезервированы. Но всё же одним глазом я заглянул в чат с разбором.

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

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

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

Читать далее

Библиотека визуализации графов: как мы решили дилемму Canvas vs HTML в Gravity UI

Reading time17 min
Reach and readers28K

Меня зовут Андрей, я разработчик интерфейсов в команде User Experience инфраструктурных сервисов Яндекса. Мы развиваем Gravity UI — опенсорсную дизайн‑систему и библиотеку React‑компонентов, которую используют десятки продуктов внутри компании и за её пределами. Сегодня расскажу, как мы столкнулись с задачей визуализации сложных графов, почему существующие решения нас не устроили, и как в итоге появилась @gravity‑ui/graph — библиотека, которую мы решили сделать открытой для сообщества.

Эта история началась с практической проблемы: нам нужно было рендерить графы на 10 000+ элементов с интерактивными компонентами. В Яндексе много проектов, где пользователи создают сложные пайплайны обработки данных — от простых ETL‑процессов до машинного обучения. Когда такие пайплайны создаются программно, количество блоков может достигать десятков тысяч.

Существующие решения нас не устраивали:

— HTML/SVG‑библиотеки красиво выглядят и удобны в разработке, но начинают тормозить уже на сотнях элементов.

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

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

Читать далее

Электроналиватор: делаем автомат для коктейлей с помощью Raspberry Pi, нейросети и фанеры

Reading time13 min
Reach and readers22K

Привет, Хабр! Меня зовут Владислав Волох, я руковожу группой разработки сервиса DataSphere в Yandex Cloud — и я люблю учить нейросети тому, что делать вручную не хочется. Эта любовь к инженерным решениям и ML пригодилась в быту: так появился мой пет‑проект автомата для приготовления простых коктейлей со встроенной базой рецептов, который уже полюбился многим коллегам. 

В этой статье расскажу, как это работает и как я собирал свой аппарат под управлением iOS, не написав при этом ни одной строчки кода.

Читать далее

SPQR — наше опенсорс-решение для горизонтального масштабирования Postgres

Reading time9 min
Reach and readers19K

В современных реалиях объёмы данных постоянно растут и появляются всё более жёсткие требования к производительности. Тут традиционный PostgreSQL сталкивается с фундаментальной проблемой: отсутствие нативной поддержки горизонтального масштабирования. 

Сегодня мы, команда платформы данных в Yandex Cloud, хотим рассказать о SPQR — нашем опенсорс‑инструменте, который который создавался как ответ на боль шардирования и эксплуатации крупных OLTP‑систем. Под катом — история о том, что стало отправной точкой для его создания, какие задачи он помогает решать, на чём основано наше решение и что помогает ему быть довольно простым в эксплуатации.

Читать далее

Крекс-пекс-фекс, вжух и ты бедняк: исследуем под «микроскопом» потрошителя банковских счетов CrахsRAT

Reading time26 min
Reach and readers9.4K

Половина краж с банковских карт в России за последние полгода — дело рук одного семейства троянов. SpyNote и его наследник CraxsRAT заражают Android-устройства, открывают банковские приложения и выводят деньги. Большинство разборов этих вредоносов заканчиваются списком IOC и общими рекомендациями. Эта статья устроена иначе.

Меня зовут Евгения Устинова, я старший аналитик сетевой безопасности в компании «Гарда». Я провела статический разбор нескольких версий трояна (v3.7.1–v7.6, включая форки EagleSpy, VIPRat, RedBat, MedusaRat, DesertRat и утечку исходного кода v6/v7), восстановила полную хронологию атаки по реальному трафику и разобрала протокол до байтов.

Оказалось, что у CraxsRAT есть сетевая активность, которую невозможно отключить, не сломав клиент. Я использовала эти базовые свойства протокола, чтобы построить правила Suricata, которые не устареют завтра, как обычные IOC. Читайте подробное исследование под катом.

Заглянуть внутрь CraxsRAT

Как написать постановку на разработку, чтобы ни у кого не было вопросов

Level of difficultyEasy
Reading time7 min
Reach and readers23K

Привет! Я лид системных аналитиков в департаменте корпоративных систем ЛАНИТ. В этой статье я расскажу, как писать качественные постановки на разработку информационной системы. 

Я часто сталкиваюсь с вопросом, как корректно передавать аналитические требования разработчикам. Я участвовала в проектах, где процесс постановки был выстроен качественно. Там я набиралась опыта и впитывала знания. Но были и проекты, где вообще никаких постановок не было — только устные договоренности и полотна текста в Jira. Недавно мне вовсе пришлось выстраивать процесс написания постановок с нуля. В этот момент я переосмыслила все предыдущие шаблоны. Теперь хочу поделиться своим видением с вами.

Читать далее

Walking-working: как я создал собственный сетап для работы на ходу

Reading time13 min
Reach and readers30K

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

А что если я вам скажу, что можно в такой день гулять и работать одновременно, посещать парки и закрывать тикеты, дышать свежим воздухом, набирая шаги в шагомере, и заниматься сложной инженерной компьютерной деятельностью на полноценном Windows ПК (по желанию Linux).  Да, это может быть не так удобно, как хотелось бы. Да, выглядеть при этом вы будете необычно. Но это уже возможно.

Интересно? Добро пожаловать под кат.

Читать далее

«Галлюцинации LLM — это не баг»: профессор математики объясняет, почему ИИ не перестанет врать

Level of difficultyEasy
Reading time17 min
Reach and readers82K

Владимир Крылов, профессор математики, научный консультант Artezio и один из самых глубоких русскоязычных экспертов по применению ИИ в разработке, дал интервью по итогам года. Мы поговорили о том, почему reasoning-модели галлюцинируют вдвое чаще обычных (и это математически неизбежно), почему OpenAI объявил «код красный» и отстаёт от Google, и правда ли, что программисты, умеющие писать код только руками, скоро вымрут как вид. Спойлер: Паваротти не умел читать ноты, и это кое-что говорит о будущем vibe-coding.

Владимир Крылов регулярно проводит лекции о практическом применении LLM в разработке на канале Ai4dev. Если хотите разобраться в теме глубже, чем позволяет это интервью в блоге ЛАНИТ, подписывайтесь.

Читать далее

Код, железо, стратегия: в чем секрет победителей ML-соревнований?

Level of difficultyMedium
Reading time12 min
Reach and readers5.1K

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

В 2024 году прошло более 400 таких соревнований с общим призовым фондом свыше $22 миллионов. Но кто же эти люди, которые выиграли этот куш? И что такого они сделали, чтобы обойти других?

Мы проанализировали отчет The State of Machine Learning Competitions 2024 и выделили из него самые ценные моменты для практикующих разработчиков. Если хотите узнать, что на самом деле отличает победителей от остальных участников, то этот материал для вас.

Читать далее

Как уместить ИИ на edge-устройствах

Level of difficultyMedium
Reading time22 min
Reach and readers6.9K

От AlphaGo до ChatGPT — прогресс в области искусственного интеллекта впечатляет своими масштабами. Однако за красивым фасадом скрывается серьезный разрыв между возможностями современных моделей и реальными условиями их применения. Возьмем, к примеру, GPT-3 с его (уже не такими впечатляющими) 175 миллиардами параметров, требующими 800 ГБ памяти. Такие модели существуют только в лабораториях вроде OpenAI. Что уж говорить о запуске подобных систем на устройствах с ограниченными ресурсами.

При этом именно edge-устройства генерируют львиную долю данных — по прогнозам Gartner, к концу этого года около 75% корпоративной информации будет поступать не из традиционных дата-центров или облака, а с периферийных устройств. Обработка такого объема данных в облаке создает серьезную нагрузку на каналы передачи и увеличивает задержки. 

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

Но как уместить современные AI-модели в устройства с ограниченными ресурсами? Об этом и поговорим в статье.

Читать далее

Я сделал язык программирования ради статьи на Хабр

Level of difficultyEasy
Reading time5 min
Reach and readers20K

Меня зовут Степан, я C# профессионал уже более 7 лет на рынке и рассказываю об этом в Telegram каналe StepOne. Иногда мне скучно на работе, потому что перекладывать JSON это слишком просто, даже если микросервисы.

Я отучился на системного программиста-компиляторщика и столкнулся с отсутствием спроса рынка на такие навыки. Но выбрал быть счастливым и написал язык программирования hydrascript, чтобы JSON гонялся даже в докере на макбуке. Решение под катом вас точно удивит!

dotnet tool install hydrascript -g