Merge pull request #118 from deanbear/fix-auto-compact-400

fix: remove hardcoded assistant ack after auto_compact to fix 400
This commit is contained in:
CrazyBoyM
2026-03-29 23:52:02 +08:00
15 changed files with 2 additions and 32 deletions

View File

@@ -117,7 +117,6 @@ def auto_compact(messages: list) -> list:
# Replace all messages with compressed summary # Replace all messages with compressed summary
return [ return [
{"role": "user", "content": f"[Conversation compressed. Transcript: {transcript_path}]\n\n{summary}"}, {"role": "user", "content": f"[Conversation compressed. Transcript: {transcript_path}]\n\n{summary}"},
{"role": "assistant", "content": "Understood. I have the context from the summary. Continuing."},
] ]
@@ -228,6 +227,7 @@ def agent_loop(messages: list):
if manual_compact: if manual_compact:
print("[manual compact]") print("[manual compact]")
messages[:] = auto_compact(messages) messages[:] = auto_compact(messages)
return
if __name__ == "__main__": if __name__ == "__main__":

View File

@@ -194,7 +194,6 @@ def agent_loop(messages: list):
f"[bg:{n['task_id']}] {n['status']}: {n['result']}" for n in notifs f"[bg:{n['task_id']}] {n['status']}: {n['result']}" for n in notifs
) )
messages.append({"role": "user", "content": f"<background-results>\n{notif_text}\n</background-results>"}) messages.append({"role": "user", "content": f"<background-results>\n{notif_text}\n</background-results>"})
messages.append({"role": "assistant", "content": "Noted background results."})
response = client.messages.create( response = client.messages.create(
model=MODEL, system=SYSTEM, messages=messages, model=MODEL, system=SYSTEM, messages=messages,
tools=TOOLS, max_tokens=8000, tools=TOOLS, max_tokens=8000,

View File

@@ -350,10 +350,6 @@ def agent_loop(messages: list):
"role": "user", "role": "user",
"content": f"<inbox>{json.dumps(inbox, indent=2)}</inbox>", "content": f"<inbox>{json.dumps(inbox, indent=2)}</inbox>",
}) })
messages.append({
"role": "assistant",
"content": "Noted inbox messages.",
})
response = client.messages.create( response = client.messages.create(
model=MODEL, model=MODEL,
system=SYSTEM, system=SYSTEM,

View File

@@ -431,10 +431,6 @@ def agent_loop(messages: list):
"role": "user", "role": "user",
"content": f"<inbox>{json.dumps(inbox, indent=2)}</inbox>", "content": f"<inbox>{json.dumps(inbox, indent=2)}</inbox>",
}) })
messages.append({
"role": "assistant",
"content": "Noted inbox messages.",
})
response = client.messages.create( response = client.messages.create(
model=MODEL, model=MODEL,
system=SYSTEM, system=SYSTEM,

View File

@@ -515,10 +515,6 @@ def agent_loop(messages: list):
"role": "user", "role": "user",
"content": f"<inbox>{json.dumps(inbox, indent=2)}</inbox>", "content": f"<inbox>{json.dumps(inbox, indent=2)}</inbox>",
}) })
messages.append({
"role": "assistant",
"content": "Noted inbox messages.",
})
response = client.messages.create( response = client.messages.create(
model=MODEL, model=MODEL,
system=SYSTEM, system=SYSTEM,

View File

@@ -255,7 +255,6 @@ def auto_compact(messages: list) -> list:
summary = resp.content[0].text summary = resp.content[0].text
return [ return [
{"role": "user", "content": f"[Compressed. Transcript: {path}]\n{summary}"}, {"role": "user", "content": f"[Compressed. Transcript: {path}]\n{summary}"},
{"role": "assistant", "content": "Understood. Continuing with summary context."},
] ]
@@ -665,12 +664,10 @@ def agent_loop(messages: list):
if notifs: if notifs:
txt = "\n".join(f"[bg:{n['task_id']}] {n['status']}: {n['result']}" for n in notifs) txt = "\n".join(f"[bg:{n['task_id']}] {n['status']}: {n['result']}" for n in notifs)
messages.append({"role": "user", "content": f"<background-results>\n{txt}\n</background-results>"}) messages.append({"role": "user", "content": f"<background-results>\n{txt}\n</background-results>"})
messages.append({"role": "assistant", "content": "Noted background results."})
# s10: check lead inbox # s10: check lead inbox
inbox = BUS.read_inbox("lead") inbox = BUS.read_inbox("lead")
if inbox: if inbox:
messages.append({"role": "user", "content": f"<inbox>{json.dumps(inbox, indent=2)}</inbox>"}) messages.append({"role": "user", "content": f"<inbox>{json.dumps(inbox, indent=2)}</inbox>"})
messages.append({"role": "assistant", "content": "Noted inbox messages."})
# LLM call # LLM call
response = client.messages.create( response = client.messages.create(
model=MODEL, system=SYSTEM, messages=messages, model=MODEL, system=SYSTEM, messages=messages,
@@ -706,6 +703,7 @@ def agent_loop(messages: list):
if manual_compress: if manual_compress:
print("[manual compact]") print("[manual compact]")
messages[:] = auto_compact(messages) messages[:] = auto_compact(messages)
return
# === SECTION: repl === # === SECTION: repl ===

View File

@@ -81,7 +81,6 @@ def auto_compact(messages: list) -> list:
) )
return [ return [
{"role": "user", "content": f"[Compressed]\n\n{response.content[0].text}"}, {"role": "user", "content": f"[Compressed]\n\n{response.content[0].text}"},
{"role": "assistant", "content": "Understood. Continuing."},
] ]
``` ```

View File

@@ -81,8 +81,6 @@ def agent_loop(messages: list):
messages.append({"role": "user", messages.append({"role": "user",
"content": f"<background-results>\n{notif_text}\n" "content": f"<background-results>\n{notif_text}\n"
f"</background-results>"}) f"</background-results>"})
messages.append({"role": "assistant",
"content": "Noted background results."})
response = client.messages.create(...) response = client.messages.create(...)
``` ```

View File

@@ -93,8 +93,6 @@ def _teammate_loop(self, name, role, prompt):
if inbox != "[]": if inbox != "[]":
messages.append({"role": "user", messages.append({"role": "user",
"content": f"<inbox>{inbox}</inbox>"}) "content": f"<inbox>{inbox}</inbox>"})
messages.append({"role": "assistant",
"content": "Noted inbox messages."})
response = client.messages.create(...) response = client.messages.create(...)
if response.stop_reason != "tool_use": if response.stop_reason != "tool_use":
break break

View File

@@ -81,7 +81,6 @@ def auto_compact(messages: list) -> list:
) )
return [ return [
{"role": "user", "content": f"[Compressed]\n\n{response.content[0].text}"}, {"role": "user", "content": f"[Compressed]\n\n{response.content[0].text}"},
{"role": "assistant", "content": "Understood. Continuing."},
] ]
``` ```

