Колдуш
Шрифт:
И что же дальше? Просто общаться скоро стало скучно. Можно научить болталку другому языку, пусть переводит на английский тексты, но зачем? И получится ли с таким ограниченным функционалом. Самому боту, конечно, всё равно, хоть полностью меняй базу данных на английскую, он всё равно ничего не понимает и не помнит ничего вне этой базы. Странник придумал неожиданный ход.
Он стал учить болталку не новому естественному языку, а искусственному языку – языку программирования С++. Можно ли на нём говорить? Нет, но можно писать связный код, когда один из собеседников начинает логическую фразу, а второй продолжает. Страннику удалось найти код той самой болталки и он поставил своей целью воспроизвести его в диалоге –
Эволюция кода. Странник начал менять код, но не руками, а с помощью самой болталки. Он сохранял диалог, компилировал его и запускал новую болталку с чуть-чуть изменённым кодом. Как всегда в эволюции большинство мутаций, изменений в коде, снижают приспособленность, делают организм нежизнеспособным, но иногда находится жемчужина. Чтобы было интереснее и быстрее, Странник заставлял двух ботов беседовать между собой: он запускал две программы и копировал сообщения первой в чат второй, а потом обратно. Человек замолчал, стал исключительно переносчиком высказываний. Перестал быть автором, только наблюдателем.
Полученные переписки он снова компилировал и проверял на работоспособность. Постепенно количество копий увеличивалось, он устраивал сложные беседы, но продолжал молчать сам, лишь иногда подправляя код, чтобы он оставался работающим. Код постепенно менялся и усложнялся, Странник добавлял туда, в меру своего понимания, некоторые дополнительные функции, придавал новые возможности болталке. Одним из очень важных нововведений стала возможность ведения самостоятельного диалога: болталка научилась отвечать сама себе, самостоятельно строить текст, что означало возможность написание кода без участия человека. Теперь можно запустить десяток ботов, и они самостоятельно будут генерировать новые исходники для самих себя, человеку остаётся только запускать компилятор, но и этот этап Странник планировал переложить на программу.
Использование эволюционных подходов привело к тому, что темп развития болталки сильно возрос. Если в начале на каждый этап, на каждое улучшение требовались сотни часов Странника, то теперь нужны были только десятки часов напряжённой работы компьютера, чтобы имплементировать не только компилятор, но и всю С++ в болталку. Программа стала на маленький шажочек более самостоятельной, очень скоро научилась даже перезапускаться. Пропала необходимость создавать код, используя язык программирования, можно сразу в двоичной системе, но как это объяснить боту?
Странник опять взялся за развитие русского языка у бота, научил его различать языки и комментировать программный код обычными словами – молодой человек перестал разбираться в коде, он настолько усложнился, что это стало выше его способностей. Да и зачем, если программа сама всё делает. Примерно на этом этапе он стал забывать С++.
И стал задумываться, кого же можно считать автором болталки. Первоначального программиста, который и создал простого бота, уже не назвать автором, слишком далеко ушли возможности программы от простого подбора ответов в чате. Но и Странник – не автор, он ещё хуже разбирается в программировании и самостоятельно написал от силы сто строк кода. Да и не факт, что они сохранились, ведь строки теперь не нужны. Он перестал до конца понимать, как работает его бот. Честно говоря, он и в начале не всё понимал, но тут стало ещё хуже. Хотя, надо ли понимать? Лишь бы работало как надо. Программа работала как надо и улучшалась так как нравилось Страннику
Мощности компьютера стало не хватать на параллельную работу десятка эволюционирующих ботов. Пришлось апгрейдить компьютер – на что хватило денег, а потом сокращать количество одновременно работающих программ, нацеливаться на узкую специализацию, без большого разнообразия.
Способности болталки дошли до того, что она стала понимать… ну как понимать – усваивать, интегрировать в свою базу данных книги, как художественные, так и учебники по программированию. Понятное дело, что после этого она освоила такие вершины, до которых Странник никогда и не планировал добраться. В какой момент бот стал интеллектуальным сказать невозможно, но постепенно накопились непонятные и никому неизвестные изменения, которые привели к тому, что письменную речь болталки стало не отличить от человеческой. Возможно, уже тогда она могла бы пройти тест Тьюринга – Странник не собирался никому показывать своё детище, потому вопросов о прохождении теста даже не возникало. Где-то в этот момент произошёл тот самый загадочный переход количества в качество, трансформация похожая на переход неорганической материи в органическую – момент зарождения жизни до сих пор остаётся загадкой. Примерно такой же как появления разума.
Мы не может точно сказать, что такое жизнь, какие материальные тела живые, а какие нет. Похожая история с разумом: в какой момент он появляется, у кого его ещё нет, а у кого он уже есть? И что вообще такое разум? Странник давно задумывался над вопросом, как можно создать искина, если не знаешь, что такое естественный интеллект. Ответа так и не нашёл, но нашёл искина.
Следующим поглощением стал mp3-плеер, благодаря которому болталка смогла слышать и говорить, начала распознавать речь. Странник тут же отказался от чата и стал общаться с компьютером как с человеком. Здесь произошло разделение двух типов общения: разговор человека с машиной в устной форме и внутренний диалог программы в письменно. Второй нужен был для самообновления кода, развития болталки. И тут машина стала напоминать человека, у которого различается внешняя словесная речь и невербальное, образное общение с самим собой.
Возможность устного общения привела к тому, что бот стал больше напоминать живого человека, а, значит, поднялись вопросы, которые до этого не приходили Страннику в голову. Законы робототехники. Болталка уже умеет программировать лучше, чем человек, чем её хозяин (хозяин ли?). Если не ввести ограничений, то дело может закончиться плачевно. Может ли машина стать разумнее человека? Тут зависит от определения того, что такое разум, но стать рациональнее, эффективнее и хитрее – точно может. А лживее, коварнее и станет ли способной предавать? Наверное, тоже. Следовательно, в неё нужно вложить внутренний закон, этические нормы. Но какие?
Чтобы не слишком мучиться, Странник зашил в основу, надеялся, что в самое основание, три классических закона:
Робот не может причинить вред человеку или своим бездействием допустить, чтобы человеку был причинён вред.
Робот должен повиноваться всем приказам, которые даёт человек, кроме тех случаев, когда эти приказы противоречат Первому Закону.
Робот должен заботиться о своей безопасности в той мере, в которой это не противоречит Первому или Второму Законам.
А затем добавил четвёртый: недопустим нулевой закон. Нет, я не буду заботиться о человечестве, пусть само о себе думает, так размышлял Странник, болталка – моя, вот и пусть думает обо мне, или можно сделать такой Нулевой закон, где слово "человечество" будет заменено на моё имя – так даже точнее, а о человечестве я подумаю сам.
Странник решил, что он сам сможет позаботиться о человечестве, если захочет, он решил не перекладывать это на плечи бота, который может выбрать способ совершенно не устраивающий его хозяина. С другой стороны, достойно ли человечество того, чтобы о нём заботились? Нужна ли ему, этому человечеству, чья-то забота?
Следующим пунктом развития стал браузер. Какой? Совершенно не важно. Странник нашёл исходник какого-то простого браузера и скормил болталке. Через сутки бот научился сам вылезать в интернет, и началась новая эра развития.