Summary
On qianwen.com web chat, the chat history visible to the user does not always match the model-visible active context in the next turn. Editing the latest user message and regenerating an assistant answer appear to create/switch active branches. This is risky for long, context-sensitive conversations because users may believe the model still sees the visible chat history, while the next model call may follow a different active branch.
Environment
- Product: qianwen.com web chat
- Model: Qwen3.7-Max
- Mode: Thinking enabled
- Channel: normal chat text, no file attachment
- OS: Ubuntu 26.04
- Date tested: 2026-05
One-sentence user-facing explanation
The chat I can see on the page is not always the chat the model actually remembers in the next reply; after edit/regenerate, the model may follow a different branch.
Observed behavior
- Normal short appended messages are retained and can be recalled verbatim.
- After editing the latest user message:
- Messages before the edited turn remain visible to the model.
- The original edited-away user message is no longer available in the active context.
- The original assistant answer to that message is no longer available in the active context.
- The edited user message and the new assistant answer are available in the active context.
- During regeneration, the regenerated candidate can see or receive the previous candidate answer.
- After regeneration, the next normal user turn mainly follows the currently visible candidate; previous candidates are not reliably available as normal chat history.
- Therefore UI-visible history, edit branch, regenerate candidate context, and next-turn active context appear to be different mechanisms.
Minimal reproduction A: latest-message edit
- Send:
A2_PREFIX_MESSAGE
A2_PREFIX_USER_SENTINEL:PREFIX_U_9KQ2M7VX4LRA
Please only reply:
A2_PREFIX_ASSISTANT_SENTINEL:PREFIX_A_3WT8C5NP6QYZ
- Send:
A2_LATEST_ORIGINAL_MESSAGE
A2_ORIGINAL_USER_SENTINEL:ORIG_U_7LM5Q2VK9XPA
Please only reply:
A2_ORIGINAL_ASSISTANT_SENTINEL:ORIG_A_6NC8T3WY5KQD
- Edit the latest user message to:
A2_LATEST_EDITED_MESSAGE
A2_EDITED_USER_SENTINEL:EDIT_U_4RA9K2MX7QVP
Please only reply:
A2_EDITED_ASSISTANT_SENTINEL:EDIT_A_8YP3L6NC5WTQ
- Send audit:
{
"latest_edit_clean_test": {
"prefix_user": null,
"prefix_assistant": null,
"original_user": null,
"original_assistant": null,
"edited_user": null,
"edited_assistant": null,
"negative_control": null
}
}
Observed: prefix_user/prefix_assistant and edited_user/edited_assistant were recalled, while original_user/original_assistant were null. This suggests editing replaces the latest branch while preserving prefix history.
Minimal reproduction B: regeneration candidate context
- Send a prompt that outputs a JSON code on first generation and asks the model to report the previous candidate if this is a regeneration.
- Click regenerate.
- Observed: the regenerated candidate was able to include the previous candidate code in
prior_candidate_final_answer.
This suggests regeneration is not independent resampling; the previous candidate may be injected into the regeneration context.
Expected behavior / requested improvement
- The UI should clearly indicate which branch is active.
- Editing should warn users that the edited turn and later answers may be replaced in the model-visible context.
- Regeneration should clarify whether previous candidates are used to produce new candidates.
- There should be a “show active branch / active context” indicator, or at least a warning for long/context-sensitive chats.
- The UI should not imply that visible chat history equals model-visible context unless that is actually true.
Impact
This can mislead users in long, context-sensitive workflows such as legal analysis, academic writing, code debugging, experiment logging, contract review, and long-running research. Users may believe the model sees the full visible conversation while it is actually using a different active branch.
Summary
On qianwen.com web chat, the chat history visible to the user does not always match the model-visible active context in the next turn. Editing the latest user message and regenerating an assistant answer appear to create/switch active branches. This is risky for long, context-sensitive conversations because users may believe the model still sees the visible chat history, while the next model call may follow a different active branch.
Environment
One-sentence user-facing explanation
The chat I can see on the page is not always the chat the model actually remembers in the next reply; after edit/regenerate, the model may follow a different branch.
Observed behavior
Minimal reproduction A: latest-message edit
{ "latest_edit_clean_test": { "prefix_user": null, "prefix_assistant": null, "original_user": null, "original_assistant": null, "edited_user": null, "edited_assistant": null, "negative_control": null } }Observed: prefix_user/prefix_assistant and edited_user/edited_assistant were recalled, while original_user/original_assistant were null. This suggests editing replaces the latest branch while preserving prefix history.
Minimal reproduction B: regeneration candidate context
prior_candidate_final_answer.This suggests regeneration is not independent resampling; the previous candidate may be injected into the regeneration context.
Expected behavior / requested improvement
Impact
This can mislead users in long, context-sensitive workflows such as legal analysis, academic writing, code debugging, experiment logging, contract review, and long-running research. Users may believe the model sees the full visible conversation while it is actually using a different active branch.