mesa / mesa/mesa-llm

Global Built-in Tool Injection Prevents Strict ToolManager Isolation In Advanced Simulations

Open
#90 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
73
Forks
89
Avg merge
14d 58m
Merged PRs (30d)
2

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.

Contributor guide

Open the contributing guide

Research direction

Start by tracing tool registration during agent initialization, focusing on how move_one_step, teleport_to_location, and speak_to become available. Compare that behavior with the spatial social simulations and the dining philosophers example. Done means the intended isolation or configurability is defined and the behavior is validated for specialized simulations.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
ai, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.