Лаборатория Математики и Программирования Сергея Бобровского
1.39K subscribers
1.42K photos
28 videos
1.07K links
ЛаМПовое с Бобровским
Download Telegram
Сегодня в 13:00 наш дорогой брат Ivan Zakutni будет выступать на митапе Родиона Мостового. Рекомендую присутствовать (запись есть), Иван будет пояснять за умные системные вещи в контексте AI.
11👍35❤‍🔥9😁51
.

Облако драгоценностей за неделю.

Скорее всего, это последний отчёт за неделю, да и последний пост Лаборатории. Телеграм у меня вчера вообще перестал работать и со смартфонов, и десктоп версия, с четырёх разных провайдеров (два проводных, два мобильных), не вижу дальше смысла, в том числе и с моими математическими экспериментами. Планы были эпические, но увы. А столько хорошего можно было сделать...

В тему, Заявление Совета по науке при Министерстве образования и науки РФ о перебоях с доступом к Интернет-ресурсам, критически важным для нормальной работы российских ученых, 25.04.2018 (когда начались первые блокировки).
"По своей сути научные сервисы интернациональны, и никакой возможности замены их национальными ресурсами нет в принципе."
[через месяц после этого заявления Совет распустили]

В ЦРУ АНБ прыгают до потолка от радости, и раздают премии.

Приватный клуб.

Monolith-First - это новый стандарт FAANG. Если вы всё ещё паритесь микросервисами, вы уже опоздали в 2026-й. Вот неприятная правда: если у вас небольшая команда, небольшой трафик или постоянно меняющиеся требования, микросервисы скорее всего будут только замедлять работу.
Чек-лист по внедрению Monolith-First для вашего следующего проекта.

Для донов-начинающих:


За 18 месяцев от джуна до сеньора: дорожная карта, о которой молчат крупные онлайн-школы.
Главная идея: Чтобы стать сеньором, недостаточно просто хорошо писать код, и даже недостаточно хорошо заниматься архитекторством. Нужно решать другие задачи — влиять на "бизнес" организации, помогать коллегам, и делать свою работу *видимой*.
Месяцы 1-3, 4-6.


Для донов-неначинающих:

Продолжаю выкладывать для донов материалы СильныхИдей — доступны моим курсантам, но тут расширенные и дополненные версии.
Закончен очередной блок по Software Design. Дальше выполним итерацию по материалам по теме программной инженерии.

79. 44 правильных вопроса при разбирательстве с легаси-системой
Этап 1. Ищем начальную точку фокуса в коде.
Этап 2. Сущности в коде, связанные с изучаемой по смыслу.
Этап 3. Понимание графа сущности.
Этап 4. Понимание групп подграфов.
В 2026-м в подобном разбирательстве уже с помощью AI наверняка получится проработать проблему гораздо более глубоко, если в частности использовать эти вопросы в качестве промптов....

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

(все старые материалы для донов быстро сгорают)



=

Новые материалы для ментатов Лаборатории.

В раздел "Элитный программист" добавлен материал
89) Физика высокой продуктивности-1
Я был "включён" в работу с 7 утра до 9 вечера. Четырнадцать часов. Но если быть честным, настоящая работа была не более 4 часов... Формируем "Одноминутный рабочий день".

В СильныеИдеи добавлен материал "137) SOLID26: SRP".
Это милая маленькая эвристика, но сосредоточена она на неправильной вещи. Говорят, что Дядя Боб просто подбирал букву "S" для SOLID, а так-то он подразумевал high cohesion + low coupling...

=

Гайд про функциональные архитектуры, 67 топиков (+3), как наберётся 64 :) , дам ментатам доступ. На этой неделе, следите за новостями теперь только в личном кабинете.

=

- Иксианцы попытались создать оружие -- этакая самодвижущаяся смерть с машинным сознанием и интеллектом. Но иксианцы не понимают, что разработчики таких машин рано или поздно сами становятся машинами. Это путь к бесплодию. Машины всегда проигрывают... Надо только выждать время. И когда машина проигрывает, то не остаётся никакой жизни...
"Бог-Император Дюны"
1🫡397❤‍🔥5🏆3🤝3
Ладно, дорогие, не могу вас бросить :) ❤️
Я большой противник хрупких решений, а впн более чем хрупкое. Может быть временно какое-то время ещё дадут телеграму и впн поработать, но после осенних выборов, полагаю, сразу вообще всё отрубят капитально.

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

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

