Skip to content

dir-steering: pass --think, not --think-high, to ds4 - #935

Open
eauchs wants to merge 1 commit into
antirez:mainfrom
eauchs:fix-dir-steering-think-flag
Open

dir-steering: pass --think, not --think-high, to ds4#935
eauchs wants to merge 1 commit into
antirez:mainfrom
eauchs:fix-dir-steering-think-flag

Conversation

@eauchs

@eauchs eauchs commented Sep 1, 2026

Copy link
Copy Markdown

build_direction.py --think aborts before capturing anything:

ds4: unknown option: --think-high

ds4 accepts --think, --think-max and --nothink. --think-high is not one of them, so every thinking-mode capture fails on the first pair. The default (non-thinking) path is unaffected, which is why the documented example still works.

One character in run_capture():

-    cmd.append("--think-high" if think else "--nothink")
+    cmd.append("--think" if think else "--nothink")

Verified on an M3 Max 128 GB, GLM 5.3 Flash Q2, --profile glm-5.3-flash:

  • before: fails at pair 1/100
  • after: completes 100/100 and writes a 45 x 4096 direction

Worth having because the two capture points are not interchangeable. Building the same 100 matched pairs both ways, the per-layer cosine between the direct-answer direction and the post-<think> direction averages 0.19, diverging most in layers 3 to 12. So --think selects a genuinely different behavioural axis rather than a variant of the same one — and until now it was unreachable.

build_direction.py --think aborts before capturing anything:

    ds4: unknown option: --think-high

The ds4 CLI accepts --think, --think-max and --nothink; --think-high is
not one of them, so every thinking-mode capture fails at the first pair.
The non-thinking path is unaffected, which is why the default run works.

Verified on macOS with GLM 5.3 Flash Q2: with the fix, --think completes
100 pairs and writes a 45 x 4096 direction, and the resulting direction
is nearly orthogonal to the one captured on direct answers (mean per-layer
cosine 0.19), so the two capture points are not interchangeable.
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