---
title: "archimedev: dźwignia dla małych lokalnych modeli do programowania"
url: https://michalasobczak.pl/pl/posts/archimedev-a-lever-for-small-local-coding-models.html
author: "Michał Sobczak"
description: "archimedev to lokalny wzmacniacz modeli. Stoi między narzędziem do programowania a małym modelem open-weight na MacBooku i wzmacnia model w czasie inferencji, bez trenowania go. W artykule pierwsze wyniki eksperymentów."
published: 2026-11-01T12:00:00.000Z
updated: 2026-11-01T12:00:00.000Z
language: pl
categories: ["AI/ML"]
tags: ["AI/ML", "LLM", "Ollama", "Programming"]
license: CC BY-NC-ND 4.0 (https://creativecommons.org/licenses/by-nc-nd/4.0/)
---
# archimedev: dźwignia dla małych lokalnych modeli do programowania

> **Zastrzeżenie:** ten artykuł powstał z pomocą AI. archimedev to prawdziwy projekt, nad którym aktywnie pracuję. Liczby poniżej opisują jego stan na 1 listopada 2026.

> „Dajcie mi dźwignię i laptopa, a dostarczę kod produkcyjny.”

[archimedev](https://github.com/michalasobczak/archimedev) wyrasta z frustracji, która towarzyszy mi mniej więcej od 2024 roku. Prawdziwe programowanie z lokalnymi modelami na przystępnym sprzęcie wciąż jest trudne. Nowe modele open-weight osiągają coraz lepsze wyniki, a narzędzia takie jak OpenCode są coraz lepsze. Mimo to czołowe modele chmurowe odjeżdżają coraz dalej od tego, co da się uruchomić na zwykłym laptopie. Programowanie na najwyższym poziomie staje się czymś, co się wynajmuje od kilku dostawców albo kupuje razem z drogim sprzętem. archimedev to eksperyment, który sprawdza, czy mały lokalny model z odpowiednią dźwignią może tę lukę zamknąć. Model to siła, archimedev to dźwignia.

To nie jest kolejne narzędzie do programowania. archimedev to **wzmacniacz modelu**: lokalna warstwa między dowolnym klientem a małym modelem open-weight poniżej 16 GB, na MacBooku z najwyżej 32 GB pamięci. Z zewnątrz wygląda jak zwykły model za standardowym endpointem. Obsługuje OpenAI Chat Completions, OpenAI Responses API i Anthropic Messages, z wiernym streamingiem i wywoływaniem narzędzi. OpenCode, Codex CLI, Claude Code, Aider czy edytor podłącza się do niego zmianą samego base URL. W środku jedno zapytanie zamienia się w wiele wewnętrznych tur: plan, szkic, sprawdzenie, krytyka, poprawka. Klient dostaje jedną, lepszą odpowiedź, a każda wewnętrzna tura trafia do śladu, który można przejrzeć. Modele nie są trenowane, dostrajane ani destylowane; całe wzmocnienie dzieje się w czasie inferencji. Lokalnie dodatkowe obliczenia kosztują tylko czas, nie pieniądze.

Projekt korzysta z tego, co daje praca lokalna, i obchodzi to, co ona zabiera. **Weryfikator** sprawdza odpowiedzi, które da się sprawdzić: czy się parsują, kompilują, przechodzą testy albo zgadzają się między próbkami. Konkretne błędy wracają do następnej tury. **Router** wydaje dodatkowy wysiłek tylko tam, gdzie model jest niepewny, więc łatwe zapytania pozostają szybkie. **Cache** to sprawa pierwszej wagi, bo klienci-agenci przy każdej turze wysyłają całą rozmowę od nowa. Przetwarzanie promptu (prefill) jest głównym wąskim gardłem na Apple Silicon, więc archimedev ponownie wykorzystuje cache KV między zapytaniami i zapisuje go na dysku. Z tego samego powodu **adaptuje prompty klientów**: narzędzia takie jak Claude Code wysyłają prompty systemowe i definicje narzędzi skrojone pod czołowe modele, często na dziesiątki tysięcy tokenów. archimedev kompresuje te prompty, odrzuca narzędzia niepotrzebne w bieżącym kroku i upraszcza opisy narzędzi, a protokół klienta dalej działa. Dalsze pomysły to praca kilku małych modeli obok siebie oraz dekodowanie ograniczone, spekulatywne i kontrastowe. Są też opcjonalne **playbooki**: przepływy pracy dla małych modeli, dostarczane jako skille Claude Code, komendy OpenCode albo `AGENTS.md` dla Codexa.

Główną tezę trzeba udowodnić, a nie ogłosić. Metryką produktu jest **przyrost wzmocnienia**: wynik modelu na oficjalnym benchmarku przez archimedev minus wynik tego samego modelu wywołanego bezpośrednio. Oba pomiary idą przez ten sam, niezmieniony harness. Pierwszy eksperyment, x001, uruchomił model 3,8B (Ministral 3B, Q4\_K\_M w Ollamie) na 30 zadaniach HumanEval. Bezpośrednio zdobył 27/30, z pętlą poprawek 28/30, a z planowaniem i poprawkami 27/30. Te różnice mieszczą się w szumie, a HumanEval okazał się dla tego modelu za łatwy. Szumu jest zresztą więcej, niż się początkowo wydawało: model nie jest deterministyczny nawet przy temperaturze 0. Identyczne pierwsze zapytanie dało inny kod w 3 z 30 zadań, więc część różnic między strategiami wynika z samego modelu, a nie ze strategii. Wcześniej jeden taki przypadek, HumanEval/163, przypisaliśmy słabym ukrytym testom HumanEval; to był błąd. Przebieg i tak wiele nauczył, o ile pojedyncze zadania czyta się ostrożnie. Informacja zwrotna z wykonania na nieudanych przykładach uratowała każdą porażkę, którą dało się uratować, a dodatkowe tury kosztowały tylko zadania nieudane. Planowanie uratowało jedno zadanie, ale zepsuło dwa, przy mniej więcej czterokrotnym czasie. Powinno więc być eskalacją, a nie domyślnym ustawieniem. Prawdziwym problemem okazało się niekontrolowane generowanie: część wywołań wyprodukowała ponad 2000 tokenów i trwała do 645 sekund na jedno zadanie. To czyni strażnika generowania osobną techniką wzmacniacza. Następny eksperyment, x002, powtarza test na wszystkich 164 zadaniach HumanEval+, które mają dużo mocniejsze ukryte testy. Dokłada tego strażnika i strategię adaptacyjną: najpierw poprawki, a planowanie dopiero wtedy, gdy poprawki zawiodą. Planowany baseline (specyfikacja 0001) mierzy kandydackie modele lokalne bezpośrednio na Aider Polyglot, łącznie z prędkością prefillu i tym, ile ważą prompty klientów.

Podobnie jak [Cerbeto](https://michalasobczak.pl/pl/posts/cerbeto-a-little-brain-that-goes-to-school.html), archimedev powstaje według [Rondo](https://workwithrondo.com) i Context-Driven Development. README zawiera wyłącznie stan bieżący: słownik, docelową architekturę i ścieżkę krytyczną. `MANIFESTO.md` wymienia ponumerowane wymagania, od M-R1 do M-R15, z którymi sprawdzana jest każda specyfikacja. Specyfikacje i eksperymenty są w `specs/`, `CHANGELOG.md` zapisuje to, co faktycznie dostarczono, a dowodem są testy z bramkami benchmarkowymi. Projekt jest w fazie pre-alpha, na etapie specyfikacji i eksperymentów. Kod jest na licencji PolyForm Noncommercial: darmowy do użytku osobistego, badawczego i edukacyjnego. Ścieżka krytyczna prowadzi od baseline'u, przez rdzeń wzmacniacza obsługujący wszystkie trzy API, cache, adaptację promptów i pracę wielu modeli, do pierwszego zmierzonego przyrostu jakości. Kolejne wpisy napiszę, gdy pojawią się liczby.
