1. A method comprising: identifying, by a computing device, that a first natural language user input, received at the computing device, comprises a request to perform a first dialog task; determining a first hierarchical order for arranging execution of a first plurality of task agents corresponding to the first dialog task; responsive to determining the first hierarchical order, initiating execution, by the computing device, of the first plurality of task agents according to the first hierarchical order; responsive to a determination that a second natural language user input, received at the computing device during execution of the first plurality of task agents, comprises a request to perform a second dialog task, determining, by the computing device, that the second dialog task is to be executed before execution of the first plurality of task agents is completed; determining a second hierarchical order for arranging execution of a second plurality of task agents corresponding to the second dialog task; activating, based on a determination of whether execution of the second plurality of task agents would cause a runtime error, the second plurality of task agents; initiating execution, by the computing device prior to completion of the execution of the first plurality of task agents, of the second plurality of task agents according to the second hierarchical order; and resuming execution of a task agent of the first plurality of task agents, wherein the execution of the task agent comprises using, by the task agent, at least a portion of the second natural language user input.
1. A method comprising: identifying, by a computing device, that a first natural language user input, received at the computing device, comprises a request to perform a first dialog task; determining a first hierarchical order for arranging execution of a first plurality of task agents corresponding to the first dialog task; responsive to determining the first hierarchical order, initiating execution, by the computing device, of the first plurality of task agents according to the first hierarchical order; responsive to a determination that a second natural language user input, received at the computing device during execution of the first plurality of task agents, comprises a request to perform a second dialog task, determining, by the computing device, that the second dialog task is to be executed before execution of the first plurality of task agents is completed; determining a second hierarchical order for arranging execution of a second plurality of task agents corresponding to the second dialog task; activating, based on a determination of whether execution of the second plurality of task agents would cause a runtime error, the second plurality of task agents; initiating execution, by the computing device prior to completion of the execution of the first plurality of task agents, of the second plurality of task agents according to the second hierarchical order; and resuming execution of a task agent of the first plurality of task agents, wherein the execution of the task agent comprises using, by the task agent, at least a portion of the second natural language user input. 7. The method of claim 1 , further comprising: determining, by the computing device, that the second natural language user input comprises instructions to modify the first dialog task by adding additional task agents to the first hierarchical order; and scheduling for execution, by the computing device, the additional task agents according to the first hierarchical order.