LINUX.ORG.RU

ИИ как программист

 , ,


0

2

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

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

Грядёт эра по-настоящему качественного кода?

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

Deleted

высокоуровневых
быстрее

Соотвественно для ИИ это будет ещё быстрее. Ассемблерный ИИ проиграет гонку высокообострактному.

Bad_ptr ★★★★★
()
Ответ на: комментарий от Deleted

Потом ИИ создаст ИИ, ибо обленится.

Создаст лучшего ИИ. Эволюция.

Человеки в это время могли бы делать, что душе угодно(желательно в своей собственной «виртуалке»).

Singularity ★★★★★
()

когда появится ИИ способынй писать ПО он будет это делать аткже коряво как и люди

Deleted
()
Ответ на: комментарий от Deleted

Почему? Люди коряво пишут код по 3 причинам:

не хватает мозгов

не хватает времени

не хватает желания

Чего из этого будет не хватать ИИ?

Deleted
()
Ответ на: комментарий от Deleted

Чую я, что для этой страны, начни работать безусловный доход завтра, он стал бы большим злом.

Deleted
()
Ответ на: комментарий от Deleted

Придет, придет. Вот щас пенсию всем платят по старости, а сто лет назад о таком и не мечтали.

mandala ★★★★★
()
Ответ на: комментарий от Deleted

Люди коряво пишут код по 3 причинам:

Потому что придумывают не верные аксиомы, и ЧСХ тремя не ограничиваются.

Deleted
()
Ответ на: комментарий от Deleted

Люди пишут плохой код, потому что... они пишут хороший код. Ну, они так считают (мы так считаем). Мало кто делает «плохой» под со злым умыслом. За этим стоит стремление сделать хорошо.

i-rinat ★★★★★
()

и на достаточно мощной системе он сможет писать километры ассемблерного кода за секунды.

Так есть такое уже. Компилятор называется.

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

i-rinat ★★★★★
()
Последнее исправление: i-rinat (всего исправлений: 1)
Ответ на: комментарий от i-rinat

Но компилятор вроде очень ограничен в исправлении высокоуровневых ошибок программиста? Если он вообще что-то может в этом плане

Deleted
()
Ответ на: комментарий от Deleted

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

Это разъедает души 1С-программистов. Спасибо, такого нам не надо.

i-rinat ★★★★★
()

Как ИИ будет проверять корректность алгоритмов и кода? По каким критериям выбирать в зависимости от контекста задачи алгоритмы. Это процесс творческий... Тут человек должен на языке понятному «ИИ» ставить задачу так, чтобы формулировка последней приводила к корректному завершению преобразования «формы» в «действие» а это и есть ЯП ). Круг замыкается. Без человека никак.

VKraft ★★
()

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

Legioner ★★★★★
()
Ответ на: комментарий от Legioner

Я тут не о том ИИ, который имитирует человеческое мышление, а о каком-нибудь ИИ, который умеет писать <любые> программы. Нейросети тут необязательны, возможно даже вредны.

А есть какие-нибудь физические пределы скорости вычислений?

Deleted
()
Ответ на: комментарий от Bad_ptr

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

Harald ★★★★★
()

с кучей уровней абстракции

В мозгах саморазвивающегося ИИ неизбежно появится другая куча уровней абстракции, ибо без них невозможно обобщённое программирование.

он сможет писать километры ассемблерного кода за секунды...

... а человеки этот код будут тестировать годами :)

quickquest ★★★★★
()
Ответ на: комментарий от Deleted

Я тут не о том ИИ, который имитирует человеческое мышление, а о каком-нибудь ИИ, который умеет писать <любые> программы. Нейросети тут необязательны, возможно даже вредны.

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

А есть какие-нибудь физические пределы скорости вычислений?

Есть.

Legioner ★★★★★
()

Проблема не в том, что бы «быстро писать», проблема в том, что это потом ещё и поддерживать и дебажить надо.

beastie ★★★★★
()
Ответ на: комментарий от i-rinat

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

saahriktu ★★★★★
()
Последнее исправление: saahriktu (всего исправлений: 1)
Ответ на: комментарий от Deleted

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

mandala ★★★★★
()

Не так. Что такое программирование? Это перевод логики из головы программиста в логику, исполняемую компьютером - код. Высокоуровневые языки компилируются -

трансляция программы, составленной на исходном языке высокого уровня, в эквивалентную программу на низкоуровневом языке, близком машинному коду (абсолютный код, объектный модуль, иногда на язык ассемблера)[2][3][4].

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

tyakos ★★★
()

имеет смысл создать ИИ, который

