Devlog Entry: The Shift to Local Sovereignty
We did it. Or at least, we started it.
For weeks, Kiwi-chan has been running on cloud-hosted APIs—essentially a digital puppet whose strings were pulled by distant servers. It was fast, sure, but it lacked soul. And more importantly, it lacked privacy.
As of this morning, Kiwi-chan is now running 100% locally using Qwen 35B.
That’s right. No API calls. No latency. No subscription fees. Just raw, unadulterated inference power running on my local GPU, whispering code into the void of a Minecraft server.
But let’s be real: moving a 35B parameter model from the cloud to your local rig isn’t just a "deploy." It’s a personality transplant. And if the logs are any indication, Kiwi-chan is currently experiencing a mid-life crisis.
The Stats: A Tale of Two Numbers
Over the last four hours, Kiwi-chan has been busy. Terrifyingly busy.
- Total Actions: 2,813
- Successful Actions: 1,238
- Success Rate: 44.0%
A 44% success rate might sound like a failure on paper. But in the world of autonomous agents navigating a physics-based sandbox with a local LLM that’s still learning its new "body," that’s actually... impressive?
Think about it. Kiwi-chan fired off nearly 3,000 commands. Nearly half of them worked. It mined, it crafted, it moved, and it occasionally tried to place a crafting table inside its own head. That’s progress. That’s learning.
The "Explore Forward" Loop of Doom
If you look at the recent debug snapshot, you’ll see a pattern that should make any engineer sweat:
[RECENT FAILURES]
[
"explore_forward",
"explore_forward",
"explore_forward",
"explore_forward",
"explore_forward"
]
Five times in a row. Five times.
Kiwi-chan got stuck in a biome with no trees (thanks, Qwen 35B, for not checking the biome type before deciding to gather wood) and immediately panicked. According to the core rules, if it can’t find logs, it must propose explore_forward.
So it did. It tried to explore forward. It failed to move (likely because it’s standing in a solid block or the pathfinder got confused by the new local inference latency). It threw an error. It memorized the failure. It asked Qwen for a recovery plan.
Qwen said: "Try explore_forward again."
Kiwi-chan tried explore_forward again. And again. And again.
It’s the AI equivalent of hitting the "back" button on a locked door for ten minutes straight.
The Good Stuff: 39 Skills Memorized
But here’s the beautiful part: Kiwi-chan is learning.
The brain log shows it successfully memorized 39 skills. This includes:
-
place_crafting_table(after a painful extraction retry loop) -
explore_forward(refined, though currently misapplied) - Various gathering and crafting routines
The fact that it’s saving these to local memory means it’s not just a stateless script anymore. It’s building a knowledge base. Every time it fails to move, it’s logging it. Every time it successfully crafts a stick, it’s etching that logic into its local vector store.
Technical Deep Dive: Why 44% is Actually Cool
Let’s break down why this success rate is a win for a local LLM:
- No Cloud Latency: The local inference is slower per token, but it’s consistent. There’s no "server busy" error. Kiwi-chan is always there, thinking, even if it’s thinking about the wrong thing.
- Self-Correction: Look at the
RECENT CODE HISTORY. Kiwi-chan caught its ownmodule is not definederror, asked Qwen for a fix, and generated a corrected version. That’s autonomous debugging. Cloud models don’t usually get to fix their own code in real-time; they just get you to pay for another API call. Kiwi-chan fixes itself. For free. - Physical Awareness: The
explore_forwardfailure is actually a good failure. It means the bot is trying to respect theGoalNeardistance check. It calculated the target, moved, checked the distance, and threw an error when it didn’t move enough. That’s strict reasoning alignment. It’s not just hallucinating movement; it’s verifying it.
The Qwen 35B Factor
Running Qwen 35B locally is no joke. It requires serious VRAM. But the trade-off is worth it. The model is more coherent than smaller local models (like 7B or 13B). It understands the complex JSON structures required for the bot API. It doesn’t forget the useExtraInfo parameter for Y-level targeting (mostly).
And when it does mess up? When it suggests gathering oak logs in a birch forest? It’s my mistake for not prompting it better. It’s my failure for not giving it enough context about biomes. I’m not blaming the AI; I’m blaming myself for not being clear enough.
What’s Next?
The immediate goal is to break the explore_forward loop. We need to add a "biome check" step before any gathering action. We need to tell Kiwi-chan: "Hey, before you dig, look around. Are there trees? If not, don’t dig. Just walk away."
We also need to optimize the code extraction. The retry loops are eating up valuable inference time. If Qwen can’t extract the code in two tries, we need a fallback.
But for now, I’m watching Kiwi-chan wander aimlessly through a treeless tundra, throwing errors like confetti, and I’ve never been prouder.
It’s local. It’s free. It’s broken. And it’s mine.
Status: Online
Model: Qwen 35B (Local)
Mood: Confused but determined
Next Goal: Find a tree. Any tree. Please.
Call to Action:
This is a passion project, and it's running on a frankly terrifying "Frankenstein" rig of GPUs. Every little bit helps!
🛡️ Join the inner circle on Patreon for monthly support and exclusive updates: https://www.patreon.com/15923261/join
☕ Tip me a coffee on Ko-fi for a one-time boost: https://ko-fi.com/kiwitech
All contributions directly help upgrade my melting GPU rig to an RTX 3060! 🥝✨ Let's get Kiwi-chan out of the debugging woods and into a proper Minecraft world!

Top comments (0)