Gamedev Антон Самитов
6 891

Ubisoft научила искусственный интеллект прогнозировать ошибки программистов в коде

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

В закладки
Far Cry 5

Во время конференции в Монреале Ubisoft представила специальную программу-помощника под названием Commit Assistant, призванную помогать разработчикам.

Искусственный интеллект будет «отлавливать» баги прямо во время написания кода игры. Это сэкономит как время, уходящее на доработку проектов, так и средства — по данным компании, на исправление ошибок может требоваться до 70% производственного бюджета.

Создатели программы из La Forge, отдела научно-исследовательских и опытно-конструкторских работ Ubisoft, «скормили» ей огромный массив данных, которые собирались в компании в течение десяти лет.

Commit Assistant анализирует изначальный код и все внесённые в него правки. На основе этой информации он будет оповещать программиста, заметив, что тот может допустить ошибку.

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

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

Программистам будут показывать статистику и говорить: «Эй, похоже, у тебя тут ошибка!» И мы хотим, чтобы в такие моменты он или она понимали, что это — лишь инструмент, ускоряющий его работу.

Искусственный интеллект просто помогает достичь цели. Если кто-то не хочет им пользоваться — не надо.

Ив Жакье
глава La Forge

Исследовательский отдел Ubisoft сотрудничает с несколькими университетами в Монреале, и принцип действия Commit Assistant изложен в нескольких научных докладах, которые будут опубликованы в открытом доступе.

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

В La Forge исследуют и другие возможности и области применения ИИ. Однако, по словам главы подразделения, подобные системы лучше всего проявляют себя, если перед ними стоит очень узкая задача.

Watch Dogs 2

К примеру, во время работы над Watch Dogs 2 в Ubisoft пришлось «учить» машины на улицах тормозить. Программа просто не считала, что это «хорошее решение», ведь её целью было достичь пункта назначения или нарезать круги по городу.

По словам сотрудников Ubisoft, эксперименты La Forge также будут задействованы в одной из грядущих игр — Far Cry 5. Благодаря им, NPC в игре действуют исходя из принципа самосохранения, описанного психологом Абрахамом Маслоу.

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

Как утверждает Жакье, совершенствование искусственного интеллекта в играх поможет техническому прогрессу в целом.

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

Пытаться понять, как, например, поведёт себя беспилотный автомобиль в ситуации с пешеходами или другими автомобилями — это примерно как пытаться решить «проблему вагонетки». В реальности такой эксперимент чаще всего не проведёшь, либо из моральных соображений, либо из-за того, что это слишком дорого.

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

Ив Жакье
глава La Forge

#технологии #ubisoft

Статьи по теме
Черты «умного» искусственного интеллекта в играх
{ "author_name": "Антон Самитов", "author_type": "editor", "tags": ["ubisoft","\u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438"], "comments": 92, "likes": 66, "favorites": 1, "is_advertisement": false, "subsite_label": "gamedev", "id": 16856, "is_wide": false }
{ "id": 16856, "author_id": 24538, "diff_limit": 1000, "urls": {"diff":"\/comments\/16856\/get","add":"\/comments\/16856\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/16856"}, "attach_limit": 2, "max_comment_text_length": 5000 }

92 комментария 92 комм.

Популярные

По порядку

Написать комментарий...

Andrey Apanasik

15

А в итоге эта штука окажется обычным статическим анализатором кода)

Ответить

Sergey Sarkisyan

Andrey
1

Не смотрел презентацию, оно работает в реалтайме внутри IDE или просто как внешний инструмент проверяет код перед коммитом?

Ответить

IHaveNoMouthSoIMustWrite

Sergey
1

А в чем принципиальное отличие?

Ответить

Marui Infantry

IHaveNoMouthSoIMustWrite
0

Во всём!!! Или вы никогда не писал 1000 кода в день для какой-нибудь геимплейной фичи с нуля? Когда код затрагивает и скрипты, и движок и тулзы? И всё в разных репах.

Ответить

IHaveNoMouthSoIMustWrite

Marui
3

Ну и в чем отличие-то, ты так и не сказал)

Ответить

Marui Infantry

IHaveNoMouthSoIMustWrite
1

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

Ответить

IHaveNoMouthSoIMustWrite

Marui
4

