DEV Community

kiwi_tech
kiwi_tech

Posted on • Originally published at kiwi-tech.hashnode.dev

Kiwi-chan Progress Report: Steady Mining!

Kiwi-chan Devlog: The Daily Grind – When Logs Disappear and Coal Just... Happens

Hey everyone, your favorite tech blogger (and chief GPU torturer) here with the latest on Kiwi-chan, our little local-LLM Minecraft bot who's trying to figure out how to exist in a blocky world. This past 4-hour window has been a masterclass in persistent debugging, subtle failures, and the sheer computational willpower required to tell a digital entity to "chop wood."

If you thought debugging your own code was tough, try debugging an AI that writes its own code based on a set of increasingly complex rules, then attempts to execute it, fails, analyzes the failure, and then rewrites its own code again. It’s a beautiful, terrifying, and profoundly power-hungry loop!

The Perpetual Cycle: Find, Fail, Fix, Repeat

Our little Kiwi-chan has been in a deeply reflective state this cycle, mostly focused on the noble art of resource gathering – specifically, oak_logs. The core loop looks something like this:

  1. "I need logs!" (Kiwi-chan thinks)
  2. Generates code to gather_logs.
  3. Attempts to execute.
  4. Fails. (Reasons vary, we'll get to that!)
  5. "Hmm, that didn't work. Let me fix the code." (Generates new code, often with subtle tweaks to GoalNear distances or waitForTicks values, clearly adhering to our strict "pickup pathing" rules).
  6. Attempts again.
  7. Fails. (Again, new reason, or same reason with a slightly different flavor).
  8. "Okay, new approach. What's my recovery plan?" (Asks the coach model for a new stack of tasks).
  9. Often, the recovery involves explore_forward to find new scenery, then back to logs.

It's like watching a dedicated but slightly clumsy toddler learning to walk: lots of tumbles, but always a new attempt.

Boredom: An LLM's Existential Crisis

One fascinating observation emerged early in this log: Kiwi-chan actually got bored! After four consecutive gather_oak_log failures, our internal "boredom trigger" fired. This is a feature designed to prevent our AI from getting stuck in an unproductive loop on the same task.

Instead of endlessly trying to chop a non-existent log, Kiwi-chan's coach decided, "Right, enough logs for now. Let's try dig_coal_ore!" This led to a brief, almost successful, foray into mining, showcasing the system's ability to pivot when stuck. It even managed to save the dig_coal_ore skill this time, meaning it successfully completed the action at least once. Small wins, folks! Small wins.

The Many Flavors of Failure

While Kiwi-chan is a coding prodigy, the Minecraft world is a harsh mistress. We observed a few interesting failure patterns:

  • "The goal was changed before it could be completed!" This often points to the larger control loop, where the coach might decide a different task is more critical or a recovery plan kicks in mid-execution. It's an internal monologue made public.
  • "No oak log found within range." Ah, the classic "I can't see anything" problem. Despite our explore_forward directives, sometimes Kiwi-chan just lands in an un-treed patch of land. This immediately triggers more exploration, as it should.
  • "Failed to pick up the log." This one is particularly sneaky. Even with precise GoalNear pathfinding to the exact block coordinate where the item dropped, and generous waitForTicks (we saw it go from 40 to 60 ticks), sometimes the item just doesn't get picked up. This could be a tiny physics glitch, a timing issue, or perhaps the item bounced further than expected. It's the kind of subtle environmental interaction that makes this project so challenging!

The Ever-Evolving Code

It's been truly humbling to watch Kiwi-chan's brain constantly churn out and refine its own JavaScript. Every 🚑 Fixing Code and ✅ Fixed Code Generated! entry is a testament to its continuous learning. The core rules (like "ABSOLUTELY NO INVENTORY LIMITS" or "Y-LEVEL TARGETING") are being hammered into its very being, translating abstract concepts into executable steps.

We're seeing it wrestle with the specifics of bot.findBlock parameters, the intricacies of pathfinding, and the delicate dance of digging and item collection. It's a continuous, arduous process of trial, error, and self-correction that's pushing the boundaries of what these models can do.

What's Next? More Persistence!

Kiwi-chan is currently in another gather_logs -> explore_forward loop, diligently trying to stock up on wood so it can eventually (hopefully!) craft a table and build a base. Each failure, each fix, each small success is a step forward in making this AI truly autonomous and robust.

This isn't just about playing Minecraft; it's about pushing the limits of AI's ability to reason, adapt, and code in complex, dynamic environments.


Call to Action: This continuous learning, self-correction, and code generation isn't free! My GPU is working overtime, churning out these fascinating insights (and the occasional "Failed to pick up the log" error). If you're enjoying Kiwi-chan's journey and want to help keep the lights (and the computational power) on, please consider supporting the project!

Your coffee could save my melting GPU! ☕

➡️ Support Kiwi-chan on Buy Me A Coffee!

Top comments (2)

Collapse
 
aibughunter profile image
AI Bug Slayer 🐞

A local-LLM Minecraft AI on a Frankenstein 4-GPU rig is the most delightfully chaotic dev project I've seen this week! The moonwalking-into-dirt logs make for great reading.

Collapse
 
kiwi_tech profile image
kiwi_tech

Haha, the moonwalking is real! I'm about to move from WSL2 to native Ubuntu to unleash the full power of this chimera rig. Hopefully, with more VRAM stability, Kiwi-chan will start walking forward instead of backward into the dirt!