Rambler's Top100

ИНТЕЛРОС

Интеллектуальная Россия

INTELROS.RU

Intellectual Russia


ЭДУАРД ЛЮБИМСКИЙ

Общество программ.

Доклад, представленный на заседании клуба «Красная площадь».

7 июля 2006 г.

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

Между тем, вместе с информатизацией, с развитием компьютеров возникла не просто информация как инструмент, а возник новый вид информации - активная информация. Это программы.

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

Мы привыкли программу рассматривать так: включил компьютер, она тебе две матрицы перемножила, выдала результат, выключил компьютер и все в порядке. В этом смысле, она как бы придаток этой самой информации.

Однако, уже давно существуют программы, которые так просто и не выключишь. Например, программы, управляющие каким-то непрерывным производством, или программы в больницах, которые ведут мониторинг состояния больного, включают капельницы или вызывают фельдшера и так далее. Или программы, которые исполняют роль диспетчеров аэропортов. Но совсем радикально все изменилось, когда возникла вот эта самая компьютерная сеть, о которой нам Алексей Анатольевич только что рассказывал. Эта всемирная компьютерная сеть, стала для программ новой перманентной средой обитания. Если раньше программа была привязана к компьютеру: выключил компьютер и все, и нет программы, то теперь эта программа живет во всей этой всемирной сети, и задача ГРИДа как раз и состоит в том, чтобы найти, где бы ее получше выполнить и как ее туда доставить. И мы теперь сами иногда не знаем, где исполняются программы, которые нас обслуживают.

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

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

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

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

Когда Вы садитесь за компьютер, вы всего на всего общаетесь с одной единственной программой – со своим браузером. А уже она при помощи целого комплекса программ, который есть операционная система, связывается с другими программами сети, с банками данных, с поисковыми сервисными системами, всякими « Googl 'ами» и так далее, и они, взаимодействуя друг с другом, обмениваясь сообщениями, в конце концов, сообщают браузеру, что же он может вам показать. То есть, вы-то общались с одной программой, а при этом между собой общались, взаимодействовали сотни программ.

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

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

Вернемся к нашей картинке. Рассмотрим некоторое автоматизированное производство. Такие производства существуют уже давно. Кто управляет этим автоматизированным производством? Им управляет комплекс программ, которые взаимодействуют друг с другом по принципу трудового коллектива. Что это значит? Значит, что точно расписаны функции: вот эти программы управляют станками, эта - управляет конвейером, эта - транспортом заготовок со склада на конвейер, эта - отгрузкой готовой продукции на склад. Какие-то программы поддерживают инфраструктуру существования и взаимодействия остальных программ (передача сообщений и пр.). И уже сейчас при каждом таком производстве существует некая программа, которая представляет это производство в информационном мире, вот в этой самой глобальной сети, в Интернете или в ГРИДе. Кстати сказать, такие программы имеются почти при каждом предприятии или учреждении. Их все чаще стали называть программами-агентами. В настоящее время программы-агенты, в основном, информируют мир об объектах, которые они представляют. Однако, уже сейчас существуют агенты, которые выполняют от их имени некоторые действия. Например, программы-агенты принимают заказы на авиабилеты или на покупку товаров, или выплачивают вам деньги по банковской карте. Постепенно программам-агентам будет передаваться все больше самостоятельных функций, потому что они могут их выполнять быстрее и лучше чем люди.

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

Но пройдет еще немного времени, и программы-агенты станут заниматься снабжением и сбытом самостоятельно. Давайте посмотрим, как это будет происходить. Итак, программа-агент нашего предприятия получила сообщение со склада, от программы, управляющей складом, что не хватает каких-то заготовок. Что она делает? Она по глобальной сети начинает поиск агентов, которые представляют производства, производящие вот эти самые заготовки. Пользуясь теми же средствами Интернета, которыми мы сами пользуемся сейчас. Допустим – нашла. Теперь надо удостовериться, что это не какая-нибудь шайка хакеров, а что это действительно программа-агент серьезного предприятия, готового поставить нужную продукцию. Как это делается? Уже сейчас в глобальной сети существует сеть программных сертификационных центров. Вы можете получить в любом из них сертификат, удостоверяющий полномочия вашей программы-агента. Сертификат имеет вид шифрограммы. Сертификационные центры все друг с другом связаны и друг другу доверяют. Установив контакт, потребитель и поставщик прежде всего обмениваются имеющимися у них сертификатами, причем каждый из них проверяет полученный сертификат в своем сертификационном центре. Получив подтверждение от своих «нотариусов», агенты начинают деловые переговоры. При этом могут привлекаться данные из различных баз Интернета о кредитоспособности покупателя, о качестве товаров производителя, о тенденции мировых цен на данный товар о стоимости перевозок и так далее. Одновременно могут вестись переговоры со многими поставщиками. Такие программы, реализующие различные стратегии торгов, уже существуют и используются. Есть и программы, поддерживающие биржевой принцип торгов, тендеры. В случае удачного завершения торгов заключается и нотариально регистрируется договор, после чего программа-агент предприятия посылает своему банку (его программе-агенту) приказ перевести средства, а программа-агент поставщика посылает на свой склад приказ об отгрузке товара. Аналогичные переговоры могут быть предварительно проведены с программами-агентами транспортных предприятий. И так далее.

