In reply to guy.levi:
Of course parameters would be a solution. You could declare soemthing like this for your data:
logic [DATA_WIDTH-1:0] data [NOB];
where DATA_WIDTH and NOB are parameters. But I do not know the details if this would make sense.
But 2 instances of your agent are needed.