Files
buzz/desktop/src-tauri
Michael Neale ad13ed8411 fix(mesh): leave thinking effort to the model's own template
Shared compute pinned BUZZ_AGENT_THINKING_EFFORT. That is not a sampling
hint: mesh translates `reasoning_effort` into the chat template's
`enable_thinking` flag, so any value Buzz sends overrides the default the
model authors shipped — and the right value is model-specific.

Measured against a request captured from the real agent (full ~43k-token
system prompt, real dev-mcp toolset, tool_choice=auto):

  effort   gemma-4-E4B   Qwen3-8B   Qwen3-8B output tokens
  none         0/8          8/8               ~121
  low          4/4          7/8               ~470
  unset        6/6          8/8               ~500

`none` (the previous default, chosen when shared compute was Qwen3-only)
stops gemma tool-calling outright, so its replies were never published.
Enabling thinking instead makes Qwen3 spend ~4x the output budget, which
risks the 4096 cap this preset sets.

Omitting the field leaves `enable_thinking` as None, so mesh passes no
override and each model uses its own template default: 3/3 delivery on
gemma-4-E4B, gemma-4-26B-A4B, gemma-4-31B and Qwen3-8B, and 3/3 replies
through the real buzz-acp + buzz-agent path against a live relay.

Thinking levels are unaffected: an explicit agent/persona/global value is
still preserved and applied.

Signed-off-by: Michael Neale <michael.neale@gmail.com>
2026-07-30 10:47:44 +10:00
..