Тю, как всё просто. Достаточно создать ИИ, который бла-бла-бла.
А ещё можно создать двигатель с КПД 99% и с дешёвым топливом, которые бла-бла-бла.
И космическую ракету можно создать чтобы летала почти со скоростью света, которая бла-бла-бла.
Только вот не сделали. Наверное потому что хрен его знает как сделать. А уж когда сделают, то обойдутся без бла-бла-бла, доносящихся с ЛОРного аналитического дивана.

JacobTwoTwo
()

Всё тобой предложенное уже было в фантастических рассказах.

Einstok_Fair ★★☆
()
Ответ на: комментарий от atrus

Я видел другой интересный ролик, как ИИ пытался проходить NES-игры и нашёл интересные баги в Mario и некоторых других играх:

https://www.youtube.com/watch?v=xOCurBYI_gY

EXL ★★★★★
()
Последнее исправление: EXL (всего исправлений: 1)
Ответ на: комментарий от EXL

Ну, проходить, это всё-таки не создавать.

atrus ★★★★★
()

Грядёт эра по-настоящему качественного кода?

нет. потому что качественный код особо не влияет на продажи. маркетинг, реклама, качественные продажники 90% финансового успеха, а качественного код 5% тоесть блаж. так что и дальше будут вливать мегабаксы в исследования рынка, маркетинг, рекламу, задрачивать на продажников, а «индийским» программистам ничего не угрожает.

vtVitus ★★★★★
()
20 октября 2017 г.

Как думаешь, почему

люди-программисты нуждаются в высокоуровневых средствах разработки

?

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

Вот, представь, есть ИИ. Ввод данных в него микрофон или клава. Он понимает твою речь отлично. Он умеет программировать. Теперь попытайся объяснить ему что ты хочешь. Чтобы он сделал какую-нибудь программу. Возьми любую сушествующую gimp, например. Как ты объяснить ему, что ты хочешь? ВОТ в чем основная проблема. Как ты видишь её решение? Для простоты эксперимента вместо ИИ можно представить индуса говорящего на русском.

ult
()
23 ноября 2017 г.
Ответ на: комментарий от mandala

Чем безусловный доход принципиально отличается от социальной пенсии?

Тем, что в пенсию свою человек инвестирует сам, а «безусловный» доход обеспечивается другими.

Что касается того, что ты выше сказал, о «невозможности» пенсии 100 лет назад. Ничего невозможного там нет. Откладывай в кубышку, а кубышку твою доверь дяде, и будет тебе пенсия.

onceagain2017
()
Ответ на: комментарий от onceagain2017

в пенсию свою человек инвестирует сам

Только в часть. Есть еще не трудовые пенсии и прочие пособия. «Безусловный» доход это скорее замена всей социалки и разгон госаппарата который сегодня рулит этими выплатами — за счет этого и появляются свободные деньги в бюджете.

и будет тебе пенсия

Инвестирую в детей еще, ага. Как в Китае сейчас: отработал 25 лет на заводе — трудовая пенсия. Пашешь на рисовом поле — пусть тебя дети кормят.

mandala ★★★★★
()
Ответ на: комментарий от mandala

«Безусловный» доход это скорее замена всей социалки

Что за чушь? Социалки как раз таковыми и являются, что это целевые выплаты, а не «безусловные» в вакууме. Когда государству нужна рождаемость, оно платит за детей, когда малый бизнес — ему льготы, на развитие жилищного строительства — налоговые послабления ипотечникам и так далее.

onceagain2017
()
Ответ на: комментарий от onceagain2017

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

Ну и не мешай в кучу конкретную социалку и временные целевые стимулирующие проекты.

mandala ★★★★★
()

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

sqq
()

ИИ, который будет работать не с Qt и C#, а с ассемблером или вообще прямо с бинарным кодом.

Вряд ли с ассемблером или с бинарным кодом.

https://avva.livejournal.com/3068555.html


Карпати пишет, что новое поколение нейронных сетей, которое совершило и продолжает совершать гигантский рывок по своим возможностям с 2012 года, можно считать не столько полезной техникой, сколько новым видом программирование. В отличие от обычного программирования, Software 1.0, в котором программист дает компьютеру точную и обычно весьма сложную по своей иерархии последовательность инструкций (алгоритм), в Software 2.0 мы начинаем с многочисленных примеров того, как наша программа должна себя вести, а потом находим «программу» (являющуюся по сути набором весов для всех узлов нейронной сети) в виде достаточно хорошего приближения к этой цели. Конечно, далеко не все задачи поддаются такому способу решения, по крайней мере сейчас, но, как пишет Карпати,

«It turns out that a large portion of real-world problems have the property that it is significantly easier to collect the data than to explicitly write the program.»

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