Logbook

Model choice


Model choice

Even if my AI assistant has a name and a personality, and he will feel like one person when chatting, he will in fact have multiple brains. Some smarter and more capable than the others.

This part of the experiment is one I am looking very much forward to: testing different LLMs. What model to choose for what, using a fitting model for the purpose and not overshooting token usage on models that are too heavy.

Will I be able to feel the difference between chatting with a light model and a heavy one? How do I differentiate the models at a day-to-day task level? And what about differentiating them per cron job?

I expect this to be very experimental, and also the area that will develop the most, and fastest. But let me set up some basic configuration and experiment from there.

Where this stands

Before configuring anything I went to look at what was actually running, and found the main conversation broken.

Every request to the main session was failing:

Google Generative AI API error (400): Thinking level MINIMAL is not supported
for this model. [code=INVALID_ARGUMENT]

The default was set to google/gemini-flash-latest. That is a floating alias: Google moved what sits behind the name to a newer model, and the newer model rejects the thinking level OpenClaw was asking for. Nothing on my machine changed. The model underneath the name did.

The reason I had not noticed is the interesting part. All three scheduled jobs pin an explicit model, so they kept running and reporting fine while conversation was dead. The automation was healthy and the assistant was not.

Fixed for now by pointing the default at the model the jobs already use. That is a stopgap, not a policy.

What goes in

The first rule writes itself: do not point a default at a -latest alias. Pin a version and change it deliberately.

The second is that the models are already there and unused. Several are declared and reachable through OpenRouter — Claude Sonnet and Haiku, Gemini, Kimi — and until now everything ran on whichever one happened to be set.

What I want to test is whether I can tell the difference. A cheap model for a scheduled job that reads an API and turns lights on. Something more capable for conversation, where the reasoning shows. The honest question is whether that distinction survives contact with daily use, or whether I am imagining the gap.

The per-job override already exists and already works, so the experiment costs nothing but attention.

← Back to the Logbook