Difference between single agent MultiDiscrete action space v.s multi agent Discrete action space

Hi,
What should we consider when choosing between single agent multi-discrete action space and multi-agent discrete action space?
For example
If we have a single agent X with environment action space like this: MultiDiscrete(tuple([2] * num_actions(n)), for the action [0, 0, …,Ai, 0,… Aj, …0], Ai =1 and Aj = 1, it means we will take action i and j at that step.
We can have a multi agent Y with number of agent(n) and its environment action space like this: Discrete(2), for the agents action dictionary {0:0, … i:1, … j:1, …n:0}, it means we will take action on agent i and agent j at that step.

Under which circumstance, we prefer the one to the other? Or there is no much difference between them?
Thanks,
James