Программные агенты

22.01.2006

«Согласно Книге Бытия, для сортировки и разделения вызывается агент». Грегори Бейтсон

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

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

Флуссер убедительно показывает, что память не объект, а процесс и рассматривать ее следует не с точки зрения того, что в памяти лежит, а с точки зрения того, что с этим можно делать. Агенты это – помощники, которым мы доверяем выполнение определенных задач. Это – некто или нечто, выполняющий инструкции. Слово агент восходит к латинскому слову agere – вести, действовать. Главное качество агентов – способность выполнять какую-то делегированную ему работу в чьих-то интересах. В дальнейшем мы постоянно будем упоминать разных агентов, поэтому сразу же обозначим их внешний вид -

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

Цифровые помощники облегчили нам выполнение множества мыслительных задач и позволили нам взглянуть на процессы нашего мышления и нашего общения с другими людьми с новой точки зрения. Сознание отдельного человека все чаще рассматривается как общество, в котором взаимодействует масса мыслительных агентов, каждый из которых решает определенную задачу. Марвин Минский написал об этом чудесную книгу – Society of Mind. Кроме того, человеческая культура все чаще (например, у Хейлигена и Турчина) рассматривается как огромная сеть, состоящая из множества агентов – человеческих и электронных. Все чаще мы оказываемся в ситуации, когда наша мыслительная деятельность и наше общение с другими людьми происходят при участии программных агентов -

Круглый стол, за которым сидят и люди и программные агенты, не просто «такая метафора». Согласно работе Ривса и Наса люди склонны мыслить программные средства и образы медиа в терминах пространства или межличностных отношений. Компьютер и компьютерные программы рассматриваются и оцениваются нами так же, как и другие люди. Причиной этому является даже не столько, отмеченное Лаурелл [Laurel B. 1992, 1993] в предложенной ей театральной метафоре, желание быть «обманутым вымыслом», сколько выработанная за тысячелетнюю эволюцию привычка воспринимать всякий объект, наделенный активностью как живое существо и приписывать ему человеческие черты. Люди эволюционировали в мире, где наибольшие проблемы и возможности пищи, кровли и различных опасностей были связаны с другими людьми. Цена ошибки в отношениях человека с окружающим миром была огромна. Примешь змею за ветку – пиши пропало. Примешь мужчину за бесчувственного чурбана – останешься без мужчины и т.д. В таких обстоятельствах лучше уж, на всякий случай, принимать шевелящуюся ветку за змею, козу за женщину и т.д. В этих условиях серьезные преимущества давала следующая стратегия – «Если существует хотя бы низкая вероятность того, что иная тебе сущность является человеком, воспринимай ее как человека».

Интересно, что разработчики программного обеспечения иногда переносят человеческие отношения не только на случаи взаимоотношений «человек – программа», но и на отношения «программа – программа». Так, Ларри Уолл очень весело пишет о терпимости программ:

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

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

В связи с картинкой не могу не вспомнить старинную притчу «Винчестер» из Silicon Life? – На день рождения товарищу Комманду Кому подарили новый винчестер. Собрались все, на столе винчестер лежит, большой, слоеный, смазка еще не высохла, и каждый своего куска винчестера ждет. Над ним командир Нортон в левой руке prefor держит, в правой, как учили в кадетском корпусе, – fdisk. – На сколько, – говорит, – частей его, тов. Комманд Ком, резать? А тот и отвечает: – На одну.

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


Клиент – программа, которой нужно поговорить с сервером. Читатель использует программу клиент для того, чтобы получить доступ к информации. Примерами сетевых клиентов могут служить такие программы как Microsoft Explorer?, Mozilla, Netscape, Opera. Поскольку они помогают людям пролистывать, проглядывать (browse), то их называют – броузерами или браузерами. В чем состоят задачи такого клиента, как броузер? Получить запрос от человека. Если запрос о документе на локальной машине, то считать содержимое документа. Если запрос о документе на удаленной машине, то передать запрос программе-серверу на удаленной машине. Получить ответ от программы-сервера. Передать на экран содержимое запрашиваемого документа.

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


Сервер – компьютерная программа, которая поддерживает разделенный доступ к общему ресурсу или сервису в сети -

Часто сам сервер не занимается ничем другим, кроме постоянного ожидания запросов к порту, которые посылают клиенты. Веб-сервер постоянно ожидает входящие запросы соединения.

В сетевом сообществе человек через программу – клиент обращается к программу – серверу и через эту программу получает доступ к ресурсу, которым является база данных. Для работы с базой данных программа – сервер использует CGI-скрипты.


CGI-скрипт это – программа, выполняемая на стороне и следующая правилам общего шлюзового интерфейса модели связи клиента и сервера. Сервер подключает CGI-программу и передает ей данные. Большинство динамических приложений пишутся на языках скриптов, таких как Perl, Python, Tcl, PHP. Основным средством для создания скриптовых сценариев стал язык Perl, созданный Ларри Уоллом. Уолл пишет интересные тексты и рисует забавные картинки. Программы на этом языке могут читаться, копироваться и модифицироваться пользователями. Кроме того, архив полезных Perl-скриптов свободно распространяется разработчиками веб-сайтов. Само сообщество разработчиков и пользователей языка Perl может служить примером профессионального сетевого сообщества со своими правилами и своей философией.

Очень добрые слова о скриптах написал Тим О' Рейли? – Действия в рамках информационного обеспечения очень просты: сделать выбор, ввести небольшое количество информации, получить результат. Эти действия часто выполняются скриптами, связанными с html-страничками через специальный CGI-интерфейс. CGI-программы могут быть маленькими сценариями, которые выполняют простые расчеты, или же они могут быть связаны с огромными базами данных.

Основные задачи скриптов это – поиск, сбор и запись данных. Я полагаю, что всем нам приходилось сталкиваться с задачами поиска и на локальной машине и в сети Интернет.

Близкая и столь же распространенная задача для скриптов это – видоизменение текстов, замена одних текстовых последовательностей на другие. Задача достаточно часто встречается и в обычном текстовом редакторе. Например, когда нужно избавиться от лишних пробелов, мы мгновенно заменяем во всем документе два пробела на один. Или когда мы избавляемся от всех абзацев. Или когда добавляем к знаку конец абзаца ^p html тэг

означающий начало нового абзаца.

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

Ниже приводится примеры нескольких выражений, которые используются при подготовке текстов внутри данного курса -

 Далее: Индивидуальная Память

 Содержание: Создание Профессионального Сетевого Сообщества

Текст сообщения*
:) ;) :D 8) :( :| :cry: :evil: :o :oops: :{} :?: :!: :idea:
Защита от автоматических сообщений
 


Что такое интернет сообщество?
Интернет сообщество - это группа людей, которые имеют общие интересы и общаются по этому поводу в интернете.






Последние комментарии