EngineerSpock

Конец эпохи программистов близок? ИИ захватывает мир.

Бинарный салют друзья, на связи, как всегда, инженер спок. Сегодня мы разберёмся ещё с одной темой, которая нет-нет снова появляется на горизонте.
 
Бинарный салют друзья, на связи, как всегда, инженер спок.

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

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

Лайкосы / Подписки / Курсы

Немного истории

Если вы думаете, что самой идее искусственного интеллекта в лучшем случае лет сто – вы глубоко заблуждаетесь. Идея создания искусственного субъекта, обладающего разумом восходит аж к мифам древней Греции. Так, например, Гефест, небезызвестный бог ремесленников и кузнецов создал робота Талоса, призванного защищать Крит от вторжений. И это далеко не единственный пример. Забавно лишь будет упомянуть, что, исходя из мифов, все или почти все истории, связанные с созданием искусственного интеллекта сопровождались серьёзными негативными последствиями. Так что, судя по всему, искусственного интеллекта боялись ещё древние мыслители, которые на тот момент были весьма далеки от того, чтобы помышлять о реальном создании оного. С тех пор человечество стало гораздо ближе к созданию настоящего искусственного интеллекта, а посему нет ничего удивительного, что люди массово пишут о том, что скоро создадут искусственный интеллект, который всех тупо лишит работы, не только программистов, между прочим.

Многие полагают, что научной базе для создания ИИ старт был дан Джорджем Булем, Бертраном Расселом и другими учёными, т.е. примерно в 19 веке. Я с этим совершенно несогласен и считаю, что одним из первых учёных, кто стал работать над соответствующими проблемами логики и математики был великий математик и философ Готфрид Лейбниц живший ещё в 17 веке. Он ввёл такой термин как модель, заложил основы математической логики, создал комбинаторик, создал механическое устройство, предназначенное для выполнения операций над понятиями, а не над числами и вообще он был настолько плодовитым учёным, что просто перечислять сколько всего разработал Лейбниц займёт добрые пол-часа. Да чего говорить, именно он создал знаменитую схему кривых московского метрополитена им. Лейбница ещё в 17 веке, дав названия всем станциям, так что нам оставалось всё это только переписать.

Шутки шутками. Конечно же, искусственный интеллект приобрёл особую актуальность с развитием компьютерных технологий, ибо никакого серьёзного ИИ создать без огромных вычислительных мощностей невозможно. Кстати, вот я только что бросился словосочетанием «серьёзный искусственный интеллект». А что он означает вообще? Может есть какой-то несерьёзный? На самом деле очень важно разобраться в том что мы подразумеваем под термином «искусственный интеллект». Сам по себе термин-то, мягко говоря весьма абстрактный.

Сильная гипотеза и слабая гипотеза ИИ

В науке принято говорить о двух гипотезах об искусственном интеллекте: слабой гипотезе и сильной гипотезе.

  • ИИ по слабой гипотезе – это узкоспециализированный ИИ, решающий какую-то конкретную задачу. Таких ИИ в мире уже создано очень много. Сюда можно отнести ИИ робота-пылесоса, ИИ обыгрывающий всех в шахматы или го. И да, есть обычные программы, играющие в такие настольные игры как шахматы или го, а есть именно ИИ, которые построены по принципу нейро-сетей. До недавнего времени, если кто не в курсе, ни одна из программ даже близко не стояла по силе игры с топовыми игроками в го. Однако, компания Гугл разработала АльфаГо, который натянул Ли Сидоля с разгромным счётом. Сюда же можно отнести и такой сложный ИИ как автоматизированное такси. Как известно, мы уже довольно близки к тому, чтобы автоматизированные такси стали ездить по дорогам общего пользования. Хотя на это может уйти десятки лет, но принципиально – вопрос уже по сути решён. Однако всё это примеры именно слабого ИИ.
  • Когда обыватели рассуждают об ИИ на бытовом уровне, обычно имеется в виду как раз Сильный ИИ. То есть такой ИИ, который обладал бы сознанием и был способен к настоящим размышлениями. Однако, речь заходит об определении ИИ по сильной гипотезе, то уже здесь наука начинает закапываться. Ведь мы до сих пор не можем точно определить сознание и как устроен собственно мыслительный процесс. А пока мы не дали таких определений, то как можно понять что такое ИИ по сильной гипотезе?

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

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

Когда человечество утверждало, что никогда не будет создано программы, которая победит чемпиона мира в шахматы. Но её создали. Забавно, что для этого даже подходы для создания ИИ не потребовались, такая программа появилась благодаря улучшению алгоритмов не основанных на принципах самообучения и, конечно, благодаря банальному усилению процессинговых мощностей. Потом человечество заявило, что никогда не будет ИИ, который обыграет чемпиона мира в го, ведь в этой игре комбинаторное пространство настолько велико, что обычные алгоритмы, пусть даже очень хитрые, со всякими отсечениями, умными оценочными функциями и прочими оптимизациями не способны выйти на уровень топовых игроков, ну, как минимум без наличия полноценно работающего квантового суперкомпьютера. Однако математики и программисты опровергли это заявление, создав АльфаГо. Утверждали, что автоматизированное такси никогда не создадут, однако эта проблема уже, по сути, решена.