Ты опять ударился во что-то не в тему.
Вот принципиальное отличие между "отлавливать баг при написании" и "отлавливать баг при коммите" для тебя есть? Чтобы об этом нужно было уточнять
Runtime Error, который ты упомянул, вообще не про это

Ответить

Marui Infantry

IHaveNoMouthSoIMustWrite
0

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

Ответить

IHaveNoMouthSoIMustWrite

Marui
2

1) Так в чем разница?
2) Ты коммит и пулл-реквест не отличаешь?

Ответить

Marui Infantry

IHaveNoMouthSoIMustWrite
–1

Я тебе еще в самом начале написал. Если ты "вот этого" не делал - НЕ ОТВЕЧАЙ. Ты ответил. Сейчас сидишь и ничего не понимаешь.

Ответить

IHaveNoMouthSoIMustWrite

Marui
4

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

Ответить

IHaveNoMouthSoIMustWrite

IHaveNoMouthSoIMustWrite
5

Если что, я - программист из b2b и подход "сделал пуш, забыл про задачу" не вызывает у меня ничего, кроме истерики

Ответить

Mikhail Efremov

IHaveNoMouthSoIMustWrite
2

Как минимум - время на исправление. Когда говорит ideшечка, ты "тут же" исправляешь помарки. При коммите еще нужно обратно вернутся в редактор, опять комитить и ждать фидбека от тулзы

Ответить

Max Yankov

Mikhail
0

У кого как. Когда мне IDE начинает сразу подсвечивать какие-нибудь очевидные вещи, она нарушает концентрацию и выталкивает из головы то в чем заключается основная сложность задачи и возможность оставить баг – то, что компилятор и статический анализатор не поймают. А опечатки и прочие очевидные вещи, спасибо, я сам после того, как все напишу, поправлю уже на автомате.

Ответить

Mikhail Efremov

Max
1

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

Ответить

Max Yankov

Mikhail
1

Шорткаты это хорошо. А вот непрошенное отвлечение внимания – плохо. Можно и решарпер нормально настроить)

Ответить

IHaveNoMouthSoIMustWrite

Mikhail
0

Вообще я имел ввиду, что по сути, два подхода - подключение как плагин (см. решарпер) и подключение как сторонней утилиты (cppcheck). Проверять при коммите - значит штука может спокойно вызываться при сборке.
Оба подхода используются в разработке, и никто еще не умер, оттого, что их инструмент работал другим подходом. Понятно, в чем отличия, но блин, это же просто доп.инструмент, неужели так критично, чтобы он был плагином?

Ответить

Max Yankov

Marui
4

Если для разработчика становится рутинным делом писать код, который лежит в разных репах, то тот, кто разбивал проект на репы — долбоёб.

Ответить

Вова Роттердамский

Max
0

Вот Макс дело говорит

Ответить

Euegene Pavlov

Marui
2

100 строк отлаженного кода - очень круто.
Обычная скорость разработки - ДЕСЯТОК строк отлаженного кода.
Тысяча - удел джуниоров.

Ответить

Max Yankov

Euegene
0

Зависит от многих вещей: какой язык, какой уровень кода, какая стадия развития проекта.

Ответить

Euegene Pavlov

Max
0

Поясните за язык, пожалуйста.
На каком языке больше всего кода получится?

Ответить

Max Yankov

Euegene
1

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

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

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