View File

@@ -81,8 +81,6 @@ def agent_loop(messages: list):
messages.append({"role": "user", messages.append({"role": "user",
"content": f"<background-results>\n{notif_text}\n" "content": f"<background-results>\n{notif_text}\n"
f"</background-results>"}) f"</background-results>"})
messages.append({"role": "assistant",
"content": "Noted background results."})
response = client.messages.create(...) response = client.messages.create(...)
``` ```

View File

@@ -93,8 +93,6 @@ def _teammate_loop(self, name, role, prompt):
if inbox != "[]": if inbox != "[]":
messages.append({"role": "user", messages.append({"role": "user",
"content": f"<inbox>{inbox}</inbox>"}) "content": f"<inbox>{inbox}</inbox>"})
messages.append({"role": "assistant",
"content": "Noted inbox messages."})
response = client.messages.create(...) response = client.messages.create(...)
if response.stop_reason != "tool_use": if response.stop_reason != "tool_use":
break break

View File

@@ -81,7 +81,6 @@ def auto_compact(messages: list) -> list:
) )
return [ return [
{"role": "user", "content": f"[Compressed]\n\n{response.content[0].text}"}, {"role": "user", "content": f"[Compressed]\n\n{response.content[0].text}"},
{"role": "assistant", "content": "Understood. Continuing."},
] ]
``` ```

View File

@@ -81,8 +81,6 @@ def agent_loop(messages: list):
messages.append({"role": "user", messages.append({"role": "user",
"content": f"<background-results>\n{notif_text}\n" "content": f"<background-results>\n{notif_text}\n"
f"</background-results>"}) f"</background-results>"})
messages.append({"role": "assistant",
"content": "Noted background results."})
response = client.messages.create(...) response = client.messages.create(...)
``` ```

View File

@@ -93,8 +93,6 @@ def _teammate_loop(self, name, role, prompt):
if inbox != "[]": if inbox != "[]":
messages.append({"role": "user", messages.append({"role": "user",
"content": f"<inbox>{inbox}</inbox>"}) "content": f"<inbox>{inbox}</inbox>"})
messages.append({"role": "assistant",
"content": "Noted inbox messages."})
response = client.messages.create(...) response = client.messages.create(...)
if response.stop_reason != "tool_use": if response.stop_reason != "tool_use":
break break