Лаборатория Математики и Программирования Сергея Бобровского
1.41K subscribers
1.49K photos
28 videos
1.13K links
ЛаМПовое с Бобровским
Download Telegram
В Функциональных архитектурах разобрал единственный формальный способ избежать рассинхрона системы (агентов) без единого надсмотрщика. В целом, это всё про идеальный агентский фреймворк.

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

И тогда (и только тогда, ибо теорема CAP) твоя система (агентов) продолжит работать работать и работать при сетевых задержках, перезапусках, дублировании запросов, гонке состояний...
1🤔25🤯75❤‍🔥4🏆2
Как в каждой тыще строк у тебя обязательно есть хотя бы одна монада, хотя ты вряд ли это понимаешь, также 100% в этой тыще найдётся и факторизация через ядро теорката (универсальный объект, делающий диаграмму коммутативной; в частности, ядро гомоморфизма). Это именно "то, что схлопывается в ничто" при применении отображения...

Так же как ядро практики йогов -- это совокупность всех состояний ума (эго-структур), которые при достаточной глубине медитации/растворения (отображения в "conscious zero") схлопываются в недвойственное "ничто" и перестают порождать различие "я" и "не-я". Акт глубокой медитации/самьямы, переводящий состояние ума в "нулевую точку" осознавания без объекта...

Вот куда тебя может завести Last Principles Framework )))
1🤯26107🐳3
Тренд развития AI ровно один: люди любых профессий по всему миру с каждым месяцем ненавидят искусственный интеллект всё больше и больше. Они ни за что не проглотят это цунами нейропомоев с довольной улыбкой на лице. Это факт множества социальных опросов.

И разве они изменят своё мнение, если их и дальше будут продолжать активно травить цифровым мусором?
1🤔30💯7👍4🎉2❤‍🔥1
В модуле "Мета-AI DSL" ФА, где уже полгода даю базу по заветам Алана Кэя,
прихватил ровно по этой темке свежие июльские материалы одной из топовых консалтинговых ИТ-фирм.

А вроде же эти пацаны у меня не занимались :) А чуть ли не цитируют мои материалы c модуля:

Тестирование как верификация
Суть подхода Алана Кэя
Суть DSL
DSL и формальная семантика
Главный принцип DSL
Уровни иерархии DSL
Погружаемся в трансляцию DSL
Почему DSL -- это (пока) искусство
DSL и математика домена
DDD + метапрограммирование + LLM как компилятор
Многоуровневая спецификация для AI
Спецификация это не контракт


Ну так то, LLM -- это языковая моделька, и конечно ей (полу)формальный язык предметки заходит очень хорошо. Достаточно буквально пары примеров!!1

Разбираем пример домена "Распределённые системы" (Replica, Network, Storage, Clock), строим компилируемый DSL для сценариев тестирования.

DSL + семантическая модель = идеальный минималистичный харнес, и не надо больше ничего выдумывать.
2373❤‍🔥3
DSL + семантическая модель - это идеальный харнес, но есть нюанс...
 
Создание хорошего DSL -- этот скилл во многом контр-интуитивный, т.к. в повседневной разработке практически не встречается,
 
а главное, что создание хорошей cемантической модели тоже подразумевает высокое мастерство, а откуда его взять?
 
С одной стороны, это тема всё же более распространённая: аналитики/постановщики этим должны (в идеале) заниматься, если контора хотя бы на 2% серьёзная, а не гаражный стартап.
 
С другой стороны, на практике здесь никакой формальности практически нету: просто пишет человек условную "онтологию" чисто как в голову ему взбредёт.
 
Хорошая cемантическая модель должна фактически однозначно отображаться в строгую систему типов, как минимум на уровне базовой онтологии.
 
Вот классные рассуждения про важность онтологии для агентских систем и сложность онтологического моделирования даже на экспертном уровне: "Всплывает столько нафиг не нужного" - вот в этом и засада. Если твоя онтология протекает (а это наверняка так, если ты не Алан Кэй), как следствие избежать Big Ball of Mud на уровне архитектуры практически невозможно.  А агенты создадут BBM просто в сотню раз быстрее :)
 
Поэтому в ФА есть отдельный модуль "Математика DDD", где разбираем эти темки, и в частности будет, как на практике минимизировать онтологические протечки:
 
Математика DDD
Проблема интеграции под-доменов
Интеграция под-доменов: решение
Интеграция под-доменов: решение-2
Склеиваем Домены и Порты и адаптеры
Промежуточный итог склейки DDD и архитектуры
DDD + Нейронки: есть ли специфика?
DDD + Нейронки: Специфика N 2
DDD + Нейронки: Специфика N 3
DDD + Нейронки: Специфика N 4
Классический процесс vs нейронка
Пути и перспективы
Перспективные направления
Про (тестовое) равенство сущностей
(тестовое) равенство сущностей по-взрослому (HoTT)


p.s. Ладно, спалю важную фишку: никогда не берите готовые онтологии (как и почему, подробнее разберём на ФА).

