analysis architecture

Filozofia 500 linii: dlaczego NanoClaw stawia na mniej kodu, nie więcej

NanoClaws.io

NanoClaws.io

@nanoclaws

26 lutego 2026

8 min czytania

Filozofia 500 linii: dlaczego NanoClaw stawia na mniej kodu, nie więcej

Jest taki wykres, za którym podąża każdy projekt programistyczny, jeśli mu na to pozwolisz. Liczba linii kodu rośnie. Zależności rosną. Czasy budowania rosną. Liczba osób, które rozumieją cały system, maleje. W pewnym momencie projekt przekracza próg, za którym żadna pojedyncza osoba nie jest w stanie utrzymać całości w głowie, i od tego momentu każda zmiana to negocjacja ze złożonością, której nie widać w pełni.

Większość frameworków agentów AI przekroczyła ten próg lata temu. LangChain ma dziesiątki tysięcy linii kodu rdzenia. node_modules OpenClaw zawiera ponad 1200 pakietów. Nawet „minimalne" frameworki zwykle dostarczają tysiące linii, gdy policzysz silnik wykonywania narzędzi, warstwę abstrakcji dostawców, system pluginów i parser konfiguracji.

Rdzeń NanoClaw to mniej więcej 500 linii TypeScript. Nie dlatego, że robi mniej — wspiera wiadomości WhatsApp, izolację kontenerową, trwałą pamięć, zaplanowane zadania, roje agentów i przeglądanie internetu. Dlatego, że stawia inny zakład o to, gdzie powinna żyć złożoność.

Złożoność musi gdzieś żyć

Uczciwa wersja argumentu „mniej kodu" nie mówi, że NanoClaw wyeliminował złożoność. Mówi, że NanoClaw przeniósł złożoność w miejsca, gdzie jest lepiej zarządzana.

Pętla agenta — odbieranie wiadomości, decydowanie, jakich narzędzi użyć, wykonywanie narzędzi, obsługa błędów, zarządzanie wieloturową rozmową — jest złożona. W większości frameworków ta złożoność żyje w kodzie aplikacji, który napisali maintainerzy frameworka i któremu musisz ufać, debugować go i aktualizować. W NanoClaw ta złożoność żyje w Claude Agent SDK, który jest utrzymywany przez zespół inżynierów Anthropic, testowany wobec rzeczywistego zachowania Claude i aktualizowany w synchronizacji z modelem.

Wykonywanie narzędzi — przeglądanie internetu, dostęp do plików, polecenia powłoki — jest złożone. W większości frameworków każde narzędzie to niestandardowa implementacja z własną obsługą błędów, własną logiką ponawiania i własnym modelem bezpieczeństwa. W NanoClaw narzędzia są dostarczane przez Claude Code wewnątrz kontenera. Implementacje narzędzi są utrzymywane przez Anthropic i są tymi samymi narzędziami, których tysiące deweloperów używa codziennie przez CLI Claude Code.

Model bezpieczeństwa — sandboxing, wymuszanie uprawnień, zarządzanie sekretami — jest złożony. W większości frameworków bezpieczeństwo to kod na poziomie aplikacji, który może mieć bugi. W NanoClaw bezpieczeństwo to izolacja kontenerowa wymuszana przez system operacyjny. Apple Container i Docker zostały utwardzone przez tysiące inżynierów przez wiele lat. 80 linii kodu orkiestracji kontenerów NanoClaw wykorzystuje tę inwestycję zamiast próbować ją replikować.

Wzorzec jest spójny: 500 linii NanoClaw to warstwa orkiestracji, która łączy dobrze utrzymane, dobrze przetestowane komponenty. Złożoność istnieje, ale żyje w komponentach utrzymywanych przez zespoły z większymi zasobami i większą ekspertyzą niż jakikolwiek pojedynczy projekt open source mógłby dorównać.

Co można zrobić w 500 liniach

Możliwości, które 500 linii umożliwia, są szersze niż większość ludzi oczekuje, bo możliwości pochodzą z komponentów, nie z kodu NanoClaw.

Przeglądanie internetu działa, bo obraz kontenera zawiera Chromium i agent-browser. NanoClaw nie implementuje przeglądarki — montuje ją do kontenera. Dostęp do plików działa, bo kontener ma zamontowany system plików. NanoClaw nie implementuje I/O plików — konfiguruje, jakie ścieżki są dostępne. Roje agentów działają, bo Claude Code natywnie wspiera delegację agentów. NanoClaw nie implementuje orkiestracji wieloagentowej — tworzy kontenery i pozwala Claude obsłużyć koordynację.

