Systems and methods provide real-time, non-turn-based,
dialog management. An example method includes receiving an initial or next block in a
stream of blocks; generating a first candidate response based on receiving the block; updating a ranked
list of candidate responses with at least one of the first candidate responses, the candidate responses accepted or pending at the time of receiving the block, the updated ranked
list of candidate responses including one or more backend requests and one or more
system responses; performing backend requests to two or more dialog
modes based on the updated ranked
list; and after performing the backend requests: generating backend responses based on information obtained for the two or more dialog
modes in response to the backend requests; deriving a composite candidate response from the two or more dialog
modes based on the generated backend responses; further updating the updated ranked list based on the composite candidate response; and
pruning the further updated ranked list based on an updated
ranking of candidate responses of the further updated ranked list.