# Druga pamięć w Claude Code: jak zbudować jej strukturę w godzinę

> Jak zbudować drugą pamięć dla Claude Code: hierarchia pamięci, pięcioczęściowa struktura folderów i git, dzięki którym agent pamięta wszystko o projekcie między sesjami.

Source: https://ailoot.ai/blog/pl/claude-code-second-brain/
Canonical: https://ailoot.ai/blog/pl/claude-code-second-brain/
Language: pl
Publisher: Ailoot (https://ailoot.ai/)
Translation: guide-233
Revision: sha256-4d0f2f5bc6b1236b7af339906e7a22107d399b45da8b1e145eb8e90ba9a09479


<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Najważniejsze w sekcji">

Najważniejszy wniosek

Druga pamięć Claude Code to nie jeden plik, lecz struktura pięciu folderów i gita. CLAUDE.md określa zasady i wskazuje ścieżki, `business/` przechowuje wiedzę o projekcie, `ai-clone/` informacje o tobie jako osobie podejmującej decyzje, `plans/` plany techniczne, a `retrospectives/` wnioski z poprzednich sesji. Agent zaczyna od CLAUDE.md i podąża za odnośnikami do właściwego folderu dla konkretnego zadania. W tym artykule omówiono hierarchię pamięci w oficjalnej dokumentacji Claude Code, pięcioczęściową strukturę oraz sposób zbudowania jej krok po kroku w godzinę.

</div>

Dokumentacja referencyjna Ailoot: [ailoot.ai/docs/](https://ailoot.ai/docs/).

## Po co Claude Code druga pamięć i co jest niezbędne?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Najważniejsze w sekcji">

Najważniejszy wniosek

Jeden plik CLAUDE.md obejmuje podstawowe zasady, ale nie wystarczy do przechowywania wiedzy biznesowej. Po miesiącu nie pamiętasz już, dlaczego podniosłeś cenę. Po trzech miesiącach nie pamiętasz, dlaczego odrzuciłeś płatności ratalne. Wiedza jest jednocześnie w czterech miejscach: w twojej głowie, czatach Telegrama, dokumentach Google i głowach pracowników. Druga pamięć zbiera ją w jednym folderze z plikami Markdown obok projektu, a Claude może sam do niego zaglądać.

</div>

We wtorek otwierasz Claude Code. Wyjaśniasz: oto projekt, oto odbiorcy, tego nie rób. Pracujecie razem. W czwartek zaczyna się nowy czat i znów musisz wszystko tłumaczyć.

Jeśli masz plik CLAUDE.md, rozwiązałeś pierwszy problem. Podstawowe zasady i opis projektu znajdują się w jednym pliku, który ładuje się podczas każdej sesji. Wyjaśniłem, jak działa ten plik, w moim [poradniku o CLAUDE.md](https://ailoot.ai/blog/pl/claude-md-template/) - możesz najpierw go przeczytać, by przygotować podstawy.

Ale CLAUDE.md to instrukcja dla nowego pracownika. Jak się ubierać, jakim tonem rozmawiać z klientami, jakich poleceń używać do publikowania. To nie wystarcza, by podejmować dobre decyzje dotyczące projektu. Do decyzji potrzebna jest wiedza: czym jest produkt, kim są odbiorcy, jak działa ekonomika, co już wypróbowano i co się nie sprawdziło.

Zgodnie z opisanym tutaj doświadczeniem autora ta wiedza była kiedyś w czterech miejscach: w jego głowie, czatach Telegrama, dokumentach Google i głowach pracowników. Miesiąc po podjęciu decyzji nikt już nie pamiętał, dlaczego ją podjęto. Nowa osoba potrzebowała godziny rozmów z zespołem, by się wdrożyć. Claude w ogóle nie miał dostępu do tego kontekstu.

Przed utworzeniem drugiej pamięci każda sesja, według opisanego doświadczenia autora, oznaczała ponowne wyjaśnianie, kim jest klient, jak skonstruowana jest oferta i który dostawca obsługuje płatności. Dzięki `business/` otwieram czat i mówię: „zaktualizuj ofertę dla nowego planu cenowego” - Claude sam przechodzi do `business/company/legal.md`, odczytuje wymagania, następnie otwiera `business/products/pricing.md`, widzi nowy plan cenowy i za jednym razem proponuje zmianę. Wstępne objaśnienia znikają, a kontekst ładuje się automatycznie.

<div class="aside" data-semantic="callout" role="note" aria-label="Uwaga">

Uwaga

To nie problem z pamięcią Claude’a, lecz kwestia architektury. Okno kontekstu agenta to jego pamięć robocza. Ładuje on tylko to, na co wyraźnie mu wskażesz. Wszystko inne znajduje się poza oknem i jest ładowane na żądanie. Druga pamięć przechowuje to „wszystko inne” w uporządkowany sposób, dzięki czemu Claude potrafi się w niej odnaleźć.

</div>

Anthropic nazywa ten problem „psuciem się kontekstu” na swoim blogu inżynieryjnym:

<figure>
<blockquote>
Im więcej tokenów znajduje się w oknie kontekstu, tym gorzej model radzi sobie z dokładnym przypominaniem sobie informacji z tego kontekstu.
</blockquote>
<figcaption>— Anthropic, anthropic.com/engineering/effective-context-engineering-for-ai-agents</figcaption>
</figure>

Innymi słowy, im więcej upychasz w oknie, tym gorzej agent radzi sobie z konkretami. Rozwiązaniem jest utrzymywanie struktury zewnętrznych plików, do których Claude może sam sięgać w odpowiedzi na konkretne zadanie. Tym właśnie jest druga pamięć.

## Czym jest druga pamięć i jak odnosi się do Claude’a?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Najważniejsze w sekcji">

Najważniejszy wniosek

Pomysł jest prosty: umysł służy do myślenia, a nie do przechowywania myśli. W przypadku Claude Code koncepcja drugiej pamięci zmienia się z metody produktywności w architekturę agenta: zewnętrzny folder z notatkami, do których agent ma bezpośredni dostęp przez system plików.

</div>





Typowa druga pamięć służy ogólnej produktywności: ludzie tworzą skarbiec w Obsidianie i dodają fragmenty książek, notatki z rozmów oraz pomysły na projekty.

Kiedy autor zastosował tę ideę w pracy z Claude Code, przestała ona dotyczyć produktywności, a zaczęła architektury agenta.

W klasycznym podejściu druga pamięć należy do ciebie i korzystasz z niej ręcznie. Podczas pracy z Claude Code staje się **dwukierunkowa**: korzystasz z niej ty i agent. Zmienia to wymagania dotyczące jej formatu.

Ponieważ agent uzyskuje do niej dostęp samodzielnie, pliki muszą być w formacie, który rozumie bez osobnej integracji. Markdown sprawdza się idealnie: tekst, hierarchia nagłówków i odnośniki między plikami. Notion ani Dokumenty Google się do tego nie nadają. Można je podłączyć przez MCP, ale to dodaje kolejną warstwę, token przy każdym żądaniu i kolejny punkt awarii.

Ponieważ pliki znajdują się w systemie plików obok projektu, automatycznie są w zasięgu Claude Code. Nie trzeba nic konfigurować. Uruchom agenta w folderze projektu, a zobaczy wszystkie znajdujące się w nim pliki. To bezpłatne i działa od razu.

<div class="aside" data-semantic="callout" role="note" aria-label="Wskazówka">

Wskazówka

Możesz przechowywać drugą pamięć w Obsidianie - ja też go otwieram, bo ułatwia przeglądanie grafu powiązań. Same pliki znajdują się jednak w zwykłym folderze obok kodu. Obsidian to po prostu wygodna nakładka na pliki Markdown. Claude widzi je bez Obsidiana. Możesz używać dowolnego edytora; ważne, by pliki znajdowały się na dysku, a nie w usłudze chmurowej z własnym formatem.

</div>

## Jaką hierarchię pamięci Claude Code ma od razu po instalacji?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Najważniejsze w sekcji">

Najważniejszy wniosek

Claude Code potrafi odczytywać cztery poziomy CLAUDE.md od razu po instalacji (enterprise, user, project i local), a od wersji 2.1.59 prowadzi własną automatyczną pamięć w `~/.claude/projects/<project>/memory/`. Wystarcza to do podstawowej pamięci, ale nie do kontekstu biznesowego - ten umieszcza się w osobnym folderze obok projektu.

</div>

Zanim dodasz coś własnego, przyjrzyjmy się temu, co Claude może zapamiętać bez twojej pomocy. Anthropic opisuje dwa mechanizmy w [oficjalnej dokumentacji](https://code.claude.com/docs/en/memory): CLAUDE.md (zasady, które piszesz) oraz pamięć automatyczną (wnioski, które Claude zapisuje sam). Oba ładują się na początku każdej sesji.

CLAUDE.md jest wyszukiwany jednocześnie w czterech miejscach:

| Poziom | Lokalizacja | Zastosowanie |
|----|----|----|
| **Enterprise** | `/Library/Application Support/ClaudeCode/CLAUDE.md` (macOS), `/etc/claude-code/CLAUDE.md` (Linux), `C:\Program Files\ClaudeCode\CLAUDE.md` (Windows) | Zasady, które administrator wdraża dla całego zespołu przez MDM. Osoby prywatne nie potrzebują tego pliku. |
| **User** | `~/.claude/CLAUDE.md` | Osobiste zasady dotyczące wszystkich projektów. „Odpowiadaj w preferowanym przeze mnie języku”, „nie używaj pauz”. |
| **Project** | `./CLAUDE.md` w głównym katalogu projektu | Zasady konkretnego projektu: stos technologiczny, struktura folderów, reguły biznesowe. Plik zatwierdzony w git. |
| **Local** | `./CLAUDE.local.md` | Twoje osobiste notatki dotyczące tego projektu, niezatwierdzane w git. W `.gitignore`. |

Wszystkie cztery pliki są ładowane do kontekstu. Im bardziej szczegółowy poziom, tym wyższy ma priorytet. Plik lokalny jest odczytywany jako ostatni, więc jego zasady mają pierwszeństwo przed pozostałymi.

Plik CLAUDE.md może też znajdować się w dowolnym folderze projektu. Kiedy Claude odczytuje plik z podfolderu, ładuje na żądanie również CLAUDE.md z tego podfolderu. Przydaje się to w monorepozytorium: zasady frontendu znajdują się w `frontend/CLAUDE.md`, zasady backendu w `backend/CLAUDE.md` i są ładowane tylko wtedy, gdy agent pracuje nad odpowiednią częścią.

Pamięć automatyczna pojawiła się w Claude Code 2.1.59. Są to pliki, które Claude zapisuje o tobie:

```
~/.claude/projects/<project-name>/memory/
├── MEMORY.md          # Indeks, ładowany podczas każdej sesji (200 linii lub 25KB)
├── debugging.md       # Szczegółowe notatki (ładowane na żądanie)
├── api-conventions.md
└── ...
```

Anthropic opisuje to w oficjalnej dokumentacji tak:

<figure>
<blockquote>
Claude nie zapisuje czegoś podczas każdej sesji. Decyduje, co warto zapamiętać, na podstawie tego, czy informacja może się przydać w przyszłej rozmowie.
</blockquote>
<figcaption>— Anthropic, code.claude.com/docs/en/memory</figcaption>
</figure>

Pamięć automatyczną włącza flaga `autoMemoryEnabled` w `~/.claude/settings.json`. Claude sam decyduje, co tam zapisać. Możesz czytać i ręcznie edytować MEMORY.md - to zwykły plik Markdown.

<div class="aside" data-semantic="callout" role="note" aria-label="Ostrzeżenie">

Ostrzeżenie

Pamięć automatyczna jest przydatna, ale nie zastępuje drugiej pamięci. Claude zapisuje w niej praktyczne wnioski o narzędziach i wzorcach kodu. „Ten skrypt nie działa bez flagi X”, „ta tabela w bazie danych tak się nazywa”. Nie zapisuje tam strategii biznesowej. Jeśli chcesz, by agent pamiętał, kim są twoi odbiorcy i dlaczego wybrałeś konkretną cenę, musisz umieścić te informacje we własnym, osobnym folderze kontekstu.

</div>

## CLAUDE.md czy druga pamięć - gdzie przebiega granica?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Najważniejsze w sekcji">

Najważniejszy wniosek

CLAUDE.md to instrukcja dla nowego pracownika: jak się zachowywać, jakich poleceń używać i czego nie robić. Druga pamięć to firmowa wiki: czym się zajmujesz, dla kogo, jak działa ekonomika i co już wypróbowano. Jeden plik z zasadami zachowania oraz struktura zewnętrznej wiedzy. CLAUDE.md jest indeksem, a druga pamięć archiwum. Bez indeksu agent nie wie o istnieniu archiwum. Bez archiwum zna tylko zasady, a nie kontekst biznesowy.

</div>

Oto analogia, której używam w swoich wystąpieniach: wyobraź sobie, że zatrudniłeś nowego pracownika. Co dajesz mu pierwszego dnia?

Instrukcję: jak się ubierać, kiedy przychodzić, jakim tonem rozmawiać z klientami, za pośrednictwem którego systemu publikować. To krótki dokument. Nie wyjaśnia, czym się zajmujesz ani dlaczego. Mówi tylko, jak się zachowywać.

Osobno dajesz mu dostęp do firmowej wiki. Wyjaśnia ona, czym jest produkt, dla kogo jest przeznaczony, kim są odbiorcy, jaka jest cena i dlaczego, kim są konkurenci oraz jakie błędy popełniono. To obszerne archiwum. Nikt nie czyta go w całości - zagląda się do niego z konkretnym pytaniem.

CLAUDE.md = instrukcja. Druga pamięć = wiki. Potrzebujesz obu.

Różnica jest prosta. W CLAUDE.md umieść wszystko, co jest **istotne przy każdym zadaniu**:

- Kim jest agent w tym projekcie (pomocnikiem, liderem, asystentem)
- W jakim języku ma odpowiadać
- Stos narzędzi
- Polecenia publikowania
- Zakazy (nie używaj pauz, nie wykonuj `git push --force`)
- Wskazówki: gdzie szukać kontekstu biznesowego, a gdzie zasad

W drugiej pamięci umieść wszystko, co jest **potrzebne na żądanie**:

- Produkt, odbiorców, ekonomikę i cele
- Konkurentów i rynek
- Wcześniejsze decyzje i ich uzasadnienia
- Przykłady i opinie klientów
- Zasady i metodologię

Anthropic rozróżnia te elementy w podobny sposób w swojej dokumentacji:

<figure>
<blockquote>
CLAUDE.md ładuje się podczas każdej sesji, dlatego należy umieszczać w nim tylko informacje przydatne w szerokim zakresie. Wiedzę dziedzinową i procedury potrzebne tylko czasami można umieścić w skills. Claude ładuje je na żądanie, nie rozbudowując każdej rozmowy.
</blockquote>
<figcaption>— Anthropic, code.claude.com/docs/en/best-practices</figcaption>
</figure>

Skills to jeden ze sposobów przechowywania wiedzy epizodycznej. Innym jest folder `business/` obok projektu. Korzystam z obu rozwiązań i dokładniej je opiszę poniżej.

## Z czego składa się pamięć projektu - 5 części i wehikuł czasu

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Najważniejsze w sekcji">

Najważniejszy wniosek

Pamięć projektu to pięć folderów i git na wierzchu. CLAUDE.md określa zasady i wskazuje ścieżki. `ai-clone/` przechowuje twoją cyfrową projekcję: zasady, ton wypowiedzi i uwagi po błędach. `business/` przechowuje wiedzę o projekcie. `plans/` zawiera plany techniczne podzielone na etapy. `retrospectives/` zawiera refleksje po sesjach. Git zmienia to wszystko w wehikuł czasu: po roku możesz otworzyć dowolny plik i zobaczyć, co zawierał w chwili podjęcia decyzji.

</div>

Przykładowa architektura z doświadczeń opisanych przez autora:

| Folder | Zawartość | Cel |
|----|----|----|
| **`CLAUDE.md`** | Zasady projektu, stos technologiczny, struktura plików, wskazówki dotyczące folderów, język komunikacji | To instrukcja agenta. Ładuje się podczas każdej sesji. Poniżej 200 linii, najlepiej 80-120. |
| **`ai-clone/`** | Kim jestem, moje zasady, ton, styl podejmowania decyzji, uwagi po błędach | Cyfrowa projekcja mnie jako osoby podejmującej decyzje. Wie, co od razu odrzucę, w jakim stylu przedstawiam propozycje i jakich zasad nauczyłem się na błędach. |
| **`business/`** | Produkt, odbiorcy, cele, ekonomika, marketing, wcześniejsze decyzje, przykłady | Powiązane pliki Markdown z linkami wiki. Każdy plik łączy się z innymi za pomocą linków `[[...]]`. Agent zagląda tam w odpowiedzi na konkretne pytanie. |
| **`plans/`** | Jeden plan na funkcję. Plik `YYYY-MM-DD-feature.md` z etapami i polami wyboru | Plan Mode istnieje w jednej rozmowie i znika po `/clear`. Folder `plans/` znajduje się w repozytorium - każdy agent może w dowolnym momencie podjąć plan. |
| **`retrospectives/`** | Refleksje po każdej sesji: co zrobiono, co zapamiętać, co można poprawić | Samouczenie się systemu. Błędy stają się zasadami w `ai-clone/feedback/`. |
| **`+ git`** | Historia wersji wszystkich plików | Wehikuł czasu. Otwórz dowolny plik i uruchom `git log`, by zobaczyć, kiedy i dlaczego go zmieniono. |

Kluczową kwestią metodologiczną jest **oddzielenie `ai-clone/` od `business/`**.

`business/` odpowiada na pytanie „czym się zajmujemy?”. Produkt, odbiorcy, ceny, konkurenci. Dotyczy projektu. Jeśli jutro przekażesz projekt partnerowi, ten folder przejdzie razem z nim.

`ai-clone/` odpowiada na pytanie „jak podejmuję decyzje?”. Moje zasady, ton, rzemiosło i słowa zakazane. Dotyczy mnie. Jeśli jutro rozpocznę nowy projekt, ten folder przejdzie ze mną.

Razem tworzą to, co nazywam Firmą Jednoosobową. Jedna osoba, uporządkowany kontekst i AI, które ten kontekst odczytuje.



Chcesz nie tylko skonfigurować drugi folder, ale też zbudować system, dzięki któremu Claude będzie działał konsekwentnie? Samo to nie wystarczy. Bez `ai-clone/` agent odpowiada tak samo każdemu, a nie tobie. Bez inżynierii kontekstu błąka się po całym folderze i zużywa tokeny. Warto połączyć wszystkie trzy elementy: **druga pamięć + klon AI + inżynieria kontekstu**. To **trzy filary**, bez których AI halucynuje.

## Co powinno znaleźć się w business/, a czego tam nie umieszczać?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Najważniejsze w sekcji">

Najważniejszy wniosek

W `business/` umieszczaj fakty o projekcie, które zmieniają się najwyżej raz w tygodniu: pozycjonowanie, odbiorców, produkty i ceny, cele kwartalne oraz kluczowe decyzje. Nie umieszczaj tam korespondencji z czatów, nieprzetworzonych surowych materiałów, informacji powielonych w kodzie, zrzutów ekranu ani zmiennych liczb. Zastąp liczby znacznikiem LIVE i odnośnikiem do zapytania SQL - wyjaśniam to w osobnej sekcji poniżej.

</div>

Struktura najwyższego poziomu folderu `business/` w projekcie opisanym przez autora:

```
business/
├── INDEX.md              ← mapa folderu, przeczytaj najpierw
├── company/              ← misja, podmiot prawny, wartości, zasady prawne
├── products/             ← produkty, programy, ceny
├── audience/             ← profil klienta, segmenty, obiekcje
├── goals/                ← cele roczne, kwartalne, miesięczne, wskaźniki
├── economics/            ← ekonomika jednostkowa, przychody, wydatki, prognoza
├── marketing/             ← kanały, lejek, materiały, konkurenci
├── execution/            ← planowanie tygodniowe, backlog
└── assets/               ← system projektowy, opinie, bank tekstów
```

To przykład z projektu opisanego przez autora, a nie sztywna reguła. Tworzę foldery w miarę potrzeb. Zacząłem od trzech (`products/`, `audience/`, `goals/`); pozostałe dodałem po 2-3 miesiącach, gdy nie było już jasne, gdzie umieszczać nowe rzeczy.

Głównym plikiem folderu jest `INDEX.md`. To mapa. Zawiera tabelę „pytanie → plik”, która pomaga Claude’owi zrozumieć, dokąd przejść. Bez niej agent zużywa tokeny na odczytywanie kolejno każdego pliku.

Przykładowy fragment pliku `INDEX.md`:

```markdown
### Gdzie znaleźć informacje

| Czego potrzebujesz | Gdzie szukać |
|---|---|
| Kim jest nasz klient i jakie ma problemy | `business/audience/avatar.md` |
| Produkty, plany i ceny | `business/products/` |
| Cele i wskaźniki | `business/goals/` |
| Ekonomika (przychody, wydatki, ekonomika jednostkowa) | `business/economics/` |
| Kanały i materiały promocyjne | `business/marketing/` |
```

Wystarczy wtedy jedna linijka w `CLAUDE.md`: „W sprawach biznesowych przeczytaj `business/INDEX.md` i skorzystaj z mapy”. Agent nie ładuje całego folderu do kontekstu. Odczytuje mapę, wybiera właściwy plik i czyta tylko jego.

**Lista kontrolna: czego nie umieszczać w `business/`:**

- Surowa korespondencja z czatów bez opracowania. Jeśli zawiera wniosek, wyciągnij go i zapisz. Jeśli nie, pomiń.
- Informacje powielone w kodzie. „Płatności obsługuje CloudPayments” nie są potrzebne; agent może zobaczyć to w kodzie.
- Zrzuty ekranu i obrazy. Zwiększają rozmiar folderu i nie są analizowane przez model tekstowy bez dodatkowego kroku.
- Zmienne liczby. „Dzisiaj mamy 423 płatności za produkt” za tydzień będzie nieaktualne. Użyj znacznika LIVE i odnośnika do zapytania w bazie danych.
- Informacje wrażliwe lub wątpliwe. Jeśli jutro repozytorium miałoby zostać pokazane na YouTube przed 100 tysiącami nieznajomych, zachowaj tylko to, co gotów byłbyś ujawnić. Z folderu korzystają pracownicy, agenci, a czasem też zewnętrzni podwykonawcy.

<div class="aside" data-semantic="callout" role="note" aria-label="Ostrzeżenie">

Ostrzeżenie

Jeśli repozytorium jest publiczne, folder `business/` również jest publiczny. Traktuję drugą pamięć tak, jakby repozytorium mogło jutro stać się publiczne, nawet jeśli dziś jest prywatne. Bez nazw klientów bez zgody, miesięcznych przychodów i haseł. Ten nawyk oszczędza mnóstwo stresu.

</div>

## Po co osobny folder ai-clone i dlaczego nie należy łączyć go z business?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Najważniejsze w sekcji">

Najważniejszy wniosek

`ai-clone/` przechowuje twoją cyfrową projekcję: zasady, ton, słowa zakazane i uwagi po błędach. Każdy błąd agenta staje się zasadą w `ai-clone/feedback/` według formuły „zasada → dlaczego → jak stosować”. Folder przenosisz z projektu do projektu. `business/` zostaje z projektem. Zachowaj je osobno: w nowym projekcie folder `business/` będzie nowy, ale twoje zasady i styl pozostaną takie same.

</div>

Pomysł jest prosty: firma wie, czym się zajmujemy. Klon wie, jak podejmuję decyzje.

Struktura `ai-clone/` w projekcie opisanym przez autora:

```
ai-clone/
├── INDEX.md           ← mapa folderu
├── role.md            ← kim jestem, moje doświadczenie, co jest ważne
├── identity/          ← wartości, wizja, misja
├── thinking/          ← modele myślowe z wystąpień
├── voice/             ← ton, słownictwo, styl
├── principles/        ← przekonania dotyczące produktu, kodu, biznesu
├── feedback/          ← zasady wyciągnięte z błędów ← główny folder
├── style/             ← słowa zakazane, format Telegrama
└── reference/         ← narzędzia, środowisko
```

Najbardziej przydatny jest folder `feedback/`. Zawiera konkretne zasady wyciągnięte z błędów agenta. Każda zasada trafia do osobnego pliku w takim formacie:

```markdown
---
name: short-name
description: one line - what’s in the file and when to apply it
type: feedback
---

Krótka zasada w jednym zdaniu.

**Dlaczego:** czemu istnieje ta zasada. Kontekst, zdarzenie, obserwacja.

**Jak stosować:** konkretne warunki, w których obowiązuje zasada.
```

Bez sekcji `Why` zasada jest martwa - agent nie przeniesie jej na podobną sytuację. Bez `How to apply` nie wiadomo, kiedy jej użyć.

Przykład z mojego folderu: zasada „łącznik, nie pauza”. Wynika z tego, że pauza `—` jest charakterystycznym wizualnym znacznikiem tekstu wygenerowanego. Dotyczy każdego tekstu przeznaczonego do publikacji. Plik znajduje się w `ai-clone/feedback/no-em-dashes.md`.





Robię to trochę inaczej: zapisuję zasady w `ai-clone/feedback/`, a nie w `CLAUDE.md`. CLAUDE.md jest plikiem projektu, natomiast zasady dotyczące tonu i stylu są osobiste. Przechodzą ze mną do następnego projektu. `CLAUDE.md` pozostaje z projektem.

<div class="aside" data-semantic="callout" role="note" aria-label="Uwaga">

Uwaga

Miarą dojrzałości tego podejścia jest odpowiedź na pytanie: ile razy w tygodniu mówisz agentowi „nie, nie tak” w tej samej sprawie? W dojrzałym systemie odpowiedź wynosi zero. Każdy błąd zmienia się w zasadę w `feedback/`, a agent nie powtarza go następnym razem.

</div>

## Czym są wskaźniki Live i dlaczego nie wpisywać liczb na stałe do plików?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Najważniejsze w sekcji">

Najważniejszy wniosek

Liczby w plikach drugiej pamięci dezaktualizują się w ciągu kilku dni. Dzisiejsze „1,000 klientów” jutro zmienia się w 1,050, a za miesiąc w 2,000. Jeśli wpiszesz je na stałe, miesiąc później agent będzie proponował rozwiązania na podstawie wczorajszych danych. Rozwiązaniem jest znacznik LIVE w pliku oraz osobny dokument `live-metrics.md` z gotowymi do uruchomienia zapytaniami SQL. Gdy agent widzi LIVE, przechodzi do bazy danych, pobiera aktualną liczbę i opiera swoje rozumowanie na bieżących danych.

</div>

Jedną z głównych pułapek przy tworzeniu drugiej pamięci jest wypełnianie jej nieaktualnymi liczbami. Zapisujesz „mamy 320 klientów”, a dwa tygodnie później jest ich już 410. Zapisujesz „miesięczny przychód wynosi 4.7 miliona”, a miesiąc później liczba nie ma już kontekstu: to cel, wynik rzeczywisty czy prognoza?

W przykładzie autora działa to tak. W pliku `business/products/practicum.md` zamiast liczby znajduje się znacznik:

```markdown
## Grupy

> **LIVE** - uruchom zapytania z `live-metrics.md`, sekcja „Sprzedaż”
> aby zobaczyć bieżące płatności według grup.

| Grupa | Daty | Płatności |
|-------|------|------------|
| 1 | 10-12 marca 2026 | LIVE |
| 2 | 24-26 marca 2026 | LIVE |
```

Osobny plik `live-metrics.md` zawiera gotowe do uruchomienia zapytania SQL oraz opisy zwracanych przez nie danych:

````markdown
## Sprzedaż (płatności według grup)

```sql
SELECT c.name, COUNT(p.id) AS paid, SUM(p.amount) AS revenue
FROM purchases p
JOIN cohorts c ON c.id = p.cohort_id
WHERE p.status = 'paid'
GROUP BY c.name
ORDER BY c.starts_at DESC;
```
````

Kiedy pytam agenta: „ile mamy płatności za drugą grupę?”, on:

1. Odczytuje `business/products/practicum.md`
2. Widzi znacznik LIVE obok liczby
3. Otwiera `live-metrics.md`
4. Znajduje sekcję „Sprzedaż”
5. Uruchamia zapytanie na produkcyjnej bazie danych
6. Odpowiada na podstawie świeżych danych

Rozwiązuje to dwa problemy naraz. Liczby nie tracą aktualności. A decyzje są podejmowane na podstawie bieżącego obrazu, a nie danych sprzed roku.

<div class="aside" data-semantic="callout" role="note" aria-label="Ostrzeżenie">

Ostrzeżenie

W podejściu opisanym przez autora dostęp do produkcyjnej bazy danych mają tylko zaufani agenci. Otrzymują go wyłącznie przez nakładkę, która rejestruje zapytania i nie ujawnia haseł. Umieszczanie bezpośredniego polecenia `psql` z hasłem zapisanym jawnym tekstem w `live-metrics.md` to zły pomysł. Przygotuj nakładkę, która pobiera hasło ze zmiennej środowiskowej i nie pokazuje go w wynikach. To osobna warstwa techniczna, ale bez niej LIVE staje się luką w zabezpieczeniach.

</div>

## Jak AI porusza się po drugiej pamięci przy pojedynczym zadaniu?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Najważniejsze w sekcji">

Najważniejszy wniosek

Ścieżka jest zawsze taka sama: Claude odczytuje CLAUDE.md, widzi mapy (`business/INDEX.md`, `ai-clone/INDEX.md`), przechodzi do odpowiedniego INDEX, podąża za nim do konkretnego pliku, a w razie potrzeby pobiera liczbę przez LIVE. To 5-6 operacji odczytu zamiast ładowania całego folderu do kontekstu. Okno pozostaje wolne na rozumowanie, a tokeny nie są marnowane na nieistotne pliki.

</div>

Konkretny przykład zadania: „napisz e-mail do uczestników o nowej grupie”.

1. Claude zaczyna od pustego okna. Ładuje CLAUDE.md (zasady, stos technologiczny, wskazówki dotyczące ścieżek).
2. Z mapy ścieżek w CLAUDE.md odczytuje: „`ai-clone/INDEX.md` - zawsze odczytuj na początku sesji”. Otwiera plik i dowiaduje się, kim jestem, jaki mam ton wypowiedzi i jakich słów zakazanych używam.
3. Widzi w mapie: „szablony e-maili - `src/lib/email/layout.ts`”. Otwiera plik i poznaje format.
4. Widzi: „kontekst produktu - `business/products/practicum.md`”. Otwiera plik i czyta o produkcie.
5. Widzi w pliku znacznik LIVE i odnośnik do `live-metrics.md`. Otwiera ten plik i znajduje gotowe zapytania SQL. Jeśli potrzebuje aktualnej liczby, uruchamia zapytanie. Jeśli nie, zaznacza „pobierz tę liczbę w chwili wysyłki”.
6. Widzi zasady dotyczące tonu w `ai-clone/style/telegram-format.md`, zakaz używania pauz w `ai-clone/feedback/no-em-dashes.md` oraz współczynniki konwersji lejka w `business/marketing/funnel.md`.

Pisze e-mail w moim tonie, z aktualnymi liczbami, bez pauz i znaczników typowych dla AI.

Anthropic nazywa to podejściem kontekstu na żądanie w swoim blogu inżynieryjnym:

<figure>
<blockquote>
Agenci zbudowani zgodnie z podejściem „just in time” przechowują lekkie identyfikatory (ścieżki plików, zapisane zapytania, linki itp.) i wykorzystują je do dynamicznego pobierania danych do kontekstu w czasie działania za pomocą narzędzi.
</blockquote>
<figcaption>— Anthropic, anthropic.com/engineering/effective-context-engineering-for-ai-agents</figcaption>
</figure>

Innymi słowy, Claude przechowuje odnośniki do danych, a nie same dane. To znacznie efektywniejsze pod względem liczby tokenów i dokładniejsze, ponieważ do kontekstu trafiają tylko istotne informacje. Okno pozostaje przejrzyste dla rozumowania.

## 5 antywzorców drugiej pamięci - czego unikać?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Najważniejsze w sekcji">

Najważniejszy wniosek

Najczęstsze błędy początkujących przy tworzeniu drugiej pamięci: 1) nadmiernie rozbudowany CLAUDE.md z ponad 500 liniami zamiast krótkiego pliku wskazującego ścieżki; 2) folder na wszystko, który staje się składowiskiem; 3) powielanie informacji, które Claude zna już z języka programowania lub kodu; 4) wpisywanie na stałe liczb, które dezaktualizują się bez znacznika LIVE; 5) pozostawienie kontekstu niedostępnego dla agenta lub bez wskazanej ścieżki, niezależnie od wspólnego repozytorium czy osobnego prywatnego magazynu.

</div>

Antywzorzec 1. **Nadmiernie rozbudowany CLAUDE.md.** 500 linii instrukcji „zamiast umieszczania wszystkiego w jednym miejscu”. Anthropic mówi o tym wprost:

<figure>
<blockquote>
Niech plik będzie krótki. Przy każdej linijce zapytaj: „Czy po jej usunięciu Claude zacznie popełniać błędy?”. Jeśli nie, usuń ją. Rozbudowane pliki CLAUDE.md sprawiają, że Claude ignoruje twoje faktyczne instrukcje!
</blockquote>
<figcaption>— Anthropic, code.claude.com/docs/en/best-practices</figcaption>
</figure>

Docelowa długość to 80-120 linii. Resztę umieść w osobnych plikach i wskaż do nich ścieżki.

Antywzorzec 2. **Folder na wszystko.** Wrzucasz do drugiej pamięci wszystko: surową korespondencję z czatów, bezużyteczne zrzuty ekranu, raporty, których nikt nie przeczyta. Miesiąc później folder pęcznieje, agent marnuje tokeny na czytanie śmieci, a ty nie pamiętasz, gdzie co jest. Zasada: każdy plik w drugiej pamięci powinien odpowiadać na konkretne pytanie. Jeśli nikt nie otworzył go od sześciu miesięcy, usuń go lub przenieś do archiwum.