(Из этого, кстати, дофига чего следует, например
единица (identity span) в контексте агента означает, что каждое его действие должно быть или строго обратимо, или иметь тождественное отображение (no-op). Имею в виду, что агенты часто зацикливаются или совершают лишние телодвижения, потому что у них нет операционного понимания ничегонеделания. Внедрение же identity позволяет реализовать механизм метакогнитивного останова: агент сначала проецирует своё действие в расслоение (проверяет, равно ли текущее состояние целевому?), и только если расслоение не тождественно, совершает действие. Сразу экономим 20-30% токенов. По сути, формализуем условие останова как поиск identity-морфизма в пространстве состояний.)

и почему лучшие разработчики никогда не рассказывают о своих настройках AI агентов,

и про самозанятость
(ты не выглядишь глупо, когда терпишь неудачу, ты выглядишь глупо, когда перестаёшь пытаться),

и т.д. и т.п.

P.S. Сегодня просто праздник: вышли две классные игры, и особенно приятно, что западные паблишеры не захотели заработать на мне 100 долларов. Кримсон десерт я прям уже собирался брать (хотя цена космос), Мэд ему сперва давал 10/10, и тут пишет "манибэк - там головоломки!". Да, это 100% зашквар.

Ну а Death Stranding 2 я конечно взял бы, да только в стиме в российском регионе она недоступна. Штош, чистый торрент с русской озвучкой я уже скачал. Говорят, хиральную сеть теперь будем тянуть в Австралии, и почти всё время можно будет ехать на грузовике, даже в горах где раньше требовался экзоскелет. Типа "Дальнобойщики-2" получились :)
Рекомендую Кодзиму конечно однозначно, но начинать надо обязательно с первой версии (она вроде в стиме пока продаётся).

Я теперь буквально играю в игры и одновременно программирую: это будущее программной инженерии, наша работа будет до глупости простой!!1 (не говори это своим начальникам)
655👍106
Рубль -- это категория одномерных Z-модулей (над кольцом целых чисел),
или скорее категория одномерных векторных пространств над R (сложение + умножение на целые числа), но не алгебра над полем/кольцом, где возможно (абсурдное) умножение рубля на рубль.

И несмотря на то, что вы ничего не знаете о векторных пространствах или гомоморфизмах алгебр, вам каким-то образом удаётся избежать досадных ошибок "в категориях" на кассе. Но когда понятия чуть более разнообразны и сложны, чем рубли и расстояния, вы (а также ваши агенты) сталкиваетесь с проблемами.

Это я к тому, что в таком контексте мы можем рассматривать рубль как одномерное *пространство* -- и тут к теоркату сразу подключается вся мощща алгебраической топологии и гомотопической теории типов, где вся работа ведётся с пространствами. Какая красота.

Всё это разбираем на "Функциональных архитектурах", где я сперва хотел дать полную формализацию архитектуры портов и адаптеров в контексте функциональщины, но на какое-то время решил полностью переключиться на математику AI-агентов.
5🤔3585👍4
Понемногу продолжаю математико-литературные эксперименты. Этот самый первый я сделал ещё до первого Гран-при Формулы 1, и получилось даже немного пророчески :)

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

Почему так: потому что в этом году F1 в существенной степени и превращается в компьютерную игру. Убрали один из мотор-генераторов, но зато в три раза повысили мощу электродвижка до 470 л.с., и теперь оставшийся генератор не успевает поддерживать заряд батареи: если слишком выжмешь акк, быстро проиграешь. Поэтому теперь надо стараться больше проходить накатом, держать пониженную передачу чтобы подзарядить батарейку... Вдобавок добавили overtake mode -- типа условной кратковременной нитры ))) пол-мегаджоуля (которые ещё надо накопить).

"Гонка превращается в подобие ИИ"
"Вместо гонки теперь приходится заниматься менеджментом вождения"
(с) Ферстаппен

Прелесть.

Почитайте мою микро-повесть "Глубокая калибровка" про Формулу 1, 12 небольших глав.
101🔥3764
.

Облако драгоценностей за неделю.

Приватный клуб.

Как остаться в разработке в 2026-м? Многие до сих пор думают, что ключевое изменение в ИТ заключается в том, что искусственный интеллект теперь может писать код. Но реальный сдвиг заключается в том, что написание кода больше не есть узкое место во всём цикле создания программного продукта. Модель может сгенерировать за час больше кода, нежели большинство программистов могут должным образом просмотреть за день.
Скорость — это уже не самое сложное. Самое сложное — сохранить понятность кодовой базы после того, как будет внедрена такая скорость кодинга.

