Czym jest robot programowy (software robot) - próba definicji

Kategoria II
Czym jest robot programowy (software robot) - próba definicji
 
Ten wpis jest przejrzaną i zaktualizowaną wersją materiału, który pierwotnie opublikowany został na tym serwisie w dniu 15-03-2017.

Zgodnie ze Słownikiem Języka Polskiego robot to "urządzenie zastępujące człowieka przy wykonywaniu niektórych czynności". Serwis Robotyka.com podaje, że robot to "urządzenie techniczne przeznaczone do realizacji niektórych funkcji manipulacyjnych i lokomocyjnych człowieka, posiadające określony poziom energetyczny, informacyjny i inteligencji maszynowej. Inteligencja maszynowa to autonomia działania w pewnym środowisku".

Na potrzeby robonomiki niezbędne jest jednak przyjęcie innej definicji terminu robot. Robot rozumiany będzie jako oprogramowanie (software) automatyzujące określone czynności wykonywane przez człowieka (najczęściej wiernie je odtwarzające na poziomie interfejsu użytkownika) w trakcie realizacji danego procesu biznesowego. Wykorzystano tutaj więc zabieg metafory, który ma na celu przybliżenie rozumienia koncepcji robotyzacji biznesu.

W takim ujęciu robot nie dysponuje ani zdolnościami lokomocyjnymi człowieka, ani określonym poziomem energetycznym.

Główne cechy robota programowego to:

  • wykonywanie głównie działań bezpośrednio na interfejsie użytkownika innych systemów – tak, jak robi to operator-człowiek (przy czym część robotów ma możliwość pracy bezpośrednio na poziomie baz danych robotyzowanych aplikacji);
  • z góry przypisane zachowania (funkcjonalności) - na bazie ustalonego zestawu algorytmów; robot (obecnej generacji) najczęściej nie umie obsłużyć sytuacji nadzwyczajnych / wyjątkowych - w takiej sytuacji potrzeba jest interwencja operatora-człowieka;
  • brak konieczności tworzenia dedykowanych interfejsów programistycznych do systemów na których pracuje robot;
  • brak konieczności ingerencji w kod źródłowy aplikacji czy w bazę danych robotyzowanych aplikacji (co implikuje brak konieczność posiadania wiedzy nt. wewnętrznej konstrukcji aplikacji);
  • wykorzystanie logiki biznesowej zaszytej już w robotyzowanych aplikacjach, co rozwiązuje problem jej odtworzenia, występujący w tradycyjnym modelu integracji systemów lub ich rozwoju.

Wyróżniamy dwie kategorie robotów - pracujące w trybie nadzorowanym i nienadzorowanym.

Roboty tworzone są za pomocą dedykowanych narzędzi informatycznych - RPA (Robotic Process Automation) lub RDA (Robotic Desktop Automation).

Coraz częściej roboty są wzbogacane o pewne elementy sztucznej inteligencji (Machine Learning), dzięki czemu będą w stanie nie tylko automatyzować pewne działania (na bazie wcześniej przygotowanych algorytmów), ale również podejmować bardziej złożone decyzje (uczyć się na podstawie udostępnianych danych). Wówczas robot pozyska funkcje kognitywne.