Remember When It Matters: Proactive Memory Agent for Long-Horizon Agents¶
ArXiv: 2607.08716v1 (2026. július) Szerzők: Yifan Wu, Zhuokai Zhao (correspondence) Kód: https://github.com/yifannnwu/proactive-memory-agent Formátum: AI agent kutatási paper (~6200 szó) Relevancia a rendszerünkre: MAGAS — a cikk a Hermes Agent memória-kezeléséről szól. A "proactive memory agent" minta (külön agent az action agent mellett, strukturált memory bank + szelektív intervention) közvetlenül alkalmazható a mi rendszerünkre.
Kulcsmondatok¶
- "Behavioral state decay": long-horizon agent feladatoknál a döntéshozatalhoz szükséges state (task requirements, environment facts, prior attempts, open subgoals) szétszórva van a trajectory-ben, és ahogy a trajectory nő, kikerül a kontextusból. Ez a primary failure mode.
- Memória ≠ passzív retrieval. A cikk fő tézise: a memóriát aktív intervenciós mechanizmusnak kell tekinteni. Egy külön "memory agent" fut az action agent MELLETT, változatlan formában.
- Plug-and-play. A memory agent bármely frontier action agent-tel és meglévő agent harness-szel együttműködik.
- Eredmények: +8.3 pp Terminal-Bench 2.0 (Sonnet 4.5), +6.8 pp τ²-Bench (task-weighted avg, Sonnet 4.5). Az erősebb action agent (Opus 4.6) is profitál, de kisebb mértékben (+2.4 / +2.5 pp).
- Ablations: a szelektív intervenció > passzív bank exposure > always-on injection > advisor-only guidance > sima retrieval.
- Open-weight memory policy: Qwen3.5-27B-t treníroztak SETA-n (SFT + GRPO), részleges transfer a Terminal-Bench-re — early step toward API-független memory agent-ek felé.
Epizód áttekintés¶
Három fő téma, három részben feldolgozva:
- A probléma + Related Work: behavioral state decay, memória mint aktív intervenció, kapcsolódó irodalom (reflection, context engineering, learned memory policies).
- Method: a két-fázisú architektúra (memory management + intervention), a triggering logika, a tanítható memory policy (SETA + SFT/GRPO).
- Experiments + Ablations + Conclusion: két benchmark (Terminal-Bench 2.0, τ²-Bench), fő eredmények, ablations, qualitative analysis, open-weight Qwen3.5-27B training.
Remember When It Matters: Proactive Memory Agent for Long-Horizon Agents — Összefoglaló¶
Forrás: arXiv:2607.08716v1 (2026. július 9.) — Yifan Wu, Lizhu Zhang, Yuhang Zhou, Mingyi Wang, Bo Peng, Serena Li, Xiangjun Fan, Zhuokai Zhao (Meta AI; levelezés: yfwu@meta.com, zhuokai@meta.com) Kód: https://github.com/yifannnwu/proactive-memory-agent Rész tartalma: 1. Introduction + 2. Related Work (1–60. sorig terjedő fold-kibontás); 1740 szó.
1. A probléma — "behavioral state decay"¶
- A long-horizon LLM agent feladatok (többkörös tool use, környezeti interakció) kiértékelésénél a siker nem csak a lokális problémamegoldástól függ, hanem attól is, hogy a jövőbeli viselkedést korlátozó információk fennmaradjanak. Tipikus hibaformák: a korai felismerésű requirement későbbi megszegése egy unrelated bug fix közben; egy már elbukott command/parameter későbbi újrapróbálása közel azonos formában; egy diagnosticált error pattern későbbi „újként” való kezelése (1. §).
- A szerzők ezt a failure mode-ot behavioral state decay-nek nevezik: a trajectory növekedésével a döntéshozatalhoz szükséges állapot — task requirements, environment facts, previous attempts, failure diagnoses, intermediate discoveries, open subgoals — kikerül a kontextus ablakból, vagy ha bent is marad, már nem befolyásolja megbízhatóan a következő döntést (vö. liu2024lost a „lost in the middle” jelenség).
- A puszta kontextus-ablak növelés nem elég: a hosszabb history önmagában nem oldja meg, hogy a releváns információ „active” maradjon. A kérdés tehát nem csak az, hogy mi kerüljön a memóriába, hanem az is, hogy mikor hasson a következő action-re.
- A long-horizon feladatok failure mode-jai igen változatosak: van, ahol a hasznos memória egy korai hard requirement, máshol egy environment fact, egy elbukott command, egy bug diagnosis vagy egy befejezetlen subgoal — ezért egyetlen fix summarization policy nem tudja eldönteni, hogy egy adott emléknek meg kell-e szakítania a következő lépést.
- A cikk kulcsmegkülönböztetése: a legtöbb memória-megközelítés (MemGPT, MemoryBank, Generative Agents, Mem0) a tárolás és retrieval kérdését vizsgálja; a szerzők ezzel szemben azt állítják, hogy az aktív task execution-ban a memóriának egy erősebb kontroll-kérdést kell megválaszolnia: intervenció — kevés memória → ismételt hibák; túl sok memória → latency, token-pazarlás, az agent figyelme elterelődik a lokális előrehaladástól.
- A bevezető konkrét benchmark-említései: Terminal-Bench 2.0 (merrill2026terminalbench, command-line), MLE-Bench (chan2024mlebench, multi-step ML engineering), τ²-Bench (yao2024taubench, barres2025tau2bench, interactive tool use domain rules alatt) — ezek képezik a kísérleti talajt is.
- A cikk fő empirical claim-je (már az absztraktban és intro-ban): Claude Opus 4.6 memory agent + Claude Sonnet 4.5 action agent kombináció 37.6% → 45.9% Terminal-Bench-en és 55.0% → 61.8% τ²-Bench-en; erősebb action agentnél (Opus 4.6) a gain nem tűnik el: +2.4 pp és +2.5 pp.
2. Memória, mint aktív intervenció (nem passzív retrieval)¶
- A cikk központi tézise: a memóriát aktív intervenciós mechanizmusnak kell tekinteni, nem passzív retrieval-nek. A memory agent nem csak tárol vagy lekérdez, hanem dönt: most kell-e emlékeztetőt injektálnia a következő action-agent hívásba, vagy hallgatnia kell.
- Az architektúra egy külön memory agent, ami az action agent mellett fut, és az action agentet változatlanul hagyja (unmodified). A memory agent fix időközönként: (i) frissíti a strukturált memory bank-ot a friss trajectory-ből; (ii) eldönti, hogy a bank-ból származtatott rövid reminder-t (elfeledett requirement, stabil environment fact, failed attempt, diagnosis) be kell-e injektálnia, vagy maradjon csendben.
- A modul plug-and-play: bármely frontier action agent-tel és meglévő agent harness-szel együttműködik, anélkül, hogy az action agent belső promptját, policy-ját vagy toolingját módosítaná. Ez a két-fázisú architektúra szétválasztja a memory maintenance-t a action selection-től.
- A különbség a passzív memory rendszerekhez képest (MemGPT, MemoryBank, Generative Agents, Mem0): ezek retrieval-on-demand működnek; a memory agent ezzel szemben azt dönti el, hogy a memória belépjen-e a control loop-ba. Vö. zhang2025memact („Memory-as-Action”) — a szerzők itt jegyzik meg, hogy ők erősebb kontroll-kérdést tesznek fel: should memory enter the control loop?
- A különbség az advisor modellekhez képest (asawa2025advisor; anthropic2026advisor): a memory agent korlátozott — kizárólag memory-grounded reminder-eket ad, nem általános stratégiai guidance-ot. A kimenet mindig az action agent következő döntését korlátozó execution state-ből származik.
- A bevezető a summarizer vs. intervention distinkciót emeli ki: a summarizer azt kérdezi, mit tartsunk meg; a memory agent azt kérdezi, hogy a megtartott execution state bármely része aktiválódjon-e a következő action-agent döntésben. Az intervenció szelektivitása kulcs: nem mindig ír, nem mindig olvas — kalibrálnia kell, hogy az adott feladat environment dynamics-e, observability-e és failure mode-ja mit igényel.
- A cikk ígérete a további szekciók felé: a szelektív intervenció felülmúlja a passzív bank exposure-t, az always-on injection-t, az advisor-only guidance-ot és a sima retrieval-t (ezek az ablations a későbbi részekben jönnek).
3. A kutatás fő eredményei (a későbbi szekciókból előretekintve)¶
- Headline számok (absztrakt + intro): Terminal-Bench 2.0-n +8.3 pp, τ²-Bench-en +6.8 pp átlagos pass@1 javulás a memory agent bevezetésével — és ez mind gyengébb, mind erősebb action agenteknél kimutatható (nem csak a Sonnet 4.5-ön).
- Konkretizált eredmények: Claude Sonnet 4.5 action agent + Claude Opus 4.6 memory agent kombináció 37.6% → 45.9% Terminal-Bench-en (Δ ≈ +8.3 pp) és 55.0% → 61.8% τ²-Bench-en (Δ ≈ +6.8 pp). Erősebb action agentnél (Opus 4.6 mint action agent) a gain kisebb, de nem nulla: +2.4 pp Terminal-Bench-en, +2.5 pp τ²-Bench-en.
- Ablations (a cikk állítása szerint, a későbbi szekciókból): a szelektív intervenció felülmúlja a (i) passzív bank exposure-t, (ii) always-on injection-t, (iii) advisor-only guidance-ot és (iv) sima retrieval-t. Ez bizonyítja, hogy nem elég memóriát adni — a mikor és hogyan a döntő.
- Open-weight memory policy irány: a szerzők a Qwen3.5-27B modellt SETA adathalmazon finomhangolják SFT + GRPO kombinációval memory agentként. A validation reward javul, és a tanult policy részleges transfer-t mutat a Terminal-Bench-re. A szerzők ezt „early step toward open-weight memory policies”-ként keretezik, tehát nem állítják, hogy zárt modelleket teljesen kiváltanának.
- A cikk explicit contribution listája: (i) a behavioral state decay azonosítása mint központi failure mode; (ii) egy két-fázisú memory intervention architektúra, ami szétválasztja a memory maintenance-t az action selection-től, empirikus igazolással, hogy a maintained memory + selective intervention nyer; (iii) preliminary evidence, hogy az intervention policy tanulható open-weight modellel.
- Miért nem elég a hosszabb kontextus: a cikk hangsúlyozza, hogy a long context window önmagában nem garantálja a prior információ megbízható felhasználását — a kontextus pozíciójától függően a model under-utilizálhat információt (lost-in-the-middle, liu2024lost). A memory agent ezt a pozíció- és kontextus-problémát hidalja azzal, hogy mindig az action agent aktuális promptjába emeli a releváns állapotot.
4. Related Work — Memory for language-model agents¶
- A 2.1 szekció a long-horizon language agents irodalmát térképezi: ReAct (yao2023react), Reflexion (shinn2023reflexion), Voyager (wang2024voyager) — közös pont az interleaved reasoning-and-acting, többkörös tool use, revise-olt terv. A szerzők ezen belül a behavioral state decay-re fókuszálnak, szemben a single-turn reasoning benchmarkokkal.
- A 2.2 szekció a memory for language-model agents vonalat tárgyalja: (a) retrieval-augmented modellek (guu2020realm, lewis2020rag) — nem-parametrikus store-okkal javítják a factual groundingot; (b) long-context memory architektúrák (wang2023longmem) — past representations cache-elése a hatékony kontextus kiterjesztéséhez; (c) agent memory rendszerek (park2023generative — Generative Agents; zhong2024memorybank — MemoryBank; packer2023memgpt — MemGPT; zhang2024memorysurvey) — natural-language recordok long-term interaction-höz, személyre szabáshoz, viselkedés-generáláshoz; (d) lifelong agents (wang2024voyager — Voyager: reusable skills retrieval); (e) production memory layers (mem0ai2026mem0 — persistent user/session/agent memory, hatékony storage és retrieval). A szerzők ezeket komplementernek tekintik: nem a persistent storage/retrieval optimalizálását célozzák, hanem azt, hogy a megőrzött execution state mikor aktiválódjon intervencióként az ongoing loop-ban.
- A 2.3 szekció a learned memory policies és context management vonalat mutatja be: a long context window nem garantálja a megbízható felhasználást (liu2024lost), ezért a kutatások egyre inkább a kontextus tömörítése, a memory editing és a learnable context curation felé mozdulnak. Kulcs referenciák: Memory-as-Action (zhang2025memact) — a working-memory management explicit editing action-ökként formalizálva, a task performance-szel együtt optimalizálva; Context-Folding (sun2025contextfolding) — az agent sub-trajectories-ba branchel, majd a kész branch-eket tömör summary-kba foldolja, RL reward a decomposition-re és context management-re; Mem-α (wang2025memalpha) — tool-based memory operations szekvenciális rész-okon, downstream QA accuracy a reward signal a teljes interaction history felett. A szerzők ezekkel a „memory és context management downstream outcome-okra optimalizálva” nézetet osztják, de más kontroll-problémát céloznak: nem tanítják az action agentet, hogy saját kontextusát kurálja; nem memory construction-t optimalizálnak későbbi QA-hoz; nem foldolják a kész sub-taskokat summary-kba — ehelyett egy külön memory agent repeated observation-t végez a live multi-turn task trajectory-ről, strukturált execution state-et tart fenn, és dönt, hogy abból bármi beavatkozzon-e a következő action-agent hívásba. Ez heterogénebb credit-assignment problémát teremt: feladatonként a memory vagy csendben marad, vagy ismétlődő hibákat előz meg, vagy újraaktivál diagnosisokat és open sub-goalokat — és a felesleges intervenció inkább káros, mint redundáns.
- A 2.4 szekció a reflection, critics és advisor models vonalat tárgyalja: Self-Refine (madaan2023selfrefine) — a modell outputjainak iteratív javítása self-generated feedback-kel; Reflexion (shinn2023reflexion) — verbális reflexiók tárolása prior attempts-ről episodic memory bufferben; Tree of Thoughts (yao2023tree) — inference-time reasoning kiterjesztése search-szel intermediate thoughts-ok felett; valamint újabban az advisor-style módszerek (asawa2025advisor; anthropic2026advisor), ahol egy második modell natural-language guidance-dal steereli a black-box / executor modellt. A memory agent ezekhez a supervisory megközelítésekhez áll közel, de korlátozottabb: nem ad broad strategic advice-ot, nem végez általános deliberation-t; kimenete kizárólag memory-grounded reminder, ami a fenntartott execution state-ből származik (task requirement, environment fact, failed attempt, diagnosis, open subgoal), és kifejezetten az action-agent viselkedésére hat inaktívvá váló állapotokkal szemben.
- A 2.5 Positioning szekció összefoglalja a cikk hozzájárulását: a korábbi munka (memory, retrieval, reflection, context compression, auxiliary guidance) mind javíthat language agent-eket; a szerzők újdonsága a memória selective intervention policy-ként való formalizálása long-horizon execution-re. A központi kérdés nem csak az, hogy mit jegyezzünk meg vagy summarize-áljunk, hanem az, hogy whether, when, and how a remembered execution state belépjen az action agent kontextusába úgy, hogy megváltoztassa a következő döntést felesleges token- és latency-overhead nélkül. Mivel a feladatok environment dynamics-ben, observability-ben és failure mode-okban jelentősen különböznek, ez intervention calibration-t igényel, nem fix summarization policy-t.
Saját rendszerünkre alkalmazható¶
- A „proactive memory agent” minta — külön dedikált folyamat az action agent MELLETT, strukturált memory bank frissítése és szelektív reminder-injection — közvetlenül leképezhető a Hermes Agent architektúrájára: a jelenlegi
memoryeszköz és a skill-rendszer passzív retrieval-ként működik; ha egy háttér-hook (pl.openclaw-orchestrationmintára) bizonyos tick-számonként lefuttatna egy „memory review” lépést a session- és project-szintű kontextus felett, és csak akkor injectálna emlékeztetőt a system promptba, amikor egy korai requirement / failed attempt / open subgoal „elhalványul”, az a cikk központi tézisét ültetné át. - A „silence by default” elv (a memory agent sokszor csendben marad) kulcs a token- és latency-overhead elkerüléséhez — a mi rendszerünkben is ez felelne meg a „ne szórakoztasd el az agentet a lokális előrehaladástól” imperatívusznak, és a cikk ablations-e (passzív exposure < always-on < szelektív intervenció) empirikus alátámasztást ad alá.
- A Qwen3.5-27B SFT+GRPO-val tanított memory policy-ból kiindulva a saját rendszerünkre is alkalmazható egy „memory policy” tanítása saját session-logokon (GRPO reward: javult-e a downstream task outcome, ha a memory agent egy adott típusú reminder-t adott vs. hallgatott) — így a memory intervention lépésről lépésre learnable policy-vá válhat a saját telemetry-n felhasználva.
- A plug-and-play jelleg (az action agent változatlan marad) kompatibilis a Hermes jelenlegi „tool-on-demand” modelljével: a memory agent nem módosítja a futó action agent policy-ját, csupán a promptjába ír egy rövid, structure-öltött reminder-t, ami megfelel a meglévő context-engineering boundary-nek.
- A behavioral state decay keretrendszer diagnosztikus eszközként is használható: a saját multi-step agent futásaink failure mode-jait (ismételt parancs, elveszett requirement, újra felfedezett bug) ezen a négy-öt kategórián (task requirement / environment fact / failed attempt / diagnosis / open subgoal) osztályozva priorizálható, hogy a memory agent melyik típusú intervencióra tanítható a legnagyobb hatással.
2. rész¶
ArXiv:2607.08716v1 — "Remember When It Matters" — 2. rész (Method szekció)¶
Forrás: /tmp/arxiv_chunk2.txt (~1737 szó, 56 fold-sor). A chunk valóban a Method szekciót (3.1–3.5) tartalmazza — a cikk 3-as fő szekcióját. A chunk a 3.5 "Learning Memory Intervention Policies" szekció közepe tájánál zárul ("We"), így a Qwen3.5-27B / SETA / GRPO / Terminal-Bench részletek valószínűleg a 3. chunkban (Results) jönnek — ezeket itt NEM állítom, csak ami a Method szövegben olvasható.
5. Problem Setup — az action agent¶
- A cikk egy action agent-et tekint kiindulásnak: egy long-horizon nyelvi agent, amely egy trajectory τ = (o₁, a₁, o₂, a₂, …, o_T) mentén dönt és cselekszik, ahol a_t ∼ π_A(a_t | x, τ_<t) egy LLM-alapú, tool-use scaffolldal implementált action policy.
- A trajectory teljes hossza mentén az action agent kontextusát a scaffold csonkolhatja, összegzi vagy szűrheti — nem minden információ marad elérhető minden lépésnél. A cikk ezt a problémát nevezi meg központi kiindulópontnak.
- Az action agentbe külön π_M memory agent kerül bevezetésre, amely az action agentet változatlan formában hagyja — plug-and-play architektúra. Csak egy új, opcionális memória-kontextust kap az action agent a memóriától.
- A memory agent az első lépésben, majd egy trigger függvény (alapértelmezetten fix intervallum) szerint fut le. Minden memória-lépésnél a következő inputokat látja: a task description (x), egy w_t = W_k(τ_<t, o_t) sliding window az utóbbi lépésekből, és az aktuális B_{t-1} memory bank.
- Formálisan a memory agent két lépést hajt végre időlépésenként: először a bank frissítése (B_t ∼ π_M^edit(· | x, w_t, B_{t-1})), majd egy intervenciós döntés (i_t ∼ π_M^intervene(· | x, w_t, B_t)), ahol i_t ∈ {∅, text reminder}.
- A cikk kiemelt fogalma az "execution state": a teljes trajektóriában jelen lévő, de a kontextusból kikerülő döntésbefolyásoló információk (feladat-követelmények, környezeti tények, korábbi próbálkozások, hiba-diagnózisok, felfedezések, nyitott subgoals). A cél: ezt az execution state-et külön karbantartani, és szelektíven visszainjektálni az action loopba, amikor hatással lesz a következő döntésre.
6. Memory Bank — a strukturált memória¶
- A memory bank egy kompakt, strukturált reprezentáció, amelyet a memory agent folyamatosan frissít, és amely három komponensből áll: B_t = (s_t, K_t, P_t).
- s_t — status (privát): a memory agent saját progress-nyomkövető mezője, amely soha nem kerül az action agent kontextusába. Lehetővé teszi, hogy a memory agent munkamodellt tartson fenn a feladatról anélkül, hogy szennyezné az action agent kontextusát.
- K_t — knowledge memory: viszonylag stabil tények, amelyek a feladat során várhatóan érvényesek maradnak — feladat-követelmények, környezeti tulajdonságok, fájl-útvonalak, konfigurációs részletek, user/tool által verifikált tények, evaluation-relevant megfigyelések. Ez az ág felel meg a "mit tanultunk a feladatról/környezetről" kérdésnek.
- P_t — procedural memory: kísérletek és kimenetelek — sikertelen parancsok, sikeres javítások, kizárt hipotézisek, diagnosztikai jelek, empirikus javítások. Ez az ág felel meg a "mit próbáltunk és mi történt" kérdésnek, hogy későbbi döntések elkerülhessék az ismételt hibákat és újrahasznosíthassák a sikeres evidenciákat.
- Minden memory entry egy rövid azonosítóból, természetes nyelvű tartalomból és metaadatokból (létrehozás ideje, hozzáférési statisztikák) áll. Az azonosítók lehetővé teszik a memory agent számára a stale entryk explicit frissítését vagy törlését.
- A gyakorlatban az entryk kompakt, tagezett formátumban íródnak (pl. environment facts, paths, task facts, bugs, performance observations) — ez strukturálisan ösztönzi a memory agentet, hogy megkülönböztesse a kényszereket (knowledge) a procedurális evidenciától (procedural).
- A cikk hangsúlyozza: a memory bank NEM egyszerű "summary of past" — hanem executable state: célzottan csak azokat az információkat tartja meg, amelyek várhatóan befolyásolják a jövőbeli döntéseket, és amelyeket a memory agent később vissza tud injektálni.
7. Memory Agent — az intervenciós mechanizmus (Two-Phase)¶
- A memory agent egy külön LLM call (vagy kisebb modell), amely minden memória-lépésben egy kétfázisú workflow-t futtat: Phase 1 = memory bank management, Phase 2 = proactive intervention selection.
- A memory agent a bankot nem közvetlenül írja felül — Phase 1-ben egy előre definiált tool-call interface-en keresztül kommunikál:
memory_update_status,memory_save_knowledge,memory_save_procedural,memory_delete. A rendszer ezeket a tool callokat sorrendben hajtja végre, és az eredmény lesz az új B_t. - Ha a memory agent nem ad vissza tool callt, a bank változatlan marad — a csend Phase 1-ben is explicit cselekvés.
- A tool-call interface explicit és korlátos: a Phase 1 outputja nem szabad formátumú összegzés, hanem egy explicit bank-edit szekvencia. Ez a struktúra kényszeríti ki, hogy a memory agent externalizálja az execution state-et (nem teljesített követelmények, verifikált környezeti tények, sikertelen parancsok, sikeres javítások) hosszú trajektóriákon át is strukturáltan.
- Phase 2 — intervention selection: a frissített bank és a recent trajectory alapján a memory agent vagy kibocsát egy r_t reminder-t, vagy egy ∅ null intervention-t. A reminder az action agent következő hívásához transient memory context-ként csatolódik; az action agent alap utasításai, eszközei és dekódolási procedúrája változatlan — csak az opcionális memória-kontextus jelenik meg.
- A null intervention explicit cselekvés: a memory agentet arra ösztönzik, hogy csak akkor interveniáljon, ha egy megőrzött elem várhatóan befolyásolja a következő döntést. Hasznos intervenciók: közelgő követelmény-szegésre figyelmeztetés, az aktuális observationt megmagyarázó környezeti tény, ismétlendő korábbi próbálkozás elleni figyelmeztetés, releváns diagnózis, elhanyagolt nyitott subgoal.
- A memory agentet lebeszélik arról, hogy széles stratégiai tanácsot adjon, a jelenlegi observationból már látható információt ismételjen, vagy átvegye az action agent tervezését. Az intervenció időzítése a memory policy része, nem pedig automatikus mellékterméke minden bank-frissítésnek.
- A teljes formalizmus lényege: a memória policy over interventions — a memory agent nem csak azt dönti el, hogy mit tartson meg, hanem mikor érdemes a megőrzött state-et visszainjektálni az action loopba.
8. Triggering the Memory Agent — mikor interveniáljon¶
- A memory agent indítása egy trigger függvény g(t) alapján történik, amely eldönti, hogy adott action-agent lépésnél fusson-e a memory agent.
- A cikk fő implementációjában a trigger az első lépés, majd fix N lépésenkénti periodikus hívás. Ez az egyszerű ütemezés lehetővé teszi, hogy a memory agent szorosan kövesse a trajektóriát, és maga döntse el, hogy marad-e csendben vagy interveniál.
- A szerzők említenek szelektívebb trigger-lehetőségeket is: tool error, failed test, repeated command, large context shift — de a fix intervallumot választották, hogy izolálják a memory intervention policy hatását a trigger-mechanizmus hatásától.
- Fontos koncepcionális pont: a triggering és az intervention két külön döntés. A trigger eldönti, hogy a memory agent fut-e, az intervention-phase pedig eldönti, hogy mit (ha egyáltalán) injektáljon. A cikk hangsúlyozza, hogy a memory agent saját döntése (emit reminder vs.
<no_intervention/>) a kulcselem — nem a fix periodikus hívás. - A Phase 2 kimeneti formátuma az ábrán is jelzett: vagy egy
<context_for_action>reminder, vagy egy explicit<no_intervention/>token — a csend explicit és gépileg értelmezhető.
9. Learning Memory Intervention Policies — a trenírozható memory agent¶
- A memory-intervention architektúra nem igényli új modell trenírozását — a fő implementációban a memory agent promptolt modell is lehet, amely követi a fenti kétfázisú interfészt.
- A szerzők elismerik, hogy a promptolt memory agent nem feltétlenül a legpraktikusabb deployment: extra inference költséget ad, és az intervenciós döntések kalibrációja nem tökéletes.
- Ezért a memory agent trenírozható is — ez a cikk által korai explorációnak tekintett irány, amely megmutatja, hogy az intervenciós policy tanulható, nem csak promptolható.
- A tréning során csak a memory agentet tanítják, az action agent fix marad — ez tisztán elkülöníti a memória-policy tanulását az action policy tanulásától.
- A tréning két fázisban történik: (1) Supervised fine-tuning (SFT) — egy promptolt memory agent trajektóriáiból desztillálva tanítja a modellt a memory-bank műveletekre és a targeted reminder vs. null intervention közötti választásra. Ez a fázis főleg az interfész és az alapvető memória-menedzsment fegyelem tanítja: kompakt írás, stale state frissítése, szükségtelen emlékeztetők kerülése.
- (2) Reinforcement learning (RL) kalibráció — mivel az imitáció önmagában nem optimalizálja a downstream intervenciós hatást, egy RL fázis hangolja a modellt. A cél nem a memóriahasználat maximalizálása, hanem az intervenciós policy javítása: a modell megtanulja, mikor segít valószínűleg egy megőrzött execution state a következő döntés, és mikor jobb a csend.
- A tréning-tanulmány a szerzők szavaival "preliminary evidence", hogy a memory intervention desztillálható open-weight policy-vé — és az architektúra független a tréning-procedúrától (a promptolt és a tanított memory agent ugyanazt a kétfázisú interfészt használja).
- Megjegyzés: a konkrét modell- és tréning-részletek (Qwen3.5-27B, SETA adathalmaz, SFT + GRPO kombináció, Terminal-Bench transfer-eredmények) a rész szövege alapján a 3. részben (Results szekció) találhatók — ezeket itt nem részletezem, mert ez a Method rész nem tartalmazza őket.
Saját rendszerünkre alkalmazható¶
- A proactive memory agent minta (külön LLM az action agent mellett, strukturált memory bank, szelektív intervenció) közvetlenül adoptálható a Hermes Agentbe: a jelenlegi kontextus-sűrítés/truncation helyett egy dedikált, tool-call-alapú memória-ág (knowledge vs. procedural split) jobban megőrizné a hosszú session-ök cross-task execution state-jét.
- A kétfázisú write-then-decide interfész (Phase 1: explicit bank edit, Phase 2: reminder vs. null) pontosan illeszkedik a Hermes meglévő tool-use scaffoldjához — minimális invazivitás, az action agent változatlan marad.
- A null intervention explicit cselekvés tanulsága: a mi rendszerünkben is érdemes a "csend" opciót first-class citizen-ként kezelni, nem pedig a memória-elmulasztás csendjét — ez csökkenti a kontextus-zajt és védi az action agent fókuszát.
- A fix periodikus trigger + saját döntés a intervencióról kombináció jó kiindulópont (a cikk ezt validálja mint baseline-t); a Qwen3.5-27B / SETA / GRPO / Terminal-Bench részletek a 3. rész feldolgozása után mérlegelhetők, hogy open-weight, lokálisan futtatható memória-policy-t trenírozzunk-e a Hermes saját trajectory-iből.
3. rész¶
Proactive Memory Agent for Long-Horizon Agents — 3. rész — Magyar összefoglaló¶
10. Benchmarks és Setup (4.1)¶
A memory agent kiértékelése két long-horizon agent benchmarkon:
- Terminal-Bench 2.0: Autonóm agent-ek realistic command-line környezetben — fájlok inspect, parancsok futtatása, kód szerkesztése, hibák debuggolása, hidden verifier tesztek. 89 task, ebből 85 paired task (4 docker hiba kizárva). A behavioral state decay itt a local debugging loopok-ban jelenik meg: a agent-ek elfelejtik a korábbi requirements-eket, ismétlik a sikertelen parancsokat, figyelmen kívül hagyják a környezet megfigyeléseket, vagy elvesztik a diagnosztizált hibák nyomát.
- τ²-Bench: Conversational tool-use agent-ek, dinamikus task környezetek, valós service domain-ekből (airline, retail, telecom). A decay itt más forrásból ered: fontos tényeket a user, a tool-ok vagy a domain policy-k mondják, de később a döntésekből kiesnek. 278 task konfigurációnként (50 airline + 114 retail + 114 telecom).
- Két action agent erősség: Claude Sonnet 4.5 és Claude Opus 4.6. A memory agent mindig Opus 4.6 (a legerősebb modell). A memory agent a first step-en + minden további step-en fut. Látja: task description, recent trajectory window k=8 message, current memory bank. Először frissíti a memory bank-ot, aztán vagy inject-ál context-et, vagy silent marad.
11. Main Results (4.2) — pass@1 javulás minden konfigurációban¶
A memory intervention javítja a pass@1-et mindkét benchmarkon és mindkét action agent erősségen:
| Benchmark | Domain / Split | Action Model | n | Baseline | +Memory | Δ |
|---|---|---|---|---|---|---|
| Terminal-Bench 2.0 | full set | Sonnet 4.5 | 85 | 37.6% | 45.9% | +8.3 pp |
| Terminal-Bench 2.0 | full set | Opus 4.6 | 85 | 43.5% | 45.9% | +2.4 pp |
| τ²-Bench | airline | Sonnet 4.5 | 50 | 68.0% | 78.0% | +10.0 pp |
| τ²-Bench | retail | Sonnet 4.5 | 114 | 49.1% | 58.8% | +9.6 pp |
| τ²-Bench | telecom | Sonnet 4.5 | 114 | 55.3% | 57.9% | +2.6 pp |
| τ²-Bench | task-weighted avg | Sonnet 4.5 | 278 | 55.0% | 61.8% | +6.8 pp |
| τ²-Bench | airline | Opus 4.6 | 50 | 76.0% | 76.0% | +0.0 pp |
| τ²-Bench | retail | Opus 4.6 | 114 | 64.9% | 69.3% | +4.4 pp |
| τ²-Bench | telecom | Opus 4.6 | 114 | 63.2% | 64.9% | +1.8 pp |
| τ²-Bench | task-weighted avg | Opus 4.6 | 278 | 66.2% | 68.7% | +2.5 pp |
Fő megállapítások: - A Sonnet 4.5 (gyengébb action agent) nagyobb javulást mutat (+8.3 pp Terminal-Bench, +6.8 pp τ²-Bench átlag) - Az Opus 4.6 (erősebb action agent) kisebb, de nem nulla javulást mutat (+2.4 pp, +2.5 pp) — a benefit nem csupán a limited capacity kompenzálása - A Sonnet lift legnagyobb airline és retail esetén (+10.0 és +9.6 pp), telecom kisebb (+2.6 pp) — összhangban a "memory = domain-sensitive intervention policy" keretrendszerrel, nem fix summarization mechanizmussal
12. Ablations (4.3) — két fázis: memory management + intervention¶
A memory agent két fázisa: (1) memory management — persistent memory bank of user facts, tool observations, procedural evidence, open subgoals; (2) intervention — eldönti, hogy kell-e reaktiválni a remembered state-et, és concise memory-grounded reminder-t generál.
Ablation variánsok (Sonnet 4.5 action agent, Opus 4.6 memory agent, τ²-Bench):
| Variáns | Phase 1 (memory) | Phase 2 (intervention) | Macro avg | Micro avg |
|---|---|---|---|---|
| Sonnet 4.5 baseline | — | — | 57.5 | 55.0 |
| Full memory agent (ours) | bank management | selective reminder / silence | 64.3 | 61.2 |
| Full-bank context | bank management | expose full bank | 61.5 | 58.6 |
| Always inject | bank management | forced reminder every step | 63.5 | 61.5 |
| Injection-only (no bank) | skipped | selective guidance / silence | 61.0 | 60.8 |
| Mem0 (vector+BM25 top-10) | — | retrieval | 62.1 | 60.8 |
Insights az ablations-ból: - A full memory agent adja a legjobb macro-average-ot (64.3) — legkiegyensúlyozottabb javulás a domain-eken át - Full-bank context javít a baseline-hoz képest, de 2.8 macro / 2.6 micro ponttal marad el — a memory bank karbantartása hasznos, de az összes remembered state exposúra nem elég; a memory agent-nek szelektálnia kell, mi releváns - Always inject micro-average-on 0.3 ponttal vezet, de ez a run variance-en belül van, és macro-average-on a selective silence jobbnak bizonyul (különösen airline) - Injection-only (advisor-style) bizonyos domain-eken segít (telecom), de airline-en a baseline alá esik — persistent memory nélkül a guidance nem kellően grounded - Mem0 (general memory retrieval) javítja az átlagot, de airline-en nem javít a baseline felett — a retrieval és az intervention policy nem ugyanaz
Konklúzió: Sem a passzív memory exposure, sem az always-on reminder, sem a generic auxiliary guidance nem elég. A legkiegyensúlyozottabb eredményt a maintained execution state + selective intervention policy kombinációja adja.
13. Qualitative Analysis (4.4) — milyen state reaktiválódik sikeresen¶
A memory agent nem generic summarization-t végez — akkor segít, amikor a specifikus execution state reaktiválódik pont akkor, amikor az action agent épp ignorálni készül. A state típusa domain-függő:
Öt mechanizmus a sikeres intervention-ökre:
- Requirement / policy reactivation — task vagy domain rule az allowed action-ről. Példa: τ² airline compensation, retail modification rules.
- Environment grounding — runtime facts, paths, tool limitations, system quirks. Példa: Terminal-Bench Git server setup, ARS file-write failure.
- Failure-loop avoidance — korábbi attempts és miért bukott el. Példa: adaptive rejection sampling, telecom diagnostic retries.
- Diagnostic carryover — bug vagy negatív signal root cause. Példa: regex edge cases, SQLite gcov configuration.
- Progress / entity tracking — melyik user, order, line, branch, subgoal aktív. Példa: τ² telecom line lookup, retail authentication state.
Benchmark-specifikus megfigyelések:
- Terminal-Bench: debugging continuity. A memory az iterative debugging során a leghasznosabb — a action agent halmozza a megfigyeléseket, de később elveszti, melyek constrain-elnénék a következő commandot. Pl.
regex-logtask-ban a memory reaktiválja a boundary condition-t (single-digit IPv4 octets). Pl.adaptive-rejection-samplertask-ban a memory track-eli a repeated failed file edit-eket és surface-eli az environment-specific workaround-ot. - τ²-Bench: policy és interaction state reaktiválás. A hasznos execution state gyakran policy- vagy interaction-specifikus. Airline + retail task-ok gyakran megkövetelik egy rule alkalmazását sok turnnel azután, hogy a releváns fact-ot megfigyelték. Pl. airline: a user Gold státuszt állított, de a tool output Regular tagot mutatott — a baseline a user claim alapján adott compensation-t, a memory-enabled agent emlékeztette az action agentet, hogy a verified records-ra kell hagyatkozni. Pl. basic-economy flight modification: a memory reaktiválta a policy clause-t, hogy ezek a flight-ok nem módosíthatók.
Remaining failures: calibration hibák, nem memory storage hibák. Pl. a memory agent túl nagy confidence-dal speculative inference-t surface-el, ismétli a már ismert információt, vagy felesleges verifikációt okoz — ezek a silence döntés tanítását motiválják.
14. Training Open-Weight Memory Agents (4.5) — Qwen3.5-27B SETA-n¶
A prompted Opus memory agent javítja a long-horizon agent-eket, de frontier-model call kell minden memory step-nél, és az intervention calibration imperfect. A szerzők ezért Qwen3.5-27B-t treníroznak memory agent-ként, miközben a Qwen3.5-122B-A10B action agent frozen marad.
SETA dataset: executable terminal-agent task-ok, verifier rewards-kal. SFT-re és RL-re is használják. Terminal-Bench 2.0 held out (külső validáció).
Eredmények (a cikk 4.5 szekciójából): - A trained Qwen3.5-27B memory agent javítja a validation reward-ot (SETA-n) - Részleges transfer mutatkozik a Terminal-Bench 2.0-ra — a tanított policy generalizál a held-out benchmarkra - Ez egy early step toward open-weight memory policies — nem kell API-alapú frontier modell a memory agent-hez
Saját rendszerünkre alkalmazható¶
- Két-fázisú memory agent minta közvetlenül alkalmazható a Hermes Agent-re: a jelenlegi
MEMORY.mdrendszer egy passzív memória (kézzel írom, kézzel olvasom); a cikk egy aktív mintát javasol, ahol egy külön "memory agent" minden session-ön fut, frissíti a memóriát a trajectory-ből, és szelektíven injektál emlékeztetőket. - A "silence" döntés kritikus — a cikk ablations-ból kiderül, hogy az always-on injection rosszabb, mint a selective silence. A mi rendszerünkben most a MEMORY.md-t mindig betöltjük — egy jövőbeli fejlesztés lehetne egy "relevance filter", ami csak a session-releváns részeket tölti be.
- A "failure-loop avoidance" mechanizmus különösen értékes — a memory agent nyomon követné a korábbi sikertelen próbálkozásokat, és a új session-ben emlékeztetne, hogy "ezt már megpróbáltad, nem működött, próbáld másképp".
- A "diagnostic carryover" a podcast-processing pipeline-ra alkalmazható — amikor egy subagent summary készítése elbukik (pl. rész-topics mismatch), a memory agent a következő session-ben emlékeztetne, hogy melyik rész-feldolgozási minta volt a helyes.
- Az open-weight Qwen3.5-27B memory agent a jövőben egy lokálisan futtatható alternatíva lehet (Mac mini, MLX), nem kell API-alapú frontier modell — ez a költséghatékonyság és privacy szempontjából is fontos.
- A cikk 5.5-szeres token-pazarlás-figyelmeztetése ("adds a frontier-model call at each memory step") a mi rendszerünkre is érvényes — a memory agent bevezetése ELŐTT mérni kell a token-költséget és a pass rate javulást.
Forrás: /tmp/arxiv_chunk3.txt (arXiv:2607.08716v1, ~2738 szó)
Epizód/paper: "Remember When It Matters: Proactive Memory Agent for Long-Horizon Agents" (arXiv:2607.08716v1, 2026)