Для донов-начинающих:


За 18 месяцев от джуна до сеньора: дорожная карта, о которой молчат крупные онлайн-школы...

Хочу с околонуля через два года стать программистом мирового уровня, возможно?..

Для донов-неначинающих:

Сколько можно проходить этих ваших обучений? — думает миддл.
Ну, большинство пройденных обучений — это в 98% случаев купить количество уроков и жопочасов по просмотру инструмента xyz. Смотреть многочасовые видео, как настраивать и использовать этот инструмент/технологию/фреймворк, да тот же AI.
Вопрос: Где тут заработок денег? Где тут рост твоего дохода?

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

Продолжаю выкладывать для донов материалы СильныхИдей — доступны моим курсантам, но тут расширенные и дополненные версии.
80. Что такое баг?
Разбираемся в теме через формальные методы. У нас уже есть богатый опыт, как развиваются программные системы, и мы нередко видим немало печальных вариантов в будущем, когда всё сломается...

(все старые материалы для донов быстро сгорают)


=

Новые материалы для ментатов Лаборатории.

В курс карьеры добавлен 130-й материал "Современная система найма 2026".
На сервисах по поиску работы вас больше не оценивают: вас фильтруют. Время кадровика уходит на то, чтобы быстро сказать "нет". И компании продолжают совершенствовать при этом и другую сторону: больше скрининга, больше ранжирования, больше инструментов для сокращения объёма заявок.
Вот почему вы можете делать всё "правильно" -- и при этом исчезать с радаров. И вот что надо делать правильно...

В раздел "Элитный программист" добавлен материал
90) Физика высокой продуктивности-2
Многие люди полагают, что должны обязательно выбирать между свободой образа жизни и карьерными достижениями. Правильно организованный Одноминутный рабочий день может снять эту проблему.

В СильныеИдеи добавлен материал "138) SOLID26: ISP".
И в этой, и в предыдущих заметках по теме SOLID26 я собственно стараюсь сделать акцент на том, что между оригинальными принципами SOLID, возникшими в своём историческом контексте, и сегодняшним SOLID-мэйнстримом, существует огромный концептуальный разрыв...

=

Гайд про функциональные архитектуры, 71 топик (+4), сегодня открываю ментатам доступ. Акцент этой весной планирую делать на математике для AI-агентов (знание математики не требуется :). Уже добавил несколько прикладных следствий/рекомендаций с примерами кода.

=

Я жил всё это время в своём флигеле, не зная, что живу только для того, чтобы дождаться этого момента.
Так срабатывали спустя многие поколения селекционные планы Бене Гессерит.
"Еретики Дюны"
6👍315🔥42
Лучшие разработчики никогда не рассказывают о своих настройках AI агентов, и тем более не выкладывают их на гитхаб (если только это не продуманная маркетинговая стратегия). Худшие разработчики говорят только о своих настройках AI агентов. Они говорят и пишут о своих фреймворках для оркестровки агентов, и про skills md, и про agent md... Напоминает, как некогда ботаники бесконечно настраивали vim и emacs: их активность кажется продуктивной, но по факту ничего не делает.

Да, выбор правильного фреймворка помогает. Настройка скиллов -- это здорово. Просто фантастически создавать свой собственный искусственный интеллект. Приятно наблюдать за его работой. Посмотрите на мегабайты его кода! Он делает так много!!1

И никому нет до этого дела. Что ты сделал, что было отправлено в прод сегодня? Что нового могут сделать твои пользователи благодаря твоей работе с AI?

Вот и всё. Не давайте мне кучу md-файлов и документации. Просто отправьте в мастер код и заставьте его работать. Он попадает в продакшен? Это всё, что нам нужно.

Документ -- это не результат. Написание skills md не может быть результатом! Документ -- это "результат", который никто не будет читать. А вот когда ты лично изучил нюансы проблемы, разобрался с требованиями, покопался во всём этом дерьме и быстро реализовал очередную фичу -- вот это результат.

Твоя цель -- поставить value для клиентов. Остальное -- ерунда.