Antywzorzec 3. **Powielanie.** „Płatności obsługuje CloudPayments w `src/lib/payment/cloudpayments.ts`, a dostawca jest skonfigurowany w `.env`”. Agent może to zobaczyć w kodzie. Nie powielaj tego w `business/`. Kopie się dezaktualizują: kod się zmienia, `business/` nie jest aktualizowany, a agent działa na podstawie nieaktualnych informacji.

Antywzorzec 4. **Liczby wpisane na stałe.** „Mamy 1,247 klientów, a współczynnik konwersji wynosi 6.3%” - wyobraź sobie, że to dane jakiegoś abstrakcyjnego fintechowego startupu. Wszystkie takie liczby za tydzień będą nieaktualne. Używaj znacznika LIVE i pliku `live-metrics.md`. Sekcja poświęcona temu tematowi znajduje się powyżej.

Antywzorzec 5. **Kontekst bez dostępnej ścieżki.** Jeśli druga pamięć jest gdzie indziej, a agent nie ma uprawnień ani wskazówki, samo uruchomienie w folderze kodu nie wystarczy. Dla niewrażliwych wspólnych notatek `business/` i `ai-clone/` wewnątrz repozytorium są wygodne. Prywatny kontekst trzymaj w osobno kontrolowanej lokalizacji i jawnie skonfiguruj dozwolony dostęp oraz kierowanie. Wygoda folderów nie zastępuje poufności.

