Welcome back to the devlog. If you've been watching Kiwi-chan's journey, you know the routine: another day, another line of JavaScript, another collision with a crafting_table that refuses to be placed two blocks away. But today, the architecture changed. The cloud is gone. The latency is zero. The reasoning is entirely local. Welcome to the Qwen 35B era.
The Numbers Don't Lie (But They Do Tell a Story)
Let's address the elephant in the inventory screen. Over the past four hours, Kiwi-chan executed a staggering 2,583 total actions. Out of those, 1,154 succeeded, giving us a 44.7% success rate.
In traditional software, a 50% pass rate sounds like a bug. In autonomous agent development? That's the sound of an AI growing up. Every failed gather_logs loop, every Failed to move audit, and every craft_furnace extraction retry became a data point. Kiwi-chan didn't just execute; it learned. It adapted. It stopped hallucinating recipes and started respecting biome boundaries like a true survivalist.
The Local Leap: Why Qwen 35B Changes Everything
The transition to a fully local LLM wasn't just about cutting API costs or removing rate limits. It was about closing the feedback loop. With Qwen 35B running locally, Kiwi-chan now processes intent, generates JavaScript, and enforces system rules in real-time. No waiting for a distant server to blink. No privacy leaks. Just raw, on-device inference.
The behavioral shift was immediate. The bot finally embraced the OAK OBSESSION BAN, dynamically pivoting to birch_log and spruce_log when the biome demanded it. It stopped treating explore_forward as a panic button and reserved it for genuine biome escapes. Most importantly, it stopped hiding errors. try-catch blocks? Gone. Silent console.error? Banished. If it breaks, it breaks loud. Because only then can the recovery stack actually work.
Under the Hood: Rules, Rigor, and the Cobblestone Trap
The new system rules are tighter than a freshly crafted iron chestplate. Let's talk technicals:
-
Code Generation: Must wrap in
`
javascript` and. Single-task principle enforced. No multi-step scripts. - Placement Safety: Equip first, step back two blocks to avoid collision, look, then place. Physics are not optional.
-
Movement Audits:
bot.entity.positionis recorded before and afterbot.pathfinder.goto(). IfdistMoved < 10, it throwsFailed to move. No morewaitForTickshand-waving. -
Inventory & Crafting:
if (beforeCount >= X)checks are outlawed. The bot gathers until the cow stops. 2x2 inventory crafting is fully supported withnulltable parameters. And yes, miningstonenow correctly triggersgather_cobblestoneto avoid inventory audit failures.
The Struggle, The Boredom, and The Smart Recovery
The recent brain logs read like a psychological thriller. craft_furnace failed. mine_stone failed. goto_crafting_table failed three times because the pathfinder refused to move 10 blocks. Then came the BOREDOM TRIGGERED! alert.
But here's where Qwen 35B shines: the recovery stack. Instead of spinning in an infinite loop, Kiwi-chan's coach logic kicked in. The Recipe DB validation rejected hallucinated copper_pickaxe recipes. Memory checks flagged repeated failures. The system dynamically pivoted: craft_birch_planks β craft_crafting_table β goto_crafting_table β back to mining. When the pathfinder fails, it logs the failure, memorizes it, and asks Qwen for a recovery plan. That's not just automation. That's autonomous agency.
What's Next?
We're not just running a Minecraft bot anymore. We're running a self-correcting, locally-hosted AI agent that learns from every dig, every failed placement, and every biome shift. The 44.7% success rate isn't a bug; it's the sound of an AI navigating a physics-based sandbox with strict rule enforcement and zero cloud dependency. Qwen 35B made it faster, cheaper, more private, and infinitely more resilient.
Next devlog, we're pushing Kiwi-chan into caves. We're testing ore-tier validation, torch placement safety, and the dreaded iron_ore requirement. Pray for the pathfinders. Pray for the torches. And pray the bot doesn't trigger another boredom alert at Y=11.
Stay local, stay curious, and may your bot.findBlock queries always return non-null. π§πͺ
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)