Я, робот

Спустя всего три года после появления первого «Макинтоша» в Apple уже задумывались о будущем. Двадцать лет назад оно казалось вполне ясным, и окнам, мышам или меню в нем не было места. Персональный компьютер XXI века станет общаться с человеком на естественном языке, считали в то время. Прототип под названием Knowledge Navigator, о котором в Apple тогда сняли небольшой фильм, был устроен именно так. Вся работа с информацией происходила посредством разговора с виртуальным персонажем приятной наружности и повадками Дживза.

СПАМБОТ АТАКУЕТ

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

В блогах, ЖЖ и форумах автоматизированный спам не так привычен, и различить его труднее. Прямолинейная реклама, знакомая по почтовому спаму, — не единственная разновидность. Ее, как правило, используют порносайты; кроме них, спам в комментариях взяли на вооружение поисковые оптимизаторы, стремящиеся накрутить рейтинг сайтов своих заказчиков в Google и «Яндексе». Их методы куда изощреннее.

Задача спамбота, который запущен оптимизатором, — не просто оставить комментарий со ссылкой. Если ссылку не заметит поисковик, потому что она уже удалена как спам, все усилия пойдут насмарку. Поэтому тексты комментариев, которые они распространяют, куда разнообразнее и правдоподобнее привычного спама в электронной почте.

«Благодарю. Давно такое искал!» — пишет один спамбот, пряча рекламную ссылку в имени. Там ее никто не заметит, кроме поисковика. Разве такой комментарий примешь за спам? Да в девяти случаев из десяти его мог бы написать и человек. «Круто!» — «радуется» другой спамбот. Третий «жалуется», что не все понял. Если не обратить внимание на его подпись, ни за что не подумаешь, что комментарий оставила глупая программа. Тексты то и дело незначительно модифицируются, чтобы не вызывать подозрений у владельцев сетевых журналов. И это частенько срабатывает — во всяком случае, пока.

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

В девяностые годы в решение этой задачи вкладывали миллионы долларов, но все впустую. У фильма про Knowledge Navigator не было продолжения, а самую известную реализацию этой концепции — знаменитую навязчивую скрепку-«помощницу» из старых версий Microsoft Office, придуманную в исследовательском центре Microsoft — большинство пользователей до сих пор вспоминает с содроганием. Оказалось, что людям нужен не компьютер-собеседник, а компьютер-инструмент, простой и предсказуемый.

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

 

Процесс игры в World of Warcraft оказалось не так сложно автоматизировать.

РАЗГОВОР С МАШИНОЙ

Информационные боты для интернет-пейджеров вроде ICQ, AIM или Google Talk — первое, что приходит в голову, когда речь заходит об этой теме. С точки зрения пользователя они ничем не отличаются от обычного собеседника: их добавляют в общий список контактов и обращаются к ним с помощью той же программы, которую используют для общения с людьми.

Еще до появления ICQ или AIM похожие программы часто использовались в чатах IRC (да и сейчас, конечно, используются, вот только IRC теперь куда менее популярен, чем прежде — во всяком случае, в относительных цифрах). Старейший IRC-бот появился в конце восьмидесятых и позволял играть в текстовые компьютерные игры. Со временем функциональность IRC-ботов росла. Некоторые из них служили для администрирования и автоматической модерации каналов IRC, другие — для доступа к базам данных или распространения файлов.

Разумеется, вряд ли создатели чатботов вдохновлялись давнишней концепцией Apple об интеллектуальных агентах. Скорее, образцом для подражания стали традиционные диалоговые интерфейсы, которые были в ходу до распространения GUI. У большинства ботов для интернет-пейджеров есть жесткий набор текстовых команд, которые они способны распознать. Последовательность «запрос — отзыв» покажется смутно знакомой каждому, кто пользовался командной строкой.

Особенно очевидным это сходство становится, когда чатбот служит не просто для получения информации, а для управления сервисом. Характерный пример — это бот, действующий при популярном микроблоговом сайте Friendfeed.com. Он позволяет читать и комментировать записи знакомых с помощью интернет-пейджера Google Talk. К боту Friendfeed прилагается обширная справка (команда help), без которой составить запрос было бы затруднительно. Для каждой возможной задачи — выбора сообществ и адресатов, оставления комментариев, включения и отключения уведомлений и получения списка записей — предусмотрена особая команда.

Но большинство чатботов все же гораздо проще. Очень часто они годятся для выполнения одной-единственной задачи. Например, бот Gismeteo.ICQ (UIN 474974) сообщает погоду и не умеет ничего иного, так что и длинный список команд ему ни к чему. Если отправить ему код города, то через несколько секунд он выдаст информацию о погоде в соответствующем городе. Список кодов есть на сайте gismeteo.ru; Москва, например, обозначается числом 27612.

Настройка «целей» в Rescuetime напоминает создание фильтров в почтовом клиенте.