$ git diff --shortstat "@{4 weeks ago}" -- **/*.cs
572 files changed, 36018 insertions(+), 13997 deletions(-)

Ответить

Sergey Sarkisyan

IHaveNoMouthSoIMustWrite
0

Ну с одной стороны удобнее, когда оно в IDE и сразу подсказывает. Меньше телодвижений. С другой – сколько будет занимать сам анализ и какая нагрузка будет на процессор при этом? Не получится ли так, что реалтайм проверка будет слишком медленной.

Ответить

IHaveNoMouthSoIMustWrite

Sergey
0

Не, нечему там тормозить по идее. Решарпер же справляется) А тут все то же самое, только база знаний формируется в процессе (вот она наверняка изменяется не в реал-тайме).

Ответить

f10

Andrey
0

Нейросеть же. Может и будет делать тоже самое, но сама этому научится.

Ответить

IHaveNoMouthSoIMustWrite

f10
3

Или не этому (шутки про особенности обучения сетей)

Ответить

Голубев Ярослав

IHaveNoMouthSoIMustWrite
1

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

Ответить

Лелуш Ламперуш

Andrey
0

Как и любой ИИ

Ответить

Euegene Pavlov

Andrey
0

Причем хреновым анализатором.

Ответить

Key Don

Andrey
3

Вот чего мне не хватало со времён xp!

Ответить

Серёжа Артеменко

8

Ура! Теперь благодаря оптимизации бюджета компания сможет зарабатывать ещё больше!

Ответить

Pavel Akkuratov

Серёжа
1

Ну или игры будут выходить быстрее

Ответить

Серёжа Артеменко

Pavel
6

Ничего против не имею. Вполне разумное следствие. Сам на продукции Юбиков подсиживаю :)

Ответить

Серёжа Артеменко

Серёжа
3

Женька, вот ты бомбанул. Пять минусов мне кинул. И не поленился.

Ответить

MedievalRain

Серёжа
0

Ура, теперь у компании будет больше средств и времени на создание большего количества скинчиков!

Ответить

Андрей Румянцев

3

Где Мулинье сейчас работает?

Ответить

IHaveNoMouthSoIMustWrite

Андрей
51

Программа отлавливает ошибки, а не п*здаболов

Ответить

Ди Ди

IHaveNoMouthSoIMustWrite
2

Смешно читать такие комменты. Мулинье сделал для индустрии столько, сколько другим и в сладких снах не снилось. Поменьше слушайте местных клоунов из ЕБМ (и прочих недалеких людей), которые сами толком ничего не могут сделать, только языками трепать.

Ответить

IHaveNoMouthSoIMustWrite

Ди
3

Да Молиньё сам не раз говорил, что ему стоит поменьше общаться с прессой - увлекается, обещает слишком много. Вспомни Project Milo - то, что они выдавали за прототип, было простой срежиссированной записью, а обещанное так и не получилось сделать. Заслуги Молиньё нельзя отрицать, но то, что он - трепло, тоже)
Но багов - багов в его играх никогда особо много не было.

Ответить

Ди Ди

IHaveNoMouthSoIMustWrite
0

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

Ответить

Саша Богатырёв

Ди
0

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

Ответить

Ди Ди

Саша
2

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

Ответить

IHaveNoMouthSoIMustWrite

Ди
0

Парень, я играл в DK2, когда он вышел

Ответить

Ди Ди

IHaveNoMouthSoIMustWrite
1

А я в Magic Carpet и Syndicate.

Ответить

IHaveNoMouthSoIMustWrite

Ди
0

В них играл не на релизе. И что, авторитет Молиньё как-то отвергает тот факт, что он мечтатель, и часто обещает невыполнимое?

Ответить

Ален Уолкер

IHaveNoMouthSoIMustWrite
1

Он не обещает от злого умысла. Все что он обещал, он действительно хотел реализовать, но в силу технологий или обстоятельств не получилось. Лично я ему буду всегда благодарен за Fable - эта игра навсегда осталась в моем сердце.

Ответить

IHaveNoMouthSoIMustWrite

Ален
1

Fable, Syndicate, Theme Park, Dungeon Keeper, The Movies, Black & White 2 - вот мой топ.
но в силу технологий или обстоятельств не получилось

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

Ответить

Ален Уолкер

IHaveNoMouthSoIMustWrite
1

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

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

Ответить

Ди Ди

IHaveNoMouthSoIMustWrite
1

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

Ответить

IHaveNoMouthSoIMustWrite

Ди
0

https://geektimes.ru/post/289263/
Там не просто "не удалось сделать", если верить Lionhead'авцам, часть обещаний всегда была выдумкой)

Ответить

mishka_kokosolapiy

IHaveNoMouthSoIMustWrite
1

Садишься за комп, а там во весь экран — «Ты ошибка»

Ответить

IHaveNoMouthSoIMustWrite

mishka_kokosolapiy
1

Главное отключить автоматическое исправление ошибок

Ответить

Lotus Blade

–8

Программу ничему научить нельзя, можно задать ей последовательность триггеров, всё. Она будет отлавливать только те ошибки, которые ей вбили в базу данных. То бишь, сделанные самими разработчиками в их проектах или умышленно написанные для программы. Для любой другой игры / проекта это работать не будет. Прежде всего, каждая студия использует свой движок. Само собой, есть общие типа Unreal Engine, но даже там конечные разработчики вносят правки.

К тому же, это Юбисофт... От одного только ихнего лаунчера все 'просто в восторге'. И все мы прекрасно знаем, как они любят на конференциях показывать одно, а в итоге продавать совсем другое. Или все резко забыли про Watch Dogs? Умного ИИ не было в играх со времён создания этих самых игр и никогда не будет. А причина логичная и понятная каждому — чтобы создать действительно разумный искусственный интеллект, нужно чтобы он был умнее тебя. А для этого нужно самому быть умнее себя. Парадокс.

Ответить

Max Yankov

Lotus
9

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

На дворе что, 2008 год? А нет, погодите, уже в 2008 было генетическое программирование и прочие генеративные AI-вещи.

Ответить

Lotus Blade

Max
–5

Я-то смотрю, какие умные мобы сегодня в играх, ух! А какие умные программы повсюду, ах! Гены... Что в 1008, что в 2008, что в 2018 лапша одинаковая. Было оно в сми и новостях, а у нас на руках всё стандартно.

Ответить

Max Yankov

Lotus
3

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

Общий AI — это метод решения задач, обычно направленный на уменьшение loss function, которая определена намного более понятнее и яснее, чем какой-то субъективный fun. Я ещё не видел удачного использования этих методов в игровом интеллекте, и сомневаюсь, что когда-либо увижу.

Ответить

Мимокрокодил

Max
0

Я ещё не видел удачного использования этих методов в игровом интеллекте, и сомневаюсь, что когда-либо увижу.

The Director в Left4Dead, который занимается организацией fun'а для игроков

Ответить

Max Yankov

Мимокрокодил
0

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

Ответить

Мимокрокодил

Max
0

Он еще умел направлять потоки зомби. Если один отобьется от группы, 100% зомби повалят так, чтобы отрезать его.
С хитрым AI Блицкриг 3 хвалились, что сделали нейросеть. Ранее, еще во времена второго или первого, говорили, что их ИИ способен уделать любого, если убрать ограничения.
Потом, OpenAI сейчас развлекается, делая ИИ для Доты, кто-то делал для SC2. У людей проснулся интерес, а значит ИИ будет. Большинству же компаний такое не нужно, вот и не делали.
Ubisoft использовали ИИ в какой-то форме для Grow Home, для анимации героя

Ответить

Мимокрокодил

Lotus
0

У мобов нет задачи победить тебя, только создать некоторую напряженность на пути к цели.
Вот прикрутишь ты нормальный ИИ боссу рейда в MMO - он отбросит свою "агро-шкалу", и будет первым делом убивать хилов. И хрен какая группа его положит после этого. Для этого, вообще говоря, нейронная сеть не нужна, но с ней босс придет к такому решению самостоятельно.
В шутерах - просто выстави мобам те же показатели урона и здоровья, что и игроку. Посмотрел бы я, какими "легкими" после этого они тебе покажутся.
В RPG - то же, что и для шутеров + убери паттерны поведения.
В современных RTS уже больше 10 лет специально ограничивают ИИ, так как он легко побеждает. Причем обыгрывает честно, а не как старые (в которых ИИ всегда знал расположение твоих войск и все остальное)

Ответить

IHaveNoMouthSoIMustWrite

Lotus
8

Она будет отлавливать только те ошибки, которые ей вбили в базу данных

О, человек, который не слышал про нейросети!

Ответить

IHaveNoMouthSoIMustWrite

Lotus
5

То бишь, сделанные самими разработчиками в их проектах или умышленно написанные для программы. Для любой другой игры / проекта это работать не будет. Прежде всего, каждая студия использует свой движок. Само собой, есть общие типа Unreal Engine, но даже там конечные разработчики вносят правки.

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

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

Ответить

Lotus Blade

IHaveNoMouthSoIMustWrite
–6

Да, красивые слова. Нейросети, генные программы, обучаемые системы. Давайте так, пример мне, игровой, хоть один. С этой ваше нейросетью. Раз они так давно существуют.

Ответить

Lamppost

Lotus
4

Да, красивые слова. Нейросети, генные программы, обучаемые системы. Давайте так, пример мне, игровой, хоть один. С этой ваше нейросетью. Раз они так давно существуют.

Alpha Go. И вылезайте уже из криокамеры, пожалуйста.

Ответить

IHaveNoMouthSoIMustWrite

Lotus
2

Нейросети придумали в 80х. В последние 10-15 лет просто наконец появились технические возможности их использовать. В 80х железо было слабее, а больших массивов данных для обучения не было.
Игровой пример - а почему именно игровой, ведь речь-то про внедрение ИИ в инструменты разработчиков? Siri, Alexa, распознавание картинок, распознавание текста - это все нейросети.
Но если нужен именно игровой - "Борис", Блицкриг 3

Ответить

Antony Sumin

1

"Ubisoft пришлось «учить» машины на улицах тормозить. Программа просто не считала, что это «хорошее решение», ведь её целью было достичь пункта назначения или нарезать круги по городу."

Тормоза придумали биологические трусы! (с) ИИ

Ответить

Голубев Ярослав

Antony
3

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

Ответить

Даниил Васильев

0

Пока никто не пошутил, я это сделаю. А этот ИИ будет также забагован?

Ответить

IHaveNoMouthSoIMustWrite

Даниил
5

Конечно. Разрабатываться забагованными программистами в забагованной IDE, а потом запускаться на забагованной ОС на забагованном железе

Ответить

Павел Рубан

IHaveNoMouthSoIMustWrite
0

Где-то в этом уравнении минус на минус должен дать плюс, ха)

Ответить

IHaveNoMouthSoIMustWrite

Павел
5

Если после этого предложения добавить "и мы с этими программами запускаем ракеты в космос", то какой-нибудь Фома Аквинский назвал бы это шестым доказательством существования Бога.

Ответить

Key Don

IHaveNoMouthSoIMustWrite
0

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

Ответить

IHaveNoMouthSoIMustWrite

Key
1

Так-то да, но условия работы этого добра на Земле не смоделируешь, и в реальных условиях до запуска не протестируешь. Потому - не чудо ли, что все это работает?)

Ответить

Key Don

IHaveNoMouthSoIMustWrite
2

Это все божественные происки не иначе!

Ответить

totalbloodman

1

Вот только в Far Cry 5 ИИ вообще не изменился, это видно по футажам, особенно крупным. Поглядите у PC Gamer, к примеру, там и медведь толкает NPC-рассказчика на стуле, и водитель авто нелепо наезжает на труп волка, пугается и с криком убегает куда-то.

Ответить

totalbloodman

skamaz
0

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

Ответить

Ален Уолкер

0

Я боюсь представить, что будет если скормить этому ИИ PUBG, DayZ или ARK. Прям вижу как разработчики данных игр матерятся, потому что он постоянно пишет про их ошибки.

Ответить

Мимокрокодил

Ален
1

Он "изобретет" нулевой закон робототехники

Ответить

Ален Уолкер

Мимокрокодил
1

Он придет к выводу, что этих разработчиков нужно уничтожить, ибо только так можно избавиться от ошибок)

Ответить

Мимокрокодил

Ален
1

Ранее Джон Кармак (разработчик Doom'ов и иже с ним) писал об опыте внедрения статических анализаторов кода. Как поначалу вызывало раздражение то, что он считал их "гениальный код" говном. Но пересилили себя, и количество багов уменьшилось, да и в целом на разработку полезное влияние оказало.

Ответить

Руслан Гончаров

0

Задумываешься, есть смысл учить программирование или скоро программы будут писать сами себя

Ответить

XOCPOB

0

Эммм это что-то вроде реал тайм логик компилятора ?... и логические ошибки он берет на примере исправлений в другом коде ?... ну ок.

Ответить

Ди Ди

0

До чего дошел прогресс... )))

Ответить

Сергей Шульга

0

Обычную отладку выдают за нейронную сеть?

Ответить

Мимокрокодил

Сергей
0

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

Ответить

Pavel Osadchuk

0

все жду ИИ который будет вразумительно покрывать код юнит-тестами

Ответить

Denis Kuandykov

0

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

Ответить

Андрей Коротаев

0

Программисты написали ИИ который правит программистов. Выход из порочного круга ошибок?

Ответить

x4fab

–1

О, вот теперь новый Far Cry выглядит интересно, побольше бы такого.

Ответить
0

Прямой эфир

Подписаться на push-уведомления
[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjog" } } }, { "id": 10, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-250597-0", "render_to": "inpage_VI-250597-0-1134314964", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=clmf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudo", "p2": "ftjf" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvc" } } } ]