Artykuł Muratcan Koylan 21 lutego 2026

System plików jako baza danych: jak zbudowałem osobisty OS dla agentów AI

Muratcan Koylan zbudował Personal Brain OS — system plików (markdown, YAML, JSONL) w repozytorium Git, który daje agentom AI pełny kontekst: głos, markę, cele, kontakty, pipeline contentu. Zero baz danych, zero API.

O autorze

Główna teza

Każda rozmowa z AI zaczyna się tak samo — tłumaczysz kim jesteś, nad czym pracujesz, wklejasz styl, cele... A po 40 minutach model zapomina Twój głos i zaczyna pisać jak komunikat prasowy. Koylan zbudował Personal Brain OS — plikowy system operacyjny w repozytorium Git (80+ plików w markdown, YAML i JSONL), który rozwiązuje ten problem.

1. Problem to kontekst, nie prompty

Rozwiązanie: Progressive Disclosure (Progresywne ujawnianie)

Zamiast jednego wielkiego system promptu, 3 poziomy ładowania:

  1. Poziom 1 — Routing (zawsze załadowany): lekki plik SKILL.md mówi AI który moduł jest potrzebny
  2. Poziom 2 — Instrukcje modułu (ładowane na żądanie): 40-100 linii z instrukcjami dla danej domeny
  3. Poziom 3 — Dane (ładowane gdy task wymaga): logi JSONL, konfiguracje YAML, dokumenty badawcze

11 izolowanych modułów — gdy AI pisze blog, ładuje guide głosu i pliki marki. Gdy przygotowuje spotkanie, ładuje bazę kontaktów i historię interakcji. Model nigdy nie widzi danych sieciowych podczas zadania contentowego.

Hierarchia instrukcji agenta

2. System plików jako pamięć

Zero baz danych. Zero vector store. Tylko pliki na dysku, wersjonowane Gitem.

Mapowanie format → funkcja

Format Zastosowanie Dlaczego
JSONL Logi (posty, kontakty, interakcje, zakładki, pomysły, metryki, doświadczenia, decyzje, porażki) Append-only, stream-friendly, każda linia to samodzielny JSON. Agent nie może nadpisać historii
YAML Konfiguracja (cele, wartości, nauka, kręgi, rytmy, heurystyki) Hierarchiczne dane, komentarze, czytelne dla ludzi i maszyn
Markdown Narracja (guide'y głosu, badania, szablony, drafty) LLM-y czytają natywnie, renderuje się wszędzie, czyste diffy w Git

Skala: 11 plików JSONL, 6 plików YAML, 50+ plików Markdown.

Pamięć epizodyczna — nie tylko fakty, ale osąd

Różnica: AI z Twoimi plikami vs. AI z Twoim osądem. Fakty mówią co się wydarzyło. Pamięć epizodyczna mówi co było ważne, co bym zrobił inaczej, jak myślę o kompromisach.

Odniesienia między modułami

Flat-file relational model:

3. System umiejętności (Skills)

Pliki przechowują wiedzę. Skills kodują procesy.

Dwa typy umiejętności

Typ Ładowanie Przykłady Cel
Reference skills Auto-loading (ciche) voice-guide, writing-anti-patterns Konsystencja — nie musisz mówić "użyj mojego głosu"
Task skills Ręczne (/slash-command) /write-blog, /topic-research Precyzja — różne quality gates dla różnych zadań

Gdy wpisuje /write-blog context engineering for marketing teams, 5 rzeczy dzieje się automatycznie:

  1. Ładuje się guide głosu (jak pisze)
  2. Ładują się anti-patterny (czego nigdy nie pisze)
  3. Ładuje się szablon bloga (7 sekcji z targetami słów)
  4. Sprawdzane są profile audiencji
  5. Sprawdzane są istniejące badania tematu

System głosu

Głos zakodowany jako dane strukturalne, nie przymiotniki:

Szablony jako scaffoldy

4. System operacyjny w praktyce

Content Pipeline — 7 etapów

  1. Ideaideas.jsonl ze scoringiem (5 kryteriów × 1-5, próg = 15+)
  2. Research → output do modułu wiedzy
  3. Outline → struktura z szablonu
  4. Draft → 4 passy edycji (struktura, głos, dowody, czytanie na głos)
  5. Edit → skan banned words
  6. Publish → log do posts.jsonl
  7. Promote → thread na X + adaptacja na LinkedIn

Batch: niedziele, 3-4h → 3-4 posty zadraftowane.

Personal CRM — 4 kręgi

Krąg Częstotliwość
Inner Co tydzień
Active Co 2 tygodnie
Network Co miesiąc
Dormant Reaktywacja kwartalna

Każdy kontakt ma pola can_help_with i you_can_help_with → system matchowania intro.

Automatyzacja — feedback loop

Niedzielny review uruchamia 3 skrypty:

  1. metrics_snapshot.py → aktualizuje liczby
  2. stale_contacts.py → flaguje relacje
  3. weekly_review.py → podsumowanie z completed vs planned, trendy metryk, priorytety na następny tydzień

Pętla: cele → content → metryki → review → cele.

5. Czego się nauczył na błędach

  1. Przebudowane schematy: Początkowo 15+ pól na wpis JSONL. Większość pusta. Agent próbuje wypełniać puste pola. → Zredukował do 8-10 kluczowych pól.
  2. Za długi voice guide: 1200 linii → agent drifuje od 4. akapitu (lost-in-middle). → Restrukturyzacja: najważniejsze wzorce w pierwszych 100 liniach.
  3. Granice modułów: Identity + brand w jednym module → ładuje całe bio gdy potrzebuje tylko banned words. Podział = -40% zużycia tokenów.
  4. Append-only jest konieczne: Stracił 3 miesiące danych zaangażowania postów bo agent nadpisał posts.jsonl. → JSONL append-only to mechanizm bezpieczeństwa, nie konwencja.

6. Wynik i zasada

Context engineering to nie prompt engineering. Prompt engineering pyta "jak lepiej sformułować pytanie?" Context engineering pyta "jakie informacje AI potrzebuje, żeby podjąć dobrą decyzję, i jak je ustrukturyzować, żeby model faktycznie ich użył?"

Przejście od optymalizacji pojedynczych interakcji do projektowania architektury informacji. Różnica między napisaniem dobrego maila a zbudowaniem dobrego systemu archiwizacji. Jedno pomaga raz. Drugie pomaga za każdym razem.

Cały system mieści się w repozytorium Git. Sklonuj na dowolną maszynę, podłącz dowolne narzędzie AI — OS działa. Zero zależności. Pełna przenośność. I bo to Git — każda zmiana jest wersjonowana, każda decyzja śledzalna.

Wnioski i action items

Materiał z Bazy Wiedzy Cyfrowego Ogarniacza

Chcesz więcej takich materiałów?

Dołącz do Cyfrowego Ogarniacza