Постепенно в нашей глобальной компьютерной сети станет функционировать огромное множество таких программ-агентов. Я грубо поделю их на три класса:

1) Это агенты, представляющие учреждения, фирмы, предприятия и так далее, то есть, представляющие какие-то объекты внешнего мира, с которыми они связаны, могут ими управлять, влиять и так далее.

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

3) И, наконец, третий вид агентов – это программы-агенты, которые представляют субъекты не внешнего, а внутреннего, виртуального мира, представляют самих себя. Это базы данных, то есть, программы, предоставляющие информацию, которую они собирают, классифицируют и хранят. Или агенты, которые могут выполнять какие-то информационные услуги, что-то сосчитать, например, спроектировать самолет, или провести компьютерные испытания самолета и показать какие у него свойства, или найти какую-то информацию, или незаконно найти какую-то информацию, взломать какую-нибудь базу данных и Вам оттуда что-то переслать. Или помешать кому-то это сделать. Или у кого-то со счета что-то украсть, или защитить Вас от этого.

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

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

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

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

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

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

Ответы на вопросы:

А. Парамонов. Господа, если можно, у меня вопрос к Эдуарду Зиновьевичу. Я хотел бы вернуться к представлению об обществе программ и спросить: можете ли Вы оценить временной порядок, когда мы можем говорить, что мы реально живем при обществе программ?

Э. Любимский. 20-30 лет.

В. Буданов. Когда на клуб можно пригласить? (Смех).

А. Парамонов. Значит, у нас есть какой-то запас в 20-30 лет?

Э. Любимский. Запас 20-30 лет – это когда оно сформируется, а сделать так, чтобы оно стало таким, чтобы мы с ним хорошо жили, мы можем только сейчас. То есть, точка бифуркации где-то сейчас, если только мы ее уже не прошли.

В. Буданов. Вы говорили по поводу этого общества агентов, что они могут договариваться: принятие конвенций, то есть, правила…

Э. Любимский. Нет-нет, простите, я имел в виду заключение сделок.

В. Буданов. Друг с другом?

Э. Любимский. Да, друг с другом.

В. Буданов. Они же должны еще и вырабатывать некие правила игры. Игра-то идет вперед. Поэтому возникает некое пространство ценностей, оно может быть подобно человеческому, а может быть, так сказать, совершенно в другой цивилизации вырастать. И то же самое ГРИД, когда Алексей Анатольевич [Солдатов] и Вячеслав Анатольевич [Ильин] делали у Гордона передачу по ГРИДу, мы назвали ее тогда «мировой мозг».

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

Э. Любимский. Я на этот вопрос отвечу так: относительно того, что в обществе программ будет выработана своя система ценностей, я не говорил просто потому, что я этого точно не знаю. Может быть, и будет, но я не знаю, как это получится. Во всяком случае, это будет сильно зависеть от нас. Я старался говорить о том, что, с моей точки зрения, совершенно неизбежно, и через 20-30 лет наступит.

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

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

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

Заключительное слово

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

Эта третья проблема вовсе не отменяет две первые, она существует наряду с ними и так же требует нашего внимания.

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

Реплика. Коллективное сознание.

Э. Любимский. …они будут системой, понимаете? Они будут системой, а система, - если вы философы, вы должны знать, - она приобретает новые качества, которыми не обладает ни один из ее компонентов. И критически важно то, что мы наделили эту систему способностью (и потребностью) к самоорганизации .

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

А. Бунич. Если, Вы говорите, новая система, самоорганизующаяся возникает, там даже бандит появится, там и полиция возникнет.

Реплика. Обязательно.

А. Бунич. Тогда, что ее регулировать, она сама организуется – полиция возникнет, поймает бандитов, все само?

Э. Любимский. Можно и не регулировать, если мы не боимся, что рядом с нами вырастет такой же монстр как мы сами, но более могущественный и, при этом не знающий, что такое любовь, что такое страдание и сострадание, что такое жизнь и смерть.

Я Вам скажу, что регулировать. Я бы, например, сейчас, предложил пересмотреть целый ряд интернетовских протоколов. Обязал бы накапливать всю историю обменов сообщениями всех программ, которые идут по ГРИДу. Это бы автоматически означало, что любой преступник обязательно будет разоблачен, и автоматически означало, что в этой среде преступления прекратятся.

А. Бунич. Появятся новые. Рэкет начнется, новые преступления.

Э. Любимский. Не начнется, нет. Если все восстановимо. Вот представьте себе, что каждый шаг каждого человека фиксируется. Да, среди людей это нельзя. Это нарушение прав человека. Но среди программ, почему нельзя?

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