Да, это здорово, что Клод переписал 600 слов agent md на 30 000 токенов и обошёлся компании в 100 рублей, но что в результате пользователь может сделать сегодня такого, чего он не мог сделать вчера? Ни-че-го.
5👍4610❤‍🔥3
Все знают, как задавать агентам md-скиллы, но никто не знает, как их координировать. Существующие фреймворки (n8n, LangGraph, CrewAI и др.) -- чисто инженерные решения, причём ad hoc. Некоторые из них (например, LangGraph, автор которого учился в Гарварде по cs, и потом возглавлял мощную команду по ML) реально глубоко осмысливают concurrency и математику конечных автоматов. Но ни один из них не опирается полноценно на то, что мы знаем из математики и computer science о композиции типов, спецификации протоколов или структурных гарантиях для параллельных систем. Надеюсь, кто-нибудь из вас, дорогие, это реализует :)

Агент -- это особый вид морфизма. Он принимает типизированный ввод и выдаёт типизированный вывод, как и любой другой морфизм, и мы можем успешно задействовать эти типы. Это хорошо известный приём: на самом деле, PydanticAI и тот же Vercel AI SDK делают именно так. Агенты реализуют типизацию на уровне языковой модели, создавая и принимая JSON, и мы можем легко чекать, что JSON имеет правильный формат. Это основа проверки типов.

Но в отличие от структурных морфизмов, агент is stateful. Поэтому мы принимаем соглашение из k-исчисления: если значение аргумента не используется, его можно просто не писать в явном виде, либо оно сокращается. То есть аргумент, помеченный как "неиспользуемый", может быть вообще исключён из синтаксиса или типа.

Это я к тому, что очередной поразительный синхронизм: как стал копать в темку теории категорий для агентов, так быстро попал в склейку с архитектурой портов и адаптеров, которую я начал понемногу формализовывать: идеальная стыковка! То есть агентов мы композируем через явные соединения между портами, и формально такая взаимосвязь выглядит как бесточечный стиль в функциональном программировании (функция строится через композицию других функций; от лямбда-исчисления к комбинаторной логике): сжатая форма удобна для мышления (агентов) и написания (агентами), а развёрнутая форма удобна для выполнения.

А я говорил, что самая мощная формальная база для продуктивного использования AI-агентов -- это мета-программирование, правильно подобранный/созданный DSL.

(базу по этому всему добавляю ментатам в гайде "Функциональные архитектуры")
31🤔10👍5
Продолжаю работу с ментатами 🤓

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

Столкнулся с проблемой: коллеги BE-инженеры не обеспечивают должного качества решаемых задач (архитектурно + код), не понимают как решать ту или иную задачу (требуют расписывать алгоритм по шагам, чтобы скормить в Гпт и все), не понимают как задача вписывается в общую систему и т.д...

Сложность в том, что код довольно старый(видел классы, написанные 14 лет назад) и запутанный, многие вещи свалены в одну кучу. Возможно часть функционала устарела, потому что по мере роста проекта функции основного сервиса переносились в новые сервисы, ну и иногда менялись требования/хотелки бизнеса. Спецификация тоже местами устарела и часть вещей, которая там описана не соответствует действительности...

На собеседованиях я врядли буду просить писать реализации, рынок настолько обнищал что ужас. за адекватные деньги найти _настоящего_ сеньора невозможно, поэтому лучше брать реально молодого джуна у которого наблюдается:
- минимальная общая подкованность (он хотя бы на словах binary search может обьяснить),
- склонность к системности (да, я готов разбираться че там в бизнесе и реальности происходит а не просто таски клепать),
- ну и "желторотая послушность", чтобы он слушал и учился.
- ах да – пишет блог
Это картина идеального джуна, но таких тоже почти не существует в природе, а если существуют – то они амбициозны, научатся всему и уйдут дальше на х3 зп)

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

(Так-то этот проект во многом и планировался с такой целью, чтобы выявить ключевую боль software design, а архитектурщина и проектирование -- это уже последующие курсы)

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

Хорошая абстракция - это не про "удобный API", а про создание нового уровня реальности, где правила ясны, инварианты гарантированы, а рассуждения абсолютно точны...
5🔥396
Ставь китика, если телеграм читать больше не можешь (типа, ставь китика если у тебя заблокировали интернет), и я тогда буду репостить всё отсюда в мах-нах на бусти/спонср за 100 рублей в месяц.

Вчера кстати прочитал в одном бизнес-чятике, что "24-го марта Мах забанил 20,000 пабликов". Погуглите собственно. Буквально, две жалобы "а чё такие цены?" и бан косметическому салону например.

То есть вести бизнес в махе просто нереально. В принципе и понятно: набрали удалённых девок по две копейки на контроль, которые и рубят тупо всех подряд ("не положено").

