Kihagyás

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

  1. Orchestrator SKILL.md — Memory vs Compaction szekció, explicit scoping szabályok
  2. MEMORY.md — Explicit memory scoping rule dokumentálva
  3. 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

Vissza a tetejére