Книжный куб
11.1K subscribers
2.67K photos
6 videos
3 files
1.96K links
Рекомендации интересных книг, статей и выступлений от Александра Поломодова (@apolomodov), технического директора и эксперта в архитектуре
Download Telegram
Арктический сертификат (#Travel)

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

#Travel
🔥20😍14👍41
Machine Learning System Design (Рубрика #ML)

Пока я отдыхал на плато Путорана без интернета, то читал книгу "ML System Design" от Валерия Бабушкина и Арсения Кравченко. Она была интересна для меня по двум причинам: мне близка тема классического system design и я интересуюсь machine learning:) Мне близка идея авторов о том, что проектирование систем (ML систем в том числе) - это многоэтапный процесс, где пригодятся навыки из различных областей, которые стоит использовать в рамках системного подхода. Причем для ML этот многоэтапный процесс содержит гораздо больше шагов, чем просто выбор правильной модели/алгоритма.

Если сравнивать обычный и ML дизайн, то есть такие моменты, что их отличают друг от друга
1. Детерминизм vs вероятность
Обычные системы мы стараемся проектировать с определенной долей детерменизма, причем для проверки предсказуемости покрываем их тестами. ML системы носят by design вероятностный характер. В обычных системах у нас обычно есть четкий алгоритм, превращающий входные данные в выходные, а всю недетерминированная часть обычно находится на стороне эксплуатации (работа под нагрузкой, надежность и работа с отказами). В ML системах сама модель исполнения недетерминирована, что добавляет сложности оценке качестве ее работы
2. Одно и двух-фазная архитектуры
В ML системах обычно есть две сильно отличные фазы работы: training и inference. В обычных приложениях у нас нет фазы тренировки - оно руками инженеров уже обучено выполнять нужную работу (ака работать в режиме inference).
3. Зависимость от данных
В традиционной разработке у нас обычно есть структурированные данные, с которыми работают приложения - при дизайне мы проектируем модели данных и моделируем их взаимосвязи, часто это OLTP системы. В ML системах у нас степень контроля над данными сильно меньше - нам приходится городить пайплайны и зачастую при обучении работать с OLAP конструкциями, одновременно на inference работать в формате более близком к традиционным системам, чтобы успевать делать Inference с приемлемым временем отклика

В своей книге авторы уделяют много времени и места обсуждению архитектурных соображений
- Конвейеры данных
Построение надежных data pipeline становится фундаментальным компонентом архитектуры, поддерживающим поглощение данных, обработку в реальном времени и масштабируемые решения для хранения.
- Модульный дизайн
Необходимость отделения ML-компонентов от основной логики приложения, что позволяет независимо обновлять модели без нарушения работы основной системы.
- Мониторинг и наблюдаемость
Традиционные системы логирования должны эволюционировать для включения специфических метрик ML, таких как drift данных и производительность модели.

Отдельно отмечу интересный формат историй у костра (campfire stories), где авторы делятся своими историями из прошлого, рассказывая о решении реальных задач из своего опыта. Это выглядит интересно и похоже на то, когда мы рассказываем байки у костра за кружечкой горячего напитка. В общем, мне книга показалась интересной и полезной - ее полезно почитать как ML инженерам, так и классическим software engineers, которым все больше приходится проектировать Gen AI приложения.

P.S.
У авторов есть свои tg каналы, где они пишут про ml и не только
- У Валеры - @cryptovalerii
- У Арсения - @partially_unsupervised

#ML #AI #Engineering
12🔥8👍4
JVM Day в Т-Банке (Рубрика #AI)

Этот солнечный субботний день я провел в отличной компании в нашем офисе на конфе JVM Day. Меня позвали поучаствовать в панельной дискуссии "Инструменты разработчика — плагины vs AI-агенты", где мы обсудили как классические плагины для IDE, так и современные и современные AI инструменты ускоряют написание кода. Дискуссию модерировал мой коллега, Павел Гордеев, а участвовали в обсуждении джентельмены
- Евгений Ненахов, CTO CDP BigData, MWS (МТС Web Services)
- Александр Шустанов, менеджер продукта, Haulmont
- и автор этого канала
Беседа получилась интересной и я позже напишу отдельный пост на эту тему. А вообще конфа мне понравилась - людей было много, доклады интересные, а еда вкусной:) В общем, наши конференции становятся хорошей традицией.

#Engineering #Software #AI #Conference
🔥154👍3
Распродажа в издательстве «Питер» в последний викенд лета (Рубрика #Sales)

В издательстве Питер очередная распродажа со скидками в 35% на бумажные книги и 50% на электронные. Для получения этой скидки надо использовать промокод "Бумажная" (или "Электронная", если покупаете элетронную версию) при оформлении заказа. На прошлых распродажах я уже купил себе пачку книг, а в этот раз обратил внимание на следующие книги, последние три из которых докупил себе в коллекцию

- Технический директор. Эффективное техническое лидерство - в оригинале эта книга называется "The Engineering Executive's Primer" и я бы перевел ее как букварь технического директора:) Я прочитал ее с большим удовольствием год назад и могу порекомендовать ее любому техническому руководителю
- Разработчик ПО: Путеводитель по карьерной лестнице для будущих сеньоров, техлидов и стаффов - я уже рассказывал, что у меня появилась эта книга и я ее потихоньку пока читаю. Впечатления от нее отличные.
- Масштабируемые данные. Высоконагруженные архитектуры, Data Mesh и Data Fabric. 2-е изд. - в наш век GenAI приложений меня очень интересуют подходы к созданию платформ данных. Примерно про это мы говорили с моим коллегой, Сергеем Михалевым, в выпуске моего подкаста Code of Leadership
- Causal Inference на Python. Причинно-следственные связи в IT-разработке - я глубоко погружен в разработку нашей a/b платформы, а также в дизайн некоторых опросов (в стиле DORA), поэтому в последнее время я много читаю про статистику. Еще одна книга на эту тему будет не лишней.
- Дизайн и поведение пользователей. Применение психологии и поведенческой экономики в разработке и UX - эта тема продолжает планирование исследований и экспериментов, но уже внутри продукта.

#Sales
12👍5🔥3
ACM Professional Membership (Рубрика #ComputerScience)

Год назад я рассказывал как оформил себе ACM Professional Membership, для доступа к платформе O'Reilly и whitepapers, вышедших в журналах под эгидой Association for Computing Machinery (ACM). Год прошел и мне надо было оценить продлевать ее или нет - я решил, что она стоит своих денег - за прошедший год помимо большого количества бумажных книг я прочел еще тонну разных научных статей, а также пользовалься платформой O'Reilly в формате поиска книг, а также общения с их чатботом, что умеет строить ответы на основе лицензированных книг из этой библиотеки. В общем, подписка была продлена, а вам я хотел напомнить бенефиты, что в нее входят
1) Professional Membership
Эта подписка дает доступ к печатной и онлайн подпиской на "Communications of the ACM", доступ к MemberNet, TechNews, CareerNews, доступ к ACM Career и Job Center
2) ACM Skills Bundle Add-On
Тут есть доступ к онлайн-книгам, курсам, тренировочным видео от O'Reilly, Skillsoft Percipio, Pluralsight
3) ACM Digital Library Add-On
Доступ к ACM Digital Library, в котором есть 2 миллиона проприетарных и third-party текстов, больше миллиона биографических цитат, и так далее

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

