Replies: 21 comments 29 replies
-
|
hey @tpike3 ! About the conceptual base according to me sets are better cause it can have a multiple connections at the same time which follows the real word scenario . Plus, since Mesa already uses AgentSet , it seems like a good fit! |
Beta Was this translation helpful? Give feedback.
-
|
@tpike3 And for the computational I dont have a some concrete plan but it just an idea like if the sets function are optimized for user to write and matrix are optimized for meta agent membership why dont we take a input from user as a set (easier to code) and in the backend we can just use the matrix for tracking the membership . But doing this process would still make it computationally heavy. Curious what others think! |
Beta Was this translation helpful? Give feedback.
-
|
@tpike3 For having multiple types like hierarchical or hybrid, I think it's good for real-world usage since real systems do have hierarchical groups. But adding complex types might create computational problems again. So maybe we should first focus on decreasing computational usage, and then add these complex types once we have a solid, optimized foundation. I am curious for what do you think about this |
Beta Was this translation helpful? Give feedback.
-
|
Hi @tpike3, this direction is interesting — I’m currently studying multi-agent systems, so this discussion caught my attention. Also, are we primarily optimizing for very large-scale models, or for flexibility in modeling layered adaptive systems? I feel like the answer to those questions might strongly influence whether we lean more toward a network-style abstraction or something closer to dynamic sets. Would love to understand your long-term vision for this before diving deeper. |
Beta Was this translation helpful? Give feedback.
-
|
@tpike3 Having prior experience of working on Meta-Agents (#3172) and a few issues of my own, I have a few thoughts about this:
I’d anchor meta-agents on dynamic hypergraphs with a multilevel adaptive-system model: AgentSet-style membership, first-class MetaAgent behavior, and explicit two-way (bottom-up/top-down) coupling rules.
For large models, a good approach might be
So yes, matrix-based tracking can be faster in specific dense/high-throughput cases, but for general Mesa usage a hybrid strategy (set-like interface, optimized backend per workload) is likely the best balance.
Yes, It makes sense to support multiple meta-agents. |
Beta Was this translation helpful? Give feedback.
-
|
I have a few questions:
|
Beta Was this translation helpful? Give feedback.
-
|
I have a few more questions:
|
Beta Was this translation helpful? Give feedback.
-
|
My name is Trevor Gordon and I am currently a Master's student at CUNY Graduate Center. I have been exploring research topics in multi agent systems, more specifically in autonomous vehicles, but have been focusing on the higher behavioral planning stage so that the ideas can apply to other domains as well. I saw that one of Mesa's project ideas is the Meta Agents project, which involves developing multi agent systems, and I would love the opportunity to dive deeper into modeling hierarchical and adaptive systems. This is my first year participating in GSOC and I have just started exploring Mesa's base code. I was wondering if this project is still open for proposals during the deadline period? Are you specifically looking for people with lots of experience in this codebase, or has the project already received a large number of applicants? Any advice would be greatly appreciated, and I think this would make for a great summer project. All the best, |
Beta Was this translation helpful? Give feedback.
-
|
Ok, thanks for the response. Based on the project list, I'd definitely want to pursue the Meta Agents project. I'll start reviewing the material in depth and look forward to developing a proposal. |
Beta Was this translation helpful? Give feedback.
-
|
I have thought through some ideas about the architecture, keeping in mind validity, performance and user experience. My current thoughts (appreciating the proposal period opens in three days) are the following:
Let me know your thoughts or if you have any other ideas. |
Beta Was this translation helpful? Give feedback.
-
|
@tpike3
Question: |
Beta Was this translation helpful? Give feedback.
-
|
@falloficarus22 Hey !! thank you for raising the question about pluggable backends. I think it is a valuable consideration for the long-term architecture of the meta-agent module. |
Beta Was this translation helpful? Give feedback.
-
|
And also found this resource helpful about hypergraph |
Beta Was this translation helpful? Give feedback.
-
|
I wanted to run one idea by you to see if there's any potential, or if it's not worth attempting to come up with a more complete plan. The theoretical benefit I see is that expressing both the membership structure and the influence rules as tensor operations keeps everything in one unified mathematical framework and can improve efficiency since tensor operations can use GPU. It could also enable more complex reasoning between agents and meta-agents faster. Do you think this is a direction worth exploring, or am I perhaps still not quite understanding the fundamentals of the architecture? I do want to mention that these ideas are still very theoretical. I'm still working out the feasibility of this project, but I wanted to run this by you to see if you think there is some potential. While there still are plenty of details to hash out, I think it could make for a very novel and interesting project. Happy to go into more detail on any of this if it would be helpful! Best, |
Beta Was this translation helpful? Give feedback.
-
|
I also wanted to ask that even if you think the integration of tensor logic a potential idea, should I focus the project on developing the core architecture of the model first? For instance, is the architecture you proposed going to exist by the summer, or is that what we should plan to develop? -Trevor |
Beta Was this translation helpful? Give feedback.
-
|
I’ve been thinking about the architecture direction you outlined, and I want to try to restate it in a more concrete technical form to check that I’m aligning correctly. My current understanding is that the project should be centered on a single canonical backend for meta-agents, rather than multiple backend implementations. Conceptually, the foundation would be hypergraph-like: meta-agents correspond to overlapping sets of agents, and agents may participate in multiple meta-agent structures at once. From there, the implementation direction would be an incidence-tensor-based backend representing membership and typed relationships. My interpretation is that this backend should be the core substrate on which meta-agent operations sit, rather than something added later as an optimization. On top of that, Mesa would expose a facade-style API so users can work in terms of meta-agents, relationship types, membership changes, and other group-level modeling concepts without needing to directly manipulate tensor structures. So, in implementation terms, I think the project would likely involve:
I also read Trevor’s comments about Tensor Logic, and my current impression is that this may be more of a possible higher-level extension on top of the backend, rather than the immediate core of the project. In other words, step 1 would be building the tensor architecture itself, and later steps could explore whether behavior and influence rules can be expressed cleanly through tensor-based logic functions. If this is roughly the right interpretation, then I think it gives a fairly clear technical direction for shaping the GSoC proposal around the core architecture first. |
Beta Was this translation helpful? Give feedback.
-
|
@tpike3 Hi! I've been exploring the facade API design for the Meta-Agent Idea: Instead of hardcoding group behaviors, users configure them Example: friends = create_meta_agent(
model,
policy=Policy(
join_rule="free", # No approval to join
leave_rule="free", # No approval to leave
exclusivity="multiple", # Can join multiple groups
authority="flat" # No hierarchy
)
)Question: Does this configurable approach align with your vision for |
Beta Was this translation helpful? Give feedback.
-
|
Hi @tpike3, I’ve been going through the discussion and trying to align my understanding with the direction you outlined (hypergraph foundation + canonical backend + facade API). I wanted to run a few thoughts/questions to validate my approach for the Meta-Agent proposal. From my understanding, the core challenge is not just hierarchical grouping, but modeling dynamic multi-level adaptive networks with bidirectional influence (top-down + bottom-up). Based on this, I was thinking about structuring the system around:
Questions / Ideas1. Membership Representation
to balance both performance and bidirectional influence? 2. Activation & Execution Model Would a configurable execution pipeline make sense?
This could align with Mesa’s philosophy of providing flexible options rather than fixed rules. 3. Dynamic Active/Dormant Sets (Key Idea) Would it be valuable to explicitly model:
This might also help significantly with performance in large simulations. 4. API Design Thought Example: This keeps the system abstract while allowing users to model different group behaviors. I’m currently working on a small prototype to explore hierarchical + multi-membership behavior and would love to align it with Mesa’s direction before going deeper. Would appreciate your thoughts on whether this direction aligns with the intended architecture. Thanks! |
Beta Was this translation helpful? Give feedback.
-
|
@tpike3 Quick design question are we planning to completely replace the existing set-based storage with the hypergraph and incidence tensor, or can we iterate over the existing meta_agent.agents and agent.meta_agents sets to build the incidence matrix? Using the existing sets would be simpler to implement and avoids a large refactor, but it means membership is stored twice. Removing the sets entirely is cleaner but requires more work. Would love your thoughts before I finalise the architecture. |
Beta Was this translation helpful? Give feedback.
-
|
@tpike3 One more question on bidirectional influence. A user can already write this themselves: agent.step() — agent updates the meta-agent state So how exactly should the Meta-Agent module help the user with this? What should the module provide so the user does not have to figure it out on their own? |
Beta Was this translation helpful? Give feedback.
-
|
@tpike3 I wanted a review on my GSoC proposal if it is possible |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Mesa has a nascent meta-agent module in experimental. However, it needs a significant refactor to both optimize computational performance and provide functionality. Two meta-agent examples (allianceformation and warehouse model) show two types of meta- agents an emergent agent and a deliberately created agent. My goal with this discussion post is to help chart the path for how meta-agent should be developed, as it is non-trivial.
Background: Complex adaptive system can be understood as adaptive networks and this idea can be extended to be multiple levels of adaptive networks. For example, a person with networks of neurons firing, is part of a family, is part of a neighborhood, part of a community etc, all adapting to constantly changing situations of which they have varying levels to influence.
Goal: Refactor meta-agent to allow mesa users to rapidly develop simulations that capture complex-layered adaptive networks.
Considerations:
What is the conceptual base? Although I am using the term networks associated with graph theory (2 nodes - 1 link). I think hypernetworks, based on set theory (sets of nodes), is likely a better foundation and easier to align with AgentSet. However, is there a better theoretic foundations on which to stand, or other theories that should be borrowed from to conceptualize meta-agents.
What are the computational considerations? For large models speed is always a consideration, what is the optimal way for mesa to track meta-agents dynamics in a way intuitive for the user, but computationally optimized? For example, although the set functions of Python are C optimized, would it be faster to keep track of the meta-agents membership in a matrix.
What are the type of meta-agents? The examples have emergent meta-agents with alliance formation and deliberate meta-agent creation with the warehouse model? But are there other ways to create/grow meta-agents? Relating the last consideration and this one, should we have different meta-agent types, emergent, hierarchical, hybrid and will this give us computational advantages.
I am curious for everyone's thoughts
Beta Was this translation helpful? Give feedback.
All reactions