Jak se to děje s OpenClaw a jak to vůbec můžete opravit... Můj bot neustále vyhazuje obrovské množství opakujících se výsledků nástrojů, dělá náročnou výkonnou práci a dostává se do ladicích smyček během sdílené relace, kde jsou moji DM, a zasekne se na 10 minut v kuse, dokud nevyprší čas nebo gateway nespadne a nerestartuje. To způsobuje propadání zpráv, nereagující boty a pády OOM několikrát za hodinu. I když se mi podaří bota delegovat, subagenti přenášejí výsledky do kontextového okna. Nechal jsem Codex prozkoumat a zjistil jsem: • 56 výsledků nástrojů ≥150 tisíc znaků již zapsaných v aktuální historii relací • Ořezávání nefunguje na naší primární modelové cestě (Codex/OpenAI Oauth) • Žádné vynucování za běhu k zastavení velkých dumpů nástrojů do kontextu • Údržba během sezení po poškození uklízí, nebrání mu Jsem si docela jistý, že výchozí chování OpenClaw by nemělo zahrnovat 200k výsledků nástrojů s 200 000 znaky do přepisu. Něco v mém konkrétním nastavení musí buď vypnout ochranu, nebo přeskočit zkrácení kvůli výsledkům nástrojů... Protože používám bezztrátový dráp, je dovoleno růst ještě horší: 81 MB soubor relace, 31,6 MB je jen text 😬 s výsledkem nástroje 169 výsledků na nářadí přes 50 tisíc znaků. Jeden má 285k postav (z sessions_list). Existuje logika ořezování, která ořezává výsledky nástrojů z kontextových zpráv. buildContextPruningFactory Ale modely musí být "cache-ttl" Způsobilí poskytovatelé jsou zřejmě jen: Antropoický Moonshot Zai U mě bot říká, že kód pro prořezávání se odmítá aktivovat u poskytovatelů mimo Anthropic. Používám hodně openai-codex 5.3, takže když je ořezávání nastaveno, kód existuje, jen se tiše nikdy neaktivuje. OpenAI Responses API používá serverovou kompakci a OpenClaw ji automaticky povoluje pro přímé openai modely, takže OpenAI zkomplikuje na své straně. Ale používám openai-codex/*, ne openai/*. Cesta Codex OAuth prochází jiným runtime (zřejmě pi-ai), ne Responses API. Takže: • cache-ttl prořezávání > pouze antropické • OpenAI serverová kompakace > pouze pro OpenAI API • LCM/bezztrátový > podle mých informací neprořezává výsledky starých nástrojů Můj bot trvá na tom, že openai-codex lane nemá žádnou z cest k ořezování. Takže mi zůstal bot, který příliš často spoléhá na nouzovou funkci zkrácení TrunsizedOversizedToolResultsInSession jako na poslední možnost obnovy přetečení, bez preventivního prořezávání nebo ochranných opatření. Protože LCM/lossless-claw nemá vlastní nástroj pro správu výsledků, dědí obrovské předimenzované přepisy a musí se extra snažit shrnout pro DAG uzly. Nemám žádné údržbové sezení a dlouhé sezení, takže nic neomezuje přepis v průběhu času, což vede k: 4 707 výsledků nástrojů se hromadí donekonečna v souboru o velikosti 81MB, aniž by je za běhu mechanismus skutečně vyčistil. Když můj bot začne ladit, začne přecházet a nasype obrovské množství textu do hlavní relace, pak se zasekne v té smyčce, zemře a musí to udělat znovu, což problém ještě zhoršuje. Nevím, jak tento problém řešit, je to několik vrstev hluboké.
@quinnzeda Ale možná máš pravdu... Možná si ale budu muset dát týden pauzu, než to zkusím.
1,44K