fix(agents): survive long overnight runs
- compact at memory-safe token budget (~20k) not the 131k window; gpt-oss hits oMLX's prefill memory guard ~47k tokens on a 24GB machine - repair invalid_tool_calls (malformed JSON args) before echoing history — LangChain serializes the raw malformed string which oMLX 500s on - retry invokes (4x) with an oMLX watchdog restart between attempts - ALWAYS finalize: salvage picks from findings even after invoke failures Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016DvdRZkyCy9NJpHYDdPqmS
This commit is contained in:
1 parent
3bf4a6f63c
commit
6b1c461a80
4 files changed
+104
-12
No files matched your search
@@ -82,6 +82,9 @@ def main(compressed: bool = False) -> int:
|
||||
deadline = next_deadline(now, hard_stop, len(PERSONAS) - i, per_agent_cap_s)
|
||||
logger.info("--- {} until {} ---", persona.id,
|
||||
datetime.fromtimestamp(deadline).strftime("%H:%M:%S"))
|
||||
if not server.server_up(): # recover if a prior agent left oMLX unresponsive
|
||||
logger.warning("oMLX unreachable before {}; recovering...", persona.id)
|
||||
server.ensure_ready(warm=False)
|
||||
out = run_agent(persona, deadline_ts=deadline, step_budget=step_budget,
|
||||
min_steps=min_steps, min_seconds=min_seconds,
|
||||
checkpointer=cp, model_name=model_name)
|
||||
|
||||
Reference in new issue
Block a user