Сергей Бобровский "Досье искусственного интеллекта"

Автономные агенты

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

В Колумбийском университете создана система JAM, предназначенная для анализа безопасности проведения электронных транзакций. Центральная самообучающаяся система, первоначально использующая набор шаблонов аномальных ситуаций, следит за изменением содержимого больших и быстро растущих распределенных БД в реальном масштабе времени, выявляя типичное для конкретной организации "поведение" транзакций. За возможными неисправностями и отклонениями в работе следят локальные агенты, также способные к обучению. Они передают накопленные сведения в главную систему, принимающую стратегические решения. Агенты могут объединяться в группы и превращаться в метаагенты, синтезирующие конкретные модели обучения своих подопечных.

Продолжаются работы над технологией Microsoft Agent, вводящей в Windows интерактивные персонажи, с которыми можно общаться и советоваться. Этот подход предполагает принципиально новый интерфейс взаимодействия человека и компьютера (более подробно см. http://msdn.microsoft.com/workshop/imedia/agent/).

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

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

Определенные шаги в этом направлении делаются. Когда появилась технология Java, группа OMG разработала Mobile Agent System Interoperability Facility – требования к протоколу общения агентов. Развивает эти идеи, в частности, японское отделение IBM, создавшее библиотеку разработчика Java-агентов (аглетов) Java Aglets SDK (www.trl.ibm.co.jp/aglets), в основу которой положен переделанный из Sun’овского слогана "пишется однажды, работает везде" новый: "пишется однажды, передвигается везде".

Немалую активность в создании агентов для Интернета проявляет DARPA. Оно разработало протокол обмена знаниями и основанный на нем язык общения агентов Knowledge Query and Manipulation Language (KQML), также пригодный для применения в интеллектуальных решателях.

Интересное направление в области автономных агентов родилось с развитием языка XML. На его основе сегодня создаются XML-агенты, способные по запросу предоставлять информацию из произвольных источников данных. Немаловажно, что в отличие от Java-технологии, когда для выполнения байт-кода требуется JVM-машина, XML-агенты описываются единственным тегом <AGENT>, используют всего три типа объектов – "ввод", "вывод" и "ошибка" и содержат набор рецепторов для общения со своими "коллегами". Агенты могут применять любой доступный язык сценариев (или специально разработанный XMLScript), а также CGI-программы – в зависимости от возможностей сервера, на котором они выполняются. Главное, чтобы локальные программы стандартно обрабатывали три типа объектов.

Если классические агенты путешествуют по Сети сами, то XML-агенты лишь обмениваются сообщениями и данными с другими агентами с помощью HTTP-запросов, что позволяет создавать сколь угодно сложные структуры автоматического хранения и управления данными.

Источник.