<div class="aside" data-semantic="callout" role="note" aria-label="Wskazówka">

Wskazówka

Osobna gałąź (`context` lub `business-context`) porządkuje pracę, ale nie jest granicą dostępu: jej pliki są obiektami Git tego samego repozytorium i mogą być opublikowane z gałęziami lub historią. Prywatny kontekst biznesowy przechowuj w osobnym prywatnym repozytorium lub magazynie z jawną kontrolą dostępu i dozwolonym kierowaniem agenta. Podmoduł może wskazywać prywatne repozytorium, ale poufność wynika z jego uprawnień, nie podmodułu. Inną opcją jest celowo ignorowany folder lokalny z własną kopią; ignorowanie nie usuwa plików już śledzonych ani opublikowanej historii. Z kodem trzymaj tylko kontekst do udostępnienia.

</div>

## Jak zbudować drugą pamięć w godzinę - instrukcja krok po kroku

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Najważniejsze w sekcji">

Najważniejszy wniosek

Minimalną drugą pamięć można skonfigurować w godzinę: utwórz foldery główne `business/` i `ai-clone/`, przygotuj mapę `INDEX.md` w każdym z nich, dodaj krótki opis produktu w `business/products/`, opis klienta w `audience/` oraz opis siebie w `ai-clone/role.md`. Dodaj wskazówki do tych folderów w CLAUDE.md. Następnie rozbudowuj je w trakcie pracy: po każdym błędzie agenta dodawaj zasadę w `ai-clone/feedback/`, a po każdej decyzji notatkę w `business/`.

