Memory és Compaction — Megbízható Agent Workflow¶
Forrás¶
OpenAI Agents SDK Cookbook alapján, Tollaskígyó rendszerre adaptálva.
Alappillér: Hármas Felelősség-Megosztás¶
A hosszú távon működő agent rendszer nem egy monolit adatbázis. Három külön komponens, három külön cél:
| Komponens | Cél | Hatókör | Példa |
|---|---|---|---|
| Compaction State | Aktuális run folytatása | Eset-specifikus, mulandó | "transcribe DONE, summarize PENDING → artifact /tmp/..." |
| Memory | Jövőbeli run-ok segítése | Workflow tanulságok, preferenciák | "Whisper mindig nohup-pal indítandó" |
| Generated Artifact | Ember által review-olt igazság | Eset összes ténye, citációkkal | Podcast summary, wiki article |
A "Ne Tedd a Memory-t Árnyék-adatbázissá" Szabály¶
A legfontosabb tervezési döntés: Memory ≠ unreviewed fact database.
❌ ROSSZ Memory tartalom:
"Az Atomic Show #344-ben az SMR-ek engedélyezése 2027-re várható"
"Henky szerint a Nostr Commerce még nem piacképes"
✅ JÓ Memory tartalom:
"Podcast feldolgozásnál először a transcript kell, utána a summary"
"Henky preferálja a rövid, lényegre törő válaszokat"
"Wiki indexeket rebuild script-tel kell frissíteni, nem kézzel"
A tények a review-olt artifactokban élnek (summary fájlok, wiki cikkek). A Memory csak azt tárolja, hogy hogyan dolgoztunk — nem azt, hogy mit találtunk.
Tollaskígyó Rendszerre Leképezve¶
Jelenlegi komponensek és szerepük¶
| Rendszerelem | Szerep | Típus |
|---|---|---|
state.json |
Goal életciklus, step státuszok, artifact útvonalak | Compaction State |
HEARTBEAT.md |
Periódikus ellenőrzések, broken window lista | Compaction State (checklist) |
MEMORY.md |
Hosszú távú tanulságok, preferenciák, konfiguráció | Memory |
memory/YYYY-MM-DD.md |
Napi nyers naplók | Átmeneti (3+ nap → archiválás) |
AGENTS.md, SOUL.md, TOOLS.md, USER.md |
Viselkedési szabályok, eszköz konfiguráció | Memory |
Összefoglaló fájlok (summaries/.../*.md) |
Podcast, cikk feldolgozások | Generated Artifact |
Wiki cikkek (wiki/topics/, wiki/concepts/) |
Tudásbázis cikkek | Generated Artifact |
| Skill fájlok + reference-ek | Munkafolyamat definíciók | Memory (workflow lessons) |
Információ áramlás egy podcast pipeline-ban¶
Session indul
└── bootstrap_state.py → state.json olvasása
└── Mi a következő step? → COMPACTION STATE válaszol
Transcribe step
└── whisper nohup → /tmp/transcripts/...
└── update_state.py → COMPACTION STATE frissül
Summarize step
└── transcript → summary.md → GENERATED ARTIFACT
└── update_state.py → COMPACTION STATE frissül
Wiki Raw step
└── summary → raw/wiki/... → WIKI (artifact)
Notify step
└── Üzenet Henkynek → "Podcast kész ✅"
Run végén
└── MEMORY.md frissül ha új workflow tanulság van → MEMORY
└── Régi daily log archiválás → TAKARÍTÁS
Explicit Scoping Szabály¶
Minden írási művelet előtt az agent ellenőrizze:
if tartalom_tény_szerű_és_eset_specifikus:
→ summary fájlba vagy wiki cikkbe (Generated Artifact)
elif tartalom_workflow_tanulság_vagy_preferencia:
→ MEMORY.md-be vagy skill reference-be (Memory)
elif tartalom_futó_állapot:
→ state.json-ba (Compaction State)
elif tartalom_napi_napló:
→ memory/YYYY-MM-DD.md-be (átmeneti, archiválódik)
Implementáció a Rendszerben¶
Azonnal megvalósítva¶
- Orchestrator SKILL.md — Memory vs Compaction szekció, explicit scoping szabályok
- MEMORY.md — Explicit memory scoping rule dokumentálva
- Step protokollok kiszervezése orchestrator reference fájlokba (monolit csökkentés)
Memória Karbantartás (PID "I" tag)¶
| Ciklus | Művelet |
|---|---|
| Heti (szombat) | MEMORY.md review: mi az ami még mindig igaz? Van új tanulság? |
| Napi (06:00) | Régi daily log-ok archiválása (3+ nap) |
| Minden run végén | Ha új workflow lesson → MEMORY.md frissítés (max 2-3 sor) |
| Minden run végén | Ha új eset-specifikus tény → summary/wiki fájlba, NEM Memory-ba |
A "Shadow Database" Antipattern¶
Ha a Memory elkezdi tárolni az eset-specifikus tényeket is, akkor árnyék-adatbázissá válik — és az agent elkezdi onnan keresni a tényeket ahelyett, hogy a review-olt artifactokhoz nyúlna. Ez a megbízhatóság végét jelenti: a Memory-t senki nem review-olja, mégis adatbázisként kezeljük.
Ez az antipattern a Broken Windows-ök speciális esete. Ha egyszer beengedsz egy tényt a Memory-ba, a következő session már onnan fog dolgozni — és nincs út visszafelé.
Kapcsolódó Koncepciók¶
- SKILL.md Architektúra — a progresszív disclosure és antipattern katalógus
- Claude Code Context Engineering — context assembly és memory hierarchy