Loading video...
Video Failed to Load
People use Jev to pick a model before a task. I made it change GPT-6's reasoning effort inside Codex DURING the task. More thinking when stuck. Less for routine steps. 50% lower Astra costs in my tests. Faster runs, without breaking prompt caching.
628,428 views • 6 days ago •via X (Twitter)
33 Comments

it does break caching

If this gets traction, I'll open-source it on my GitHub (and post again on X to notify). I've been using it for real work in Codex CLI. It uses Codex CLI's experimental per-step settings to change reasoning effort before the next GPT-6 generation. After tool results, Jev gets the task, published reasoning/progress summaries, and the last six tool calls with bounded outputs. It picks an effort level and how long to keep it: 1, 2, 5, or 10 generations. No extra Jev calls during that window. Tool failures or new user input can trigger an earlier reassessment. This version specifically targets GPT-6 Astra. Effort changes use native Codex configuration updates that preserve the existing prompt prefix and cache. No cache rebuild penalty just for changing effort. Jev is fast enough that I don't notice the routing overhead. Lower effort on routine steps saves enough reasoning time to make the overall task faster, while using fewer tokens.

oh this is fire actually, i feel like i only see people trying to route between different models but routing the thinking level of one model during a turn is an interesting idea

The practical rule is to make reasoning effort adaptive, but cap the escalation: spend extra tokens only after a measurable stall or failed check, then fall back once progress resumes.

推論努力を動的に変えるのは私も試したけど、「詰まった」の判定をどこに置くかで全然違う結果になった。

doesn't this break context caching or no

It doesn’t with Astra only, I really hope some folks would research question first before arguing, I remember when they announced it when Astra came out and that’s why I decided to build it :)

could this work with laya?

hear me out. jev is really powerful, but people are starting to treat it like an oracle for decisions that only make sense once you’re actually in the task. some questions just don’t have an answer upfront.

Okay loads of comments about how this breaks cache. I believe it does work on API but not on subscription yet. @grok ?

each switch breaks cache?

Pls benchmark the savings

have you actually tested this? I built this too but it completely voided the cache on longer-running tasks. Actually making it more expensive.

Breaking cache means you paying 10x higher every prompt lol

that might be really cool use case - i will try that. thanks for sharing

Cool. I guess the risk is just that Jev guesses wrong and uses the wrong model strength sometimes. Thoughts?

That’ll hurt cache efficiency a lot. Not good...

Keeping the cache intact is the clever part. Swapping models mid-task throws away the prefix you already paid for, so the saving gets eaten. Turning effort up and down on one model keeps it. How does it decide it's stuck: repeated tool errors, or something softer?

The cache preservation detail is the part worth digging into though, since that's usually where dynamic switching schemes break in practice.

Isn’t that very stupid, as it increases your usage by a lot, because of all the cache misses?

본문이 맞다면 오픈AI는 비난을 들어야 할정도입니다. 정말 대단합니다! 오픈소스 결정은 더욱 대단하네요. 어떤 누군가는 글자를 유료로 공유하고 있는데말이죠.

publish it!

This is amazing! Is it still sending the entire context of the conversation when switching the models and reasoning? I've heard that to be true when you're manually switching mid thread and isn't efficient, although I've always done this myself, just curious. 🤔

Very needed in opencode or kilo

Check your bill 🤣

但是有人测试发现Astra Medium比Xhigh消耗还要快,希望这只是codex的bug

Changing reasoning effort busts the cache

that’s amazing!

That's very cool! Thank you!

that’s a cache miss

Toggling reasoning effort purely at the request level to keep the prefix cache intact is such a clever move.

Does this break cache?

This one definitely stands out.
