Spaces:
Sleeping
Sleeping
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 +2 -18
- src/lilith_agent/config.py +0 -2
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
|
| 317 |
-
|
| 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 |
)
|