-
-
Notifications
You must be signed in to change notification settings - Fork 52
Description
Hey @jackiekazil @colinfrisch @sanika-n ,Hope you are all doing well :)
I’ve been investigating the tool registration behavior in Mesa-LLM and wanted to raise a design/architecture question
Summary of the Issue
The current tool registration system has a global side-effect:
built-in tools like move_one_step, teleport_to_location, and speak_to appear to be globally available and appear to be injected directly every time any agent is initialised with tools.
I’m trying to understand whether this is:
- An intentional architectural design choice.
- Or something that might be open to configurations in the future.
Context
In some models (e.g., spatial social simulations), having movement and communication tools globally available makes sense and is convenient like the example ones in the mesa-llm repo.
But in some models exclusively present inside the examples in the main mesa repo, like the dining philosophers example, tools like move_one_step, teleport_to_location getting injected automatically wouldn't make sense right, it may even lead to hallucinations.
Architectural Concern
I think this is a legitimate gray area,
As simulations become more specialized, this behavior introduces significant friction:
- Capability leakage (e.g. static entities gaining movement)
- Tool noise for LLMs
- Hard-to-debug conflicts when custom tools shadow built-ins
- Inability to reason about agent permissions locally
I may be misunderstanding the intended design here, so I wanted to check before drawing conclusions
If there is a simple workaround to this please do let me know I probably would have missed it.
Are there plans to make built-in tool injection configurable for more advanced simulations? If so I do have something in mind to tackle this. :)
Would love to understand the intended long-term direction
Thanks :)
Note: If everything mentioned above is indeed true I'll be working on a PR for this.