А гуру маркетинга поясняют, какие усилия ты не вкладывай, максимум соберёшь в махе 1000 подписчиков. А если совсем топовый блогер, 2000 - максимальный предел (если не боты). Ну и быстрый бан от конкурентов за единичные жалобы, и иди жалуйся в спортлото.

P.S. Тэк-с, дорогие, значит не хотите фактически меня поддержать донатами? При том, что на твичи гейм-стримерам миллионы донатите? Ну ладно, я всё понял. Вы просто ждёте, когда я начну проходить Death Stranding 2 с видом страдающего ботаника, чтобы закидать меня деньгами? А пока я тут сижу в своей каморке, размышляю о фундаментальной математике под бит из Ведьмака -- это так, фоновый шум, да?

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

И всё, что я прошу -- это символический жест, что вы цените этот цирк, где главная роль -- моё медленно разрушающееся эго. Ладно, спасибо, что не хотите задонатить даже хотя бы один доллар.
71🤓51🐳31😎1452
Большинство людей, которые думают, что искусственный интеллект действительно хорош, никогда не видели, как с ним работают программисты.

При этом 98% программистов ненавидят вайб-кодинг и агентов просто потому, что у них плохо получается, а учиться они не хотят.
1💯43🤔9🫡2😁1
Достаточно большой процент программистов (60%? 98%?) действительно не могут "физически" воспринимать даже такие элементарные вещи из формальной логики, как кванторы. Ну казалось бы, да?

Для всех значений ключа X верно, что поле Z будет ненулевым.
и
Найдётся хотя бы одно значение ключа X, для которого поле Z будет нулевым.

Они такие кивают своими собственными головами: это очевидно! -- и тут же пишут нечто вроде

SELECT 
CASE
WHEN EXISTS (
SELECT 1 FROM my_table WHERE z_field IS NOT NULL
) THEN 'Все значения z_field ненулевые'
ELSE 'Не все значения z_field ненулевые'
END AS status;


SELECT 
CASE
WHEN NOT EXISTS (
SELECT 1 FROM my_table WHERE z_field IS NULL
) THEN 'Нет ни одного нулевого значения'
ELSE 'Есть хотя бы одно нулевое значение'
END AS has_null_status;


не понимая концептуально EXISTS (не квантор существования формально, но близко по смыслу).

Как говорят мудрецы, "это первое ментальное усилие в их жизни, не имевшее аналогов в школе", да и в универе. При этом они вполне могут стать (и массово становятся) сеньорами (хотя всё же чаще ит-менеджерами).

Подумайте кстати, почему квантор всеобщности в SQL отсутствует, а эмулируется через отрицание квантора существования.
1🤔3614😁3👍1
Коротко о важном. Собирать донаты/платные подписки по 100-200-500 рублей -- это полный зашквар. Потому что это не сумма, это диагноз. Такие блогеры совершенно неуважаемы. Ты такой стоишь с шапкой, а мимо идут люди, которые кидают мелочь, потому что на большее их фантазия не работает.

Настоящий стример/блогер собирает пачками, и катает на ламборджини. Или вообще не собирает -- потому что есть реклама, контракты, буки и казики, которые кидают подчас по 10к просто чтобы ты замолчал на минуту. А тут сотка рублей. Даже оскорбления с ней не присылают, потому что оскорбление дороже. Обозначать своё присутствие копейками -- это не поддержка, это оскорбление "вежливостью". Кто принимает такие донаты, сам себя похоронил в этой планке. Это попрошайка, у которого просто есть интернет.

Как правильно? Вот например Алиса в 13 лет проучилась в МГУ и РГГУ до педагога-психолога, и ведёт частные консультации -- 50 тысяч рублей за сеанс. Отбоя от желающих нет. Почему так она работает? Потому что её семья не нуждается в деньгах, деньги не главное. Просто спрос огромный, и Алиса так помогает людям.

У меня тоже нету ни малейшей потребности в деньгах, автономно могу многие годы прожить вообще без интернета (+ жена сделала запасы еды на полгода), поэтому и мои темки будут только сильно расти в цене, вот как у Алисы минимум.

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

– Скажите, Шура, честно, сколько вам нужно денег для счастья? – спросил Остап. – Только подсчитайте все.
– Сто рублей, – ответил Балаганов, с сожалением отрываясь от хлеба с колбасой.
– Да нет, вы меня не поняли. Не на сегодняшний день, а вообще. Для счастья. Ясно? Чтобы вам было хорошо на свете.
Балаганов долго думал, несмело улыбаясь, и, наконец, объявил, что для полного счастья ему нужно шесть тысяч четыреста рублей и что с этой суммой ему будет на свете очень хорошо.
– Ладно, – сказал Остап, получите пятьдесят тысяч.

"Остаток своих дней я решил посвятить науке."
(с) Дедмэн "Dead Stranding 2"
10👍25🤔19🏆4😇3🥰1
Планирую сделать "Функциональные архитектуры" стратегическим ресурсом Лаборатории, каждый день фактически пополняю. Cейчас разбираю тему мета-программирования по Алану Кэю: тысячекратная компактность кода через иерархию DSL, где ключевую роль играет наследование грамматик.

Но в целом в качестве базового языка нулевого уровня, на котором возводится эта иерархия, берём HoTT -- фундаментальный язык гомотопически когерентной математики, в котором гомотопическая когерентность не техническое условие, которое нужно проверять диаграммы, а синтаксический примитив. Это гарантирует, что например HIT, порождённый такими-то точками и путями, гарантированно будет гомотопически когерентным - по построению. Ну а главное, что в HoTT грамматика -- это тип/семейство типов, а наследование -- это путь между типами!!1
Ёлки, как красиво и стройно всё получается, кайф.

Соответственно, AI-агент, строящий модели мира на базе HoTT, не нуждается в отдельном механизме проверки согласованности альтернативных представлений. Если два описания изоморфны, они считаются идентичными.

При сборке же LLM-пайплайнов HoTT гарантирует, что композиция модулей гомотопически когерентна (ну то есть не возникает скрытых противоречий, если криво склеены интерфейсы).

Домены на HoTT позволяют агентам оперировать мета-связями (контекстными зависимостями) как примитивами языка, а не как костылями поверх этих ваших RDF.
А ADR кстати становится вообще не нужен: агент работает в языке, где вывод новых решений из существующих автоматически наследует и поддерживает когерентность всей системы архитектурных решений! Ибо системные связность и непротиворечивость встроены в логику.

Ментатам например покажу наследование JSON - JSON-LD - RDF. Агент, понимающий JSON, автоматически понимает JSON-LD и RDF, если они определены как наследуемые типы (не нужно писать отдельные адаптеры). И если два формата описывают одно и то же (например, YAML и JSON), агент может переключаться между ними без потери семантики.

Это переход от "агент пытается согласовать данные" к "агент работает в языке, где несогласованность невозможна по построению".
1050🔥84❤‍🔥3
Глупейшее "исследование" "Which Programming Language Is Best for Claude Code?", где меряется скорость генерации кода (быстрее хорошо) и количество строк на количество токенов (больше лучше), в результате которого оказывается что топчик - это Python и JavaScript, а Haskell и OCaml наихудшие из-за того, что не прошли какие-то там левые тесты.

Static typing prevents AI hallucination bugs!
No, skipping type annotations saves tokens!


Ну это всё тот же закон Гудхарта: если цель сохранение токенов, ну дык используйте тогда бесплатные модели :) И конечно оверхед тайп-чекинга обходится в разы дороже в токенах, если забыть про неуловимые логические ошибки.

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

Во-вторых сермяга в том, что вот именно типы помогают нейросеткам в разы качественнее рассуждать (но не генерировать быстрее/дешевле), языки со статической типизацией (а в целом формальные языки) -- это не про "быстро", это про "точно".
Для популярных динамических языков самая частая ошибка -- логическая ошибка, а для языков со статической типизацией (особенно для функциональных языков) преобладают ошибки компиляции и рантайма.
(Вы же надеюсь знаете, в чём отличие логических ошибок от исключений? Исключение это деление на ноль, вылез null и т.п., а логическая ошибка -- это когда программа как бы работает, но делает не то (например выполняет сортировку не по возрастанию а по убыванию)).

Потому что языки с сильной статической типизацией (Haskell, Rust, OCaml) предъявляют жёсткие требования к корректности: агент уже не может схитрить и выдать что-то, что просто запустится - он обязан дать структурно верное решение.

Вот например серьёзное исследование от разработчиков гитхаба
"Why AI is pushing developers toward typed languages"
94% ошибок компиляции в коде, сгенерированном LLM, были вызваны ошибками несоответствия типов. То есть статическая типизация автоматически устраняет 94% потенциальных проблем, которые могли бы возникнуть при использовании динамического языка.

