From 85f17db4875805c1e0701e8caa7bfa75216ddfdc Mon Sep 17 00:00:00 2001 From: Liang Jiaqing Date: Fri, 20 Mar 2026 23:47:15 +0800 Subject: [PATCH] feat: prompt_cache skip compress + style --- agent_loop.py | 3 +-- llmcore.py | 5 +++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/agent_loop.py b/agent_loop.py index 41efa55..2eb87bd 100644 --- a/agent_loop.py +++ b/agent_loop.py @@ -79,8 +79,7 @@ def agent_runner_loop(client, system_prompt, user_input, handler, tools_schema, yield '`````\n' outcome = yield from gen yield '`````\n' - else: - outcome = exhaust(gen) + else: outcome = exhaust(gen) if outcome.next_prompt is None: return {'result': 'CURRENT_TASK_DONE', 'data': outcome.data} if outcome.should_exit: return {'result': 'EXITED', 'data': outcome.data} diff --git a/llmcore.py b/llmcore.py index 8df4fb9..5a081f6 100644 --- a/llmcore.py +++ b/llmcore.py @@ -73,8 +73,9 @@ class ClaudeSession: self.default_model = cfg.get('model', 'claude-opus') self.context_win = cfg.get('context_win', 12000) self.raw_msgs, self.lock = [], threading.Lock() + self.prompt_cache = cfg.get('prompt_cache', False) def _trim_messages(self, messages): - compress_history_tags(messages) + if not self.prompt_cache: compress_history_tags(messages) total = sum(len(m['prompt']) for m in messages) if total <= self.context_win * 4: return messages target, current, result = self.context_win * 4 * 0.9, 0, [] @@ -270,7 +271,7 @@ class LLMSession: return def make_messages(self, raw_list, omit_images=True): - compress_history_tags(raw_list) + if not self.prompt_cache: compress_history_tags(raw_list) messages = [] for i, msg in enumerate(raw_list): prompt = msg['prompt']