yc1838 commited on
Commit
1c7d6c2
·
1 Parent(s): 57f6159

refactor: remove message trimming logic and max_context_messages configuration

Browse files
src/lilith_agent/app.py CHANGED
@@ -125,20 +125,6 @@ def _compact_old_tool_messages(messages: list, keep_recent: int = _COMPACT_KEEP_
125
  return out
126
 
127
 
128
- def _trim_messages(messages: list, max_messages: int) -> list:
129
- """Keep only the last `max_messages`, but always try to preserve the initial System/Human message."""
130
- if not messages or len(messages) <= max_messages:
131
- return messages
132
-
133
- # Always keep the first message if it's a SystemMessage or the first HumanMessage
134
- # This preserves the core task instructions.
135
- head = messages[0:1]
136
- tail = messages[-(max_messages-1):]
137
-
138
- log.info("[trimmer] keeping first message + last %d messages (dropped %d)", len(tail), len(messages) - len(tail) - 1)
139
- return head + tail
140
-
141
-
142
  def _build_tool_node(tools: list[BaseTool]) -> Callable:
143
  """Tool executor with dedup + exception-to-ToolMessage feedback.
144
 
@@ -313,10 +299,8 @@ def build_react_agent(cfg: Config):
313
  sys_prompt = apply_caveman(base_prompt, cfg.caveman, cfg.caveman_mode)
314
  sys_msg = SystemMessage(sys_prompt)
315
 
316
- # Message Trimming & Compaction
317
- raw_msgs = state["messages"]
318
- trimmed = _trim_messages(raw_msgs, cfg.max_context_messages)
319
- compacted = _compact_old_tool_messages(trimmed)
320
 
321
  prompt_msgs = [sys_msg]
322
  tool_calls_this_turn = _count_tool_calls_since_last_human(state["messages"])
 
125
  return out
126
 
127
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
128
  def _build_tool_node(tools: list[BaseTool]) -> Callable:
129
  """Tool executor with dedup + exception-to-ToolMessage feedback.
130
 
 
299
  sys_prompt = apply_caveman(base_prompt, cfg.caveman, cfg.caveman_mode)
300
  sys_msg = SystemMessage(sys_prompt)
301
 
302
+ # Message Compaction
303
+ compacted = _compact_old_tool_messages(state["messages"])
 
 
304
 
305
  prompt_msgs = [sys_msg]
306
  tool_calls_this_turn = _count_tool_calls_since_last_human(state["messages"])
src/lilith_agent/config.py CHANGED
@@ -35,7 +35,6 @@ class Config:
35
  caveman: bool = False
36
  caveman_mode: str = "full"
37
  recursion_limit: int = 100
38
- max_context_messages: int = 30
39
 
40
  @classmethod
41
  def from_env(cls) -> "Config":
@@ -62,5 +61,4 @@ class Config:
62
  caveman=os.getenv("GAIA_CAVEMAN", "true").lower() == "true",
63
  caveman_mode=os.getenv("GAIA_CAVEMAN_MODE", "full"),
64
  recursion_limit=_get_int_env("GAIA_RECURSION_LIMIT", "50"),
65
- max_context_messages=_get_int_env("GAIA_MAX_CONTEXT_MESSAGES", "20"),
66
  )
 
35
  caveman: bool = False
36
  caveman_mode: str = "full"
37
  recursion_limit: int = 100
 
38
 
39
  @classmethod
40
  def from_env(cls) -> "Config":
 
61
  caveman=os.getenv("GAIA_CAVEMAN", "true").lower() == "true",
62
  caveman_mode=os.getenv("GAIA_CAVEMAN_MODE", "full"),
63
  recursion_limit=_get_int_env("GAIA_RECURSION_LIMIT", "50"),
 
64
  )