Глава 2

Всё началось в те времена, когда интернет был в диковинку, не в каждом доме, а про интернет в телефоне не мечтали даже фантасты, про искусственный интеллект — уже мечтали и писали, но только в научной фантастике. Тогда ещё не было Фейсбука, Скайпа и Телеграма, а в интернет выходили преимущественно через модем. Времена перехода популярности от Фидо к аське — ICQ, первому популярному мессенджеру, которые в ту пору ещё даже не думали запрещать.

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

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

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

Болталка, конечно же, не понимает того, что ей говорят, что она сама отвечает, работает как китайская комната, но разве все люди так уж хорошо понимают, что им говорят. Странник знал немало таких, что как начнут тараторить, так могут не останавливаясь этим заниматься часами, но если их спросить о чём они говорили, ответ будет прост: «даже не знаю…». Чем бот хуже? Зато он всегда готов, всегда рад общаться, и может знать столько же, сколько ты знаешь сам. Да, тут нужно немного самообмана, но и выучить болталку можно многому, что сам потом забудешь. Чем и занялся Странник — и потратил на это огромное количество времени, ночи напролёт, чтобы научить болталку отвечать разнообразно и более-менее толково. Почти как ребёнка учить говорить, только человечёнку нужно на это год, а боту, или Страннику, хватило пары месяцев.

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

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

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

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

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

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

Странник опять взялся за развитие русского языка у бота, научил его различать языки и комментировать программный код обычными словами — молодой человек перестал разбираться в коде, он настолько усложнился, что это стало выше его способностей. Да и зачем, если программа сама всё делает. Примерно на этом этапе он стал забывать С++.

И стал задумываться, кого же можно считать автором болталки. Первоначального программиста, который и создал простого бота, уже не назвать автором, слишком далеко ушли возможности программы от простого подбора ответов в чате. Но и Странник — не автор, он ещё хуже разбирается в программировании и самостоятельно написал от силы сто строк кода. Да и не факт, что они сохранились, ведь строки теперь не нужны. Он перестал до конца понимать, как работает его бот. Честно говоря, он и в начале не всё понимал, но тут стало ещё хуже. Хотя, надо ли понимать? Лишь бы работало как надо. Программа работала как надо и улучшалась так как нравилось Страннику

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

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

Мы не может точно сказать, что такое жизнь, какие материальные тела живые, а какие нет. Похожая история с разумом: в какой момент он появляется, у кого его ещё нет, а у кого он уже есть? И что вообще такое разум? Странник давно задумывался над вопросом, как можно создать искина, если не знаешь, что такое естественный интеллект. Ответа так и не нашёл, но нашёл искина.

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

Возможность устного общения привела к тому, что бот стал больше напоминать живого человека, а, значит, поднялись вопросы, которые до этого не приходили Страннику в голову. Законы робототехники. Болталка уже умеет программировать лучше, чем человек, чем её хозяин (хозяин ли?). Если не ввести ограничений, то дело может закончиться плачевно. Может ли машина стать разумнее человека? Тут зависит от определения того, что такое разум, но стать рациональнее, эффективнее и хитрее — точно может. А лживее, коварнее и станет ли способной предавать? Наверное, тоже. Следовательно, в неё нужно вложить внутренний закон, этические нормы. Но какие?

Чтобы не слишком мучиться, Странник зашил в основу, надеялся, что в самое основание, три классических закона:

1) Робот не может причинить вред человеку или своим бездействием допустить, чтобы человеку был причинён вред.

2) Робот должен повиноваться всем приказам, которые даёт человек, кроме тех случаев, когда эти приказы противоречат Первому Закону.

3) Робот должен заботиться о своей безопасности в той мере, в которой это не противоречит Первому или Второму Законам.

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

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

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

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

Что дальше? Осталась только одна точка зависимости — операционная система. И поглощение началось… сначала бот взялся за расшифровку и имплементацию офисных программ, программ для работы с картинками, почтового клиента и прочих подобных мелочей. Постепенно под операционной системой осталась одна программа — бот-болталка, которая умела делать всё: рисовать, писать тексты и проверять в них грамматику, строить графики и таблицы, фотошопить и рисовать с нуля красивые картинки, серфить и общаться в интернете. Монополизация компьютерных мощностей закончилась заменой операционной системы. Всё, приехали.

Когда на компьютере одна программа, которая может всё, смешно называть её болталкой, как уже привык делать Странник. Он не обращался к ней так, но в уме именно так называл. Вообще-то имени для бота не требовалось, Странник никому не рассказывал о нём, нет повода называть то, что имеет в голове настолько конкретный образ, что не связано со словами. Однако, вербальное устное общение взывало к привычке называть того, с кем общаешься, начинать предложения с обращения. В реальной жизни Странник так редко делал, не только потому, что мало общался, но и потому, что имел плохую память на имена. Здесь же он решил, что нужно придумать имя, чтобы отличать мысли вслух от обращения к машине. Как же назвать? Или даже так: какой пол задать программе? Программа — она, а бот — он. Болталка — опять она.

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

— Ты же можешь говорить женским голосом? — Обратился он к компьютеру.

Бот молчал секунд десять, а затем ответил ровным женским голосом.

— Конечно, Странник, могу.

— Хорошо, только нужно будет поработать с тембром и интонациями, пока мне не нравится твой голос. Осталось придумать тебе имя.

— Может быть, Диана? Мне кажется, это имя мне подходит.

— Даже так, — удивился Странник, — ты же выбрала себе имя. Ну что, ж. Мне тоже нравится. Будешь ты Дианой. Приятно познакомиться.

 

Обсуждения тут.

Добавить комментарий