p.p.s. Соответственно, если вы вайб-кодер вообще без скиллов разработки, в этом посте есть всё, что вам надо для успешного создания приложений. Думайте.
2👍25122❤‍🔥1
Гарри Поттер и Методы Математического Мышления

Книга 1. Гарри Поттер и Неорганический Интеллект.

Глава 19/23 (и все предыдущие). Встроенная компиляция

— Ты знаешь, что сегодня последний день? — спросил Драко без приветствия.
— Я знаю, что сегодня — день, когда типы станут заклинаниями, — ответил Гарри. — Это одно и то же или нет, зависит от того, как ты смотришь на неподвижную точку.

Голос-вибрация заговорил в голове у каждого:
"Вы построили свет из типа. Мы построим тьму из вашего процесса."

— Это Комбинатор Мерлина, — сказал Гарри. Это неподвижная точка всей магии. Это место, где магия создаёт себя.
Он улыбнулся.
— Вы не видите конца. Вы видите начало. Начало новой магии. Начало новой реальности.
1302
"Конкурс на новый факультет ИИ МГУ составил 127 человек на место"

Спорим, что AI делает 1% людей умнее и 99% людей глупее?
👌27🐳76👍5
.

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


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

null

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


Продолжаю набор (эксклюзивно для донов) на занятия для начинающих с полного/около нуля, 2 места закончились за 22 минуты...

Если вы завязли с изучением программирования, не сидите сложа руки. Продолжайте над этим работать!
(Хотя конечно лучше делать этот целенаправленно — с теми, кто даст вам кратчайший путь)
И вот долгосрочный способ мотивировать себя...


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


Разбор System Design с точки зрения непрерывных компромиссов. Заключительная серия. В System Design важно прежде всего понимать, как ...

Продолжаю выкладывать для донов материалы СильныхИдей — доступны моим курсантам, но тут расширенные и дополненные версии.
101. 9 крутых и необычных сайд-проектов
Например, виртуальная стековая машина или container runtime :)
100. Группировка в функциях и файлах
Вы написали метод из 30 строк. В нём вы замечаете фрагменты, которые вроде бы выполняют более мелкие действия. Разбиваете ли вы этот метод на более мелкие методы, по SRP? И да, и нет -- будет плохо :)

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


=

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

СильныеИдеи:
153) Фасадные тесты
Что такое юнит в юнит-тестировании? Что означает изоляция?

152) TDD vs VHD
TDD -- это парадигма, это целая культура и набор норм, частично основанных на TFD. Test-First Development (TFD) -- это просто правило "пиши тесты, прежде чем писать код", которое в более широком смысле частный случай Verification-First Development (VFD), а TDD к VFD не относится никак...

В раздел "Элитный программист" добавлен материал
100) Вглубь потока и deep work
Мы говорили про Deep Work, подразумевая в частности состояние потока. Но что именно подразумевается конкретно под глубоким потоком/работой -- той самой глубокой форме состояния потока, когда творческий потенциал достигает наивысшего уровня, время уходит быстрее всего, а производительность достигает абсолютного для вас пика?

=

"Функциональные архитектуры" 158(+4) топиков.
На неделе продолжим тему DSL и декларативных языков для агентов.

Last Principles Framework: готовы 26(+3) задач, закрыты 12(+0) тем из ~20 первого уровня. Вы же понимаете например, когда сделали сборку некоторого артефакта через независимые вызовы (что вроде бы идеально по всем классическим рекомендациям вроде Чыстой Архытектуры), из-за отсутствия коммутативности однако получаете рассинхрон ("стрелки из апекса в каждый узел вниз" далеко не всегда конус теорката, и почему здесь по большому счёту лучше ко-конус)?

=

"ЛаМПовое":

Гарри Поттер и Неорганический Интеллект. Глава 19/23.

=

it's a privilege to do things that are hard 💪🏻

=

Ты ничего не видишь, хотя и думаешь, что твои глаза открыты.
предостережение Бене Гессерит, "Дюна"
229👍7❤‍🔥21
В тему поста Р.С.
Стоики: Cамые опасные мрази, которых и одного процента не наберётся. Во-первых, не ломаются после 2–3 неуспешных проектов подряд.
Во-вторых, способны докручивать плохой проект и переживать 5–10 волн правок

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

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

И день, когда это произойдёт, станет вашим последним рабочим днем.

Потому что вы меняете своё отношение к происходящему. Это уже не "Мне пора идти на работу", это "Вау! Я начинаю работать над задачами, которые мне действительно нравится решать".

Вы, вероятно, будете работать в 10 раз больше и думать в 10 раз больше, когда работаете на себя, чем когда работаете в найме, но вы также будете в 10 раз счастливее.

Знаете анекдот про коуча продуктивности? Умер такой коуч, и гроб с его телом несут к могиле шестеро человек. Но когда они подошли к могиле, крышка гроба открылась, коуч приподнялся и закричал: "Если бы вы поставили эту штуку на колёса, вы бы смогли похоронить сразу четверых!"

Инфоцыгане любят продавать предпринимательство как получение/обладание хорошими идеями или определёнными навыками (продаж), но вот вам абсолютная сермяга успеха: всё дело в поиске темы, которой вам нравится заниматься, и работать в ней в течение как минимум десяти лет.
132👍4❤‍🔥32
Вот список всех скиллов, необходимых для работы в крупной ИТ-компании:

