fix: prevent tool_result order corruption in s07 reminder injection

This commit is contained in:
neystan
2026-05-23 13:47:22 +08:00
parent 06ac34ed4d
commit 2ba5b7e837

View File

@@ -344,12 +344,9 @@ def agent_loop(messages: list):
global rounds_since_todo global rounds_since_todo
while True: while True:
if rounds_since_todo >= 3 and messages: if rounds_since_todo >= 3 and messages:
last = messages[-1] messages.append({"role": "user",
if last["role"] == "user" and isinstance(last.get("content"), list): "content": "<reminder>Update your todos.</reminder>"})
last["content"].insert(0, { rounds_since_todo = 0
"type": "text",
"text": "<reminder>Update your todos.</reminder>",
})
response = client.messages.create( response = client.messages.create(
model=MODEL, system=SYSTEM, messages=messages, model=MODEL, system=SYSTEM, messages=messages,