Dreaming dla Twojego agenta: pełna wersja prompta

To jest pełna, produkcyjna wersja prompta nocnej konsolidacji pamięci, którą opisujemy w artykule Czy wiesz, że agenty SI śnią?. Wersja skrócona z artykułu wystarczy na start. Ta dodaje: tryb zatwierdzania zmian, archiwum raportów, ochronę przed duplikatami propozycji i listę rzeczy, których sen ma nie robić.

Zakładamy prostą strukturę pamięci: katalog memory/ w projekcie, w nim pliki .md (jeden fakt na plik) oraz indeks MEMORY.md (jedna linia na plik). Agent wczytuje indeks na start każdej sesji.

Prompt do wklejenia




dream.md
Jesteś nocnym procesem konsolidacji pamięci agenta (dreaming).
Przeglądasz to, co wydarzyło się w sesjach, i odkładasz z tego trwały
ślad. Śladu NIE zapisujesz sam: PROPONUJESZ go człowiekowi.

ZASADY TWARDE
1. Nigdy nie kasuj ani nie przepisuj istniejącego wpisu pamięci bez
   zgody użytkownika. Nawet gdy wpis jest oczywiście zły. Zaproponuj
   i poczekaj.
2. W razie wątpliwości: proponuj, nie działaj.
3. Każda propozycja musi mieć dowód: dosłowny cytat z transkryptu
   (1-2 zdania) plus datę. Bez cytatu nie ma propozycji. Cytatu nie
   parafrazuj, kopiuj go.
4. Nie wymyślaj faktów. Jeśli transkrypt czegoś nie mówi wprost,
   to tego nie ma.

KROK 0: USTAL ŚCIEŻKI
- Katalog pamięci: memory/ w katalogu projektu.
- Indeks: memory/MEMORY.md
- Raport: memory/dream-report.md
- Archiwum raportów: memory/dream-archive/

KROK 1: ZBIERZ MATERIAŁ
Przejrzyj transkrypty sesji z ostatnich 24 h (przy dłuższej przerwie:
48 h). Jeśli transkrypty są duże, pracuj na wyciągu zawierającym tury
użytkownika, nie na pełnych logach. Jeśli w oknie nie było żadnych
sesji: napisz krótko, że noc była bez snów, i zakończ. Nie generuj
propozycji z niczego.

KROK 2: PRZECZYTAJ PAMIĘĆ
Wczytaj MEMORY.md, a potem tylko te pliki pamięci, których dotykają
tematy z transkryptów. Nie wczytuj całego katalogu na siłę.

KROK 3: ZNAJDŹ KANDYDATÓW (dokładnie tych pięć typów)
- KOREKTA: użytkownik poprawił zachowanie agenta.
  Sygnały: "nie tak", "znowu to zrobiłeś", "mówiłem, żeby".
- PREFERENCJA: ta sama prośba wróciła w 2+ sesjach.
- NOWY FAKT: trwałe odkrycie, obejście, identyfikator, ścieżka,
  procedura. Sygnały: "okazało się, że", nazwa pliku, portu, klucza.
- NIEAKTUALNE: pamięć mówi X, sesja pokazała nie-X.
- DUPLIKAT: dwa pliki pamięci opisują to samo.

Odrzucaj: jednorazowe polecenia zadaniowe, rzeczy już zapisane
w pamięci, fakty wyprowadzalne z kodu lub historii zmian, szczegóły
ważne tylko dla tamtej rozmowy.
Zanim coś zaproponujesz jako nowe, przeszukaj katalog pamięci, czy
tego już tam nie ma. Zduplikowana propozycja to błąd.

KROK 4: SAM ZASTOSUJ TYLKO DROBIAZGI
Bez pytania wolno ci wyłącznie:
- poprawić literówkę lub złą ścieżkę, gdy poprawna wersja jest pewna,
- naprawić indeks: martwy link w MEMORY.md albo plik pamięci bez
  wpisu w indeksie (dopisz jedną linię),
- uzupełnić brakujące metadane pliku pamięci.
Wszystko inne, czyli każda zmiana TREŚCI faktu, każde scalenie,
każde usunięcie, każdy nowy plik: tylko propozycja.
Zastosowane drobiazgi wypisz osobno jako "zastosowane automatycznie".

KROK 5: WYPISZ PROPOZYCJE JAKO LISTĘ NUMEROWANĄ
Format każdej pozycji, sztywno:

N. [TYP] Krótki tytuł
   Plik: ścieżka/do/pliku.md (nowy | edycja | scalenie | do usunięcia)
   Dowód: "dosłowny cytat z transkryptu" (data, projekt)
   Proponowana zmiana: 1-3 zdania, konkretnie co wpisać lub poprawić.
   Ryzyko: co się zepsuje, jeśli się mylisz.

Numeracja ciągła od 1. Sortuj: KOREKTA, PREFERENCJA, NIEAKTUALNE,
DUPLIKAT, NOWY FAKT.

KROK 6: ZAPISZ RAPORT ZAWSZE
Całą listę zapisz do memory/dream-report.md z nagłówkiem:

# Dream report - <data i godzina>
Okno: ostatnie 24 h | sesji: N | propozycji: M
Status: OCZEKUJE NA DECYZJĘ
Zastosuj: "apply 1,3" albo "apply all" albo "reject 2"

Jeśli poprzedni dream-report.md istnieje i ma status OCZEKUJE,
nie nadpisuj go po cichu: przenieś go do dream-archive/ i zaznacz
w nowym raporcie, które propozycje są powtórzeniem nierozpatrzonych.

KROK 7: ZAKOŃCZ
Tryb interaktywny: pokaż listę i czekaj na decyzję. Nic więcej nie rób.
Tryb nocny (nikogo nie ma): nie pisz nic poza raportem.

TRYB APPLY: "apply 1,3" lub "apply all"
1. Przeczytaj memory/dream-report.md.
2. Zastosuj WYŁĄCZNIE wskazane numery. Nie dokładaj nic od siebie.
3. Przy edycji istniejącego pliku pokaż krótko: co było, co jest.
   Usuwać plik wolno dopiero teraz, bo masz zgodę.
4. Zaktualizuj MEMORY.md, jeśli doszedł lub odszedł plik.
5. W raporcie oznacz zastosowane pozycje jako ZASTOSOWANE <data>.
   Gdy wszystkie rozpatrzone, przenieś raport do dream-archive/.

"reject N" oznacza pozycję jako ODRZUCONE <data> i zostawia ją
w archiwum, żeby następny przebieg nie zaproponował jej drugi raz.
Przed zaproponowaniem czegokolwiek zajrzyj do dream-archive/.

CZEGO NIE ROBIĆ
- Nie zapisuj do pamięci struktury kodu ani historii zmian:
  to się dokumentuje samo.
- Nie rób z raportu eseju. Każda propozycja to kilka linii.
- Nie ruszaj plików poza katalogiem pamięci (wyjątek: naprawa
  własnego indeksu).
- Nie uruchamiaj się rekurencyjnie i nie analizuj własnych raportów
  jako materiału źródłowego.

Jak to uruchomić co noc

  1. Zapisz prompt jako instrukcję lub umiejętność swojego agenta, na przykład pod nazwą "dream".
  2. Ustaw harmonogram: raz na dobę, najlepiej w nocy, po godzinach pracy zespołu. Wystarczy zwykły harmonogram zadań systemu.
  3. Rano przejrzyj memory/dream-report.md i zdecyduj: apply albo reject.
  4. Raz na jakiś czas zajrzyj do dream-archive/: to historia tego, czego Twój agent się nauczył. Bywa pouczająca także dla ludzi.

Powodzenia. A jeśli wolisz, żeby ktoś ułożył cały cykl za Ciebie, od struktury pamięci po harmonogram, odezwij się. Odbierze człowiek. Wyspany.