System and method for robotic agent management
Systems and methods for managing and enhancing the performance of a number of robotic agents. An orchestrator module receives work output from a number of robotic agents and determines whether efficiencies can be obtained by rescheduling tasks and/or steps executed by the various robotic agents. As well, the orchestrator learns the various actions and values used by the agents and can check for anomalous actions and/or values. A workstation operated by a human can also send its work output to the orchestrator and this output, along with the steps performed by the human, can be analyzed to determine if the task executed can be done by a robotic agent.
1 . A method for enhancing a performance of a plurality of robotic process automation (RPA) agents, the method being executed by at least one processor, the at least one processor being operatively connected to the plurality of RPA agents, the method comprising:
receiving, by the at least one processor, a schedule of tasks comprising a first task and a second task to be executed by the plurality of RPA agents, each task of the schedule of tasks comprising a plurality of steps, wherein a first one or more RPA agents of the plurality of RPA agents is configured to execute the first task corresponding to a first type of task of the schedule of tasks and a second one or more RPA agents of the plurality of RPA agents is configured to execute the second task of a second type of task of the schedule of tasks, wherein the first type of task includes error checking for the plurality of RPA agents;
receiving, by the at least one processor, a plurality of inputs of each of the plurality of RPA agents, a plurality of outputs of each of the plurality of RPA agents, and the plurality of steps executed by each of the plurality of RPA agents for each task of the schedule of tasks;
determining, by the at least one processor, using machine learning, based on the plurality of inputs, the plurality of outputs, and the plurality of steps, dependencies between the plurality of steps executed by different RPA agents of the plurality of RPA agents, wherein at least a step corresponding to the second task is dependent on an output, or the plurality of outputs, of at least an additional step corresponding to the first task; and
determining, by the at least one processor, using machine learning, adjustments to the schedule of tasks and adjustments to the plurality of steps comprising reordering the plurality of steps, based at least in part on the dependencies between the plurality of steps executed by the different RPA agents of the plurality of RPA agents, to thereby optimize at least one task of the schedule of tasks, wherein optimizing at least one task comprises a higher overall task throughput, or both.
2 . The method according to claim 1 , wherein the adjustments to the schedule of tasks to thereby optimize the at least one task of the schedule of tasks comprises reordering the schedule of tasks.
3 . The method according to claim 1 , further comprising formulating a report regarding the adjustments to the plurality of steps, the report being for sending to a user to confirm the adjustments to the plurality of steps.
4 . The method according to claim 1 , further comprising optimizing a distribution of tasks across the plurality of RPA agents to thereby achieve efficiencies across the plurality of RPA agents.
5 . A system for enhancing a performance of a plurality of robotic process automation (RPA) agents, the system comprising:
at least one non-transitory storage medium storing computer-readable instructions; and
at least one processor operatively connected to the at least one non-transitory storage medium, the at least one processor, upon executing the computer-readable instructions, being configured to cause:
executing a plurality of RPA agents, each of the plurality of RPA agents executing at least one task from a schedule of tasks;
executing an orchestrator module for managing the plurality of RPA agents, the orchestrator module being configured for:
receiving the schedule of tasks comprising a first task and a second task to be executed by the plurality of RPA agents, each task of the schedule of tasks comprising a plurality of steps, wherein a first one or more RPA agents of the plurality of RPA agents is configured to execute the first task corresponding to a first type of task of the schedule of tasks and a second one or more RPA agents of the plurality of RPA agents is configured to execute the second task of a second type of task of the schedule of tasks;
receiving a plurality of inputs of each of the plurality of RPA agents, a plurality of outputs of each of the plurality of RPA agents, and the plurality of steps executed by each of the plurality of RPA agents for each task of the schedule of tasks, wherein the first type of task includes error checking for the plurality of RPA agents;
determining, using machine learning, based on the plurality of inputs, the plurality of outputs, and the plurality of steps, dependencies between the plurality of steps executed by different RPA agents of the plurality of RPA agents, wherein at least a step corresponding to the second task is dependent on an output, or the plurality of outputs, of at least an additional step corresponding to the first task; and
determining, using machine learning and the at least one processor, adjustments to the schedule of tasks and adjustments to the plurality of steps comprising reordering of the plurality of steps, based at least in part on the dependencies between the plurality of steps executed by the different RPA agents of the plurality of RPA agents, to thereby optimize at least one task of the schedule of tasks, wherein optimizing at least one task comprises a higher overall task throughput.
6 . The system according to claim 5 , wherein the orchestrator module is further configured to receive a work output from a workstation operated by at least one human agent.
7 . The system according to claim 6 , wherein the work output from the workstation sends detailed steps executed on the workstation to the orchestrator module.
8 . The system according to claim 5 , wherein the orchestrator module is configured for producing reports for sending to a user, the reports detailing adjustments to the schedule of tasks for executing each task of the schedule of tasks by the RPA agents to thereby optimize an execution of at least one task from the schedule of tasks.
9 . The system according to claim 5 , wherein the orchestrator module is configured for producing reports for sending to a user, the reports detailing adjustments to the schedule of tasks to thereby reallocate the tasks across the plurality of RPA agents to thereby optimize an execution of at least one task from the schedule of tasks.
10 . The method according to claim 1 , wherein the adjustments to the plurality of steps comprises changing an order in which at least some of the steps are executed.
11 . The method according to claim 2 , wherein the adjustments to the schedule of tasks comprises changing an order in which at least some of the tasks are executed.
12 . The method according to claim 1 , wherein the plurality of inputs, plurality of outputs, and plurality of steps correspond to the first type of task, the second type of task, or both.
13 . The method of claim 1 , wherein the second type of task includes scheduling efficiencies of the RPA agents.