DeepMind представила нейросеть AlphaCode — она создаёт код на уровне «среднего программиста-человека» Статьи редакции
В компании заявили, что протестировали её на конкурсах для программистов — алгоритм вошел в 54% лучших.
Компания DeepMind, принадлежащая Alphabet, протестировала систему искусственного интеллекта AlphaCode в конкурсах, где участвуют программисты. Согласно релизу, нейросеть смогла решить задачи среднего уровня и попала в 54% лучших участников.
Конкурсы проводились на платформе Codeforces, куда приходят программисты со всего мира для проверки своих умений. Для решения задач требовались навыки критического мышления, логики, алгоритмизации и кодирования. Чаще всего конкурсантов просят проложить дороги или разместить здания при определённых условиях, а также подобрать выигрышную стратегию для настольной игры.
Всего AlphaCode поучаствовал в 10 тестах. Как отмечает компания, при их решении нейросеть не использовала готовые шаблоны, а генерировала новый код. DeepMind подчёркивает, что это первый случай в истории, когда ИИ смог конкурировать с специалистами среднего уровня.
Я могу с уверенностью сказать, что результаты AlphaCode превзошли мои ожидания. Я был настроен скептически, потому что даже в простых конкурентных задачах часто требуется не только запустить алгоритм, но и (и это самая сложная часть) изобрести его. AlphaCode удалось выступить на уровне перспективного нового конкурента. Не могу дождаться, чтобы увидеть, что будет дальше!
Компания надеется, что эти результаты помогут в разработке нейросетей, способных генерировать код. Сейчас навыки AlphaCode применимы только в конкурентном программировании, но в DeepMind верят, что в будущем оно станет полностью автоматизированным.
В письме The Verge главный научный сотрудник DeepMind Ориол Виньялс сообщил, что исследование пока находится на ранних стадиях, но эти результаты помогут создать гибкий ИИ для решения проблем программирования.
Мы в восторге от потенциала помочь программистам и непрограммистам писать код, повысить производительность или изобрести новые способы создания программного обеспечения.
Так блэт, давайте вы сначала всяких таксистов и кассиров до конца изведете, а потом уже за программистов возьметесь
Не переживай, полноценной замены не произойдёт ещё десятки лет. Твой говнокод не пострадает/
Таксистов гораздо сложнее заменить
Комментарий недоступен
Через пару лет: "Вообще-то я таксист, а программирую для души"
А ещё лучше - начать с чиновников!
Ах ты сучара-волчара
Ну это не для тебя угроза. Скорее это помощь всяким инди студиям с играми и анимациями
твой код то он
Комментарий недоступен
Мне нужно спросить у старших богов.
sudo make 'Half-Life' --version=3.0
нахуя компилить в руте
sudo rm -rf <светлая тема на dtf> Чтобы не осталось других вариантов.
кассиры которых уже как лет 5 заменили роботы передают привет
всех заменили? вчера в магазине шесть кассиров сидело, и ни одного робота
Ага, только кассиры, это не просто кассиры, это еще и грузчики, мерчендайзеры, и охранники. Особенно это хорошо видно в маленьких магазинах.
Это ты про кассы самообслуживания или некая ирония? )
Комментарий недоступен
Так не выгодно. Надо же не просто ии, а целых роботов сажать. А программистов элементарно - какая разница кто код напишет ты или ии, если ещё и бесплатно?
Так не выгодно. Надо же не просто ии, а целых роботов сажать. А программистов элементарно - какая разница кто код напишет ты или ии, если ещё и бесплатно?
Кассиров могут заменить даже банальные кассы самообслуживания, зачем там интеллект?
Тут скорее идет речь об облегчении работы, а не замене работников
Комментарий недоступен
Комментарий недоступен
54% лучших особенно нравится. То есть, результат ниже среднего. Ну и "конкурирует со средним специалистом" так же известное как "конкурирует со средним участником конкурса программистов в задачах далёких от работы специалистов, но кто в это будет вчитываться".
Заметка тупо ниочём. Ни инфографики из оригинального поста, ни примеров кода. Мы все видели гитхабовский копилот, который тоже генерирует код - какая разница? АльфаКод натаскан по примерам с гитхаба решать задачки на кодфорсес - уже в этом предложении больше смысла и меньше воды чем в этом посте на дтф. Жириновский предложил выпилить нахуй научпоп с дтф, согласны?
Комментарий недоступен
вообще, очень она прикольно из человеческого языка переводит )
а такую задачку не каждый джун решит быстро
- 300к в наносекунду.
Средний программист-человек
вот когда эта хрень научится настраивать окружение, подключать необходимые сторонние библиотеки, читать документацию, исправлять ошибки, которые ты неебешь почему вообще происходят, вот тогда можно начинать волноваться
а так, кто из программистов занимается решением алгоритмических задачек на работе? и какой % от общего времени это занимает?
с учетом того, что все типовые задачи уже достаточно давно решены на уровне библиотек и фреймворков, и нет никакой надобдности писать свой велосипед. А вот способна ли нейросеть понять заказчика, который сам не знает, чего хочет - это уже вопрос.
1%
Круто. Но без творческого подхода это просто "автогенерация алгоритма". Что все равно круто, будет полезным инструментом.
Комментарий недоступен
Комментарий недоступен
Вольфрам считает лучше, чем 46% среднестатистических математиков. А количество математиков только увеличивается )
Математики и не должны считать
они говорят, каким способом вы должны считать(ну или вольфрам)
Вот так машины научаться создавать машины и всё, хана человечеству)
Ага, ну да, конечно. Изобрести, на олимпиадах, где соревнуются кто быстрее вспомнит алгоритм под задачу.
Алгоритм Форда -> сtrl+c ctrl+v -> "ВАУ"
Если так легко, то почему ты ещё не выиграл ни одной олимпиады?
Попытаюсь объяснить ситуацию с нейронками, которые якобы "пишут код на уровне мидла".
Беспокоиться можно начинать только когда нейронка сможет собирать требования от разных людей, понимать контекст задачи ("А на чём пишем?", "Какой бюджет на сервера?", "Как масштабироваться будем?", "А как работает финансовая система покупки акций в США?", "А какой сервис использовать для обработки пластиковых карт?", "Что делать, если у нас появится фрод?"), и формализовать всё это в алгоритме, например:
— Есть продакт менеджер, который описывает, как должна работать система, на человеческом языке.
— Есть с десяток (а то сотня) разных сервисов, которые ведут отдельные команды, нужно понимать, куда собственно нужно коммитить код (продакту это не интересно), между сервисами всегда есть потоки данных и их тоже приходится декомпозировать и разбираться: "ага, вот это поле нам нужно убрать из ответа в API, но тогда ломается совместимость сервисов A, B, C. Придётся связываться с командой обсудить, как мигрировать данные/процессы, не запуская maintenance на несколько часов (речь идёт о highload проекте)"
— Есть куча других аспектов продукта, которые тоже нужно учитывать: маркетинг, техподдержка, безопасность, развёртывание, и т.д. По-научному это называется кросс-функциональность — прогер не только код пишет, но и должен разбираться в прилегающих к продукту областях: иметь какое-то представление о безопасности, способность добавить систему для поддержки клиентов и поддерживать её в рабочем состоянии, разбираться, почему отваливается репозиторий с ошибкой 403 и не даёт деплоить новую версию сервиса, и т.д.
Программист уровня Senior не существует в вакууме и не пишет код на каком-то одном языке, решая какие-то абстрактные задачи. Всегда есть какой-то контекст, область применения задачи, под которую нужно в конечном итоге писать и/или править код.
Касательно этой нейронки: как я понимаю, она умеет решать только уже решённые задачи в каком-то узком контексте (олимпиадное прогание). Если же мы слегка изменим задачу, добавив больше требований, например: "не больше O(logN) на выполнение, не больше O(N) по памяти", то нейронка уже загнётся, потому что она не знакома с концептом "оптимизация приложений по времени выполнения и памяти", она не сможет "сообразить" пойти на википедию почитать реализацию алгоритма Дейкстры, потом "сообразить", что решаемая задача вполне укладывается в этот алгоритм, но придётся придумать небольшую эвристику.
Далее, само описание проблемы по-сути содержит в себе правила, которые легко декомпозировать в код. Т.е. это выглядит сейчас как псевдо-код, а в таком стиле вы не найдёте реальных задач. Вот пример описания задачи с Jira:
ECHH-1874: BE | Plastic Eligibility ErrorIn prep for instant funding, determine the cause of this ongoing error: [slack thread link]
Тащемта всё — ни тебе контекста, ничего. Что такое Plastic? Что такое Eligibility? Instant funding? И так далее. Чтобы заменить полностью программистов, придётся решить намного более сложную задачу: "problem-solving skills". Нейронка должна сама находить информацию в документации или спрашивать детали у людей, понимать, в какой репозиторий с Back-End сервисом нужно смотреть.
Конечно, можно формализовать все эти требования и контекст в виде текста, но я не вижу, чем это будет отличаться от программирования. Если мы сможем описывать на человеческом языке список вещей, которые нейронка должна учесть, и получать готовый код, то это будет отличным бустом к производительности, потому что мне не придётся сидеть разбираться, как правильно написать код на Scala и куда его воткнуть (я знаком с Ruby/JS/PHP/TypeScript, а Scala вот сижу изучаю, т.к. куча внутренних сервисов на него переписали уже).
Но чтобы заменить? Выглядит далековато ещё. Возможно получится через полную эмуляцию мозга, но там и ресурсов будет сожрано столько, что арендовать такого ИИ-программера ещё долго не будет дешевле обычного.
Согласен, по сути дела изобретается "еще один язык программирования"
Программисты занервничали. Объявлена неделя снижения уровня социал-дарвинизма в интернете.
получается ее в Яндекс возьмут
это получается теперь нейросеть будет получать 300кк в секунду?
Обещания: скоро мы построим Скайнет
Реальность: нейронка обучена на миллионах готовых решений простых и средних задач на алгоритмы (где максимум 100 строк кода нужно). И теперь "умеет" решать эти задачки.
Сложные решать не умеет, потому что готовых решений на гитхабе еще мало и нейронку "обучить" не получается. Да и в целом решать продуктовые задачи не умеет, потому что нет правильного материала для обучения
К тому же задачи на алгоритмы максимально точны. Однозначные входные данные и однозначный результат.
В целом работа интересная, но как обычно с нейронками - хорошо получаются простые и четко сформулированные задачи. Найди похожее, повтори похожее, измени чтобы было похоже и т.д.
Кто не вчера родился знает, что про "смерть программистов" говорят уже лет 20+.
Мне ещё в начале нулевых садились на уши: "программистов слишком много и скоро станут они как юристы, лучше на инженера поступай и на завод иди, всегда работа будет".
Похожая классическая тема есть ещё про сисадминов. Ведь все уходит в облако, кому они бедолаги нужны будут.
Ох даа, "всё уходит в облако". А там за облаками такое творится, что сисадминов теперь приходится называть дев-опсами и платить зарплаты на уровне программистов (а то и больше)
нужна нейросеть для составления тз и понимания чего заказчик хочет. Программировать я и сам умею
Зачем нейросеть? Есть аналитики.
Так, пора бросить писать говнокод, машины начинают догонять, мама я не хочу бедствовать(
Джуны не нужны
А откуда тогда сениоры возьмутся?
А откуда тогда полноценным браться?
Отличные новости!
Надеюсь эти разработки помогут закрыть кадровую дыру.
Сейчас хороших специалистов ппц как мало.
Кадровую дыру в решении олимпиадных задач по программированию? )
Комментарий недоступен
Омниссии на них нет
Не конкурентное, а соревновательное программирование, т.е. олимпиады (конкурентное программирование - это другая вещь). В олимпиадах задачи уже поставлены, это сделано формально и строго, и это единственная причина, по которой данная нейросеть способна их решить. Кликбейт.
Вот насчёт последнего я что-то ооочень сильно сомневаюсь.
Кстати команда Сбера ещё в прошлом году выпускала подобную нейронку: https://habr.com/ru/news/t/589117/
Быдлокодеров скоро на мороз погонят, количество выебонов в интернете упадёт вдвое.
Будет работать так же как гугл транслейт.
Хорошая новость. Программистам меньше кода писать придётся.
Программеров ничем не заменить, пока нейросеть не заменит заказчика.
Тикет ABC-236: добавить в форму заказа товара поле религия, если указано "католик" проверить имя фамилию в БД католиков через API сервера Ватикана и если найдено совпадение и товар попадает в группу запрещенных для католиков - заказ не оформлять.
Ну я к тому, что сама по себе новость интересная, но до хоть какого-то практического применения еще очень далеко.
Надеюсь idea будет за меня код писать
Комментарий недоступен
А Темную Тему эта нейронка сделает?
И так 24/7 как белка в колесе
Судя по всему станет очень важно правильно описать задачу чтобы ИИ написал правильную программу. Это будет как контракт с дъяволом, чуть не так описал и всё
Голосовые ассистенты уже худо-бедно распознают человеческую речь, так что распознование целей задачи не будет большой проблемой.
Ворует коды из интернета?
Но-но! Первое золотое правило хорошего кодинга - переиспользовать код!
Комментарий удален модератором
Их заменит говнокодер сеть?
Уже давно использую GitHub Copilot, интересно будет посмотреть на эту тоже
Предательство! Роботы заменяют программистов!
Что в очередной раз подтверждает, насколько все эти конкурсы ущербные.
Это че получается, элитарные программисты скоро в одну очередь с быдло нищуками встанут на запись в луддиты?
было уже такое. оказалось, что под видом нейросети код писала горстка индусов
вот когда эта хреновина пройдет секцию алгоритмов в FAANG, тогда и поговорим
Ага, посмотрим как это говно будет писать фирмвейр или еще какой-нибудь системный код.
Схлопывание пузыря гикбрейнсов и войтишников
Тот случай когда программа лучше тебя...
Разработка ПО это решение задач через построение каких либо абстракций, если ИИ сможет это делать, то это значить что он сможет писать сценарии, заниматься менеджментом, составлять ТЗ общаясь с клиентом, ставить диагнозы. В общем делать все что может обычный человек
нужно всяким гик брейнс.... придумывать новый курс программист-сеньер
Новость вполне ожидаемая.
Возникновение такого забавного явления, как "зеро-кодинг" говорит об одном - человечество развилось настолько, что может обучить любую офисную обезьянку создавать программы. Логично, что следующим шагом будет создание узкоспециализированного робота (а точнее нейросети), которые будут это делать еще лучше и еще быстрее.
Чтобы нейросеть заменила программистов менеджеры должны научиться четко формулировать задачи, поэтому мы пока в безопасности.
На самом деле уже давно к этому шло, учитывая качество современного софта.
Ждём выписывания Индии из сверхдержав.
После этой новости ЗП программистов упала а 20%
Комментарий недоступен
О, продвинутые подсказки и рефакторинг в новые IDE завезут, полезно.
так вот кто пишет сталкер 2
Да чушь это всё. Если бы реальные задачи программистов звучали как: "Едет автобус из точки А в точку Б", тогда, ИИ мог бы на что-то претендовать.
Но задачи, даже простейшие, звучат абстрактно. И пока что ИИ в абстракцию не умеют от слова совсем. Лучшее, что ИИ сможет дать в программировании в ближайшие десятилетия - это быть помощниками программистов. Типа: "Сири, подскажи, как там нужно с нуля цепляться к Апишке AWS?" - и получаешь краткое описание того, что и как делать. Или "Какие есть хорошие альтернативы Immutable JS?". То есть по сути - ускоренный умный гуглинг - вот в чём может помочь ИИ, и это прям потолок.
Какие-то просто-сочинённые задачи для ИИ будут окей. Но ПОНИМАНИЕ задачи, и разбивка её на конкретные шаги, такое ИИ не будет под силу в ближайшие лет 30 точно.
ЗЫ: Главное, что тормозит ИИ сегодня, это: 1 - отсутствие понимания, как сделать следующий рывок и перейти на уровень абстрактного "мышления" (а не компиляции всего, что ИИ "помнит"). 2 - отсутствие чёткого понимания, что такое сознание/интеллект и каковы их реальные признаки.
Рибята, чего переживаете? Эта приблуда сродни Фотошопу для художника. Есть челы, которые не смогли под него адаптироваться и свалили из профессии, а есть те, кто благодаря фотошопу свои навыки и скорость работы преумножил знатно и успешно вошёл в новую эпоху цифрового рисования.
Наконец-то кто-то удовлетворит легендарную просьбу:
"Здраствуйте. Я, Кирилл. Хотел бы чтобы вы сделали игру, 3Д-экшон суть такова... Пользователь может играть лесными эльфами, охраной дворца и злодеем. И если пользователь играет эльфами то эльфы в лесу, домики деревяные набигают солдаты дворца и злодеи. Можно грабить корованы..."
Тырит из гита , походу по объёму скопипиздженного контента она скоро человечество пепеплюнет:)
Уверенность Н. Вирта в строгом математическом доказательстве алгоритмов пишущих другие алгоритмы (программы) в своё время потерпела фиаско. Есть сомнение, что нестрогие алгоритмы преуспеют больше. :)
Назовод
В этой новости суть
Код пишет код.
Верно?
И это будет скорее всего развиваться. Хмм. Здесь можно видеть и опасность и полезный инструмент. Мозг может и будет на другом уровне решать задачи вместо классического поограммирования. Как мы сейчас редко считаем большие числа в уме и редко используем логарифмическую линейку. Так и потом - программирование может этой линекой стать, классическое массовое писание кода в текущем формате - можно будет поручить машинам.
Опасность для пессимистов и параноиков😎. Я за второй вариант голосую!