32x32

ScienceHunter Ред. 27.11.2023

Программист размышляет о закате своего дела

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

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

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

Когда мы раньше брались за подобные проекты, они включали в себя как аппаратную, так и программную составляющую, причем сильные стороны Бена тяготели к первой составляющей. Однажды мы сделали неоновую вывеску, которая светилась, когда поезд метро приближалось к остановке возле наших квартир. Бен согнул стекло и подключил плату трансформатора. Я написал код для обработки транзитных данных. У Бена есть собственный профессиональный опыт программирования, но он был кратким, поверхностным и устарел лет на двадцать; серьезное программирование было оставлено мне. Однако для нового проекта кроссворда Бен привлек третью сторону. Он подписался на подписку ChatGPT Plus и использовал GPT-4 в качестве помощника по программированию.

Начало происходить что-то странное. Мы с Беном обсудили программное обеспечение, которое нам нужно для этого проекта. Затем, поразительно короткое время спустя, Бен доставил его сам. В какой-то момент нам нужна была команда, которая печатала бы сотню случайных строк из файла словаря. Я думал над проблемой несколько минут, а когда думать не удалось, попробовал погуглить. Я сделал несколько фальстартов, используя то, что смог собрать, и пока я занимался своим делом — программированием — Бен рассказал GPT-4, чего он хочет, и получил код, который работал отлично.

Хорошо: подобные команды общеизвестно аляповатые, и все равно все их ищут. Это не настоящее программирование. Несколько дней спустя Бен рассказал о том, как было бы здорово иметь приложение для iPhone, позволяющее оценивать слова из словаря. Но он понятия не имел, как тяжело создавать приложения для iPhone. Я пробовал несколько раз, но так и не вышел за рамки того, что получалось наполовину. Среда программирования Apple показалась мне неприемлемой. Вам пришлось выучить не просто новый язык, но и новую программу для редактирования и запуска кода; вам пришлось изучить зоопарк «U.I. компоненты» и все сложные способы их сшивания; и, наконец, вам нужно было придумать, как упаковать приложение. Гора новых вещей, которые нужно было изучить, никогда не стоила того. На следующее утро я проснулся и увидел в своем почтовом ящике приложение, которое делало именно то, что, по словам Бена, он хотел. Оно работало отлично и даже имело симпатичный дизайн. Бен сказал, что сделал это за несколько часов. GPT-4 взял на себя большую часть тяжелой работы.

К настоящему времени большинство людей уже имели опыт работы с ИИ. Не все были впечатлены. Бен недавно сказал: «Я не начал по-настоящему уважать его, пока он не начал писать за меня код». Я подозреваю, что непрограммисты, которые скептически настроены по своей природе и видели, как ChatGPT выдает топорную прозу или фальшивые факты, все еще недооценивают происходящее.

Совокупность знаний и навыков, на освоение которых традиционно уходили целые жизни, поглощаются залпом. Программирование всегда казалось мне бесконечно глубокой и богатой областью. Теперь я обнаружил, что хочу написать панегирик по этому поводу. Я все время думаю о Ли Седоле. Седоль был одним из лучших игроков в го в мире и национальным героем Южной Кореи, но сейчас он наиболее известен тем, что в 2016 году проиграл компьютерной программе под названием AlphaGo. Седоль принял участие в соревновании, полагая, что легко победит ИИ. К концу многодневного матча он гордился тем, что провел одну игру. Когда стало ясно, что он проиграет, Седоль заявил на пресс-конференции: «Я хочу извиниться за свое бессилие». Через три года он вышел на пенсию. Седоля, казалось, тяготил вопрос, который стал казаться знакомым и насущным: что станет с тем, чему я отдал так много своей жизни?

Мое первое увлечение компьютерами произошло, когда мне было около шести лет, в Монреале в начале девяностых, когда я играл в Mortal Kombat со своим старшим братом. Он рассказал мне о некоторых «фаталити» — ужасных и остроумных способах убийства противника. Никто из нас не знал, как их нанести. Он подключился к FTP-серверу (где хранились файлы) через терминал MS-DOS и набрал непонятные команды. Вскоре он распечатал страницу кодов — инструкций для каждого фаталити в игре. Мы вернулись в подвал и взорвали друг другу головы.

