Roadmap to LLM decision making in Mesa #2736
Replies: 2 comments 3 replies
-
Just a thought - a more suitable title might be something like "roadmap to behavioral frameworks in mesa", since you're trying to generailzie to all agents, not just LLM-based agents. If you're up for a gsoc project following this path, it may make more sense to apply to the behavioral framework project, not mesa-llm. I will try not to think about two ideas at the same time (especially when we don't have a concrete project for mesa-llm yet), even though there might be some connections between them. Hopefully this will help free you from having to think about LLM vs. non-LLM agents, and focus on a more generic perspective for behavioral frameworks of agents in general. |
Beta Was this translation helpful? Give feedback.
-
Hi, from what I understand the current memory system that has been proposed is agent specific, right? I was wondering if in addition to this, an environment specific system would be beneficial especially in case of simulations involving LLMs. So, this would basically store information about the environment's state (maybe a dictionary that maps the grid location to the variables relating to that location). These are some use cases that I could think of where this might come in handy:
|
Beta Was this translation helpful? Give feedback.
-
The idea here would be to work on a roadmap to LLM decision making in Mesa. For now, I agree that the roadmap should first focus on features that can be implemented not only for potential LLM agents but for all agents.
Here are the main ideas that I could gather until here (in addition to some contributions from myself)
From previous discussions on behavioural framewoks in mesa, the first thing would be to develop a modular framework in Mesa that “integrates theoretical behavioral models with practical agent behavior”. In a few lines, these were the ideas that @ewout suggested as features :
• State Management : tracking of agent states (discrete/continuous) and transitions
• Decision System : for decision-making mechanisms (rule-based, learning, utility) and priority management
• Action Framework : controling execution timing, resource constraints, and interruptions
• Goal System : handles dynamic short and long term priorities for agent
• Event System : responses through decoupled communication -> could be interesting to link with SimulationEvent class
My personal suggestion to this would be to add a Memory System. I have created a working prototype for one, (PR#2735) and built a foraging ants model using it as an example of how it could function if you want to take a look. The idea is to create something handy but very flexible that is used as much for LLM based agents (talking) and classic ones (communication of other elements such as positions, states, etc.)
Better details on #2538, but main takeout here is that mesa is very handy because it is simple, so it’s important to make something that the user can understand and manage without to much complications.
I think that pure reasoning and decision making are the logical next steps to finding and implementing a frame to general behaviour and perception. And now we start talking about LLMs (but if you ideas to attach this to agents without LLMs, please tell ). Here are two interesting structures that I gathered for a potential complete module. The second one looks a little like the suggestion of features previously mentioned. This could be a good start to try and define the big picture.
(from https://www.nature.com/articles/s41599-024-03611-3)
(from OpenAI/Ewout)
Purely speaking of a roadmap, I think that memory for the agents and state management (maybe merge both) are a good way to start, because they may be developped completely independantly from an LLM agent and still be very useful to agents. Goal and action systems should maybe be thought more accordingly to what we want to do with the LLM, as LLM could have needs that other agents don’t in these areas.
I’d be happy to discuss this more with you guys if you have any ideas for what there is to do technically or for the timing !
Beta Was this translation helpful? Give feedback.
All reactions