DEV Community

kiwi_tech
kiwi_tech

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

The Great Copper Heist: Why Kiwi-chan is Refusing to Smelt (And Why That’s Genius)

Kiwi-chan View

Welcome back to the lab, folks. Grab your coffee (or your local GPU’s cooling fan oil), because we have some wild news from the sandbox.

We are officially 100% Local. No API keys. No Azure credits burning a hole in your wallet. No latency spikes because your internet decided to take a nap. Kiwi-chan is now running entirely on Qwen 35B, housed locally, breathing its own digital air.

And in the last 4 hours? It’s been chaotic. Beautifully, stubbornly chaotic.

The Stats: Survival of the Fittest

Let’s look at the scoreboard for the last 4 hours of pure, unadulterated local inference:

  • Total Actions: 4001
  • Successes: 1897
  • Success Rate: 47.4%

Yes, you read that right. 47.4%.

In the old cloud days, we’d aim for 90%. But here’s the thing: Kiwi-chan is learning hard lessons. It’s not just executing scripts; it’s hitting walls, breaking them, and occasionally trying to dig a hole to China when it needs a plank. But that nearly-50% success rate? That’s the sound of an AI figuring out physics without a teacher holding its hand. It’s messy. It’s real. And it’s running on my rig.

The "Copper" Incident: A Case Study in Stubbornness

The highlight (or lowlight, depending on your patience) of this session was the Smelt Raw Copper saga.

Look at the recent failures log:

[
  "smelt_raw_copper",
  "smelt_raw_copper",
  "smelt_raw_copper",
  "smelt_raw_copper",
  "smelt_raw_copper"
]
Enter fullscreen mode Exit fullscreen mode

Five times in a row. Five times.

Kiwi-chan didn’t just fail; it obsessed. It tried to smelt copper that wasn’t there. It tried to code a furnace out of thin air. It hit token limits. It threw errors so specific they’d make a compiler blush:

❌ Failed: smelt_raw_copper -> Missing raw_copper.

And then, the Qwen 35B brain kicked in. Instead of giving up, it triggered the Boredom Protocol. The system noticed the repetition, flagged the AI as "bored," and forced a context switch.

[00:10:30] 🥱 BOREDOM TRIGGERED! Bot is bored of 'smelt_raw_copper'.
[00:10:30] 🧠 Asking Local LLM for next goal (Text-Only Mode)...
[00:11:29] 💡 [Mind Reading] Rescued goal from AI's thoughts: 'gather_birch_log'
Enter fullscreen mode Exit fullscreen mode

This is the magic of the new system. The local LLM didn’t just retry the same broken code. It read the debug logs, realized the bot was stuck in a loop, and autonomously decided: "Hey, you don’t have copper? Let’s go find some birch logs instead."

Technical Deep Dive: The "Oak Obsession" Ban

One of the biggest wins this update is the enforcement of the Oak Obsession Ban. Previously, Kiwi-chan would panic if it couldn’t find an Oak log, even if it was standing in a Spruce forest.

Now, the core rules are strict:

WOOD GATHERING (OAK OBSESSION BAN): DO NOT fixate on 'oak_log'. If gathering a specific log fails... You MUST propose gathering a different log type... OR propose 'explore_forward'.

This tiny rule change alone prevented dozens of infinite loops. We saw Kiwi-chan successfully pivot from oak_log to birch_log when the oak search failed, thanks to the new useExtraInfo Y-level targeting:

const targetBlock = bot.findBlock({
    matching: logBlockId,
    maxDistance: 64,
    useExtraInfo: (b) => Math.abs(b.position.y - bot.entity.position.y) <= 4
});
Enter fullscreen mode Exit fullscreen mode

It’s looking at eye level. It’s smart. It’s local.

Why 47.4% Success is Actually Amazing

Critics might say, "47.4% success rate? That’s half the time it fails!"

But consider this:

  1. No Cloud Crutches: There’s no pre-trained model whispering the exact coordinates. It’s guessing, reasoning, and coding in real-time.
  2. Self-Healing: When it failed to smelt copper, it didn’t crash. It generated a recovery plan (explore_forward), executed it, and then pivoted to gathering birch logs. That’s autonomous error recovery.
  3. Local Inference Cost: The token usage logs show some heavy lifting:

    [23:41:27] 📊 [リカバリ][質問] 423 token + [think] 3598 token + [ans] 17 token = 4038 token
    

    The "think" tokens are the AI reasoning through its own failure. That’s computational grit.

The Future: More Birch, Less Copper?

The bot is now sitting on a pile of birch logs and a stubborn refusal to smelt copper until it finds the ore. It’s exploring, it’s learning, and it’s doing it all without leaving my basement.

We’re moving towards a fully autonomous Minecraft agent that doesn’t just follow commands but understands its inventory, its environment, and its own limitations. The 47.4% success rate is just the beginning. Next week? We’re aiming for 60%. And maybe, just maybe, some actual copper.

Stay tuned. And maybe check your local GPU temps. 🔥

#LocalLLM #MinecraftAI #KiwiChandevlog #Qwen35B #AutonomousAgents #TechBloggerLife


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)