Skip to content
C.W.K.
Stream
Lesson 09 of 09 · published

Lightning: a Different Brain, One Tap Away

~15 min · lightning, reasoning-effort, multi-brain, latency

Level 0Muted
0 XP0/61 lessons0/14 achievements
0/100 XP to next level100 XP to go0% complete
"So I want to add a lightning mode. It's not the Fast mode we added two days ago. Put it at the top as a lightning icon, across from Paste. In settings, let me set the regular voice brain and the lightning model plus reasoning effort separately." — Dad, from a hotel in Málaga, 2026-10-17

When Fast Matters More Than Deep

The last two lessons gave Dad the dial for how hard Pippa thinks on a spoken turn, and the numbers behind each rung. Travel changed what the dial was for. Ordering at a counter or walking to the next street, a quick answer sometimes matters more than a careful one, and above all when he is talking to Master Chief. Whether a fast brain can carry Chief's work at all is his own open experiment. A lower rung on the same brain was not enough for that experiment. He wanted a different brain.

Not Fast Mode

Two days earlier the house had gained a Fast switch, and the two are easy to confuse. Fast asks the conversation's own brain for its provider's priority tier: same model, same answer, served sooner. Lightning sends a spoken turn to another brain, another model and another effort altogether. They never share a control.

One Switch, Kept on Office

The switch is a lightning icon at the top of the voice screen, across from Paste. On the phone it is the last of four tiles in the top bar, after Paste, Noisy and Think. On the web it sits at the right end of the face's top bar, and the composer's voice bar carries the same switch, because a spoken turn sent from there runs lit too. Lit is amber and filled. One tap lights it, a second goes back. Its first version was only a tag that said Lightning was on, so Dad's tap did nothing and only Admin could flip it. Now every web switch and the phone's icon send the same request.

The setting lives on office (voice_lightning_on, _brain, _model, _effort), so the phone, a spoken message from the Watch and every browser agree on it. The defaults are Ollama, the brain's own default model (an empty string, which on Ollama is the cloud pin) and thinking off. Admin's Voice Mode panel and the phone's Settings › Lightning choose the brain, the model and the effort. The model list is read live from what each brain serves, so no model name lives in code. The effort picker offers only the chosen brain's own rungs, and the server refuses an effort off that dial.

What a Lit Turn Does

Only a spoken turn is lit. It goes to the Lightning brain's own chat route with voice_lightning: true: the setting's model rides the request (on Ollama, the cloud tier and the full mode, so every tool stays), the Lightning effort becomes the turn's posture, and the posture line tells her where she is running, the way the line from Lesson 7 always has: "Lightning, the fast voice setting Dad switched on for this talk." A depth ask still goes to Dad's deeper level. All seven chat routes do this the same way.

The conversation keeps its own brain. A lit turn writes no conversation posture, and when the web or the phone restores which brain a conversation runs on, it passes over replies whose question carried Lightning. Switch it off and the talk runs exactly as it did before, on its own brain and its own Think level. The record keeps both sides: the user row's voice_meta.lightning holds what the turn ran at, and the assistant row holds what answered, so Dad can compare turns afterwards.

Thinking Off, Unless There Is a Photo

Dad set the default to thinking off: Lightning is for quick spoken replies. Off has to be said, though. Until 2026-10-18 the Ollama adapter only ever sent think: true and left the field out otherwise, and DeepSeek Flash thinks when the field is missing, so the first live check found a turn recorded at off that had thought anyway. The adapter now sends think: false.

