В информатике программный агент — это компьютерная программа, которая действует от имени пользователя или другой программы в агентских отношениях.
Термин « агент» происходит от латинского agere (делать): соглашение действовать от своего имени. Такие «действия от имени» подразумевают полномочия решать , какие действия являются уместными, если таковые имеются. [1] [2] Некоторые агенты в просторечии известны как «боты» , от слова «робот» . Они могут быть реализованы, например, когда выполнение сопряжено с телом робота, или в виде программного обеспечения , такого как чат-бот, выполняющегося на компьютере , таком как мобильное устройство , например Siri . Программные агенты могут быть автономными или работать вместе с другими агентами или людьми. Программные агенты, взаимодействующие с людьми (например, чат-боты , среды взаимодействия человека и робота ), могут обладать человекоподобными качествами, такими как понимание естественного языка и речь, личность или воплощать гуманоидную форму (см. Asimo ).
Связанные и производные концепции включают интеллектуальные агенты (в частности, демонстрирующие некоторые аспекты искусственного интеллекта , такие как рассуждение ), автономные агенты (способные изменять методы достижения своих целей), распределенные агенты (выполняющиеся на физически различных компьютерах), мультиагентные агенты. системы (распределенные агенты, которые работают вместе для достижения цели, которая не может быть достигнута одним агентом, действующим в одиночку) и мобильные агенты (агенты, которые могут переносить свое выполнение на разные процессоры).
Основные атрибуты автономного программного агента заключаются в том, что агенты:
Термин «агент» описывает абстракцию программного обеспечения , идею или концепцию, аналогичную терминам ООП , таким как методы , функции и объекты. [ нужна цитация ] Концепция агента обеспечивает удобный и мощный способ описания сложного программного объекта, который способен действовать с определенной степенью автономии для выполнения задач от имени своего хоста. Но в отличие от объектов, которые определяются с точки зрения методов и атрибутов , агент определяется с точки зрения его поведения. [3]
Различные авторы предложили разные определения агентов, они обычно включают такие понятия, как
Все агенты являются программами, но не все программы являются агентами. Сопоставление этого термина со связанными понятиями может помочь прояснить его значение. Франклин и Грассер (1997) [4] обсуждают четыре ключевых понятия, которые отличают агентов от произвольных программ: реакция на окружающую среду, автономия, целеустремленность и настойчивость.
Программные агенты могут предлагать различные преимущества своим конечным пользователям, автоматизируя сложные или повторяющиеся задачи. [6] Однако существуют организационные и культурные последствия этой технологии, которые необходимо учитывать перед внедрением программных агентов.
Людям нравится выполнять простые задачи, создавая ощущение успеха, если только повторение простых задач не влияет на общий результат. В целом внедрение программных агентов для выполнения административных требований обеспечивает существенное повышение удовлетворенности работой, поскольку администрирование собственной работы никогда не нравится работнику. Высвободившиеся усилия служат для более высокой степени вовлеченности в существенные задачи индивидуальной работы. Следовательно, программные агенты могут обеспечить основу для реализации самоконтролируемой работы, избавленной от иерархического контроля и вмешательства. [7] Такие условия могут быть обеспечены путем применения программных агентов для необходимой формальной поддержки.
Культурные последствия внедрения программных агентов включают снижение доверия, утрату навыков, утрату конфиденциальности и социальную отстраненность. Некоторые пользователи могут чувствовать себя не совсем комфортно, полностью делегируя важные задачи программным приложениям. Те, кто начнет полагаться исключительно на интеллектуальных агентов, могут потерять важные навыки, например, связанные с информационной грамотностью. Чтобы действовать от имени пользователя, программный агент должен иметь полное представление о профиле пользователя, включая его/ее личные предпочтения. Это, в свою очередь, может привести к непредсказуемым проблемам конфиденциальности. Когда пользователи начинают больше полагаться на своих программных агентов, особенно в коммуникационной деятельности, они могут потерять контакт с другими пользователями-людьми и смотреть на мир глазами своих агентов. Именно эти последствия должны учитывать исследователи и пользователи агентов при работе с технологиями интеллектуальных агентов. [8]
Понятие агента можно проследить до модели актера Хьюитта (Hewitt, 1977) — «автономный, интерактивный и одновременно выполняющийся объект, обладающий внутренним состоянием и коммуникационными возможностями». [ нужна цитата ]
Говоря более академично, системы программных агентов представляют собой прямую эволюцию мультиагентных систем (MAS). MAS произошел от распределенного искусственного интеллекта (DAI), распределенного решения проблем (DPS) и параллельного искусственного интеллекта (PAI), унаследовав, таким образом, все характеристики (хорошие и плохие) от DAI и AI .
Видео Джона Скалли « Навигатор знаний » 1987 года отразило образ отношений между конечными пользователями и агентами. Будучи идеальной первой, эта область испытала серию неудачных реализаций сверху вниз вместо поэтапного подхода снизу вверх. Диапазон типов агентов сейчас (с 1990 г.) широк: WWW, поисковые системы и т. д.
Агенты по закупкам [9] путешествуют по сети (например, по Интернету), получая информацию о товарах и услугах. Эти агенты, также известные как «торговые боты», очень эффективно работают с такими товарами, как компакт-диски, книги, электронные компоненты и другие универсальные продукты. Агенты по закупкам обычно оптимизированы для предоставления услуг цифровых платежей, используемых в электронной коммерции и традиционном бизнесе. [10]
Пользовательские агенты или персональные агенты — это интеллектуальные агенты, которые действуют от вашего имени. К этой категории относятся те интеллектуальные агенты, которые уже выполняют или в ближайшее время будут выполнять следующие задачи:
Агенты мониторинга и наблюдения используются для наблюдения и составления отчетов об оборудовании, обычно компьютерных системах. Агенты могут отслеживать уровень запасов компании, наблюдать за ценами конкурентов и передавать их обратно в компанию, следить за манипулированием акциями посредством инсайдерской торговли и слухов и т. д.
Например, в Лаборатории реактивного движения НАСА есть агент, который контролирует запасы, планирование, составляет график заказов оборудования для снижения затрат и управляет хранилищами продуктов питания. Эти агенты обычно контролируют сложные компьютерные сети и могут отслеживать конфигурацию каждого компьютера, подключенного к сети.
Особым случаем агентов мониторинга и наблюдения являются организации агентов, используемые для имитации процесса принятия решений человеком во время тактических операций. Агенты следят за состоянием активов (боекомплект, наличие оружия, платформы для транспорта и т.п.) и получают Цели (Миссии) от агентов более высокого уровня. Затем агенты преследуют цели, используя имеющиеся активы, минимизируя расход активов и максимизируя достижение цели. (См. Попплуэлл, «Агенты и применимость»).
Этот агент использует информационные технологии, чтобы находить тенденции и закономерности в большом количестве информации из разных источников. Пользователь может сортировать эту информацию, чтобы найти любую информацию, которую он ищет.
Агент интеллектуального анализа данных работает в хранилище данных, обнаруживая информацию. «Хранилище данных» объединяет информацию из разных источников. «Интеллектуальный анализ данных» — это процесс просмотра хранилища данных в поисках информации, которую вы можете использовать для принятия мер, например способов увеличения продаж или удержания клиентов, которые рассматривают возможность ухода.
«Классификация» — это один из наиболее распространенных типов интеллектуального анализа данных, который находит закономерности в информации и распределяет их по различным классам. Агенты интеллектуального анализа данных также могут обнаруживать серьезные изменения в тенденциях или ключевых индикаторах, а также обнаруживать наличие новой информации и предупреждать вас о ней. Например, агент может обнаружить спад в строительной отрасли экономики; На основе этой переданной информации строительные компании смогут принимать разумные решения относительно найма/увольнения сотрудников или покупки/аренды оборудования, чтобы наилучшим образом удовлетворить потребности их фирмы.
Некоторые другие примеры современных интеллектуальных агентов включают некоторые спам- фильтры, игровые боты и инструменты мониторинга серверов. Боты , индексирующие поисковые системы, также считаются интеллектуальными агентами.
Программные боты становятся все более важными в разработке программного обеспечения. [12]
Агенты также используются в приложениях безопасности программного обеспечения для перехвата, проверки и воздействия на различные типы контента. Пример включает в себя:
Вопросы, которые следует учитывать при разработке агентных систем, включают:
Чтобы программные агенты могли эффективно работать вместе, они должны совместно использовать семантику своих элементов данных. Этого можно добиться, если компьютерные системы опубликуют свои метаданные .
К определению агентской обработки можно подойти с двух взаимосвязанных направлений:
Агентские системы используются для моделирования реальных систем с одновременной или параллельной обработкой.
Агент использует свои методы доступа для доступа к локальным и удаленным базам данных в поисках контента. Эти методы доступа могут включать настройку доставки потока новостей агенту, получение информации с досок объявлений или использование паука для перемещения по сети. Содержимое, полученное таким образом, вероятно, уже частично отфильтровано – путем выбора ленты новостей или баз данных, по которым осуществляется поиск. Затем агент может использовать свой механизм детального поиска или языковой обработки для извлечения ключевых слов или подписей из тела контента, который был получен или получен. Этот абстрактный контент (или событие) затем передается механизму рассуждения или вывода агента, чтобы решить, что делать с новым контентом. Этот процесс объединяет содержимое события с содержанием правил или знаний, предоставленным пользователем. Если этот процесс находит хорошее совпадение или совпадение в новом контенте, агент может использовать другую часть своего механизма для более детального поиска контента. Наконец, агент может решить предпринять действие на основе нового контента; например, чтобы уведомить пользователя о том, что произошло важное событие. Это действие проверяется функцией безопасности, а затем предоставляются полномочия пользователя. Агент использует метод пользовательского доступа для доставки этого сообщения пользователю. Если пользователь подтвердит, что событие важно, быстро отреагировав на уведомление, агент также может использовать свой механизм обучения, чтобы увеличить свой вес для такого рода событий.
Боты могут действовать от имени своих создателей, делая как хорошие, так и плохие дела. Есть несколько способов создания ботов, чтобы продемонстрировать, что они созданы с лучшими намерениями и не предназначены для причинения вреда. Сначала это делается путем идентификации бота в HTTP-заголовке пользовательского агента при общении с сайтом. Исходный IP-адрес также должен быть проверен, чтобы подтвердить его законность. Кроме того, бот также должен всегда учитывать файл robots.txt сайта, поскольку он стал стандартом для большей части Интернета. Как и в случае с файлом robots.txt, ботам следует избегать слишком агрессивных действий и соблюдать любые инструкции по задержке сканирования. [14]
{{cite journal}}
: Требуется цитировать журнал |journal=
( помощь ){{cite journal}}
: Требуется цитировать журнал |journal=
( помощь ){{cite journal}}
: Требуется цитировать журнал |journal=
( помощь ){{cite journal}}
: Требуется цитировать журнал |journal=
( помощь )