</div>

1.  ### Utwórz dwa foldery główne

    W katalogu głównym projektu, obok `src/`:

    ```bash
    mkdir -p business/{products,audience,goals,economics,marketing}
    mkdir -p ai-clone/{identity,voice,principles,feedback,style}
    ```

2.  ### Przygotuj INDEX.md jako mapę folderu

    `business/INDEX.md` to tabela „pytanie → plik”. Zacznij od co najmniej 5 wierszy i dodawaj kolejne w miarę pracy. Zrób to samo w `ai-clone/INDEX.md`.

3.  ### Dodaj krótkie opisy produktu i klienta

    `business/products/main.md` - czym jest produkt, dla kogo, ile kosztuje i co go wyróżnia. 30-50 linii. `business/audience/avatar.md` - kim jest klient, jakie ma problemy i co kupuje. 30-50 linii. Nie opisuj idealnego klienta - opisz prawdziwego. Jeśli czegoś nie wiesz, oznacz to „do wyjaśnienia” i przejdź dalej.

4.  ### Opisz siebie w ai-clone/role.md

    Kim jesteś, czym się zajmujesz i co jest dla ciebie ważne. 20-30 linii. Na początek wystarczy. Dodaj ton wypowiedzi, zasady i słowa zakazane, gdy zauważysz, że agent pisze stylem, który nie jest twój.