#Software #Architecture #SoftwareDevelopment #SystemDesign
8👍8🔥2
Примавера парк (Рубрика #Kids)

Выбрались с детишками в недавно открывшийся парк на берегу Москва-реки. Детишкам понравилась новизна игровых площадок с горками и песочком, а мне с женой хоть какое-то разнообразие. Утром мы уже успели прогуляться по парку на Ходынке и решили съездить в новое место.

#ForKids
110👍4🔥1🙏1
Силиконовые дали. Будущее, в котором мы живем сегодня (Рубрика #Startup)

Иногда вечером уходя с работы, я уже не способен читать сложные книги и тогда я снимаю с полки что-то попроще из серии попкорна для уставшей головы. На прошлой неделе я так начал читать книгу "Силиконовые дали" за авторством Владимира Смеркиса. Книга была издана в уже далеком 2022 году издательством "Альпина ПРО". Она представляет собой компиляцию идей Владимира, подкрепленных цитатами из 250+ интервью с успешными предпринимателями и топ-менеджерами. Книга напоминает о прошлом, когда
- Еще не случились события, приведшие к изоляции России
- Все еще не разочаровались в Web3 и NFT (автор как раз активно за эту тему топит)
- Все еще не наступила новая волна хайпа с Gen AI
- Все еще было модно говорить про digital transformation

В общем, автор привел в своей книге
- Практические рекомендации по построению цифрового будущего, щедро досыпав цитат от успешных предпринимателей
- Истории успеха и опыт российского интернет-бизнеса - в начале были истории про ранний Яндекс, Рамблер и даже Ozon
- Блокчейн-технологии и построение бизнеса на их основе - NFT должен был всех спасти на пару с блокчейном:)
- Экономику данных и ее перспективы - здесь тезисы в стиле "данные - это новая нефть"
- Цифровые стартапы: от поиска идей и инвесторов до типичных ошибок

В общем, я прочитал книгу быстро и скорее вспомнил
... как все начиналось
Все было впервые и вновь
Как строились лодки и лодки звались

чем получил какие-то практические инсайты про будущее.

#Economics #Startup #Management #Leadership
🔥75👍2😁1
Why AI Isn’t Ready to Be a Real Coder? AI’s coding evolution hinges on collaboration and trust (Рубрика #AI)

Интересная статья от 26 августа из IEEE Spectrum про текущее состояние AI инструментов, которые по мнению авторов быстро прогрессируют, но до подной автономии им далеко. По мнению автора статьи они полезные как ассистенты, но не могут автономно решать задачи с большим контекстом, сложной логикой и длинным горизонтом планирования. В итоге, сейчас стоит стремиться не к замене разработчика, а к выстраиванию эффективного взаимодействия человек <-> AI.

Интересно, что эта статья основана на мартовском whitepaper "Challenges and Paths Towards AI for Software Engineering", представленной на ICML-2025 (Cornell, MIT CSAIL, Stanford, UC Berkeley, UPenn). В котором
- Даётся таксономия задач ИИ в разработке (не только генерация кода, но и тестирование, анализ, рефакторинг, сопровождение и т. д.);
- Перечисляются bottlenecks: оценивание и бенчмарки, эффективное пользование инструментами, коллаборация с человеком, долгосрочное планирование, огромный контекст, семантическое понимание кодовых баз, низкоресурсные языки/редкие библиотеки, обновления API/версий, высокая логическая сложность;
- Предлагаются пути вперёд: лучший сбор и курирование данных, RL-окружения для кода, быстрая адаптация к конкретным кодовым базам, обучение моделей совместной работе с людьми, семантически осведомлённый поиск/ретривал, глубокая интеграция с инструментами и процессами разработки

А в статье "Why AI Isn’t Ready to Be a Real Coder?" помимо опоры на эту статью приведены идеи и других ученых, которые поделились своими мыслями
- Armando Solar-Lezama (MIT CSAIL) рассказал о том, что нынешние интерфейсы и взаимодействие с ИИ ещё далеки от работы с живым коллегой.
- Koushik Sen (UC Berkeley) поговорил о трудностях поиска и правки сложных дефектов (например, проблем с безопасностью памяти) в больших кодовых базах.
- Shreya Kumar (University of Notre Dame) подняла вопрос о цене "промпт-инжиниринга": иногда проще написать код, чем объяснить его ИИ.
- Abhik Roychoudhury (National University of Singapore) высказался о критичности захвата пользовательского намерения при создании софта (архитекторы и аналитики обычно говорят об этом в формате problem space и solution space, а также функциональных и нефункциональных требований). Также Abhik поговорил о роли "агентного" ИИ и возникающем при этом вопросе доверия

Если суммировать, то вот основные выводы статьи
1. Полная автономия ещё не здесь: модели часто «галлюцинируют» причины багов, дают нерелевантные фиксы и плохо держат длинный контекст/план. Нужен обязательный human-in-the-loop.
2. Прорыв потребует не только больших моделей, но и правильной организации работы: новые интерфейсы взаимодействия, умение модели выражать неуверенность и проактивно уточнять требования, явный захват user intent.
3. Агентные и эволюционные подходы дают обнадёживающие сигналы, но проблема доверия и проверки останется центральной. Кстати, в статье упоминается AlphaEvolve, про который я рассказывал раньше

#AI #Engineering #Software #Metrics #Devops #DevEx #Architecture
5👍4🔥2