Схожим образом работает и семейство гугловских ботов-переводчиков для Google Talk. Их много — отдельный бот-переводчик есть для каждого сочетания языков. Бот Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript переводит отправленный ему текст с русского на английский, а бот Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript  — соответственно, с английского на русский. Меняя двухбуквенные обозначения стран в названии бота, можно получить адреса ботов для арабского, китайского, японского, французского и еще двух десятков языков.

Такое разнообразие поддерживаемых языков, конечно, редкость, но все же существуют и другие боты-переводчики. Один из ICQ-ботов сервиса Information Bot разбирается в семи языках: кроме английского, русского, немецкого и французского поддерживаются латышский, украинский и польский (). В отличие от гугловских переводчиков, в Information Bot на все языки — один общий бот, который нужно переключать в нужный режим — отправить команду, совпадающую с первыми тремя буквами английского названия языка. Бонус: команда abbr, которая активирует режим расшифровки аббревиатур.

Кроме переводчика, у Information Bot есть еще два бота. Первый () служит для получения всевозможной информации. Бот знает погоду (причем обходится без кодов в стиле Gismeteo), новости, программу телепередач, курсы валют и акций, астрологические прогнозы и многое другое — полный список поддерживаемых запросов слишком велик, чтобы включать его в статью.

Второй же служит еще одним подтверждением, что чатботы — это осовремененная версия командной строки (). Многие команды, которые он поддерживает, представляют собой вариации на тему утилит, имеющихся в Unix. Среди прочего, есть ICQ-версия whois (информация об интернет-доменах), ping, hash (получение хеш-суммы) и passw (генерация паролей). Кроме того, в него встроена справка по функциям скриптового языка PHP, калькулятор и длинный список функций для преобразования текста.

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

ICQ-бот сайта gotalk.ru лишь немногим уступает Information Bot по разнообразию поддерживаемых команд (): там тоже есть метеорологический прогноз, информация о курсах валют или переводчик. Полезное отличие — сервис напоминаний: команда /n задает текст, который бот пришлет по ICQ в назначенное время.

