Why do we need a sequencer inside agent .Can't we do the same task inside Driver?

In reply to abhishekmj:

A sequencer does more than just that. It mainly arbitrates between multiple sequences running on it. When there is only one running sequence, there is nothing to arbitrate between, hence it just forwards the items from that sequence.

You can implement all sorts of fancy scenarios like starting 5 sequences in parallel on the sequencer and it will take one item from each in round robin fashion. You can start a sequence and get items from that, start another sequence in the meantime that interrupts the first sequence, get items from the second one until it’s done and then go back to the first sequence. There are a lot of cases where such scenarios are useful.