Формальные языки -- это инструмент качества, а не инструмент скорости и дешевизны. Так собственно в программной инженерии всегда и было задолго до нейросетей.
13612👍1
Кстати, в тему классный материал "A sufficiently detailed spec is code" - с сайта HaskellForAll, который из России без впн недоступен, и соответственно скоро вообще будет недоступен никак ("не положено").

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

А так как работа над спецификациями требует куда больше осмысленности, нежели кодинг, то когда команды оптимизируют скорость, как в посте выше, спецификации становятся слопом, а не результатом глубокого анализа домена. Гонсалес в частности разбирает Symphony, который OpenAI позиционирует как успешный пример генерации кода из SPEC md. И когда он попросил агентов на основе этой как бы спеки сгенерить Symphony на Haskell, агент так и не потянул и близко. Во многом кстати потому, что, как Гонсалес утверждает, сама спецификация от OpenAI выглядит как нейрослоп: бессвязный и без глубинного понимания.

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

Specifications were never meant to be time-saving devices.
"Мусор на входе - мусор на выходе"

Ага! А я про что - именно про ликвидацию этого разрыва через формализацию иерархии DSL, максимально приближенных к человеческому языку, но следующих формальным грамматикам.
2418🔥4
Юдковский известен прежде всего как автор легендарного фанфика "Гарри Поттер и Методы Рационального Мышления", но так-то он один из крупнейших специалистов по опасностям искусственного интеллекта.
Полгода назад он написал книгу "Если его кто-нибудь построит, все умрут", после чего словил дикий организованный хейт в западных СМИ.

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

А в отношении ГПиМРМ, что интересно, ну как бы конкретно про МРМ (научный метод, байесовские вероятности, lesswrong, критика когнитивных искажений, формальная логика, экспериментальная проверка гипотез...) в фанфике особо и нету ничего. Ну может первые 20 глаз (исследование оборотного зелья, трансфигурации волшебных палочек, теоретизирование о природе магии...), но там не имеется ни малейшей систематизации как учебной программы. А дальше по сути лишь психология и тактика (педагогика Квиррелла).

Потому что Юдковский в силу своего профиля считает рациональностью более широкие темы:
a) эпистемологию -- правильно определять, что истинно (научный метод, байес) -- Гарри уже имеет эту базу,
b) инструментальщину -- как достигать целей эффективно (психология, стратегия, тактика, теория игр) -- Квиррелл учит конкретно этому под видом "боевой магии".

Рациональное мышление в научном смысле в ГПиМРМ показано конечно, но не структурировано, а "вшито" в характер Гарри и его самостоятельные исследования.

И вот как, дорогие, мы будем это исправлять...

...Гарри, сидя в Выручай-комнате, понимает, что магия -- это исполняемый код на языке реальности, и Гермиона вздыхает: "Поттер, ты превратил магию в программирование"...

Драко Малфой решает забанить всю магию, для чего заключает союз с Неорганическим Интеллектом...

...и, казалось бы, при чём здесь теория типов?

Гарри Поттер и МММ

1 апреля.
53515🔥8💯4
.

Облако драгоценностей за неделю.

Приватный клуб.

Исходно Андрей Карпатый придумал термин "vibe coding", чтобы описать щенячье-радостно-безбашенно-бесшабашный способ кодинга: вы даёте промпт, принимаете всё, что вам выдаёт AI, не смотрите diff-ы, и выполняете итерацию, сбрасывая обратно AI в чат возникающие сообщения об ошибках. Это было отличное название для создания быстрых прототипов или MVP с помощью чистого AI-автопилота, но не более...

Отчет Upwork 2026 показал, что спрос на навыки, связанные с AI, вырос на 109% в годовом исчислении; одна только интеграция AI выросла на 178%, а 77% менеджеров заявили, что AI увеличивает их потребность в специализированных кадрах.
Это говорит нам кое-что довольно ясно. Хард скиллы по-прежнему имеют значение.
Но ключевая ценность переходит к тем специалистам, которые могут внедрить/использовать искусственный интеллект в реальных системах, решать с его помощью реальные бизнес-задачи, и заставлять все это действительно работать.
Вот три пути, которые сейчас наиболее важны...

Для донов-начинающих:


База по карьере, серия 25:
Стив Джобс любил рисовать карьеру в виде стрелок. Да, но...
Как всё просто удаётся
На словах и на бумаге,
Как легко на гладкой карте
Стрелку начертить!
А потом идти придётся
Через горы и овраги...
Так что прежде, человечек,
Выучись ходить!

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

Совет для начинающих простой: глупо ...