Я думал, что мой брат хакер. Как и многие программисты, я мечтал взламывать удаленные системы и управлять ими. Цель заключалась не в том, чтобы устроить хаос, а в том, чтобы найти скрытые места и изучить скрытые вещи. «Мое преступление — это любопытство», — говорится в «Манифесте хакера», написанном в 1986 году Лойдом Бланкеншипом. Моя любимая сцена из фильма «Хакеры» 1995 года — это когда новичок Дейд Мерфи проявляет себя в подпольном клубе. Кто-то начинает вытаскивать из рюкзака кучу компьютерных книг, и Дейд узнает каждую по обложке: зеленая книга по международной среде Unix; красный — в сетях, которым доверяет АНБ; тот, с парнем в розовой рубашке на компьютерах IBM. Дейд применяет свой опыт, когда включает спринклерную систему в школе и помогает починить балласт нефтяного танкера — и все это путем постукивания по клавиатуре. Урок заключался в том, что знание – сила.

Но как на самом деле научиться хакерству? Моя семья обосновалась в Нью-Джерси, когда я учился в пятом классе, а когда я учился в старшей школе, я пошел в книжный магазин Borders в торговом центре Short Hills и купил книгу Айвора Хортона «Начало Visual C++». В нем было двести сотен страниц — моя первая магическая книга. Как и во многих других уроках, сначала это было легко, а потом вдруг стало не так. Средневековые студенты называли момент, когда случайные ученики терпят неудачу, pons asinorum, или «камнем преткновения». Этот термин был вдохновлен пятым постулатом «Начал I» Евклида, первой по-настоящему сложной идеей в книге. Те, кто пересек это место, продолжили осваивать геометрию; те, кто этого не сделает, останутся дилетантами. Раздел 4.3 книги «Начало работы с Visual C++», посвященный «Динамическому распределению памяти», был для меня камнем преткновения. Я не прошёл.

Но я не стал закрывать тему. Я помню момент, когда все начало меняться. Я летел на дальний рейс и взял с собой квадратный черный ноутбук и компакт-диск с компилятором Borland C++. Компилятор преобразует написанный вами код в код, который может выполнять машина; Я боролся несколько дней, чтобы заставить это работать. По соглашению, первая программа каждого программиста ничего не делает, кроме как генерирует слова «Привет, мир». Когда я попытался запустить свою версию, я просто получил гневные сообщения об ошибках. Всякий раз, когда я решал одну проблему, возникала другая. Я читал книги о Гарри Поттере и чувствовал себя так, будто у меня есть метла, но я еще не выучил заклинание, позволяющее заставить ее летать. Зная, что было бы возможно, если бы я это сделал, я продолжал заниматься этим с целеустремленной преданностью. Я узнал, что программирование — это не знания или навыки, а просто терпение или, может быть, одержимость. Программисты — это люди, которые могут выдержать бесконечный парад утомительных препятствий. Представьте себе, что вы объясняете простаку, как собрать мебель, по телефону, без картинок, на языке, на котором вы почти не говорите. Представьте также, что единственный ответ, который вы когда-либо получите, — это то, что вы предположили абсурд, и все пошло наперекосяк. Тем приятнее, когда вам удается что-то собрать. Я отчетливо помню, как лежал на животе в проходе самолета, а затем в последний раз нажал Enter. Я сел. Компьютер на этот раз сделал то, что я ему сказал. Над курсором появились слова «Привет, мир», теперь уже голосом компьютера. Казалось, будто разум проснулся и представился мне.

Большинство из нас так и не стали хакерами, изображенными в «Хакерах». «Взломать», на языке программиста, — это просто возиться, выражать изобретательность посредством кода. Я никогда официально не изучал программирование; Я просто продолжал бездельничать, заставляя компьютеры делать полезные или приятные мелочи. На первом курсе колледжа я знал, что буду в пути во время третьего раунда турнира Masters Tournament 2006 года, когда Тайгер Вудс продвигался по полю, и мне хотелось знать, что происходит в реальном времени. Поэтому я создал программу, которая считывала таблицу лидеров на pgatour.com и отправляла мне текстовое сообщение каждый раз, когда он ловил птичку или пугал. Позже, прочитав «Улисса» на уроке английского языка, я написал программу, которая выбирала случайные предложения из книги, считала их слоги и собирала хайку — более примитивное извержение языка, чем то, что можно получить от чат-бота в наши дни, но тем не менее, я думал, способен на настоящую поэзию:

Я сдеру с него кожу живьем

Он неуверенно ждал

