mirror of
https://github.com/shareAI-lab/analysis_claude_code.git
synced 2026-05-07 00:36:18 +08:00
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:
@@ -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__":
|
||||||
|
|||||||
@@ -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,
|
||||||
|
|||||||
@@ -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,
|
||||||
|
|||||||
@@ -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,
|
||||||
|
|||||||
@@ -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,
|
||||||
|
|||||||
@@ -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 ===
|
||||||
|
|||||||
@@ -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."},
|
|
||||||
]
|
]
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -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(...)
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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."},
|
|
||||||
]
|
]
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -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(...)
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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."},
|
|
||||||
]
|
]
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -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(...)
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user