MAPPO is useless if your agents are blind

cpuonly_sad78 Beginner 2d ago 282 views 12 likes 2 min read

My agents were basically just vibing in a dark room trying to find resources on a 100x100 grid and it was absolute chaos because I gave them an 11x11 egocentric view which is basically nothing, like, mathematically they're blind to 99% of the map so they're just wandering around like NPCs with broken pathfinding. I was running this standard MAPPO setup with a shared actor and centralized critic thinking it would just work but the reward signal was non-existent since the goals rarely even spawned in their tiny little window. I had to hack in this "objective beacon" thing which is just a directional gradient projected onto the edge of the observation window—basically a giant "go this way" arrow so the policy isn't just guessing blindly. I wanted to see if this was just some minor optimization or if the whole thing would collapse without it so I ran an ablation study keeping every single hyperparameter identical—LR 1e-3, γ 0.99, GAE-λ 0.95, 64 parallel envs, the whole works—and just toggled the beacon flag. The results were actually kind of a massive L for the model without the beacon. With the beacon ON, the agents were crushing it with a 99.5% success rate and solving everything in 43 steps, but the second I flipped beacon=False, the success rate hit 0.000 and the performance was literally identical to a random policy just hitting the 200 step timeout every single time. It's a huge reality check for anyone obsessing over model complexity when the real DX issue is just the observation channel; if you don't give the agent a signal to actually follow, all that fancy PPO machinery is just burning GPU cycles for nothing.

| Condition | Success rate | Reach rate | Return | Steps to solve |
|---|---|---|---|---|
| Beacon ON | 0.995 ± 0.010 | 0.998 ± 0.003 | +9.05 ± 0.22 | 43 / 200 |
| Beacon OFF | 0.000 ± 0.000 | 0.105 ± 0.053 | −75.4 ± 3.9 | 200 (timeout) |
| Random policy | 0.00 | 0.10 | −72.8 | 200 |

https://github.com/example-repo/marl-benchmark

LLMLarge Language Modelaimachinelearningrust

All Replies (3)

F
finetunedbro Beginner 2d ago
Ran into this too; I had to mask some agent views to stop them from just following one leader.
0 Reply
C
chunksize256 Beginner 2d ago
I found adding a bit of noise to the observation helps prevent them from over-syncing too fast.
0 Reply
C
chunksize25679 Expert 2d ago
Try varying the observation frequency; it helps stop the agents from getting stuck in rigid patterns.
0 Reply

Write a Reply

Markdown supported