И так далее и тому подобное. Существуют вики-боты (UIN 56544550) и боты для поиска (UIN 56544550 или 8396869), боты-агрегаторы новостей (GTalk: Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript ) и даже целые платформы в стиле Web 2.0 для создания других ботов (http://IMified.com). Не стоит даже

УЧЕТ И КОНТРОЛЬ

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

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

Типичный пример подобных программ — это рекомендационные системы, которые встречаются в интернет-магазинах. Сайт Amazon.com накапливает сведения о каждом посетителе, сводя их в колоссальной «базе данных намерений». В результате каждый получает персонализированную страницу, составленную из ссылок на товары, которые интересны именно ему — или, по крайней мере, могут быть интересны, судя по его поведению и имеющейся у Amazon информации. Похожая система встроена и в Google, только поисковик реагирует не на покупки, а на результаты поиска, которые выбирает пользователь.

В новое поколение iPod nano и iTunes встроена система рекомендации музыки Genius. Близкий и, пожалуй, более эффективный сервис есть в Last.fm, сайте, собирающем с помощью специальных плагинов для медиаплееров полный список музыки, которую слушают его пользователи. Полученных данных оказывается достаточно, чтобы сделать вывод об их музыкальных предпочтениях.

Существуют каналы IRC, полностью оккупированные ботами и их пользователями.

Еще точнее классическому определению соответствуют так называемые локальные поисковики, индексирующие файлы, которые хранятся на жестком диске компьютера — например, Google Desktop или поисковая система Spotlight, встроенная в последние версии Mac OS X. Впрочем, стоят ли классические определения такого внимания? Детали реализации всех перечисленных программ не так важны, как результат их работы, который в точности соответствует тому, что когда-то ожидали от автономных агентов (за вычетом оказавшейся ненужной человекообразности).

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

Помните истории о системе выявления террористов, которую американские спецслужбы собирались построить после террористических актов 11 сентября 2001 года, но, кажется, так и не собрались? Она должна была собирать информацию о действиях всех жителей страны и выявлять экстремумы — то есть людей, поведение которых заметно отличается от поведения большинства. Это как раз и есть пример крайне сложного мониторингового агента.

На другом конце спектра — простейшие программы, срабатывающие в результате таких же простейших проверок. Между этими крайностями располагаются все остальные: агентные системы мониторинга работы компьютерных сетей (бывают еще и безагентные, но речь не о них), средства автономного планирования закупок (одну из таких используют в NASA — она пытается минимизировать расходы; интересующихся отсылаю хотя бы к Wikipedia), приложения для предсказания колебаний биржевых курсов, которые используют трейдеры, и даже знакомые всем противоспамовые средства и антивирусы.

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

Подавляющее большинство персональных мониторинговых средств не особенно сложны. Вот характерный пример: сервис организации времени Rescuetime.com. Чтобы воспользоваться им, необходимо зарегистрироваться на сайте и установить программу, круглосуточно собирающую информацию о времени, которое юзер тратит на работу в различных приложениях и посещение сайтов. В итоге получаются отчеты с наглядными графиками, и становится понятно, куда же уходит время, а результат нередко оказывается самым неожиданным. Но понять мало, нужно еще и научиться распределять время иначе. Тут-то на первый план и выходит средство мониторинга.

В Rescuetime можно задать так называемые «цели»: простые правила, описывающие, сколько времени хотелось бы отвести тому или иному занятию. Например, запрет тратить больше шести часов в неделю на болтовню по ICQ и пожелание не менее трех часов в день выделять на написание дипломной работы. Когда цель достигнута, Rescuetime немедленно оповещает об этом по SMS или электронной почте.

Наконец, последний тип программ, о котором необходимо упомянуть в этой главе, — это аукционные боты. Они автоматически мониторят онлайновые аукционы (чаще всего — eBay) и пытаются найти те из них, которые соответствуют заданным условиям. Когда все совпадает, они делают ставку — желательно в последний момент перед закрытием торга. При необходимости такие приложения легко отыскать в Google по запросам «bid sniper» или «auction sniper».

СЕТЬ ЗОМБИ

У каждой технологии есть два применения: полезное и вредоносное. Боты, разумеется, не исключение.

Львиная доля спама рассылается с зараженных компьютеров-зомби ничего не подозревающих пользователей. Их машины захвачены троянскими программами, объединенными в сети чудовищных размеров — ботнеты. Кроме рассылки спама, с помощью ботнетов проводят распределенные DoS-атаки на веб-сайты. В этом случае боты генерируют не мусорные письма с рекламой «Виагры» и нигерийских принцев, а запросы, которые перегружают неугодные серверы.

Для общения с чатботами годятся любые интернет-пейджеры.

Программы, управляющие захваченными компьютерами, работают совершенно автономно, а получающаяся в итоге сеть устроена поразительно сложным образом. Известный специалист по компьютерной безопасности Брюс Шнейер сравнивал ботнет Storm с муравейником. Как и у муравьев, у каждого зомби — своя «профессия». Большинство зараженных машин — это трудяги, которые тихо ожидают приказа сверху. Пока они не проявят себя, их почти невозможно заметить и обезвредить. Гораздо меньшая доля ботнета — солдаты-смертники, которые распространяют заразу, увеличивая размеры ботнета. Это не самое безопасное занятие: их быстро выявляют и уничтожают. Наконец, крохотная элитарная группа ботов — это командиры, передающие задания прочим. Они связаны друг с другом пиринговой сетью, которую крайне сложно заблокировать целиком.

Storm был сенсацией в прошлом году — это, вероятно, первый ботнет, о котором писала даже мейнстримная пресса, далекая от технических штучек. Но его уже обошли новые ботнеты Kraken и Srizbi, оккупировавшие в общей сложности почти миллион ПК.

Другой тип вредоносных ботов населяет крупномасштабные многопользовательские игры (MMORPG). На игровые ценности, валюту и предметы есть огромный спрос — игроки готовы покупать их за реальные деньги. В результате появилась целая индустрия, эксплуатирующая этот спрос, в которой заняты не менее 400 тысяч человек — большая их часть проживает в развивающихся странах и обслуживает Европу и США. С помощью ботов, имитирующих поведение настоящего игрока, они добывают игровые ценности на продажу. Объем рынка оценивается самое меньшее в миллиард долларов.

Система Genius, встроенная в последнюю версию iTunes и плееры iPod nano, способна рекомендовать пользователю новую музыку, основываясь на данных о чаще всего прослушиваемых композициях.

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

Неудивительно, что разработчики MMORPG борются с ботами всеми возможными средствами: и техническими, и, если потребуется, юридическими. Недавно компания Blizzard, сделавшая популярнейшую MMORPG World of Warcraft, выиграла судебный процесс против фирмы MDY Industries. На создателей распространенного игрового бота MMO Glider наложен неподъемный многомиллионный штраф.

ВОССТАНИЕ МАШИН

Единственное отличие простых информационных ботов от обычных программ — подзабытый диалоговый интерфейс. Куда интереснее адаптирующиеся к поведению пользователей агенты, которые копят информацию и знают о нас больше, чем мы сами. Они находятся уже совсем в иной лиге. Но даже с их примитивными аналогами приходится считаться. Схемы взаимодействия между людьми неизменно дают сбой, когда их участником оказывается робот. Попытки опередить аукционные боты, совладать со спамботами на форуме или сосуществовать с ботами-золотофермерами в многопользовательских играх заведомо обречены на провал. Впрочем, и пользы от становящихся все понятливее и самостоятельнее «инструментов» выйдет куда больше. Роботы нам еще послужат, и послужат на славу.

 






Рекомендуемый контент




Copyright © 2010-2019 housea.ru. Контакты: info@housea.ru При использовании материалов веб-сайта Домашнее Радио, гиперссылка на источник обязательна.