O autorze
- Muratcan Koylan — Context Engineer w Sully.ai (AI dla zdrowia)
- Wcześniej AI Agent Systems Manager w 99Ravens
- Twórca repozytorium Agent Skills for Context Engineering (8000+ GitHub stars)
- Cytowany w badaniach naukowych obok Anthropic
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
- Prompt engineering działa na pojedyncze interakcje. Context engineering działa na tygodnie i miesiące pracy z AI.
- Budżet uwagi (Attention Budget): Modele mają skończone okno kontekstowe. Wrzucanie wszystkiego do system promptu aktywnie pogarsza wyniki — każdy token konkuruje o uwagę modelu.
- Krzywa U uwagi: Model najlepiej zapamiętuje początek i koniec kontekstu. Środek się rozmywa (lost-in-the-middle).
Rozwiązanie: Progressive Disclosure (Progresywne ujawnianie)
Zamiast jednego wielkiego system promptu, 3 poziomy ładowania:
- Poziom 1 — Routing (zawsze załadowany): lekki plik
SKILL.mdmówi AI który moduł jest potrzebny - Poziom 2 — Instrukcje modułu (ładowane na żądanie): 40-100 linii z instrukcjami dla danej domeny
- 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
- Poziom repozytorium:
CLAUDE.md— onboarding, mapa projektu - Poziom brain:
AGENT.md— 7 reguł + tabela decyzji mapująca żądania na sekwencje akcji - Poziom modułu: każdy folder ma własny plik instrukcji z ograniczeniami dla danej domeny
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
experiences.jsonl— kluczowe momenty z wagą emocjonalną (1-10)decisions.jsonl— decyzje z rozumowaniem, rozważanymi alternatywami i śledzonymi wynikamifailures.jsonl— co poszło nie tak, przyczyna, kroki zapobiegawcze
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:
contact_idwinteractions.jsonl→ wpisy wcontacts.jsonlpillarwideas.jsonl→ filary contentowe widentity/brand.md- "Przygotuj spotkanie z Sarą" → lookup: kontakty → interakcje → todos → generuje brief na 1 stronę
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:
- Ładuje się guide głosu (jak pisze)
- Ładują się anti-patterny (czego nigdy nie pisze)
- Ładuje się szablon bloga (7 sekcji z targetami słów)
- Sprawdzane są profile audiencji
- Sprawdzane są istniejące badania tematu
System głosu
Głos zakodowany jako dane strukturalne, nie przymiotniki:
- 5 atrybutów na skali 1-10: Formalny/Casualowy (6), Poważny/Zabawowy (4), Techniczny/Prosty (7), Powściągliwy/Ekspresyjny (6), Skromny/Pewny (7)
- 50+ zakazanych słów w 3 tierach
- Zakazane otwarcia, pułapki strukturalne
- Limit: 1 em-dash na akapit
- Checkpoint głosu co 500 słów
Szablony jako scaffoldy
- Blog: 7 sekcji (Hook → Core Concept → Framework → Practical Application → Failure Modes → Getting Started → Closing), 2000-3500 słów
- Thread: 11 postów (hook, deep-dive, wyniki, CTA)
- Research: 4 fazy (landscape mapping → technical deep-dive → evidence collection → gap analysis)
- Output jednego skilla → input następnego. Pipeline buduje się sam.
4. System operacyjny w praktyce
Content Pipeline — 7 etapów
- Idea →
ideas.jsonlze scoringiem (5 kryteriów × 1-5, próg = 15+) - Research → output do modułu wiedzy
- Outline → struktura z szablonu
- Draft → 4 passy edycji (struktura, głos, dowody, czytanie na głos)
- Edit → skan banned words
- Publish → log do
posts.jsonl - 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:
metrics_snapshot.py→ aktualizuje liczbystale_contacts.py→ flaguje relacjeweekly_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
- 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.
- Za długi voice guide: 1200 linii → agent drifuje od 4. akapitu (lost-in-middle). → Restrukturyzacja: najważniejsze wzorce w pierwszych 100 liniach.
- Granice modułów: Identity + brand w jednym module → ładuje całe bio gdy potrzebuje tylko banned words. Podział = -40% zużycia tokenów.
- 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
- BEZPOŚREDNIO RELEVANTNE — nasz
.context/system w cyfrowa-firma to uproszczona wersja tego samego podejścia - Rozważyć dodanie JSONL logów decyzji i doświadczeń do context-os
- Wdrożyć progressive disclosure w CLAUDE.md (routing → moduły → dane)
- System głosu (skala numeryczna + banned words) — rozważyć dla Cyfrowego Ogarniacza
- Feedback loop: cele → content → metryki → review → cele — wdrożyć w cyklu tygodniowym