Тяжелый из прошлого

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

В компании моего друга я почувствовал, как у меня развивается механическая симпатия. На втором курсе я смотрел «Опасность!» с другом, когда он предложил мне сделать играбельную версию шоу. Я думал об этом несколько часов, прежде чем с большим разочарованием решил, что это выше моего понимания. Но когда эта идея возникла снова, когда я учился на первом курсе, я увидел выход. Теперь я лучше представлял, что можно сделать с машиной. Следующие четырнадцать часов я потратил на создание игры. Через несколько недель игра в «Jimbo Jeopardy!» стало обычным занятием среди моих друзей. Опыт был глубоким. Я мог понять, почему люди посвящают свою жизнь ремеслу: нет ничего лучше, чем наблюдать, как кто-то наслаждается вещью, которую вы сделали.

Посреди всего этого я полностью погрузился в «бумажную погоню» и начал игнорировать свои оценки. Я работал жадно, но не над курсовой работой. Однажды ночью я взял под свой контроль полдюжины машин в компьютерной лаборатории в подвале, чтобы параллельно запускать программу. Я разложил по полу распечатки с цифрами, продумывая алгоритм поиска пути. Ценой было то, что я по-настоящему пережил тот повторяющийся кошмар, в котором ты приходишь на выпускной экзамен, ничего не зная о материале. (Я учился на факультете реального анализа на математическом факультете.) В 2009 году, во время самого серьезного финансового кризиса за последние десятилетия, я получил высшее образование со средним баллом 2,9.

И все же я легко получил свою первую постоянную работу. У меня был опыт работы программистом; никто не спрашивал о моих оценках. Для молодого программиста это были времена бума. Компании вступали в тендерную войну за лучших программистов. Призывы к опытным программистам были настолько агрессивными, что они жаловались на «спам рекрутеров». Популярность университетских программ по информатике начала стремительно расти. (Моя степень была по экономике.) Появились буткемпы - «учебные лагеря» по программированию, которые могли с полным основанием претендовать на то, чтобы превратить новичков в высокооплачиваемых программистов менее чем за год. На одном из моих первых собеседований, когда мне было чуть больше двадцати, генеральный директор. спросил, сколько, по моему мнению, я заслуживаю оплаты. Я осмелился назвать число, которое меня слегка смутило. Он тут же составил контракт, предложив на десять процентов больше. Навыки «инженера-программиста» хвалились. В одной компании, где я работал, кто-то попал в беду из-за того, что использовал HipChat, предшественника Slack, чтобы задать вопрос одному из моих коллег. «Никогда не общайтесь в HipChat с инженером напрямую», — сказали ему. Мы были слишком важны для этого.

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

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

Реакция сообщества программистов на эти разработки была простой: «Да, вам нужно продолжать повышать свои навыки». Учитесь сложным, непонятным вещам. Инженеры-программисты как вид любят автоматизацию. Неизбежно, что лучшие из них создают инструменты, которые делают другие виды работы устаревшими. Именно этот инстинкт объяснял, почему о нас так хорошо заботились: код имел огромные возможности. Одна часть программного обеспечения может повлиять на работу миллионов людей. Естественно, это иногда вытесняло самих программистов. Мы должны были воспринимать эти достижения как прилив, щипающий наши босые ноги. Пока мы будем учиться, мы будем оставаться сухими. Хороший совет — пока не будет цунами.

Когда нам впервые разрешили использовать ИИ, когда появились чат-боты на работе, для помощи в программировании я старательно избегал их. Я ожидал, что мои коллеги тоже. Но вскоре я начал видеть характерные цвета ИИ. Сеанс чата — зебра, состоящая из звонков и ответов — на экранах программистов, когда я шел к своему столу. Распространенным рефреном было то, что эти инструменты делают вас более продуктивными; в некоторых случаях они помогали решать проблемы в десять раз быстрее.

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

