fix: Prevent assistant-message prefill rejected by Claude 4.6
This commit is contained in:
@@ -188,6 +188,9 @@ class LLM:
|
|||||||
conversation_history.extend(compressed)
|
conversation_history.extend(compressed)
|
||||||
messages.extend(compressed)
|
messages.extend(compressed)
|
||||||
|
|
||||||
|
if messages[-1].get("role") == "assistant":
|
||||||
|
messages.append({"role": "user", "content": "<meta>Continue the task.</meta>"})
|
||||||
|
|
||||||
if self._is_anthropic() and self.config.enable_prompt_caching:
|
if self._is_anthropic() and self.config.enable_prompt_caching:
|
||||||
messages = self._add_cache_control(messages)
|
messages = self._add_cache_control(messages)
|
||||||
|
|
||||||
|
|||||||
@@ -91,7 +91,7 @@ def _summarize_messages(
|
|||||||
if not messages:
|
if not messages:
|
||||||
empty_summary = "<context_summary message_count='0'>{text}</context_summary>"
|
empty_summary = "<context_summary message_count='0'>{text}</context_summary>"
|
||||||
return {
|
return {
|
||||||
"role": "assistant",
|
"role": "user",
|
||||||
"content": empty_summary.format(text="No messages to summarize"),
|
"content": empty_summary.format(text="No messages to summarize"),
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -123,7 +123,7 @@ def _summarize_messages(
|
|||||||
return messages[0]
|
return messages[0]
|
||||||
summary_msg = "<context_summary message_count='{count}'>{text}</context_summary>"
|
summary_msg = "<context_summary message_count='{count}'>{text}</context_summary>"
|
||||||
return {
|
return {
|
||||||
"role": "assistant",
|
"role": "user",
|
||||||
"content": summary_msg.format(count=len(messages), text=summary),
|
"content": summary_msg.format(count=len(messages), text=summary),
|
||||||
}
|
}
|
||||||
except Exception:
|
except Exception:
|
||||||
|
|||||||
Reference in New Issue
Block a user