1. A method for modeling interactions with a computer system, comprising: for each of a plurality of interaction sessions with a computer system, each interaction session being associated with a corresponding agent system and comprising one or more states, one or more state transitions, and one or more screens encountered during the interaction session: collecting interaction information for the interaction session, the interaction information comprising data for the one or more states and the one or more state transitions of the interaction session and screen interaction information, the screen interaction information being associated with the one or more screens encountered during the interaction session; for each screen encountered during the interaction session: determining whether a stored instance of the screen already exists, the stored instance of the screen comprising a stored screen object for the screen previously generated for a previous encounter with a screen matching this screen; if a stored instance of the screen exists, retrieving the stored instance of the screen; and if a stored instance of the screen does not exist: generating a unique identifier for the screen; and storing an instance of the screen indexed by the unique identifier for the screen, the stored instance for the screen comprising a screen object of the screen; identifying the one or more states encountered during the interaction session based on the collected interaction information, including based on the one or more screens encountered during the interaction session; and generating, based on the one or more states encountered during the interaction session, a trace of the interaction session; and generating, based on the traces of the plurality of interaction sessions, a model of the plurality of interaction sessions, the model comprising the traces for each of the plurality of interaction sessions.