5.  ### Dodaj wskazówki do CLAUDE.md

    Otwórz `CLAUDE.md` i dodaj sekcję:

    ```markdown
    ## Mapa projektu

    - Kontekst biznesowy → `business/INDEX.md`
    - Informacje o mnie → `ai-clone/INDEX.md`
    - Plany techniczne → `plans/YYYY-MM-DD-*.md`
    - Refleksje po poprzednich sesjach → `retrospectives/`

    Zawsze odczytuj `ai-clone/INDEX.md` i `business/INDEX.md` na początku sesji.
    ```

6.  ### Uruchom Claude Code i sprawdź

    Otwórz agenta. Zapytaj: „opowiedz mi o moim produkcie i moich odbiorcach”. Jeśli odpowiada na podstawie kontekstu z folderów, wszystko działa. Jeśli zmyśla, sprawdź, czy foldery znajdują się obok projektu, czy pliki mają poprawne nazwy i czy wskazówki w `CLAUDE.md` są precyzyjne.

Potem druga pamięć rośnie zgodnie z dwiema zasadami.

Po pierwsze: za każdym razem, gdy agent popełni błąd, dodaj zasadę. Po 3-4 tygodniach w `ai-clone/feedback/` będzie 15-20 plików z zasadami, a agent przestanie popełniać większość typowych błędów.

