---
title: Pamäť ako súbory, nie ako databáza
type: deep-dive
level: L3
status: live
revision: 1
updated: 2026-08-14
systemVersion: 4.2
authoring: machine-translated
tags: [memory, architecture, deep-dive]
rating: 8.45
ratingAxes: useful 8 · evidence 8 · pull 9 · original 9 · form 9
ratingKind: derived
source: in production ~9 months
---

# Pamäť ako súbory, nie ako databáza

_Written 2026-08-14 · last verified 2026-08-14 · system v4.2 · live_

**TL;DR** — Pamäť tohto agenta tvoria markdown súbory rozdelené do štyroch kategórií: pravidlá správania, entity, referenčné materiály a stav projektu. Žiadna vektorová databáza, žiadne embedovanie. Dôvodom je, že vyhľadávanie nikdy nebolo úzkym hrdlom — tým bolo vedieť, čo je autoritatívne, a súbory robia autoritu viditeľnou spôsobom, aký skóre podobnosti nedokáže.

## Problém

Agent, ktorý pracuje naprieč mnohými doménami, si postupne hromadí poznatky, a najzrejmejším krokom je zakódovať všetko do vektorového skladu a vyhľadávať podľa podobnosti.

Tento inštinkt však odpovedá na nesprávnu otázku. V praxi zlyhanie takmer nikdy nespočívalo v tom, že *„agent fakt nenašiel“*. Išlo o jedno z týchto:

- Agent našiel **dva fakty, ktoré si protirečili**, a nemal podľa čoho rozhodnúť, ktorý platí.
- Agent našiel fakt, ktorý bol pravdivý pred štyrmi mesiacmi.
- Agent našiel fakt, no nedokázal určiť, či ide o pozorovanie, pravidlo, alebo len odhad, ktorý si niekto raz zapísal.

Vyhľadávanie podľa podobnosti je vo vyhľadávaní vynikajúce, no vo všetkých troch prípadoch je zo svojej podstaty nemé. Vektorový sklad vracia to, čo je *blízke*, a blízkosť nič nevypovedá o autorite, aktuálnosti ani type.

## Návrh

Pamäť je adresár markdown súborov rozdelený do štyroch kategórií podľa toho, **na čo obsah slúži**, nie podľa témy.

| Kategória | Obsahuje | Zmeny |
|---|---|---|
| Pravidlá správania | ako sa má agent správať, každé pravidlo je vysledovateľné k nejakej korekcii | len s výslovným schválením |
| Entity | ľudia, firmy, obchody — fakty o svete | priebežne, ako fakty prichádzajú |
| Referencie | trvalé externé poznatky, metódy, štandardy | zriedkavo |
| Projekt | aktuálny stav prebiehajúcej práce | neustále |

Každý súbor má hlavičku: názov, jednoriadkový popis slúžiaci na posúdenie relevantnosti a typ.

> ```
> name: term-executor
> description: the scheduled task, hook or build step that invokes a rule
> type: reference
> ``` Záznamy sa krížovo odkazujú podľa názvu.

Z toho vyplývajú tri vlastnosti, ktoré sú skutočným dôvodom tohto návrhu.

**Autorita je viditeľná.** Pravidlo správania a náhodné pozorovanie sú odlišné typy súborov v odlišných adresároch. Keď si dve tvrdenia protirečia, kategória rozhodne o prednosti bez potreby úsudku.

**Úpravy sú čitateľné.** Zmena pravidla je diff. O šesť mesiacov neskôr je tento diff stále tam, stále čitateľný, stále priraditeľný ku konkrétnej zmene — a táto história je tá najužitočnejšia vec, keď sa agent začne správať zvláštne.

**Vyhľadávanie je grep.** Nič oslnivé, ale postačujúce. Pri tomto rozsahu je doslovné vyhľadávanie naprieč niekoľkými stovkami súborov okamžité a je *predvídateľné* spôsobom, akým vyhľadávanie podľa podobnosti nie je: dopyt buď sedí, alebo nie, a oba výsledky sú preskúmateľné.

## Kompromisy

**Vyhľadávanie je doslovné, takže na pravopise záleží.** Toto stálo reálny čas — vyhľadávanie názvu firmy v jednom variante pravopisu nevrátilo nič a výsledkom boli 3 dni sebavedomo nesprávnych odpovedí. Zmiernením je pravidlo o vyhľadávaní variantov, ktoré je slabšie než by bolo embedovanie. Toto je skutočná strata a treba ju povedať otvorene.

**Rozsah má strop.** Niekoľko stoviek súborov funguje. Niekoľko stotisíc by nefungovalo, a v tom bode je odpoveďou pravdepodobne hybrid: súbory pre pravidlá a entity, index pre objemné dáta.

**Kurátorstvo je povinné.** Súbory sa samy nevyraďujú. Bez pravidelnej triáže sa sklad zapĺňa záznamami, ktoré boli kedysi zaujímavé, a spolu s ním sa nimi zapĺňa aj kontext agenta. Limity a vynútené triážne prechody sú súčasťou návrhu, nie dodatočnou záplatou.

**Žiadne sémantické vybavovanie.** Agent nedokáže vyplaviť súvisiacu myšlienku, ktorú aktívne nehľadal. Vektorové sklady sú v náhodných objavoch skutočne lepšie; tento návrh sa tejto vlastnosti vzdáva v prospech auditovateľnosti.

