Разные интерпретации понятия «агент»

Рассмотрим подробнее, как же интерпретируется понятие «агент» в современной информатике и искусственном интеллекте. К настоящему времени сформировалось несколько его различных трактовок.

Во-первых, еще от Дж. Холланда пошло представление об агенте как искусственном организме, развивающемся в популяции себе подобных, стремящемся обучаться и адаптироваться к внешней среде, чтобы выжить в ней (и победить конкурентов). Эта интерпретация агента опирается на теоретические подходы и модели искусственной эволюции (мутации и модификации агентов, их борьба за существование, отбор сильнейших или отбраковка слабейших) и принципы искусственной жизни (самовоспроизведение, самосохранение, самоопределение, саморегуляция агентов и пр.). Она тесно связана с робототехникой (вопросами построения интегральных роботов и функционирования группы роботов), проблемами соотношения «брони» и «снаряда» в компьютерных сетях, вопросами информационной безопасности и информационных атак, компьютерной вирусологии и создания средств Liveware – эволюционирующего программного обеспечения, строящегося с учетом принципов и механизмов поведения живых организмов.

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

Идея персональных помощников при общении пользователей с ЭВМ в своем простейшем варианте была воплощена в ряде популярных программных продуктов. Например, фирма Microsoft встроила Wizards и System Agent в Windows 95, а в Microsoft Office появилась скрепка-помощник.

Итак, агенты нередко понимаются как автономные (или полуавтономные) программные модули, способные сотрудничать с пользователем и приспосабливаться к нему. Здесь полуавтономность означает наличие зависимости программного агента от пользователя, в частности, возможность пользователя изменять уровень автономности своего агента. Этим обеспечивается не только дружественный, но и персонифицированный характер пользовательского интерфейса. Истоки данной концепции агента относятся к теории диалога «человек – компьютер» и средствам развития интеллектуальных интерфейсов.

Настоящий бум в области программных агентов начался с развитием Интернета. Информационные агенты, такие как PointCast, доставляют пользователям новости и сообщают об изменениях на избранных сайтах. Агенты покупок (shopping agents), подобные Bargain Finder, сравнивают за них цены в электронных магазинах. Роботы-пауки бродят по ссылкам и индексируют информацию для поисковых серверов и т.д.

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

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

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

Наконец, развивается концепция агента как искусственного деятеля. Она основана на спецификациях Международной федерации по разработке интеллектуальных физических агентов, где под агентом понимается «актор в проблемной области, который содержит одну или несколько служебных функций, объединяет их в интегрированную модель выполнения (действий), а также имеет доступ к внешним программам, пользователям и средствам коммуникации». Очевидно, что развитие данного подхода в теории агентов должно опираться на результаты, полученные в психологии деятельности и инженерной психологии.

Это интересно

Смотрите также