Hackerman Logic
136 subscribers
31 photos
3 videos
22 links
Когнитивно-искажённые мысли отдельно взятого не особо сферического погромиста в вакууме.
Download Telegram
Channel created
Я всё чаще наталкиваюсь на мысль, что многим разработчикам (а особенно новичкам), достаточно сложно выполнять поставленные задачи.
Это не зависит от того, поставил себе задачу человек сам, либо устроился в какую-то компанию под руководство опытного руководителя.
Я решил провести некое наблюдение и расследование, разобраться в этой проблеме и попробовать найти решение.

Триггером к созданию канала помимо вышеизложенного было обсуждение в канале уважаемого и известного в кругах Unreal Engine @ufnah: https://t.me/ufnadev

Я пришёл к простому выводу: многие люди не умеют логически мыслить и приходят к правильному структурированному мышлению через большие промежутки времени.

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

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

Несомненно, теоретические знания предметной области важны, и без них также невозможно решать задачи. Но если они не организованы, не сцеплены связями с трудом, направленным на их практическое выполнение, они теряют свою ценность. На рынке мы видим множество специалистов, которые имеют дипломы от ВУЗов и сертификаты от курсов, но не умеют решать задачи практически. Как итог, компаниям приходится либо искать и перекупать зарекомендовавших себя специалистов за большие деньги (что в целом не очень хорошо сказывается на рынке), либо тратить очень много времени и средств на обучение и подготовку новичков.

Введение нового человека в работу и его подготовка идёт обычно по принципу вербального и визуального объяснения структуры выделенной предметной области и прикладной задачи. Например, задача в том чтобы исправить некую ошибку в некоей библиотеке. Руководитель объясняет структуру библиотеки и проблему (не работает фича, надо найти и поправить). Если человек при этом не умеет структурировать получаемые знания и пользоваться приёмами логики для осознания вопроса, такое объяснение может потребоваться повторить несколько раз, на что будет потрачено время обоих специалистов (и, соответственно, деньги компании). Можно сравнить начинающего разработчика с "китайской комнатой" или нейросетью, обученной для решения определённого класса задач. Мы загружаем в него определённый алгоритм, и используем его для решения определённой группы задач. Если возникает необходимость решения нестандартной задачи - такой разработчик "плывёт" и либо не может решить задачу самостоятельно, либо тратит на это колоссальные усилия и время (и не только своё).

Далее следует процесс выполнения задачи, проверки решения и указания на ошибки и их объяснение (code review), снова затраты на время ведущего разработчика. Скорее всего ведущий разработчик отправит задачу на доработку, и это будет повторяться до тех пор, пока новичок не научится делать определённый тип задач правильно...
👍3
... Казалось бы, человек научился выполнять поставленные задачи и может работать в определённой предметной области (поддерживать определённую библиотеку). Но часто (особенно в небольших компаниях) возникают задачи в смежных областях (ошибка в другой библиотеке), которые отличаются по устройству от того, на чём успел натренироваться разработчик. И всё повторяется снова - тратится время руководителя и компания несёт дополнительные издержки. Так может повторяться очень долго, пока разработчик не получит достаточно опыта, чтобы самостоятельно решать уже нестандартные и незнакомые задачи в разных областях. В таком случае мы обычно говорим что он стал senior developer.

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

#development #logic
👍7
Многоуважаемые и дорогие подписчики, я хочу извиниться перед всеми за то, что долго не было обновлений. Причиной была достаточно высокая загрузка и отсутствие правильного настроя на написание чего-бы то ни было осмысленного. Постараюсь в будущем продолжить выкладывать свои соображения на тему логики и мышления, но в данный момент хочется плавно перейти к другой стороне данного вопроса - мышлению искусственному.

Некоторые из вас знают, что я (как и многие нынче) погрузился в тему ИИ. Ну и так как я занимаюсь разработкой проекта на Unreal Engine, мои ИИ эксперименты также оказались связаны с моим основным занятием.

Некоторое время назад я занялся созданием виртуальных людей с использованием ИИ в Unreal Engine. Сначала это был небольшой эксперимент с использованием конечного автомата (в виде театральной постановки, скрипт к которой писала GPT). И действия персонажей, участвовавших в ней сводились к тому, чтобы общаться друг с другом и с игроками, с простейшим осознанием присутствия некоторых размеченных объектов окружения.

Начиналось всё примерно вот так:
https://youtu.be/gtY-pbPAtsY
В самом начале персонажи учились подходить друг к другу и говорить несложные фразы текстом.

