concordia icon indicating copy to clipboard operation
concordia copied to clipboard

[Question] Scaling number of agents

Open austinmw opened this issue 1 year ago • 2 comments

Hi, apologies if there's another thread or mention about this that I missed.

I'm curious about scaling number of agents. In particular,

  • What’s the impact of scaling the number of agents? It looks like they are run in a loop, so this scales linearly?
  • Are there any limitations to be aware of in scaling?
  • What’s the maximum number of agents that's successfully been tested?
  • Are there any utility functions to be particularly aware of when wanting to generate hundreds of agent personalities in an automated fashion?

Any advice would be greatly appreciated!

austinmw avatar Jul 05 '24 13:07 austinmw

We haven't experimented on scaling up much. There are some considerations about scaling:

  1. The GameMaster currently calls on all agents at every step. So, linearly scaling calls for agents to act. A different GameMaster (or one with different components, anyway) could be designed (we have some ideas, so stay tuned) to only ask "relevant" players for actions, causing sub-linear scaling.
  2. Having many agents might trigger conversations more frequently (we haven't tested). This would make the virtual time go more slowly, but conversations are between specific players, so they don't necessarily involve all agents. It's hard to predict whether this would be super-linear or sub-linear.
  3. ~We don't provide an example for generating agents in parallel, but it should be trivial to use the utility for concurrent execution on generating agents.~ [this is how the modular examples do it, actually] This would have to be linear, unless you wanted to make some partial backgrounds (i.e. for siblings) and then just re-adapt them.

duenez avatar Jul 15 '24 12:07 duenez

Thanks for your response!

austinmw avatar Jul 15 '24 17:07 austinmw