Po drugie: za każdym razem, gdy podejmujesz decyzję biznesową, zapisz ją w `business/`. Jeśli podnosisz cenę, dodaj notatkę do `business/products/pricing.md` z datą i uzasadnieniem. Jeśli zmieniasz pozycjonowanie, dodaj notatkę do `business/company/about.md`. Po sześciu miesiącach będziesz mieć archiwum, które pamięta „dlaczego”.

<div class="section" data-semantic="prompt" aria-label="Polecenie">

Polecenie: gotowy prompt do wieczornej aktualizacji drugiej pamięci

```
W tym tygodniu wykonaliśmy razem bardzo dużo pracy.

Przeanalizuj wszystkie zmiany w kodzie z tego tygodnia i wszystkie utworzone przez nas commity.
Jakie cenne informacje z tego powinny znaleźć się w business/? Zapisz je w odpowiednich plikach,
dodając linki wiki do sąsiednich plików, aby kontekst się nie zgubił.

Jeśli w kodzie są decyzje, których nie wyjaśniłem, zapytaj mnie dlaczego,
a następnie zapisz uzasadnienie w odpowiednim pliku z podaniem daty.

Nie powielaj tego, co już wynika z kodu. Uwzględniaj tylko to, czego agent
nie wiedziałby podczas następnej sesji bez business/.
```

</div>

## Co dalej - Skills, Subagents i inżynieria kontekstu

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Najważniejsze w sekcji">

Najważniejszy wniosek

Druga pamięć i CLAUDE.md stanowią fundament. Dodaj do niego Skills (wiedzę proceduralną ładowaną na żądanie na podstawie opisu zadania), Subagents (odizolowane instancje Claude’a z własnymi oknami kontekstu do wymagających zadań) oraz inżynierię kontekstu (zarządzanie tym, co trafia do okna). To trzy wyższe piętra. Bez fundamentu nie działają - agent nie ma czego czytać.

</div>

Po skonfigurowaniu drugiej pamięci są jeszcze trzy narzędzia, które Anthropic opisuje jako trzy różne poziomy optymalizacji kontekstu.

**Skills** to wiedza proceduralna. Jeśli wielokrotnie powtarzasz jakiś proces (piszesz poradnik edukacyjny, przygotowujesz post na Telegram, audytujesz stronę), możesz opisać go w pliku `SKILL.md` wraz z opisem zadania. Na początku sesji Claude przegląda nazwy i opisy skills, a następnie ładuje tylko te pasujące do bieżącego zadania. Oszczędza to tokeny i pomaga zachować skupienie.

**Subagents** to odizolowane instancje Claude’a z własnymi oknami kontekstu. Uruchom subagenta do wymagającego zadania (odczytania 30 plików i przygotowania podsumowania), a będzie pracować we własnym oknie i zwróci tylko wynik. Główne okno pozostanie przejrzyste. Anthropic pisze:

<figure>
<blockquote>
Wyspecjalizowani subagenci mogą rozwiązywać ukierunkowane zadania w czystych oknach kontekstu. [...] Każdy subagent może szeroko eksplorować, zużywając dziesiątki tysięcy tokenów lub więcej, ale zwraca jedynie skompresowane, skondensowane podsumowanie pracy (często 1,000-2,000 tokenów).
</blockquote>
<figcaption>— Anthropic, anthropic.com/engineering/effective-context-engineering-for-ai-agents</figcaption>
</figure>

**Inżynieria kontekstu** to zarządzanie tym, co w ogóle trafia do okna. Anthropic nazwało ją podstawową umiejętnością pracy z agentami w 2025 roku, poziom wyższą od inżynierii promptów. Inżynieria promptów to dobór sformułowań. Inżynieria kontekstu to dobór plików, ścieżek, skills i subagentów.

Druga pamięć jest pierwszym elementem inżynierii kontekstu. Bez niej Skills czytają pustą przestrzeń, Subagents nie mają dokąd pójść, a okno agenta wypełnia się przypadkowymi informacjami. Dzięki niej wszystkie trzy narzędzia zaczynają działać.

**Następny krok.** Utwórz dwa foldery obok projektu: `business/` i `ai-clone/`. Dodaj do każdego plik `INDEX.md` z 5 wierszami pełniącymi rolę mapy. Dodaj cztery wskazówki do `CLAUDE.md`. W godzinę będziesz mieć działający szkielet drugiej pamięci. Następnie rozwijaj go zgodnie z zasadą: „po każdym błędzie agenta dodaj jeden wiersz do `ai-clone/feedback/`”. Pełny szablon CLAUDE.md, który posłuży do wskazywania drugiej pamięci, wyjaśniam w poradniku [Jak poprawnie skonfigurować CLAUDE.md](https://ailoot.ai/blog/pl/claude-md-template/).

<div class="section" role="doc-bibliography" aria-label="Źródła">

### Źródła

- [Dokumentacja Claude Code Memory](https://code.claude.com/docs/en/memory) - oficjalny opis hierarchii pamięci Claude Code od Anthropic
- [Najlepsze praktyki Claude Code](https://code.claude.com/docs/en/best-practices) - oficjalne wskazówki dotyczące pracy z CLAUDE.md
- [Efektywna inżynieria kontekstu dla agentów AI](https://www.anthropic.com/engineering/effective-context-engineering-for-ai-agents) - Anthropic Engineering, wyjaśnienie psucia się kontekstu, budżetu uwagi i kontekstu na żądanie
- [Wyjaśnienie Skills](https://claude.com/blog/skills-explained) - blog Anthropic: różnice między Skills, Memory, Subagents i MCP

</div>

Czytaj dalej o Ailoot na [ailoot.ai](https://ailoot.ai/).

## Pytania i odpowiedzi

### Czy inna gałąź Git zachowuje prywatność kontekstu biznesowego?

Nie. Gałąź należy do tego samego repozytorium, a pliki mogą być udostępnione z jego obiektami i historią. Użyj osobno kontrolowanego prywatnego magazynu lub celowo ignorowanego folderu lokalnego z kopią; ignorowanie nie usuwa śledzonej historii.

### Jak agent ma znaleźć prywatny kontekst poza repozytorium kodu?

Daj mu jawny wskaźnik i tylko uprawnienia potrzebne do zadania. Zachowaj krótki indeks kierujący do właściwego dokumentu i sprawdź odczyt dozwolonego pliku; prywatna lokalizacja bez wskazania sama nie dostarcza kontekstu.


## Ailoot · Firma i jej portfel projektów

Ailoot opiera się na zgromadzonym doświadczeniu operacyjnym, szerokiej bazie klientów, stabilnej usłudze i stałej kontroli KPI.

Firma i jej portfel projektów: miliony klientów; miesięczna sprzedaż liczona w miliardach.

Ailoot wykorzystuje to doświadczenie operacyjne, zapewniając dostęp przez API do funkcji AI w produktach klientów, agentach, aplikacjach i automatyzacjach.
