Сделайте мне удобно!
Архив В мире персональных и околоперсональных вычислений можно выделить несколько категорий пользователей. До недавнего времени преобладали две: (1) "компьютерные профессионалы", профессионально же оперирующие метафорами различного уровня абстракции (имеющие интерфейс "в голове"), и (2) "не компьютерные профессионалы", которые могут не владеть понятийным и языковым аппаратом компьютерного дела, но которые владеют предметной структурой деятельности, могущей послужить опорой для разработчика интерфейса.
Нам пытаются продать (и продают) интерфейсы, прицеленные ровно между этими группами пользователей, - их можно назвать визуально-объектными (или - шире - сенсуально-объектными, то есть построенными вокруг ощущаемых объектов). В 70-80-е годы с ними наэкспериментировались на продвинутых и экзотических платформах, а в 80-90-е они были популяризированы - прежде всего компаниями Apple и Microsoft, но также производителями менее универсального софта и firmware - от специализированных текстовых процессоров до игровых платформ; в этом же направлении движутся и многие оболочки открытых систем.
Сам я чувствую этот разрыв в себе, как некую шизофрению. Как "информатику", мне сенсуально-объектная метафора часто кажется излишней, более того, мешающей прослойкой между моим профессиональным сознанием и сущностями, которыми я оперирую. В конце концов, я все равно знаю, что такое файлы и снаружи, и изнутри, и летящий листик бумаги при перемещении файла в Windows меня не обманет: я все равно знаю, что меняются лишь записи в каталогах и таблице размещения файлов. Грубо говоря, если вы владеете аппаратом квантовой механики (я не владею), вам точно так же будет мешать школьная модель атома с шариками, изображающими элементарные частицы, и палочками, изображающими внутриатомные силы.
Как "тупому пользователю" мне эта метафора не то, чтобы недостаточна, а как-то не всегда удобна. В конце концов, очень хочется относиться к компьютеру, как к помощнику, а помощник оказывается исполнителен, но туповат. На все ему приходится показывать пальцем (курсором): "Возьми это, отнеси туда".
Дело, конечно, не в выродках, вроде меня, пытающихся убежать от "компьютеристики", да никак не могущих; дело в том, что персоналке надо покорить другие категории потенциальных пользователей, прежде всего, профессионалов в областях с нечеткой предметной организацией, но и - непрофессионалов, точнее, людей, собирающихся использовать компьютер вне работы.
Метафора программного агента появляется во многом как попытка преодолеть ограничения метафоры объекта. "Агент" - это выполняющий поручения. Объекты видимы, пассивны, имеют местоположение, могут содержать в себе что-либо; от агентов мы ждем способности замечать нечто, выполнять действия, знать нечто, перемещаться в различные места.
Но "агентность" не сводится к преодолению объектности. В соответствующее смысловое поле входят еще и антропоморфизм, адаптивное поведение, способность работать автономно - в то время, когда хозяин/принципал не работает, и в тех местах, где принципала нет. Мы ждем от агентов кооперации и конкуренции.
Вынужденно сжатое обсуждение проблематики "программных агентов" следует в статье "Агенты и их хозяева. The Incomplete Robot" (The Incomplete Robot - "Неполный робот" - это, конечно, намек на название известного и много раз переиздававшегося сборника рассказов Айзека Азимова (Isaac Asimov) "Полный робот").
Сухость статьи отчасти компенсируется (и оттеняется?) живостью футуролого-фантастической зарисовки Сергея Яковлева "О бедном агенте?..", вводящей в сегодняшнюю тему номера многие мотивы, для формального обсуждения которых, увы, места нет.
Интервью с Евгением Касперским, посвященное "злым агентам" - программам, обладающим существенными характеристиками агентов и эксплуатирующим при этом недостаточную защищенность систем в интересах своих хозяев, - закрывает тему.
Метафорика агентов и агентских (точнее агент-агентских) архитектур - прорастает. Вряд ли мы будем свидетелями шага к агентским архитектурам, подобного пройденым нами шагам от сентенционального к объектно-ориентированному программированию или от данных к объектам, или от программ к (клиент-серверным) приложениям (хотя "агенты" как слоган вполне может появиться в рекламе какого-нибудь поп-софта).
По сути дела, многие качества, присущие агентам, в том или ином наборе присутствуют в повседневно используемом программном обеспечении (я бы даже взял на себя смелость сказать: и всегда присутствовали). Вопрос в отношении к ним пользователей и разработчиков, вопрос в осознанном и ответственном использовании метафоры. Вопрос в грани, переходя которую нужно понимать: да, я делегировал часть своих задач (и полномочий!) неорганической твари, я получил от этого определенные преимущества и несу соответствующие риски.
Подготовку этой темы информационно, организационно и морально проспонсировал Анатолий Игоревич Левенчук (www.ice.ru/libertarium/people/ailev), которому я выражаю свою искреннюю признательность и который, разумеется, не несет никакой ответственности за то, что в итоге получилось.