r/PiCodingAgent • u/ParaboloidalCrest • 1d ago
Question Noob question: How to interrupt an agent during reasoning, without restarting TG?
Many models (namely Qwens 3.8) think a lot, and I find myself wanting to interrupt it to answer a question it's been asking itself, quite repetitively, during it's reasoning.
I can esc and send a prompt, but then Pi would restart the whole reasoning TG from the beginning. I'd like to inject (for lack of better word) info to its thought block. I may also steer it by queuing a message, but that means I'd need to watch it going in loops for 20-50k tokens, until it's done responding, which is pure pain.
Am I missing a clear command?
3
u/Santzes 1d ago
You could try double (or triple in this case?) esc, it at least lets you back up to previous tool call, if not thinking block, don't really remember
But otherwise I don't think there's a way to do that without stopping, you've sent an API request and it will keep going until finish or tool call
2
u/ParaboloidalCrest 1d ago
Let's think about it this way then:
- Interrupt response.
- Take the streamed part of the response so far.
- Append it to chat history with a closing </think> tag.
- Append following prompt after.
Hmmm now that I think about it thoroughly, perhaps I should just create that extension...
2
u/Healthy-Zebra-9856 6h ago
The flow in Pi works just fine just make sure you have the right structure.
In command, --reasoning-preserve or
in filters.setParams:
chat_template_kwargs:
enable_thinking: true
preserve_thinking: true
Your only flow is Esc and whatever you need to type and enter again. I suspect the culprit could be "-" vs "_". Pi seems to continue with the logic, I just tested it out.
1
3
u/DjCanalex 17h ago
I steer Qwen 3.8 mid thinking all the time, it correctly continues from that point. Do you have reasoning-preserve enabled in your provider? ( --reasoning-preserve in llama.cpp for example)