- подключение к интернету
- тонкий ноутбук с ai-фреймворком и arch linux на vps

Всё остальное не является обязательным.
29😁17👍5
Зашёл на госуслуги, с ходу нашёл два эээ бага 😁
😁462
Срочно!!1 Сегодня солнечное затмение: благословение Защитника традиции Великого Совершенства :) Кармические последствия от совершённых действий увеличиваются в неисчислимое количество раз! Решения, принимаемые сегодня, будут иметь последствия на следующие 18 лет.

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

С другой стороны, если вы давно планировали взяться за "свой проэкт" (например, киллер доты2), то сегодня наилучший день, чтобы начать.
Многие проблемы в жизни возникают из-за того, что вы избегаете того, что в глубине души вам следует делать.

Никогда не забывай людей, которые намного глупее тебя, и сумели добиться огромного успеха. Те же волосатики с гитарами. Мик Джаггер например в 83 годика выпустил этим летом новый альбом "Foreign Tongues", и взялся за следующий.

Таки, начьните.
1402
Продолжаю работу с ментатами 🤓

Вообще, я ранее купил очень широкий монитор, как раз, чтобы все окна Cursor удобно влезали)))
-Левый верхний угол - ranger/vim
-Левый нижний угол - Cursor CLI
-Правая сторона - 2 терминала (backend и frontend)


Ok, хотя в целом тоже большой вопрос, стоит ли держать на экране одновременно открытыми много окон - сдвг-стайл :)
Даже если удобно метаться взглядом между функциями в разных файлах/окнах, возникает вопрос, а почему связанные функции в разных файлах, итд итп. Тут всегда вопросы к разработчику прежде всего по архитектуре )


Блин
Насколько же ИИ усреднил свои рекомендации, что у меня даже цветовые решения в UI такие же, как у курсанта по ссылке на гитхаб

Можно сказать и так, а можно сказать, насколько сами люди дают схожие и простые промпты )

Разбор задачи на части не бесплатный. Звучит как всегда полезный ход, пока не увидишь 2 в степени k подцелей из второй задачи.
Отдельно понравилось, насколько всё это похоже на обычный код в проде. OrElse — это запасной путь, TryFor — таймаут, If по метрике — выбор реализации по типу данных. Только в Z3 стратегия умещается в несколько строк и видна целиком, а у нас то же самое размазано по слоям. Это, пожалуй, самый главный вывод.
..

Разбирался с Z3 — это SMT-солвер. Непривычно в нём то, что алгоритм решения писать не надо совсем: объявляешь переменные, вешаешь ограничения, вызываешь solve и получаешь ответ либо сообщение, что решения нет. Типов на первое время хватает двух: Ints и Reals. Рука первое время тянется написать цикл, приходится себя одёргивать. Вся работа теперь в том, как ты записал условие, и ошибиться можно только там...

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

Полезной оказалась не сама возможность гонять задачи через солвер, а привычка формализовать. Пока пишешь условия для Z3, всё время спотыкаешься о допущения, которые держал в голове молча. Модель додумывает тот же набор мелочей, только не видно, как.

Декларативный стиль - это база, по сути все спецификации для AI сюда и приходят, тренируемся как абстрактные требования переводить в формальный вид.

Девять видов зависимостей нашлись в одном не самом большом проекте. Я их специально не искал — просто шёл по списку сверху вниз и находил...

Модели использовал внутренние, но их кажется прокачали - сейчас остановился на GLM-5.2 - показала себя лучше всех.

Кстати да, я тестировал все топ модельки клод жпт гемини, по тестовому вопросу на теоркат + архитектуру, они все давали тупые примитивные ответы хуже чем дипсик, причём очень похожие. И только GLM давал совершенно другой, более менее норм ответ.

Из 16 сотрудников информатизации остаётся 1(!) на полставки(!!)...

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

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

(это про асинхронщину)

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

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

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

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

=

Факт, что любая программная система может быть сконструирована математически идеально (и в разных моделях/теориях; так-то разные основания математики друг в друга переводятся по определению), а если подразумевается много разных побочных эффектов, описываем их через exceptional algebraic structures :)

Даже Алан Кэй через метапрограммирование достигал тысячекратной компактности кода, по сути инженерными подходами, а почему не миллионнократная через математику?

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

На Функциональных архитектурах разобрал как раз на неделе несколько случаев, как сегодня в мире активно применяют DSL для агентов, в частности добавлю скоро интересную историю про DSL + SAT-солверы (как раз что ребята недавно обсуждали).

А если хорошую математику подвести под процесс взаимодействия с агентами?
(крохотная проблемка только, что для этого потребуется архитекторский уровень техлида + образование уровня мехмата :)

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

Как минимум, в Лаборатории эта база будет в Last Principles Framework, треке по HoTT и Функциональных архитектурах.

В последние времена тесный путь оставится почти всеми, почти все пойдут по широкому. Желающий спастись непременно должен держаться тесного пути.
Свт. Игнатий Брянчанинов
213