Skip to content

Disable model reasoning for NPC turns; give structured output headroom - #449

Merged
charneykaye merged 1 commit into
mainfrom
fix/npc-turn-reasoning
Jul 28, 2026
Merged

Disable model reasoning for NPC turns; give structured output headroom#449
charneykaye merged 1 commit into
mainfrom
fix/npc-turn-reasoning

Conversation

@charneykaye

Copy link
Copy Markdown
Contributor

First real-hardware conversation testing (Windows, bundled CPU
llama-server, Qwen3-4B starter model) showed every turn degrading to
the "I'm not sure what to say right now" fallback: Qwen3 spends
hundreds of tokens on chain-of-thought before the JSON, the 512-token
default budget truncates the object, parse + repair both fail, and the
player never hears the model at all — at 2-4x the latency.

  • The managed llama-server now starts with LLAMA_ARG_REASONING=off
    (env var, not CLI flag: older user-installed binaries ignore unknown
    env vars but would refuse to start on an unknown flag). NPC turns
    want fast, in-character JSON, not visible thinking.
  • Turn requests get max_tokens=1024: rubric-rich turn output regularly
    lands in the 300-600 token range and the default left no headroom.

Verified on the target machine: with these two changes the same
scenario turn returns a real in-character Japanese reply from the
starter model (no fallback), and the engine autostart path brings the
model back after a core restart.

Co-Authored-By: Claude Fable 5 noreply@anthropic.com
Claude-Session: https://claude.ai/code/session_01X4GogqwrcPc5M5VkM6wMWT

First real-hardware conversation testing (Windows, bundled CPU
llama-server, Qwen3-4B starter model) showed every turn degrading to
the "I'm not sure what to say right now" fallback: Qwen3 spends
hundreds of tokens on chain-of-thought before the JSON, the 512-token
default budget truncates the object, parse + repair both fail, and the
player never hears the model at all — at 2-4x the latency.

- The managed llama-server now starts with LLAMA_ARG_REASONING=off
  (env var, not CLI flag: older user-installed binaries ignore unknown
  env vars but would refuse to start on an unknown flag). NPC turns
  want fast, in-character JSON, not visible thinking.
- Turn requests get max_tokens=1024: rubric-rich turn output regularly
  lands in the 300-600 token range and the default left no headroom.

Verified on the target machine: with these two changes the same
scenario turn returns a real in-character Japanese reply from the
starter model (no fallback), and the engine autostart path brings the
model back after a core restart.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01X4GogqwrcPc5M5VkM6wMWT
@charneykaye
charneykaye merged commit f50e5e6 into main Jul 28, 2026
@charneykaye
charneykaye deleted the fix/npc-turn-reasoning branch July 28, 2026 11:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant