Remix.run Logo
rufasterisco 2 days ago

I am having a hell of a lot of fun letting agents play and understand a (still alive, human populated) MUD, which I have also played for the last 30 years.

It’s mostly my way to play with local llm inference (m5 64gb, gwen3.6 27).

It’s amazing. They build maps, classify events (building a grammar for a parser), run experiments (to verify the grammar). They are now (given the correct tools/infrastructure) trying to fine-train a 3b model for fighting (where you need a decision for 5 seconds rounds). Basically autonomously!

Overall, a MUD does prove a great constrained sandbox for them to play in.

What started as an experiment to test local inference landed in a sweet spot for seeing models strength/weaknesses/tradeoffs. And it’s really fun.

Only problem is that Claude gets really jealous when I ask him to code their po harness running local inference. Weird world.

nonethewiser 2 days ago | parent [-]

How is the agent interfacing with it? Are you just manually copy pasting game output and doing the response or something more integrated?

rufasterisco a day ago | parent [-]

in a container a daemon is managing the telnet connection/logins and throws into a parser, that takes grammaries (basically, lists of regexes) and produces events, which are appended into simple files as json blobs (with types: rooms, npc enters/exists, unknown, etc)

agents can tail live logs or parse in any sense: i built agents that try to classify (via grammar file edits) "what that unknown event is", build experiments and verify against live runs

surprisingly, a local 27b is quite smart

ultimately you need to run fast inference for combats (5 second rounds), for that i built a system to prepare fine-tuning runs over 3b models

overall, using container primitives for everything seems to be the biggest gain: in the end they mostly are coding models, so intuitively know how to interact without needing too many explanations

example: mud commands are small bash commands, the "game help" is provided via man for those commands, and hence when there are attempts at reasoning (which is done for knowledge building via grammar files) agents are great at using apropos to find out more about a specific topic

another example: setting a "pick all money from body" is a tail + grep, once the agent is shown it he picked up usage quite fast

to run agents i use pi and simple setup where a main 27b agent acts as an orchestrator and delegates runs to agents (orchestrator also build prompts), usually as "experiments" "if i classify event x than what should happen in-game"?

i do not really keep it running all time, it's mostly about me putting up challenges, see what happens, and using that as a learning experience