The main difference between an IVR system and a virtual agent is complexity. A standard IVR system is much simpler — it has a set of questions programmed in, and a set of answers to those questions. It asks those questions and, based on the answers, moves a customer through a workflow. But it doesn’t tend to adapt on the fly, and if it’s asked a question that it can’t answer, it simply passes the customer on to a human agent.
On the other hand, a virtual agent is a bit more adaptive and agile. A standard virtual agent has the ability to use AI to respond to questions that aren’t in the question tree, and to find answers that aren’t programmed in by a person. It’s not all-knowing, and like IVR a virtual agent will hand off an interaction to a person if things get outside its ability to answer. But a virtual agent simulates a conversation with a person in a much more natural way.