В чем разница между Богом и ИИ?
Бог создал человека по своему подобию, а человек создает ИИ по своему. Оба явно переоценили свои способности.
Все юзают чатгпт, но только 5% получают то, что хотят — вот в чём сила брат
Слушай, щас же все могут юзать любую нейронку, да? Чатпгт, клод, гемини — что угодно. Всё доступно, бесплатно или почти бесплатно. Тыкай кнопку и вперёд.
И знаешь, в чём прикол? У всех одни и те же игрушки. Тот же Чатпгт, те же инструменты. Все на равных вроде как. Типа демократия пришла в программирование, все теперь могут код писать через ИИ.
Но вот смотри что получается: один человек просит нейронку что-то сделать — работает идеально. Другой просит ту же самую нейронку, то же самое сделать — полная фигня на выходе. Как так-то?
А вот что реально решает — как ты промпт напишешь. Серьёзно, это не шутки.
Один чувак напишет "сделай мне сайт" — получит какую-то хрень с кривыми кнопками. Другой нормально опишет: какой сайт, для кого, какие функции, в каком стиле — и вуаля, получает почти готовый проект.
Всё от промпта зависит, понимаешь? Это как... ну, у всех одинаковые кастрюли на кухне, а готовят по-разному. У одного шедевр, у другого пригорело.
Промпт — это новый код, брат. Раньше надо было питон учить, джавастрипт, все эти фреймворки. А щас? Щас надо уметь с машиной разговаривать так, чтобы она тебя поняла. Это отдельный скилл, который мало кто прокачивает, хотя он решает вообще всё.
Короче, надо учиться промпты писать. Это щас самое важное в программировании. Не языки зубрить до посинения, а научиться с этими нейронками разговаривать нормально. Структурировать мысли, объяснять задачу, давать контекст, итерировать.
Кто освоит промптинг — тот и выиграет в этой новой эре. Остальные будут тыкать палкой в чатгпт и жаловаться, что "ИИ — фигня, ничего не работает". А ты будешь делать за час то, на что раньше неделя уходила.
Технологии: "Path Tracing и Ray Tracing" принципы работы
Трассировка пути — продвинутая технология построения изображений в компьютерной графике. Она широко применяется для создания реалистичных сцен в фильмах, и все больше становится популярной в новых играх для ПК и консолей. Как работает эта технология, и в чем ее отличия от более распространенной трассировки лучей?
Что такое трассировка пути
Компьютерная графика, используемая в современном кинематографе, основана на одной из техник трассировки лучей — трассировке пути (Path Tracing). Этот алгоритм появился в далеком 1986 году, но из-за своей сложности лишь спустя 30 лет начал массово использоваться для создания графики в фильмах.
Чтобы понять, почему все это время трассировка пути оставалась неосуществимой, ознакомимся с основами построения подобной картинки. Сначала 3D-художники вручную моделируют форму объектов в сцене, а программное обеспечение для рендера разбивает их на мелкие треугольники — полигоны.
Затем на модели накладываются текстуры, которые симулируют материалы определенного цвета и типа — например, шероховатые, гладкие или стеклянные.
Готовые объекты и источники света: солнце, небо, фонари, размещаются в нужных положениях на 3D-сцене. После этого добавляется виртуальная камера и запускается процесс рендеринга — благодаря ему картинка в кадре визуализируется в виде привычного 2D-изображения.
С помощью трассировки пути имитируются отражения света от различных материалов. К примеру, попав на матовую красную черепицу крыши, часть света ей будет поглощена, а другая часть — отразится красным. Отраженный свет от каждого объекта попадает в виртуальную камеру, внося свой вклад в создание изображения.
Для образования каждой точки конечной картинки осуществляется несколько тысяч подобных расчетов. А для формирования одного кадра изображения с разрешением 4К их потребуется несколько миллиардов.
Именно из-за этого долгое время создание изображений с использованием трассировки пути было очень медленным процессом. Например, в 2016 году рендерингом фильмов «Зверополис» и «Моана» занималась ферма из тысяч серверов, которые производили вычисления в течении нескольких месяцев — и это всего для двух часов анимации.
Формирование изображения
Для начала ознакомимся с принципом создания изображения при трассировке пути. Этот алгоритм относится к виду вычислений, которые очень хорошо распараллеливаются: точки картинки независимы друг от друга, поэтому тысячи лучей для каждой из них можно рассчитывать одновременно.
Если показать на картинке траектории всех лучей, которые просчитываются для этой сцены, то она заполнится огромным количеством линий. Поэтому рассмотрим данный процесс на примере одной точки. Первый луч испускается из ее центра и попадает на полигон какого-либо объекта в кадре.
Базовый цвет точки формируется с помощью нескольких лучей, которые попадают рядом с центральным — для этого все их цвета усредняются. Подобные лучи называются первичными.
В результате такого подхода формируется изображение с правильной перспективой.
Глобальное освещение
Мы рассмотрели, как цвет полигонов передается точкам виртуального кадра. Но для получения реалистичной сцены нужно просчитать глобальное освещение объектов — ведь яркость и оттенок цвета каждой точки зависит именно от него.
Для этой цели комбинируются два вида расчетов: прямого (Direct) и непрямого (Indirect) освещения. При первом виде вычислений просчитываются лучи непосредственно от источников освещения — солнца, неба и ламп. Они называются теневыми.
Теневые лучи отражаются от всех объектов сцены, попутно приобретая характер и окраску от их материалов. Таким образом все поверхности, на которые попадает прямое освещение, становятся источниками непрямого. Отраженный свет проникает во все области кадра. В том числе в те, которые закрыты преградами от лучей прямого освещения. На примере ниже можно увидеть, как освещенная зеленая точка на стене отражает свой свет на синюю точку столба, находящуюся в тени.
Этот луч, проходящий между двумя точками, называют вторичным. Если при первом отражении он снова попадет в тень, то от него будут просчитаны дополнительные лучи. Так будет продолжаться либо до попадания на освещенную прямым светом точку, либо до достижения лимита отскоков, при котором дальнейший поиск траектории луча прекращается.
Вместе с траекториями лучей от источников прямого освещения это создает большое количество вычислений. Например, в кадре ниже для получения 20 первичных лучей необходимо рассчитать почти сотню вторичных и теневых.
Благодаря непрямому освещению реалистично просчитывается не только изменение яркости точек, но и их взаимное влияние на цвет друг друга. К примеру, если расположить рядом со столбом красный воздушный шар, то за счет непрямого освещения в его оттенок окрасится и тень от столба.
Не менее важно и то, что направление распространения вторичных лучей зависит от свойств материала объекта. Если он идеально гладкий, то угол падения луча будет равен углу его отражения — благодаря этому поверхность будет выглядеть зеркальной. А от шероховатого материала того же цвета лучи будут отражаться в случайные стороны — из-за этого он, как и положено, будет отображаться матовым.
В случае, если материалом выступает стекло, то будет просчитываться не только отражение света, но еще и его преломление при прохождении насквозь.
Сложность трассировки пути зависит от количества источников света, количества лучей на точку и предельно допустимого числа их дополнительных отскоков. У сцены из первого примера с замком используется четыре источника света, тысяча лучей на точку и 12 отскоков. Чтобы визуализировать один ее кадр в 4К, нужно просчитать примерно 400 миллиардов лучей.
А для создания всего одной секунды такого видео их понадобится просчитать уже около триллиона. Именно поэтому в течение нескольких десятилетий трассировка пути для фильмов считалась невозможной.
Чтобы достичь приемлемой производительности, в современных играх трассировка пути реализована намного проще — один-два луча на точку и от одного до четырех отскоков. Но даже при таких параметрах и базовом разрешении Full HD для комфортной игры каждую секунду видеокарте понадобится просчитывать около полумиллиарда лучей.
Иерархия ограничивающих объемов
Еще одна ключевая трудность при трассировке пути — узнать, на какой именно полигон луч из точки попадает первым, чтобы определить ее основной цвет. В случае, если полигонов десятки или сотни, можно воспользоваться вычислением траектории луча с помощью математических уравнений. Но в современных сценах их миллионы, поэтому этот способ потребует огромных вычислительных ресурсов. Чтобы упростить данный процесс, используется иерархия ограничивающих объемов (Bounding Volume Hierarchy, BVH). При таком подходе сцена разделяется на виртуальные объемы-коробки, в каждой из которых оказывается одинаковое количество полигонов.
Коробки делятся надвое до тех пор, пока в каждой из них не останется всего несколько полигонов (обычно от 4 до 32). В нашем примере сцена состоит из трех миллионов полигонов, которые «раскладываются» в полмиллиона небольших коробочек.
Положение каждой коробки в пространстве выровнено строго по осям координат. Когда луч начинает свое путешествие из точки, его направление сравнивается с координатами первой пары больших коробок. Коробка, которую он не пересекает, исключается из расчетов — как и все более мелкие, на которые она поделена.
Затем направление луча сравнивается с координатами двух меньших коробок, на которые разделена исходная. И так до тех пор, пока луч не достигнет самой маленькой коробки.
В виду ограничения фотоматериалов
ПРОДОЛЖЕНИЕ СЛЕДУЕТ...
Генератор 3D моделей с помощью Shap-e. Text-to-3D
Shap-e представляет собой генеративную нейросеть для Python, для генерации 3D моделей по тексту.
GUI приложение, с выбором количества генераций за 1 раз и выбором формата сохранения по указанному пути.
Процесс генерации. Генерация производилась на видеокарте Nvidia 3060 12Gb, довольно шустро не более 5 минут на 4 варианта модели.
Модель внутри имеет мешанину с пустотами и висячими элементами, что видно при нарезке, если даже вы ставите 100% заполнение.
В целом, модельки можно починить в Meshmixer, использовать их, как основу для дальнейшего улучшения, придания нужного вида.
Зумер, купи собачку или заведи друга
Зумеры думают, что быть эмоциональным в чатах и документах на работе — это уникально.
Нет. Предыдущие поколения тоже выплёскивали эмоции.
Но кто сразу переключался на язык фактов — эти люди сделали карьеру, построили успешные компании, их идеи доходили до цели, а не терялись в бурном потоке.
Зумеры же используют новые каналы как реку эмоций: чаты, документацию, таски — поток бурлит, волнует, захлёстывает смысл.
И это их погубит.
Есть компании, которые не берут зумеров, потому что не хотят превращать рабочие инструменты в психотерапию.
Тот, кто понимает простую вещь:
поток эмоций = река хаоса,
канал фактов = дамба, структура, русло,
понижение энтропии = управление потоком = рост по карьерной лестнице,
— тот становится архитектором реки, получает доверие, решения принимаются быстрее, ошибки падают, а продвижение приходит раньше, чем у остальных.
Эмоции в работе нужны. Но не там, где решаются задачи.
Если хочешь строить карьеру — превращай бурный поток в канал. Поток оставь на вечер, другу или собаке.
Поезд дальше не идет
Раз выжили в коммуналке под названием Scrum, пора переезжать в высотку. Там лифт не работает, консьерж пьет, но зато вид с балкона — на миллион долларов.
Этот переезд называется SAFe (Scaled Agile Framework).
Если Scrum — это джаз-банд в прокуренном кабаке, где трое играют, а один фальшивит, то SAFe — это симфонический оркестр государственной филармонии. Музыкантов сотня, дирижеров пятеро, ноты утверждены в министерстве, и импровизация карается расстрелом (или увольнением, что при ипотеке одно и то же).
Вот как устроен этот колосс.
1. Метафора: Поезд, идущий в никуда (Agile Release Train)
В Scrum была команда. В SAFe придумали ART (Agile Release Train) — Поезд Релиза.
Это не просто метафора, это диагноз. Представьте себе состав, в который загнали 5–10 команд (человек 100–120). Все они должны ехать в одну сторону и с одной скоростью.
Если одна команда (вагон) сойдет с рельсов — под откос летит весь состав.
Остановить поезд нельзя. Он едет по расписанию, которое называется Program Increment (PI).
Обычно этот PI длится 8–12 недель. Это время, за которое поезд должен доехать от станции «Мы ничего не понимаем» до станции «Вроде работает, но трогать страшно».
2. Главный спектакль: PI Planning
Раз в два-три месяца случается событие, по масштабу сравнимое с первомайской демонстрацией. Называется PI Planning.
Сгоняют всех: программистов, начальников, заказчиков и тех, кто просто зашел погреться. Два дня подряд сотня людей в душном помещении (или в Zoom, что еще хуже, так как нельзя выйти покурить с коллегой) планируют будущее.
Суть ритуала: Команды пытаются угадать, что они будут делать следующие три месяца.
Доска зависимостей (Program Board): Это такой алтарь SAFe. На стену вешают ватман, лепят стикеры и соединяют их красными нитками.
Выглядит это как схема раскрытия мафиозного заговора в дешевом детективе. Красная нитка означает, что Вася не может начать работу, пока Петя не закончит свою, а Петя ждет, пока Коля вернется из запоя.
Задача мероприятия — убедить руководство, что красные нитки не затянутся у нас на шее.
3. Новые персонажи (Роли)
В Scrum было трое. В SAFe, как в бюрократическом аппарате, количество начальников растет в геометрической прогрессии.
RTE (Release Train Engineer).
Это Скрам-мастер, который вырос, заматерел и перестал улыбаться. Начальник поезда. Его задача — свистеть, махать флажком и следить, чтобы вагоны не отцеплялись на ходу. Он управляет хаосом на уровне сотни людей. Человек с железными нервами и, вероятно, язвой желудка.
Product Management (Управление Продуктом).
Один Владелец Продукта (PO) уже не справляется. Появляется целая каста менеджеров. Они решают, куда едет поезд. Простые смертные разработчики их видят редко, как небожителей.
System Architect (Системный Архитектор).
Человек, который знает, как в теории всё это должно работать. Он рисует красивые схемы облаков и микросервисов. Когда схемы сталкиваются с реальностью (легаси-кодом 1998 года), Архитектор обычно грустит или говорит: «Это детали реализации».
4. Уровни (Levels)
SAFe любит иерархию.
Team Level (Уровень команды): Тут всё по-старому. Сидят ребята, пишут код, ругаются на дейли. Их жизнь почти не меняется, только давления больше.
Program Level: Тут живут менеджеры среднего звена и RTE. Тут решают судьбы фич.
Portfolio Level (Портфель): Самый верх. Там сидят люди в дорогих костюмах и делят бюджеты. Слов «рефакторинг» и «технический долг» там не знают. Там знают слова «Стратегические Темы» и «ROI».
5. Инновации и Планирование (IP Iteration)
В конце каждого квартала есть специальная итерация — IP (Innovation and Planning).
По задумке авторов методички, в эти две недели команда должна заниматься образованием, инновациями и отдыхом.
В реальности (как и в Советском Союзе) в это время мы в мыле доделываем то, что не успели за предыдущие два месяца. «Инновация» заключается в том, чтобы придумать, как сдать сырой проект и не покраснеть.
Вместо морали
SAFe — это попытка натянуть уютный свитер Agile на слона корпорации. Свитер трещит, слону неудобно, но выглядит солидно.
Если вам говорят: «У нас SAFe», знайте: будет много встреч, много красивых слов, красных ниток и длинных таблиц в Excel. Но в глубине, под толщей этой бюрократии, всё так же сидит одинокий программист, который просто хочет, чтобы его код скомпилировался без ошибок.
И в этом, пожалуй, есть какая-то надежда.
Другие подобные рассказы тут https://dovlatov-ai.web.app/




































