docs(transcripts): Qwen3-32B on vLLM, with and without thinking - #23
Conversation
Two runs of find-and-kick on the same build, the same seed and the same server, differing only in whether --extra-body turned the model's deliberation off. Both succeeded. With thinking on, all eight LLM calls deliberate in the open and the run spends 2049 output tokens over four steps. With it off, none of the five do and the run spends 263 over three. Neither needed the JSON text fallback. The totals flatter it, because the two runs took different paths: the thinking one spent two steps on remember and quack. The per-call figures are the honest ones, 165 to 402 output tokens a call becoming 19 to 130. reasoning_tokens reads 0 in both, which says something about the server rather than the model. Without --reasoning-parser vLLM leaves the thinking inside content, where it is billed as output. The machine is an aarch64 NVIDIA GB10, which nothing here had run on before.
Three documents and the plan counted the evidence for memory between runs, and all four counted it as one model on one machine with no chain anywhere. The two files this PR added make every one of those sentences stale, and none of them is in a file the contributor touched. README's Memory row and its Known limits bullet, and the same sentence in docs/memory.md, now say two local models on two machines, and say that one published pair carries a note from the run that saved it into the prompt of the run after. docs/memory.md's argument for putting `remember` inside the numbered strategy rested on one model: Qwen 2.5 Coder 14B read the block and never wrote to it. Qwen3-32B-AWQ now says the same thing from the other end. With the call in strategy step 5 it made it, and the run after correctly did not, because the fact was already in its prompt and the Memory section says to skip one the prompt already remembers. That is the feature working in both directions, which no transcript here had shown. PLAN.md's open item asked for two things, a second local server and a run whose note is read by the next. #23 closed both. The item now asks for Ollama, llama.cpp, a run on this machine, and a task harder than the starter duck, which is what is actually left. The README bullet the contributor did write now quotes the five shared decisions rather than the totals, for the reason the previous commit gives. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
Merged. Your commit is on Every number in your tables came off The scrub held. No home directory, no drive letter, no host and no address in either file. One note on it: Six things went in on top. Your block landed between the Qwen 2.5 table and the four paragraphs that discuss it, so "These two are not a chain, and nothing here should be read as one" ended up sitting under your pair. That sentence is about seeds 5 and 6, and yours is a chain, so it said the opposite of the truth to anyone reading straight down. Both pairs sit whole now, one after the other. The drop is 4.9x rather than 7.8x. You said the totals flatter it and then left the number at the ranges for each call. Five decisions are common to both runs,
The expensive first call is the verdict. It is "The thinking sits in "One variable" is not quite it. The two system prompts differ by 397 characters, and that is exactly two lines. Which is the part you did not claim. Those two lines are the note your thinking run saved and the episode quackd wrote from that same run. There is a test now. Still open here: Ollama, llama.cpp, anything at all on this machine, and any task harder than the starter duck. Thanks for going and measuring it. You were told the tests could prove the object reaches the SDK call and nothing more, you had the only machine in reach that could settle the rest, and you built it as one run against another instead of two runs, which is the reason there is a number to argue about. |
What
Two runs of
find-and-kickon the same build (739ff84), the same seed and the same server,differing only in whether
--extra-bodyturned the model's deliberation off. This is themeasurement asked for in #12 and #22: the tests there prove the object reaches the SDK call,
and nothing proved the thinking stops.
Kind of change
What the two runs say
--extra-body)Both succeeded on the same criterion. Three things the totals hide, all of them in the docs
change as well:
rememberandquack. Part of 2,049 to 263 is a shorter route, not silence. The per-callfigures are the honest ones: 165 to 402 output tokens a call becomes 19 to 130.
40 tokens and 1.9 to 3.9 s for every call after it. It is not deliberation, because the
quiet transcript has none anywhere.
reasoning_tokensreads 0 in both, which is a fact about a server running without--reasoning-parserrather than evidence of a model that did not reason. The thinking sitsin
contentand is billed as output, which is why output tokens is the column to read.The machine is an
aarch64NVIDIA GB10 (ASUS Ascent GX10) running vLLM 0.27.2.dev, whichnothing in this project had run on before.
Checklist
uv run ruff check . && uv run ruff format --check . && uv run mypy && uv run pytestpass locally~/.quackd/cacheuv run quackd validate ducks/*.duckpasses (unchanged by this PR)One note on the transcripts themselves:
duck_pathand the memory path were rewritten torelative form, matching the two transcripts already in the folder. The runs came from
uvx, so those fields held an absolute Windows cache path and a home directory. Nothingelse was touched.