Фактический продукт работы большинства программистов редко бывает захватывающим. На самом деле, он имеет тенденцию быть почти комично однообразным. Несколько месяцев назад я пришел домой из офиса и рассказал жене о том, какой замечательный день я провел, решая особенно забавную задачу. Я работал над программой, которая генерировала таблицу, и кто-то захотел добавить заголовок, охватывающий более одного столбца — то, что написанный нами механизм пользовательского макетирования не поддерживал. Работа была срочной: эти таблицы использовались в важных документах, разыскиваемых важными людьми. Так что большую часть дня я изолировался в комнате. Было много замечательных подзадач: как мне позволить пользователям механизма компоновки сообщить, что им нужен заголовок, охватывающий столбцы? Как должен выглядеть их код? И были неприятные детали, игнорирование которых могло привести к ошибкам. Например, что, если один из столбцов, который должен был охватывать заголовок, был удален из-за отсутствия данных? Я знал, что это был хороший день, потому что мне пришлось вытащить ручку и блокнот — я рисовал возможные сценарии, проверяя и перепроверяя свою логику.

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

Я узнал об этом от Бена, который продолжал рассказывать мне о впечатляющих успехах, которых он добился с GPT-4. Оказалось, что он не только хорошо разбирался в мелочах, но и обладал качествами старшего инженера: обладая глубокими знаниями, он мог подсказать пути решения проблемы. Для одного проекта Бен подключил небольшой динамик и красный светодиод. лампочка в рамке портрета короля Карла, свет заменяет драгоценный камень в его короне; Идея заключалась в том, что когда вы вводите сообщение на соответствующем веб-сайте, динамик воспроизводит мелодию, а свет высвечивает сообщение азбукой Морзе. (Это был подарок эксцентричному британскому эмигранту.) Запрограммировать устройство на получение новых сообщений ускользнуло от Бена; Похоже, это требовало специальных знаний не только о микроконтроллере, который он использовал, но и о Firebase, технологии внутреннего сервера, хранящей сообщения. Бен попросил у меня совета, и я пробормотал несколько вариантов; по правде говоря, я не был уверен, что то, что он хотел, осуществится. Потом спросил GPT-4. Он сообщил Бену, что у Firebase есть возможность, которая значительно упростит проект. Вот оно — и вот какой-то код, совместимый с микроконтроллером.

Боясь использовать GPT-4 самому — и чувствуя себя несколько нечистым из-за перспективы платить OpenAI двадцать долларов в месяц — я, тем не менее, начал проверять его возможности через Бена. Мы садились работать над нашим кроссвордом, и я говорил: «Почему бы тебе не попробовать подсказать это таким образом?» Он предлагал мне клавиатуру. «Нет, ты водишь машину», — говорю я. Вместе мы развили понимание того, что делает ИИ, мог сделать. Бен, у которого было больше опыта в этом деле, чем у меня, казалось, мог получить от этого больше за один удар. Как он позже выразился, его собственная нейронная сеть начала синхронизироваться с нейронной сетью GPT-4. Я бы сказал, что он добился механической симпатии. Однажды, совершив подвиг, который мне показался особенно удивительным, он использовал искусственный интеллект для создания для него игры «Змейка», как на старых телефонах Nokia. Но затем, после краткого обмена мнениями с GPT-4, он заставил его модифицировать игру так, чтобы в случае проигрыша она показывала вам, насколько далеко вы отклонились от наиболее эффективного маршрута. На это боту понадобилось около десяти секунд. Честно говоря, я не был уверен, что справлюсь с этой задачей самостоятельно.

В шахматах, где уже несколько десятилетий доминирует ИИ, единственная надежда игрока — объединиться с ботом. Такой получеловек, полуИИ. команды, известные как кентавры, все еще могут победить лучших людей и лучший искусственный интеллект. двигатели работают в одиночку. Программирование еще не пошло по пути шахмат. Но кентавры прибыли. GPT-4 сам по себе на данный момент является худшим программистом, чем я. Бен намного хуже. Но Бен плюс GPT-4 — опасная вещь.

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

В эссе 1978 года, озаглавленном «О глупости «программирования на естественном языке»» ученый-компьютерщик Эдсгер В. Дейкстра утверждал, что если бы вы обучали компьютеры не на специализированном языке, таком как C++ или Python, а на своем родном языке, вы бы отвергая ту самую точность, которая сделала компьютеры полезными. Формальные языки программирования, писал он, являются «поразительно эффективным инструментом для исключения всякой чепухи, которой, когда мы используем наши родные языки, практически невозможно избежать». Аргумент Дейкстры стал общеизвестным в кругах программистов. Когда эссе облетело Reddit в 2014 году, один из ведущих комментаторов написал: «Я не уверен, что из перечисленного страшнее. Насколько тривиально очевидна эта идея» или тот факт, что «многие до сих пор ее не знают».

Когда я впервые использовал GPT-4, я понял, о чем говорит Дейкстра. Вы не можете просто сказать ИИ: «Реши мою проблему». Этот день может наступить, но сейчас это скорее инструмент, на котором вы должны научиться играть. Вы должны тщательно указать, что вы хотите, как при разговоре с новичком. В задаче выделения результатов поиска я обнаружил, что прошу GPT-4 сделать слишком много одновременно, наблюдаю, как он терпит неудачу, а затем начинаю все сначала. С каждым разом мои подсказки становились менее амбициозными. К концу разговора я уже не говорил о поиске или выделении; Я разбил проблему на конкретные, абстрактные, недвусмысленные подзадачи, которые вместе дали бы мне то, что я хотел.

Обнаружив уровень ИИ, я почти мгновенно почувствовал, что моя трудовая жизнь изменилась. Куда бы я ни посмотрел, я видел дыры размером GPT-4; Наконец я понял, почему экраны в офисе всегда были заполнены сеансами чата и как Бен стал таким продуктивным. Я открыл для себя возможность пробовать это чаще.

Я вернулся к проекту кроссворда. Наш генератор головоломок напечатал выходные данные в уродливом текстовом формате со строками типа "s""c""a""r""*""k""u""n""i""s""*" "a ""р""е""а". Я хотел превратить подобные результаты в красивую веб-страницу, которая позволяла бы мне исследовать слова в сетке и сразу отображать информацию о баллах. Но я знал, что задача будет сложной: каждую букву нужно было пометить словами, к которым она принадлежит, как поперек, так и вниз. Это была детальная проблема, которая легко могла бы занять большую часть вечера. С рождением ребенка у меня было мало свободных вечеров. Итак, я начал разговор с GPT-4. Требовалось некоторое движение вперед и назад; в какой-то момент мне пришлось самому прочитать несколько строк кода, чтобы понять, что он делает. Но я мало занимался тем мышлением, которое, как я когда-то считал, составляет основу кодирования. Я не думал о числах, шаблонах или циклах; Я не использовал свой разум для имитации работы компьютера. Как написал другой программист, Джеффри Литт, после аналогичного опыта: «Я никогда не задействовал свой детальный программистский мозг». Так что же я сделал?

Возможно, Ли Седоля заставило уйти из игры в го ощущение, что игра навсегда обесценилась. Когда я занялся программированием, это произошло потому, что компьютеры казались своего рода волшебством. Машина наделяла вас способностями, но требовала от вас изучения ее тайных секретов — изучения языка заклинаний. Это требовало особого склада ума. Я чувствовал себя избранным. Я посвятил себя скуке, тщательному обдумыванию и накоплению неясных знаний. Затем однажды стало возможным достичь многих из тех же целей, не задумываясь и не зная. Если посмотреть на это под определенным углом, большая часть трудовой жизни может показаться пустой тратой времени.

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

Компьютеризация еще не побеждена. GPT-4 впечатляет, но непрофессионал не сможет обращаться с ним так, как программист. Я по-прежнему чувствую себя уверенно в своей профессии. На самом деле я чувствую себя в большей безопасности, чем раньше. Поскольку программное обеспечение становится проще создавать, оно будет распространяться; программистам будет поручено его проектирование, настройка и обслуживание. И хотя сложные части программирования всегда находили меня наиболее успокаивающими и наиболее важными, я не особо хорош в них. Я провалил множество классических тестов на собеседовании по программированию, которые можно встретить в крупных технологических компаниях. В чем я относительно хорош, так это в том, что знаю, что стоит создавать, что нравится пользователям, как общаться как технически, так и гуманно. Мой друг назвал это момент ИИ «месть так себе программиста». Поскольку программирование само по себе начинает иметь меньшее значение, возможно, появятся более мягкие навыки.

Это все еще оставляет открытым вопрос, чему учить моего будущего ребенка. Я подозреваю, что, когда мой ребенок подрастет, мы будем думать о «программисте» так же, как мы сейчас вспоминаем «компьютер», когда эта фраза относилась к человеку, который делал вычисления вручную. Самостоятельное программирование на C++ или Python может в конечном итоге показаться таким же нелепым, как запись инструкций в двоичном виде на перфокарту. Дейкстра был бы потрясен, но заставить компьютеры делать именно то, что вы хотите, может оказаться вопросом вежливости.

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

Автор Джеймс Сомерс