Automation Academy

How a Bot Thinks: Differences between Robots and Humans

23.08.2019
6 min read
Human vs Robot

Have you ever considered automating your daily routine? Given all the buzz about robotic process automation technology nowadays, odds are you have thought about it or you are perhaps already doing so!

In either case, you should keep in mind that one of the conditions for successful implementation of RPA is understanding the similarities and differences between robot and human thinking and behaviors. This will help you to not only automate your work more efficiently but also to improve existing processes and make them a better fit for automation.

First, let’s understand what we mean when we talk about robot thinking or bot thinking

Can a bot think like a person?

In very general terms, a bot is a configurable software program that can perform assigned tasks for you — an RPA bot, that is. All actions a bot performs are defined by its business logic, or the underlying algorithms and codebase. Any improvements in the capabilities of such bots arise from improving and expanding these algorithms and codebase. An RPA bot can only go so far in mimicking human behavior and cannot move beyond its predefined rules. All its actions are deterministic. So, if we use the conventional understanding of ‘thinking’ as producing thoughts or passing judgment, the bot doesn’t possess this ability at all. When we use the term “thinking” in this post, we’ll mean the business logic that defines a bot’s actions and behavior.

Unlike RPA bots, cognitive bots are non-deterministic, meaning they can more closely mimic human judgement without specifying rules. They can also learn and improve their decision-making abilities by processing larger sets of data, without explicit intervention from human developers. 

While a cognitive robots and humans comparison would be an interesting topic, in this post we will focus on humans vs. RPA robots.

Similarities and differences between robots and humans

As we mentioned above, knowing robots’ and humans’ similarities and differences allows you to automate your business processes more efficiently. You will understand what tasks can be automated by simply mimicking human behavior, what tasks you need to change to automate, and where human-robot interaction will be required.

So, what are some similarities between robots and humans? The main similarity when we speak about RPA bots is in using the application UI. Just like a person, a bot can interact with the interface: perform various mouse actions, like clicking and scrolling, typing text, copying and pasting data, and other similar actions. However, unlike people, bots can find elements in the interface not only by the way they appear (surface-based automation) but also using special locators: Window selectors in desktop applications, or XPaths in web applications. This allows RPA bots to perform some of the user actions more efficiently. Let’s consider two examples. 

Example 1. The bot needs to save an open Excel file in another location. It finds the opened file on the machine, connects to it, clicks on the buttons in the interface to navigate to the ‘Save As’ dialog, types in the location where it needs to save the file, and clicks ‘Save.’ The sequence of actions is the same as it would be if a person did it.
Example 2. The bot needs to fill in and submit a form to a web application. It locates the fields of the form by using XPaths, inserts the required data there, and clicks ‘Submit.’ Just like a person, it interacts with the web application’s UI (form fields, buttons), but unlike a person, it doesn’t need to scroll, click on the fields and then type the text – it just inserts the data there instantly in one action.

As for the differences between robots and human beings, robots lack several important functions people use when performing any daily activities.

Acting by analogy and improvising

Cognitive robots can do this to a certain extent, but not RPA robots. They need to have a definite course of action (an RPA script) to perform a task. A limited bot will not be able to perform a task that is similar to the task described in the instruction; it will follow the instruction literally and will fail if there is even a slight difference.

Example 3. Let’s consider a scenario described in Example 1 above: The bot needs to save an Excel file. It will be able to complete the task only if the instructions in the script provide for saving a file specifically in Excel. It will not be able to save an Excel file using a script built for the Word application, even if the process is otherwise identical. For a person, on the other hand, it would not be a problem.

Using context and experience

Unlike humans, robots do not have experience and don’t understand context. For a robot, context is created every time it runs (a clear session is created), and when it completes the task, it “clears” everything afterward, to leave the system in the same condition as when it started. So, each new bot starts from scratch each time.

Example 4. A bot needs to open an Excel file and write some data there. It will perform actions to open the file each time it runs, even if the file is already open and the required data is already present in the file, as it doesn’t understand the context.

The same is true about data the bot can use. It can only access data that is specifically provided to it in variables, or use the data that it retrieves from various sources during execution. There is historic data for an RPA bot.

Error handling

As a robot follows the provided instructions literally, but not by assessing context constantly and changing its behavior based on context like a person does, bots are not good at dealing with unexpected circumstances, which can lead to errors. A good RPA script will provide for such cases by using special error-handling functionality that will provide the bot with clear instructions about what to do in case an error occurs, or by involving a person in the process (“human-in-the-loop”) so robots and humans are working together.

What robots do better than people


RobotDespite the above-mentioned shortcomings, there are many tasks that robot do faster and better than people.

Calculations

Due to more computing power, bots are quicker at making calculations and eliminate the possibility of human errors, providing more accurate results.

Searching, comparing and processing a lot of data

For the same reasons, robots are better than people for processing large amounts of data, including searching, comparing, updating and moving information across various systems.

Working with certain applications

Apart from automating applications through the user interface, robots can connect to them and perform various actions using available APIs. It can be especially useful for automating applications with very complicated UI.

Repeating the same tasks many times

Bots are unable to get tired or distracted, which allows bots to perform the same tasks in loops for a long time.

These differences between robots and humans suggest different approaches to automation. To automate tasks where a robot needs to interact with an application UI, create a script that will mimic the user actions in this application. For tasks that need a lot of calculations and data processing, use the actions that will require the bot to do it “under the hood” to make it faster and more reliable. If an error can occur in the process, include error handling steps and provide the bot with exact instructions for each possible situation.

To understand even better how to automate your tasks and how to choose the best approach for your RPA scripts, take our free online course in Automation Academy.