Уже во время создания первых персональных компьютеров активно рассматривался вариант разработки особых программ, которые могли бы «думать и говорить» так же, как реальные люди. Они предназначались бы не только под цели автоматизации повседневных действий человека, но и для разрешения сложных операционных задач.
Далее в статье речь пойдет о современных платформах-ботах, об историях их создания и о полезности логики, закладываемой в них.
Программные боты и процесс разработки ПО
В сегодняшних реалиях процесса создания ПО, боты являются общепринятым стандартом графического интерфейса для максимально комфортной взаимной работы человека и программы. Подобная практика происходит в первую очередь из-за многоцелевого использования специальных платформ для процесса обмена быстрыми сообщениями (самые популярные примеры – Facebook Messenger и Slack).
Во-вторых, это бывает из-за стремительного прогресса в средствах интерпретации естественного языка, который поддерживают многие современные боты. Еще один фактор – повсеместное использование больших массивов данных и алгоритмов машинного обучения: боты удобны как особый пользовательский интерфейс для определенного взаимодействия с системами, которые генерируют ответы по итогам анализа больших информационных сведений.
Большие IT-компании активно говорят о том, что боты это очень удобно, особенно при интеграции каналов связи и объединения пользователей вокруг одной платформы. В компании Facebook, к примеру, уже давно зреет идея полноценной замены ботами на платформе сообщениями Facebook Messenger все программы. А в Microsoft говорят о том, что именно боты – новая версия операционной системы.
О стремительном росте значимости программ-ботов можно судить и по количеству таких сервисов как: Alexa, Siri, IBM Watson и Google Now. Также есть множество ботов на системных платформах, которые используются некоторыми программистами ПО для корпоративной связи со своими коллегами: Slack, Microsoft Teams, HipChat и многие другие.
Кроме того, некоторые разработчики стремительно переходят от графического интерфейса командной строки к применению ботов внутри систем обмена информацией. Именно для разрешения некоторых задач программистов часто создаются очень сложные и оригинальные боты, на основании которых разрабатываются программы-боты для иных сфер деятельности.
Программный ландшафт ботов
Всех программных ботов можно разделить по модели их текущего взаимодействия. Некоторые из них поддерживают узкоспециализированные языки программирования, а другие могут корректно интерпретировать речь на естественном языке и управлять пользовательским интерфейсом для ускорения «диалога».
Также ботов можно поделить на разновидности по уровню их «системного интеллекта»:
- Группа ботов, которые могут распознавать контекст и менять способы взаимодействия с пользователем.
- Боты с запрограммированным искусственным интеллектом.
- Полностью автономные программные боты либо функционирующие от данных, изначально введенных пользователем.
Кроме того, ботов можно различать по сфере их предназначения:
- Универсальные боты, решающие обширный круг задач, а при потребности глубоких знаний, автоматически могут переадресовывать пользователя на внешние ресурсы.
- Информационные боты, передающие пользователем данные.
- Боты, отвечающие за производительность труда пользователей.
- Боты, запрограммированные на помощь в общении с людьми, с возможностью их координирования и партнерства.
Создание ботов и их техническая поддержка
Технически простые боты можно разрабатывать с нуля и самостоятельно размещать на определенных ресурсах. Но если стоит вопрос упрощения процесса создания, тестирования и дистрибуция, то применяется масса сторонних платформ и сервисов.
Гиганты Facebook, Microsoft и Apple могут предоставлять специализированные комплексные средства создания и дистрибуции программ-ботов под разные клиентские цели. Остальные компании с мировым именем предлагают пользователям особенные ресурсы для узкопрофильных задач, так или иначе связанных с разработкой и распространением ботов.
Платформы создания ботов
Все платформы разработки ботов предоставляются разнообразными ПО, фреймворками, интерфейсами программирования и дополнительными техническими возможностями. Их ориентация может быть направлена как на определенную платформу распространения, так и на разработку ботов с последующим развертыванием на других платформах (Pandorabots, Microsoft Bot framework, Botkit).
Данные сервисы могут варьироваться от технической документации и прототипов программного кода до графического интерфейса разработки бота без программирования. Вокруг многих популярных платформ создания сформировались активно действующие сообщества программистов, участники которых могут контактировать друг с другом в специальных онлайн-группах, делиться опытом, получать необходимые консультации и ответы на вопросы, участвовать в обсуждении.
Современные платформы дистрибуции
Подобные платформы выделяют вид доступа пользователя к боту. Некоторые из них основываются на системе обмена данными и социальными сетями, а другие используются в большей степени сообществом разработчиков. Платформы дистрибуции могут поддерживать кое-какие взаимодействия вида бот-человек, бот-бот и система-бот.
Корректный выбор платформы для дистрибуции очень важен для программистов с нескольких сторон. Часть платформ позволяют использовать выход на уже сформировавшуюся клиентскую аудиторию.
Некоторые платформы предоставляют пользователю особые механизмы, которые могут помогать пользователям находить и тестировать новые боты. Наподобие известного сервиса приложений Apple, некоторые платформы содержат в своей структуре определенные супермаркеты ботов.
Сайты ChatBottle и BotList также предлагают пользователям программ-роботов для некоторых популярных сервисов дистрибуции, которые существенным образом облегчают программистам маркетинг своих собственных ботов.
Основы разработки ботов и их особенности применения
С каждым днем программные боты становятся очень популярными. Они взаимодействуют с человеком в машине, в рабочей обстановке и даже дома. Также, они выполняют крайне сложную и видимую роль в проектах создания определенного программного обеспечения.
Сегодняшний опыт использования ботов позволяет максимально оценить все их как практические положительные качества, так и потенциальные минусы в использовании.
Разберем два базовых принципа, которые необходимо учитывать во время разработки и применения программных ботов.
Дополнение, а не смена текущего взаимодействия
Программные боты чаще всего применяются в рабочих группах для разрешения задач, которые требуют непосредственного участия человека. Но решительный отказ от такого взаимодействия может существенным образом ограничить творческие возможности человека и снизить уровень продуктивности. Это значит, что лучше всего применять ботов в процессах облегчения связи и координации выполнения определенных процессов.
К примеру, боты могут сообщать пользователям о статусе выполнения определенной задачи, оповещать о нововведениях в системах, связывать экспертов и исполнять роль виртуальной площадки для укрепления морального духа.
Никаких неожиданностей
Все боты должны объяснять человеку, что он взаимодействует с программой, а не с другим человеком. По аналогии, если программный бот передает систему руководства человеку, его должны в корректной, максимально удобной для него форме об этом оповестить.
Подобная философия позволит сохранить доверие человека к системам, которые обслуживаются ботами. Также назначение и перечень возможностей бота должны быть логически обоснованными, очевидными и соответствовать конкретным ожиданиям пользователя.
Небольшие итоги
Число программистов и тестеров, которые обслуживают программные боты, постоянно растет. Люди всегда пытаются создать пользовательские сценарии, которые будут актуальны именно завтра, таким образом, подавая пример остальным отраслям ИТ.
Это значит, что к вопросам тестирования и изучения базовой работоспособности подобных программ следует подходить с особенной тщательностью. Необходимо уделять особое внимание не только технической составляющей ботов, но и уметь должным образом прогнозировать их системную эволюцию и быть готовым к новым трендам.
Оставить комментарий