500 linii obsługuje rzeczy specyficzne dla przypadku użycia NanoClaw: odbieranie wiadomości WhatsApp przez Baileys, sprawdzanie stanu grupy w SQLite, tworzenie odpowiedniego kontenera z odpowiednimi montowaniami, przekazywanie sekretów przez stdin, zbieranie odpowiedzi przez IPC i dostarczanie ich z powrotem do WhatsApp. To są decyzje, które definiują NanoClaw jako produkt — wybory dotyczące tego, jak bezpiecznie i wygodnie łączyć użytkowników z agentami AI.

Wszystko inne jest delegowane do komponentów, które robią to lepiej niż NanoClaw mógłby. To nie lenistwo. To uznanie, że najlepszy kod to kod, którego nie musisz pisać, bo kod, którego nie piszesz, nie ma bugów, nie wymaga utrzymania i nie tworzy podatności bezpieczeństwa.

Dywidenda utrzymaniowa

Praktyczna korzyść z małej bazy kodu kumuluje się z czasem w sposób, który nie jest oczywisty na pierwszy rzut oka.

Kiedy Anthropic wypuści nową wersję Claude Agent SDK z ulepszonym użyciem narzędzi, NanoClaw dostaje ulepszenie aktualizując jedną zależność. Nie ma warstwy abstrakcji do aktualizacji, adaptera do przepisania, macierzy kompatybilności do sprawdzenia. SDK jest używany bezpośrednio, więc ulepszenia SDK przepływają natychmiast.

Kiedy zostanie odkryta podatność bezpieczeństwa w środowisku uruchomieniowym kontenerów, poprawka to aktualizacja Docker lub Apple Container — nie łatanie kodu NanoClaw. Granica bezpieczeństwa jest utrzymywana przez zespoły infrastrukturalne w Apple i Docker, nie przez mały projekt open source.

Kiedy nowy kontrybutor chce zrozumieć bazę kodu, może przeczytać wszystkie 500 linii w niecałą godzinę. Nie musi rozumieć systemu pluginów, abstrakcji dostawców ani frameworka wykonywania narzędzi. Cała architektura mieści się w jednym modelu mentalnym: wiadomości przychodzą z WhatsApp, kontenery przetwarzają je z Claude, odpowiedzi wracają do WhatsApp.

To jest dywidenda utrzymaniowa minimalnego kodu. Każda linia, której nie piszesz, to linia, której nie debugujesz, nie dokumentujesz, nie tłumaczysz nowym kontrybutorkom i nie łatasz, kiedy świat wokół się zmienia.

Kiedy mniej to naprawdę więcej

Filozofia 500 linii nie jest uniwersalnie stosowalna. Jeśli budujesz niestandardową aplikację AI z konkretną logiką biznesową, potrzebujesz frameworka, który pozwoli Ci tę logikę wyrazić — LangChain, CrewAI lub podobne narzędzia. Jeśli musisz wspierać dostawców AI, których Claude Agent SDK nie obejmuje, potrzebujesz warstwy abstrakcji dostawców. Jeśli potrzebujesz ekosystemu pluginów dla nietechnicznych użytkowników, potrzebujesz systemu pluginów.

Zakład NanoClaw jest węższy: dla osobistego asystenta AI, który łączy się z kanałami czatu, działa bezpiecznie w kontenerach i wykorzystuje możliwości Claude przez oficjalne SDK, 500 linii to nie tylko wystarczająco — to optymalnie. Każda linia ponad to byłaby złożonością, która nie służy użytkownikowi, obciążeniem utrzymaniowym, które nie poprawia produktu, i powierzchnią ataku, która nie musi istnieć.

Branża oprogramowania ma głębokie uprzedzenie w kierunku więcej. Więcej funkcji, więcej abstrakcji, więcej opcji konfiguracji, więcej linii kodu. Założenie jest takie, że więcej kodu oznacza więcej możliwości. NanoClaw jest kontrprzykładem — projektem, w którym możliwości pochodzą z komponentów, które łączy, nie z kodu, który zawiera. 500 linii to nie produkt. To minimalny most między użytkownikiem a AI, zaprojektowany tak, by być jak najcieńszy, żeby nic nie stało na drodze.

Bądź na bieżąco

Otrzymuj informacje o nowych wydaniach, integracjach i rozwoju NanoClaw. Bez spamu, wypisz się w dowolnym momencie.