Для донов-неначинающих:

OpenAI опубликовала подробный технический разбор того, как им удалось масштабировать PostgreSQL для поддержки 800 миллионов пользователей ChatGPT. Основная идея, что они добились этого без шардирования, используя один (!) основной экземпляр базы данных, и множество оптимизаций...

Материалы СильныхИдей — доступны моим курсантам, но тут расширенные и дополненные версии.
81. Избавляемся от зависимости от зависимостей
Сколько раз вы пытались удалить некоторую зависимость из проекта, но не были уверены, что сделали это успешно?
Чтобы ваша кодовая база не зависела от чего-то конкретного?
Или чтобы она "зависела от интерфейсов, а не от реализации"?
Или старались следовать SOLID по инверсии зависимостей?
Ну и?

(все старые материалы для донов быстро сгорают)


=

Новые материалы для ментатов Лаборатории.

В СильныеИдеи добавлен материал "139) SOLID26: DIP".
Разбираемся, как Роберт Мартин возвёл небольшой косвенный приём в ранг инженерного принципа, и теперь мы не только невероятно раздуваем код, но и упускаем кучу ошибок...

=

- Иксианская машина? Ты отрицаешь джихад!
- В этом состоит ещё один урок. Что в действительности делают эти машины? Они увеличивают количество вещей, которые мы можем делать не думая. То, что мы делаем, не думая, представляет собой реальную опасность. Посмотри, сколько времени ты шла по пустыне, прежде чем вспомнила о защитной маске
.
"Бог Император Дюны"
6374❤‍🔥2
Короче говоря, мой Max-канал, в который типа я как в твиттер понемножку писал, закрываю принципиально. Продолжение темок более подробное, продолжаю на Бусти.
Свежачок: Полностью завершена техническая работа над стандартом C++26. "Большая четверка" ключевых нововведений. В частности будут контракты!!1 поддержка предусловий, постусловий и contract_assert (удивительно, но принято несмотря на активное сопротивление).

Там же будет и "Гарри Поттер и Методы Математического Мышления"

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

"Партия говорит, что дважды два - пять. Если нужно, она скажет, что дважды два - десять. Логика - это враг, который выдает еретиков. Мы должны уничтожить логику."
1984

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

"Покажите мне человека, который действует логично, и я покажу вам преступника, которого мы упустили."
Берия

"Логика здесь не работает. Здесь работает цинизм, возведённый в абсолют."
Штирлиц
🙏3611🐳116👌1
...С научной точки зрения, однако, мнение дюжины топовых гуру по состоянию потока, deep work и максимальной продуктивности (Кэл Ньюпорт например, профессор информатики, автор бестселлеров "Цифровой минимализм", "В работу с головой", "Хватит мечтать, займись делом", "Медленная продуктивность" и др., крайне рекомендую) практически единодушно:

1. Прекратите пользоваться социальными сетями (нездоровая цифровая пища, которую взрослым необходимо исключить из рациона здорового контента).
2. Держите гаджеты подключёнными к сети, только когда вы находитесь дома, а вне дома вообще выключайте их.
3. Подталкивайте ваше правительство к запрету соцсетей для детей.
3. Создавайте рабочую культуру, в которой телефоны и ноутбуки не используются на совещаниях, и формируйте стратегии совместной работы, которые не требуют постоянного обмена сообщениями.
4. Откажитесь от расплывчатых требований "использовать искусственный интеллект", и вместо этого тщательно интегрируйте эти инструменты там, где они действительно делают нас умнее, а не просто более занятыми.

Но более важным, отмечает Ньюпорт, становится общий революционный дух (нахрен цифрообщество).

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

Сколько часов в день вы тратите на соцсети, на чатики, на бесконечное интересненькое? Но хотя бы грамм пользы вы получаете, которую можно применить прямо сейчас, а не когда-нибудь в будущем, кроме поглаживания своего эго?

Единственное, что жаль, что без впн не будут доступны качественные научные ресурсы, тем паче что сейчас STEM развивается экспоненциально, желательно оперативно быть в теме. С другой стороны, а кого-то это разве волнует? Из чиновников никто об этом даже и не заикается. "Не положено", и всё.

Кстати телеграмм (ещё в начале марта) я оплатил на три года вперёд.

И скачал многие сотни книг по математике и архитектурщине, да и в опенсорсные нейромодельки тоже зашита такая база знаний, что до программистского просветления нам точно хватит 💯
1504👍2🤔2🔥1