Потом, сцена усложнялась с добавлением большего количества размеченных объектов, а персонажи научились говорить синтезируемым нейросетью голосом, научились воспринимать игрока:
https://youtu.be/9-RPEj45buw

После этого они обрели человеческие черты, и получили возможность взаимодействовать в сетевом окружении с множеством игроков на сервере (на приведённом видео я один):
https://youtu.be/xwjq7Ev2lXE

Но проблемой оставалось время генерации "постановки", которое могло достигать двух минут, что не удовлетворяло моим потребностям. Плюс оно в целом работало не в реальном времени и игроки не имели возможности отвечать. Поэтому я завершил первый эксперимент, выкатив эту версию на нашу метавёрс-платформу LE7EL (Level) XR в виде отдельного мира, где можно посмотреть на взаимодействие трёх персонажей в очень простом low-poly sitcom сеттинге.

И после этого параллельно с подготовкой релиза приложения, я взялся за разработку новой системы. В список требований к ней, помимо прочего, вошло:
- Должна работать в реальном времени с минимально возможной задержкой;
- Поддерживать вербальное взаимодействие с игроком;
- Естественное восприятие окружения посредством чувств (зрение, слух, осязание и прочее);
- Отсутствие явного разделения воспринимаемых сущностей по категории "PC-NPC";
- Осознание себя не как "искусственный интеллект-ассистент, я не могу в эти ваши чувства", а как личность;
- Умение чувствовать и проявлять эмоции;
- Умение думать мысли;
- Умение запоминать важные моменты в своей жизни;
- Кастомизация пользователями возможных действий, личностей и эмоций, без необходимости писать код.

В целом, до идеала ещё далеко, но мы уже проводим различные эксперименты, и получаем много забавных ситуаций. Мы пытались вымогать деньги у персонажа, что заставляло его хитрить и выкручиваться из тяжёлой жизненной ситуации. Мы получали приглашения на свидания и флирт, а потом горькие расставания. Получали агрессивных, и наоборот, трусливых персонажей. Ну и просто виртуальных людей, с которыми можно просто пообщаться. Приложу несколько видео с прогрессом работы над текущей версией ИИ для LE7EL XR, сделанные мной и моим партнёром по делу.

10-минутное видео с обзором текущего состояния SDK для создания виртуальных людей:
https://www.youtube.com/watch?v=j8x4VE_XsfY

20-минутное видео общения с персонажем на тему восприятия окружения.
https://youtu.be/T5-1eV7uGms

Несколько видео от Василия:
https://youtu.be/PJ6piHEcHUg - про обсуждение игры и осознание того, что он сам - персонаж игры.
https://youtu.be/PmORU8ZCMAY - про страх и манипуляцию.
https://youtu.be/lA4GeCJ32w8 - про обсуждение любимых книг Эммы.
🔥5
В заключение хочу сказать что разработка ИИ для виртуальных людей - процесс несомненно интересный, который открывает огромные возможности для создания действительно живых миров в метавселенных и играх. Я продолжаю усердно работать над улучшением и развитием данной технологии и в скором времени надеюсь опубликовать для всех в рамках нашего SDK (в планах исправление некоторых критические проблем, включая поддержку многопользовательского окружения).

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

#development #ai
👍7❤3
Развиваем наш эксперимент с созданием виртуальных людей на базе ИИ в Unreal Engine! Теперь персонажи стали ещё более реалистичными благодаря технологии MetaHuman. Они - не просто чат-боты, а полноценные виртуальные личности с эмоциями и переживаниями, которыми они делятся с теми, кто с ними разговаривает. В подтверждение - набор скриншотов из диалога. Пока не весь спектр эмоций я успел охватить и реализация не идеальна, но в целом ощущения очень захватывающие. Погружение потрясающее. Я достаточно скептичен и осторожен, но, полагаю, множество более доверчивых людей могут погрузиться в это по уши.

Последняя картинка - после прощания, перед тем, как я остановил эксперимент. Закрыла глаза, сказала что будет всегда помнить... и растворилась в океане единиц и нулей...
❤5🔥1
Провёл ещё одно интервью с Эммой - виртуальной девушкой гейм-дизайнером. В видео демонстрируется текущий прогресс в развитии её эмоций и голоса:

https://youtu.be/ZH_-ICpm1Ps
🔥2❤1👍1
Forwarded from ai.dot(ufna, dev)
Солдаты живут, пока жива память.

С Днём Победы!
🔥10🤡3❤‍🔥2
Channel photo updated