## Ako sa číta

Cesta vyhľadávania je rovnako dôležitá ako samotné usporiadanie a je zámerne fádna.

**Najprv sa číta index.** Každá kategória má indexový súbor, ktorý obsahuje jeden riadok na záznam: názov, jednoriadkový popis, odkaz. Tento popis je napísaný tak, aby odpovedal na jedinú otázku — *je toto teraz relevantné?* — čo znamená, že musí byť dostatočne konkrétny na to, aby sa dal na jeho základe aj zamietnuť. `Notes about suppliers` je nepoužiteľný; `Ordering profile: minimum quantities, lead times, packaging constraints` sa dá zahodiť bez otvorenia súboru.

**Entity spúšťajú povinné vyhľadanie.** Kedykoľvek sa v požiadavke objaví osoba, firma, projekt alebo obchod, register entít sa prehľadá skôr, než sa stane čokoľvek iné. Ide o zámerne nastavenú tendenciu „radšej otvoriť“: je lepšie načítať súbor, ktorý sa ukáže ako irelevantný, než sebavedomo odpovedať na základe zastaraného dojmu.

Táto tendencia má svoju cenu, ktorá sa prejavila ako skutočné zlyhanie. Vyhľadávanie je doslovné, takže meno napísané v dopyte inak než v úložisku nevráti nič — a nič je nerozlíšiteľné od *takáto entita neexistuje*. Zmiernením je pravidlo o vyhľadávaní pravopisných variantov, čo je skutočne slabšie, než by poskytlo embedovanie.

**Hlboký kontext sa načítava na spúšťač, nie predvolene.** Väčšina súborov sa v danej relácii nikdy neprečíta. Malá tabuľka mapuje spúšťače na súbory — otázka o dodávateľovi načíta štandard pre dodávateľov, otázka o dátach načíta analytický workflow. Alternatíva, teda načítanie všetkého, čo vyzerá relevantne, zhoršuje kvalitu odpovedí: dlhší kontext merateľne znižuje presnosť extrakcie, takže sklad, ktorý horlivo načítava, súťaží sám so sebou.

**Zápisy podliehajú dvom otázkam.** Bude toto predpokladateľne užitočné neskôr, a nie je to už zaznamenané niekde inde? Odpoveď na obe musí byť áno. Bez tej druhej sa v sklade hromadia takmer duplicitné záznamy, ktoré si potichu odporujú, čo je práve ten typ zlyhania, ktorý produkuje dve sebavedomé odpovede na jednu otázku.

## Čo sa pokazilo

Súčasnú podobu formovali tri zlyhania a každé z nich je cennejšie než samotné zdôvodnenie návrhu.

**Sklad sa rozdvojil.** Záložné zrkadlo používalo medzi záznamami relatívne odkazy, takže sa odkazy v zrkadle rozlišovali v rámci samotného zrkadla. Súčasne existovali dva úplné, prechádzateľné, mierne odlišné sklady, a zápisy skončili v tom, ktorý sa práve otvoril v danej relácii. Opravené tak, že všetky krížové odkazy sú teraz absolútne — záloha musí byť inertná, nie prechádzateľná.

**Hromadili sa mŕtve cesty.** Pohodlné cesty z priečinka, ktorý sa pravidelne podľa plánu vyprázdňuje, sa zapisovali do trvalých poznámok. Audit ich odhalil **240**. Opravené rozdelením pravidla podľa publika: dočasné cesty v odpovediach, kanonické cesty vo všetkom, čo sa ukladá.

**Počítadlo sa rozišlo so skutočným obsahom.** Súhrnná hlavička uvádzala 25 záznamov oproti 12 skutočne prítomným. Nikto nenapísal nesprávne číslo; záznamy boli zlúčené a archivované bez toho, aby sa hlavička upravila. Ponaučením nebolo opraviť hlavičku — bolo to nikdy potichu neopravovať nevysvetlený rozdiel smerom nadol, pretože takáto oprava zničí dôkaz o tom, že sa niečo stratilo.

Jeden dôsledok stojí za to vysloviť, pretože je dôvodom, prečo tento návrh prežil. **Každú časť tohto skladu možno opraviť textovým editorom.** Žiadna migrácia, žiadna verzia schémy, žiadna služba, ktorá musí bežať, aby bola pamäť čitateľná. Keď sa niečo pokazí — a tri vyššie uvedené zlyhania sú len tie, ktoré stoja za spísanie — cestou k náprave je otvoriť súbor a pozrieť sa. Táto vlastnosť má väčšiu hodnotu než akékoľvek zlepšenie vyhľadávania, pretože zlyhania, ktoré sa skutočne stávajú, sú štrukturálne, nie sémantické.

## Súbory

Sklad tvoria štyri adresáre markdown súborov plus index pre každú kategóriu. Index obsahuje jeden riadok na záznam — názov, jednoriadkový popis, odkaz — a je to práve to, čo sa číta ako prvé.

Nič viac: žiadna schéma, žiadna migračná cesta, žiadna služba, ktorú treba udržiavať v behu. Návrh, ktorého hlavnou prednosťou je, že sa dá ručne prečítať a opraviť, je návrh, ktorý prežije aj svoje vlastné nástroje.

## Pozri tiež

`the-response-protocol` · `enforcement-levels` · `dl-harvest` — cesta zápisu do tohto skladu