Так что же получается? Значит скоро создадут ИИ, который заменит программистов?

Для того, чтобы ответить на этот вопрос, надо определиться с тем какой именно ИИ нужен для этого – сильный или достаточно слабого? В том то всё и дело. Для того, чтобы полноценно избавить программистов от страданий, потребуется создание ИИ по сильной гипотезе. Написание сложных программных решений связано с невероятным количеством задач – как с целым спектром технологических задач, так и социальных. Как ни странно, программирование не предполагает наличия некой узкой области пусть даже достаточно сложной, но узкой. Такси, робот-пылесос, шахматы или го – это всё очень узкие области и весьма ограниченным набором правил. Случай такси осложняется лишь визуальным анализом. Это серьёзная проблема, но узкая. Чтобы лучше объяснить почему это не случай программирования, зайду с другой стороны. Представьте, что слабый ИИ, который заменил программиста есть. Как бы он работал?

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

Но, постойте, ведь мы же уже это, по сути, проходили. Условные пару десятков лет назад был массовый вой на тему того, что можно просто формализовать все требования в виде UML диаграмм, а имея на руках диаграммы, просто сгенерировать код. Напомнить вам, где сейчас находится этот подход? Думаю, вы сами понимаете – нигде. UML диаграммы мы продолжаем использовать как простое средство визуализации для нас, людей, а не для машин. Безусловно, анализатор и генератор можно сильно улучшить, однако до полноценной генерации бизнес-логики нам всё ещё как до Китая. Короче говоря, ИИ по слабой гипотезе никогда не вытеснит белковых программистов с рынка труда. Для этого потребуется сильный ИИ.

Создание ИИ по сильной гипотезе в том самом обывательском представлении – скорее всего ознаменует переход человечества в эпоху так называемой сингулярности.

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

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

Примеры

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

  1. Одним из относительно хайповых проектов последнего времени, связанных с ИИ в области программирования является проект Copilot. Однако, как только вы перейдёте на лендинг проекта, вы сразу же убедитесь в том, что как минимум на данном этапе copilot даже не позиционируется как некая альтернатива белковым программистам, ибо в заголовке сразу же написано, что это помогатор, а не заменятор.Справедливости ради, стоит подчеркнуть, что copilot, действительно не является обычным ассистентом, таким как например ReSharper для C# разработчиков. Ну, если такую мощную вещь как решарпер, конечно, можно назвать обычным ассистентом. Ну, неважно. Ну, да, бог с ним, с решарпером. Важно то, что copilot в отличие от большинства ассистентов, умеет анализировать контекст программы, в том числе видит ваши комментарии и исходя из них генерирует необходимые вам куски кода, иногда существенно сокращая вашу ручную работу. Проект кажется мне действительно интересным и весьма перспективным. Но у нас сегодня тема касается другого, а именно: заменит ли ИИ программистов целиком и полностью.Претендует ли на это copilot? Не претендует, от слова совсем. Может быть когда-нибудь будет претендовать, но, как я уже говорил, когда наступит такое время, замещение программистов вряд ли будет самой насущной проблемой человечества и самих программистов.
  2. Из интересных проектов, призванных забрать часть работы программистов можно вспомнить всякие так называемыеzero coding платформы. Ну, если быть точным, то есть платформы, которыевообще не предполагают написания кода, а предполагают лишь визуальное программирование, т.е. когда вы мышью накидываете элементы на формочку и связываете их определённым образом, а есть платформы, которые в дополнение предоставляют по желанию писать куски кода самостоятельно. Всех этих платформ уже не менее десятка. Ну, вот, например, Kissflow. Позволяет создавать приложения без отладки и тестирования. Вы правда думаете, что эти платформы могут лишить работы программистов? Если у copilot в будущем такие шансы есть, то воту этих платформ такого шанса нет и в помине.
  3. На самом деле, у программистов так много работы, что программисты, по сути, сами у себя её уже давно отнимают. Давайте посмотрим наразвитие веба. Когда-то давно, абсолютно все сайты приходилось верстать, грубо говоря, с нуля. И любому кто хотел наваять некий даже относительно простой фронт, необходимо было погружаться в HTML, CSS со всеми вытекающими. Чтобы сверстать что-то приличное, необходимо было въезжать как делать табличную вёрстку, затем люди перешли на блочную. Но в любом случае, всё это надо было делать от начала и до конца руками, наваливая массу HTML и CSS с каждый раз практически с нуля. Что мы имеем сейчас? Чтобы сваять простой фронт, можно взять любой вменяемый конструктор сайтов и накидать всё что захочется без каких-либо познаний в программировании. Ну, либо познаний совсем минимальных.

Хотите свой блог – вуаля, вордпресс, хотите обычный интернет магазин? Вуаля – ву коммерс. Ничего программировать не надо. А когда-то для создания своего интернет-магазина пришлось нанимать бы целую команду программистов.

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

Программисты занимаются решением в основном нестандартных проблем. Что делать если вам надо запилить крутую биржу труда с какой-нибудь свежей идеей? Конструкторов бирж труда вы не найдёте. И таких примеров можно приводить ещё триллион.

Итог

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

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *