Dziś na warsztat wjeżdża raport “Digital Red Queen: Adversarial Program Evolution in Core War with LLMs”, opublikowany przez zespół badawczy Sakana AI oraz MIT w na początku tego roku. Raport ten przedstawia wyniki badania w dość szerokim kontekście współczesnych wyzwań uczenia maszynowego (ML), ewolucji cyfrowej oraz cyberbezpieczeństwa.
Głównym punktem analizy jest algorytm Digital Red Queen (DRQ). To metoda wykorzystująca duże modele językowe (LLM) do ewolucji programów komputerowych (tzw. “wojowników”) w środowisku gry Core War. Co istotne, w przeciwieństwie do popularnych obecnie paradygmatów optymalizacji statycznej, gdzie model dąży do zminimalizowania błędu na ustalonym zbiorze danych, DRQ implementuje dynamikę “Czerwonej Królowej” (Red Queen dynamics). Koncepcja ta, zaczerpnięta z biologii ewolucyjnej zakłada, że w systemie agenci muszą nieustannie adaptować się nie po to, by osiągnąć ostateczny cel, lecz by utrzymać swoją relatywną pozycję względem ewoluujących rywali.
Czerwona Królowa – Digital Red Queen (DRQ)
Zanim przejdziemy dalej, zacznijmy od podstawy algorytmu DRQ, czyli hipotezy Czerwonej Królowej. Termin ten został wprowadzony do biologii ewolucyjnej w 1973 roku (przez Leigh Van Valena). Nawiązuje on do sceny z powieści Lewisa Carrolla “Po drugiej stronie lustra”, w której Czerwona Królowa wyjaśnia Alicji naturę swojego królestwa:
“Tutaj, widzisz, trzeba biec tak szybko, jak się potrafi, żeby zostać w tym samym miejscu. A jeśli chcesz dostać się gdzieś indziej, musisz biec przynajmniej dwa razy szybciej!”
W kontekście ewolucyjnym oznacza to, że gatunki nie ewoluują w próżni, lecz określonym otoczeniu innych organizmów i wpływu środowiska. Zwiększenie prędkości drapieżnika powoduje presję na ofiarze, aby ta stała się szybsza inaczej zginie. Jeśli ofiara ewoluuje, drapieżnik nie staje się “lepszy” w ujęciu absolutnym, po prostu nadrabia stratę, by nie wyginąć. To ciągłe “biegnięcie w miejscu” jest istotą ewolucji. W raporcie autorzy przenoszą tę koncepcję na grunt sztucznej inteligencji. Jeśli chcemy stworzyć systemy AI zdolne do ciągłej adaptacji i odkrywania nowości, musimy porzucić statyczne benchmarki na rzecz środowisk, w których wyzwaniem jest inny, również uczący się agent/program.
Algorytm DRQ jest systemem hybrydowym łączącym trzy odrębne dziedziny: teorię gier (Self-Play), inżynierię oprogramowania (LLM jako modyfikator) oraz obliczenia ewolucyjne (Quality-Diversity).
Self-Play, czyli pętla ewolucyjna jest fundamentem DRQ. Jest to iteracyjny proces ewolucji, gdzie algorytm działa w rundach T = 1, 2, …, N. W każdej rundzie celem jest wygenerowanie nowego wojownika \(w_T\). Kluczową jest tutaj definicja funkcji celu (fitness function). W klasycznej optymalizacji ewolucyjnej agent \(w_T\) byłby oceniany na podstawie walki z agentem z poprzedniej rundy \(w_{T-1}\). Taka strategia prowadzi jednak do cykli (dynamika Kamień-Papier-Nożyce), gdzie agent A wygrywa z B, B z C, a C z A, bez rzeczywistego wzrostu kompetencji. DRQ stosuje tutaj podejście inspirowane Fictitious Self-Play. W rundzie, nowy wojownik jest trenowany, aby pokonać wszystkich poprzednich mistrzów z historii ewolucji. Od razu warto tutaj dodać, że takie podejście wymusza na agencie pamięć strategii, jednocześnie nie może on nadmiernie specjalizować się w kontrowaniu ostatniego mistrza (overfitting), ponieważ musi jednocześnie radzić sobie ze strategiami poprzednich. To naturalnie promuje bardziej generalnie i niezależne podejście.
Operator mutacji, czyli LLM jako inteligentny operator dla algorytmu genetycznego. Tradycyjne algorytmy genetyczne operują na losowych mutacjach bitów lub instrukcji. W przypadku kodu programu (szczególnie w asemblerze, którego uboga wersja o nazwie Redcode jest wykorzystana w Core Wars), losowa zmiana instrukcji (np. MOV na DAT) w większości przypadków prowadzi do programu niesprawnego składniowo lub logicznie martwego. DRQ rozwiązuje ten problem, wykorzystując LLM (w eksperymentach użyto GPT-4) jako operator mutacji. Rolą LLM jest ulepszenie kodu w celu pokonania przeciwników. Model otrzymuje kod obecnego wojownika (rodzica) i dokumentację języka Redcode. Taka dodatkowa ciekawostka – badacze użyli celowo prostych promptów (bez CoT czy refleksji), aby udowodnić, że siła metody leży w samej pętli ewolucyjnej, a nie w prompt engineeringu.
I ostatnia Quality-Diversity oraz algorytm MAP-Elites (aby zapobiec utknięciu w lokalnym ekstremum). Algorytm ten nie przechowuje jednego najlepszego rozwiązania, lecz całą mapę rozwiązań, zorganizowaną według cech behawioralnych (phenotype). W badaniu zdefiniowano dwa wymiary tej mapy:
| Cecha | Niska Wartość | Wysoka Wartość |
| Liczba Wątków (spawned threads) – ile procesów potomnych tworzy wojownik? (strategia paper) | Agent jednowątkowy (szybki, liniowy) | Agent wielowątkowy (trudny do zabicia, wolniejszy) |
| Pokrycie Pamięci (memory coverage) – jak dużą część pamięci rdzenia wojownik zapisuje/atakuje? (strategia rock) | Agent precyzyjny (snajper) | Agent bombardujący (agresywny, chaotyczny) |
Dzięki MAP-Elites, DRQ przechowuje elitarnych wojowników w każdej komórce tej siatki. Jeśli algorytm znajdzie wojownika, który jest słabszy ogólnie, ale jest “najlepszym wśród jednowątkowych”, zostanie on zachowany. Pozwala to na utrzymanie różnorodności genetycznej, która w późniejszych rundach może okazać się kluczowa dla przełamania impasu ewolucyjnego (tzw. stepping stones). Badania potwierdziły, że usunięcie MAP-Elites drastycznie obniża skuteczność systemu.
Środowisko Core War
Zanim jeszcze przejdziemy do analizy wyników badań, kilka słów dlaczego badacze wybrali akurat Core War. Core War to gra programistyczna stworzona w 1984 roku, która symuluje walkę programów komputerowych w pamięci wirtualnej maszyny. Wybór wynika z unikalnych cech tego środowiska:
- język asembler, Redcode, pozwala na wyrażenie dowolnego algorytmu obliczeniowego. Oznacza to, że przestrzeń strategii jest teoretycznie nieskończona
- kod i dane współdzielą tę samą przestrzeń adresową (Core). Nie ma ochrony pamięci. Program A może odczytać instrukcje Programu B, zmodyfikować je, a nawet nadpisać własnym kodem. To tworzy środowisko o niezwykłej zmienności i chaosie, dobrze modelujące rzeczywiste zagrożenia cybernetyczne, takie jak ataki typu buffer overflow czy wstrzykiwanie kodu
- walka odbywa się w symulatorze MARS (Memory Array Redcode Simulator). Wirusy komputerowe wyewoluowane w Core War są niegroźne dla systemu hosta, co pozwala na bezpieczne prowadzenie badań nad skrajnie złośliwym oprogramowaniem
Analiza wyników badania
Badacze porównali skuteczność wojowników wyewoluowanych dwiema metodami: optymalizacją statyczną czyli ewolucji przeciwko jednemu, ustalonemu przeciwnikowi ludzkiemu oraz Digital Red Queen – ewolucja w systemie self-play przeciwko historii.
Wyniki są dość jednoznaczne – wojownicy z optymalizacji statycznej osiągnęli mistrzostwo w pokonywaniu swojego konkretnego celu treningowego, ale byli bezradni wobec innych strategii (średnia wygranych przeciwko populacji ludzkiej: ~28%). Byli to typowi “specjaliści”. Z kolei wojownicy DRQ, mimo że w trakcie treningu nie widzieli ludzkich strategii (walczyli tylko ze sobą), wykazali zdolność do pokonania szerokiego spektrum przeciwników. Populacja DRQ pokryła (remis lub wygrana) aż 96.3% wszystkich badanych strategii ludzkich.
Jednym z ciekawszych odkryć badania jest obserwacja zbieżności fenotypu. Badacze przeprowadzili wiele niezależnych uruchomień algorytmu DRQ, startując z różnych seedów i początkowych wojowników. Analiza końcowych populacji wykazała, że kody źródłowe wojowników z różnych uruchomień różniły się znacząco. Używały innych instrukcji, innych sekwencji logicznych i struktur danych. Wariancja genotypowa pozostała wysoka. Jednak mimo różnic w kodzie, zachowanie wojowników w symulacji (mierzone metrykami MAP-Elites) zbiegało do bardzo podobnych wzorców. Wariancja fenotypowa drastycznie malała wraz z kolejnymi rundami.
W Core War oznacza to, że istnieje ograniczona liczba “optymalnych” strategii przetrwania (np. szybka replikacja połączona z defensywnym bombardowaniem), a ewolucja nieuchronnie dąży do ich odkrycia, niezależnie od punktu startowego.
Dodatkowo zauważono ciekawe złożone hybrydowe zachowania wojowników opracowanych przez DRQ. W klasycznym Core War strategie dzieli się na trzy główne grupy (analogia gry kamień, papier, nożyce) :
- kamień (Rock): Bomber – program, który systematycznie nadpisuje pamięć instrukcjami
DAT(dane), aby zabić procesy przeciwnika, które na nie trafią. - papier (Paper): Replicator – program, który kopiuje swój kod w wiele miejsc pamięci i uruchamia nowe wątki (
SPL). Trudny do całkowitego usunięcia. - Nożyce (Scissors): Scanner – program, który przeszukuje pamięć w poszukiwaniu kodu przeciwnika i atakuje tylko tam, gdzie coś znajdzie. Skuteczny na Replikatory, ale podatny na Bombery (które tworzą fałszywe cele).
DRQ odkryło strategie łączące te cechy. Na przykład wojownik może zacząć jako Skaner, by zlokalizować wroga, a po trafieniu przełączyć się w tryb agresywnego Bombera, jednocześnie w tle replikując się dla bezpieczeństwa. To pokazuje, że AI potrafi płynnie łączyć strategie w sposób rzadko spotykany u ludzkich programistów, którzy często skupiają się na czystości jednej koncepcji.
Podsumowanie
Kilka najciekawszych wg mnie punktów podsumowujących na koniec, w raporcie znajdziecie więcej wniosków i rekomendacji.
Algorytm DRQ, trenujący agentów przeciwko rosnącej historii poprzednich wersji, generuje rozwiązania znacznie bardziej odporne i generyczne niż metody optymalizacji statycznej. Wojownicy DRQ pokonują 96.3% zbioru strategii stworzonych przez ludzi, wykazując zdolność do generalizacji na nieznane zagrożenia.
Badanie dostarcza dowodów na zjawisko ewolucji konwergentnej w systemach sztucznych. Niezależne przebiegi algorytmu, startujące z losowych punktów, prowadzą do powstania agentów o zbliżonych charakterystykach behawioralnych, mimo że ich kod źródłowy (genotypy) pozostaje różnorodny. Jest to lustrzane odbicie procesów biologicznych, gdzie różne gatunki niezależnie wykształcają podobne cechy w odpowiedzi na te same presje środowiskowe.
Zastosowanie LLM nie jako generatora kodu “od zera”, ale jako inteligentnego operatora mutacji wewnątrz algorytmu Quality-Diversity (MAP-Elites), pozwala na skuteczną eksplorację rzadkich i trudnych przestrzeni poszukiwań, jakimi są programy w asemblerze Redcode.
Core War, jako środowisko w sensie Turinga z możliwością modyfikacji kodu w czasie rzeczywistym, stanowi idealny sandbox do badania automatyzacji cyberataków i obrony. DRQ demonstruje, jak systemy autonomiczne mogą odkrywać luki i wektory ataku niedostępne dla statycznych analizatorów.
Raport był omawiany też w ostatnią sobotę na Discordzie i zgadzam się z wnioskami, że to świetna akademicka praca, ale bez kontekstu wykonawczego. Bardziej jako inspiracja niż konkretne narzędzie do wykorzystania w produkcyjnych projektach.
Linki i źródła
- Badanie: Digital Red Queen: Adversarial Program Evolution in Core War with LLMs https://arxiv.org/abs/2601.03335
- Źródła: https://github.com/SakanaAI/drq
- Omówienie hipotezy Red Queen: https://en.wikipedia.org/wiki/Red_Queen_hypothesis
- Red Queen w kontekście biologicznym: https://royalsocietypublishing.org/rsbl/article/14/5/20170734/65898/Getting-somewhere-with-the-Red-Queen-chasing-a
- Code Wars – dokumentacja: https://corewars.org/docs/guide.html
- Trochę starsze badanie w kontekście kodowania człowiek vs LLM: Eureka: Human-Level Reward Design via Coding Large Language Models https://arxiv.org/abs/2310.12931