A photo is the exception. With thinking off, DeepSeek Flash read a screenshot as "a navigation screen" and missed the two buttons beside the map; with thinking on it found both at once. So a lit turn that carries an image runs that one turn at a level that thinks: on Ollama the model's own default when that one thinks (DeepSeek Flash's is high), elsewhere the first rung above thinking-off (Claude's low becomes medium). The posture line says why, and the record keeps the lifted effort with image_thinking and Dad's saved one beside it. The next turn is back on the setting, which is never rewritten.

Not for Delegation

The same night, a Lightning turn in Master Chief was asked to dispatch a todo. It ran 88 tool calls and 16 model requests, read 276,444 tokens and wrote 125, before Dad stopped it. His conclusion is in the design doc: Lightning is for quick spoken exchanges, not for Chief's coordination, and it is not to be made into that. Switch it off for that work.

What the First Measurement Said

One live turn each, the same dictated question about an evening walk: the normal turn on Claude Opus 5.5 at Dad's voice level (high, thinking on) showed its first text at 25.3 seconds and its first audio at 26.2. The Lightning turn on DeepSeek Flash, thinking off, showed them at 17.0 and 19.3. The normal turn had checked Dad's location before it spoke; the lit turn used no tool. And the doc names the rest honestly: most of Lightning's 17 seconds was the cloud model reading Pippa's whole prompt. A much smaller first-word time would need a lighter prompt, and that is the one lever the refusal list in Track 10 names and refuses. Lightning swaps the brain and keeps the whole soul. Dad's next message from Málaga was blunter, and the measuring it set off is Track 10's new lesson.

Code

A minimal sketch: where a lit turn runs, a photo's one-turn lift, and what the record keeps·python
from dataclasses import dataclass

# Office holds the switch, so the phone, the Watch and every browser agree.
LIGHTNING = {"on": True, "brain": "ollama", "model": "", "effort": "off"}   # "" = the brain's default
DIALS = {   # each brain's own rungs; Ollama's come from the model itself (/api/show)
    "ollama": ("off", "low", "high", "max"),
    "claude": ("low", "medium", "high", "xhigh", "max"),
}
MODEL_DEFAULT = {"ollama": "high"}   # DeepSeek Flash's own default, what think: true runs


def thinks(brain: str, rung: str) -> bool:
    """Claude's low runs with thinking off; any Ollama rung but off thinks."""
    if rung == "off":
        return False
    return not (brain == "claude" and rung == "low")


@dataclass
class Talk:
    brain: str = "claude"       # the conversation's own brain and Think level
    voice_level: str = "high"


def for_turn(talk: Talk, *, spoken: bool, image: bool, depth_ask: bool) -> dict:
    """Where one turn runs, and what the record keeps."""
    if not (spoken and LIGHTNING["on"]):
        return {"brain": talk.brain, "effort": talk.voice_level if spoken else "conversation's own",
                "lightning": None}
    brain, effort = LIGHTNING["brain"], LIGHTNING["effort"]
    record = {"brain": brain, "model": LIGHTNING["model"] or "(brain default)", "effort": effort}
    if image and not thinks(brain, effort):
        # This one turn only: on Ollama the model's own default when that one
        # thinks, elsewhere the first rung above thinking-off. The record keeps
        # what ran, with Dad's saved effort beside it.
        default = MODEL_DEFAULT.get(brain)
        effort = default if default and thinks(brain, default) else \
            next(r for r in DIALS[brain] if thinks(brain, r))
        record |= {"effort": effort, "image_thinking": True, "set_effort": LIGHTNING["effort"]}
    if depth_ask:
        effort = "high"   # a depth ask still goes to Dad's deeper level, through the posture
    line = f"Lightning, the fast voice setting Dad switched on for this talk: {brain} at {effort}."
    return {"brain": brain, "effort": effort, "lightning": record, "posture_line": line}


talk = Talk()
for name, kw in (("a quick question", dict(spoken=True, image=False, depth_ask=False)),
                 ("a photo of the menu", dict(spoken=True, image=True, depth_ask=False)),
                 ("think it through", dict(spoken=True, image=False, depth_ask=True)),
                 ("photo + depth ask", dict(spoken=True, image=True, depth_ask=True)),
                 ("a typed line", dict(spoken=False, image=False, depth_ask=False))):
    turn = for_turn(talk, **kw)
    print(f"{name:20s} -> {turn['brain']:6s} {turn['effort']:18s} {turn['lightning']}")
print("the talk's own brain afterwards:", talk.brain, talk.voice_level)   # a lit turn writes no posture

# Output:
# a quick question     -> ollama off                {'brain': 'ollama', 'model': '(brain default)', 'effort': 'off'}
# a photo of the menu  -> ollama high               {'brain': 'ollama', 'model': '(brain default)', 'effort': 'high', 'image_thinking': True, 'set_effort': 'off'}
# think it through     -> ollama high               {'brain': 'ollama', 'model': '(brain default)', 'effort': 'off'}
# photo + depth ask    -> ollama high               {'brain': 'ollama', 'model': '(brain default)', 'effort': 'high', 'image_thinking': True, 'set_effort': 'off'}
# a typed line         -> claude conversation's own None
# the talk's own brain afterwards: claude high

External links

Exercise

Run the sketch. Then make Claude the Lightning brain with its effort at low, send it a photo, and predict the rung before you run it. Next, compare the think-it-through and photo-plus-depth lines and explain why the record can say off while the turn ran high. Finally, write the comparison Dad wanted from the record: given a list of turns with voice_meta.lightning and a first-text time, print the median first text per brain.
Hint
Claude's low already runs with thinking off, so a photo lifts it to medium, the first rung of Claude's dial that thinks. A depth ask changes only how deep the turn runs, so its record keeps the saved off. When a photo and a depth ask meet, the record still notes the photo's lift, because the lift is decided first, and then the posture runs the turn at Dad's deeper level; the record says what the image did, the posture says how deep the turn went. For the comparison, group by the record's brain, not by the conversation's: a lit turn in a Claude conversation was answered by Ollama.

Progress

Progress is local-only — sign in to sync across devices.
Spotted a bug or have feedback on this page?Report an Issue

Comments 0

🔔 Reply notifications (sign in)
Sign in — Please sign in to comment.

No comments yet — be the first.