From c292aae67170792d31b38afa0863eae2c788cd6f Mon Sep 17 00:00:00 2001 From: ZxlDragonDoctor <152901610+ZxlDragonDoctor@users.noreply.github.com> Date: Thu, 10 Sep 2026 01:28:39 +0800 Subject: [PATCH] =?UTF-8?q?=EF=BB=BFfix(s08):=20recognize=20Anthropic=20"p?= =?UTF-8?q?rompt=20is=20too=20long"=20for=20reactive=20compact?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Anthropic documents context overflow as "prompt is too long" (400 invalid_request_error). s08 only matched prompt_too_long and too many tokens, so reactive compact never ran. Fixes #560 --- s08_context_compact/README.ja.md | 2 +- s08_context_compact/README.md | 2 +- s08_context_compact/README.zh.md | 2 +- s08_context_compact/code.py | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/s08_context_compact/README.ja.md b/s08_context_compact/README.ja.md index 07fa610a1..c7008bb92 100644 --- a/s08_context_compact/README.ja.md +++ b/s08_context_compact/README.ja.md @@ -236,7 +236,7 @@ def agent_loop(messages, active_request): except Exception as error: message = str(error).lower() too_long = ("prompt_too_long" in message - or "too many tokens" in message) + or "too many tokens / `prompt is too long`" in message) if too_long and reactive_retries < MAX_REACTIVE_RETRIES: messages[:] = COMPACTOR.reactive_compact( messages, active_request) diff --git a/s08_context_compact/README.md b/s08_context_compact/README.md index 924f88c85..e58c662f6 100644 --- a/s08_context_compact/README.md +++ b/s08_context_compact/README.md @@ -236,7 +236,7 @@ def agent_loop(messages, active_request): except Exception as error: message = str(error).lower() too_long = ("prompt_too_long" in message - or "too many tokens" in message) + or "too many tokens / `prompt is too long`" in message) if too_long and reactive_retries < MAX_REACTIVE_RETRIES: messages[:] = COMPACTOR.reactive_compact( messages, active_request) diff --git a/s08_context_compact/README.zh.md b/s08_context_compact/README.zh.md index 013130ab4..1022d0e9f 100644 --- a/s08_context_compact/README.zh.md +++ b/s08_context_compact/README.zh.md @@ -236,7 +236,7 @@ def agent_loop(messages, active_request): except Exception as error: message = str(error).lower() too_long = ("prompt_too_long" in message - or "too many tokens" in message) + or "too many tokens / `prompt is too long`" in message) if too_long and reactive_retries < MAX_REACTIVE_RETRIES: messages[:] = COMPACTOR.reactive_compact( messages, active_request) diff --git a/s08_context_compact/code.py b/s08_context_compact/code.py index 765c99995..cde711d24 100644 --- a/s08_context_compact/code.py +++ b/s08_context_compact/code.py @@ -536,7 +536,7 @@ def agent_loop(messages: list, active_request: str): reactive_retries = 0 except Exception as error: too_long = any(text in str(error).lower() - for text in ("prompt_too_long", "too many tokens")) + for text in ("prompt_too_long", "too many tokens", "prompt is too long")) if too_long and reactive_retries < MAX_REACTIVE_RETRIES: print("[reactive compact]") messages[:] = COMPACTOR.reactive_compact(messages, active_request)