LocalCode
AI LAB

LocalCode

Autonomiczny agent inżynierii oprogramowania działający w całości na własnej maszynie.

PROJECT
AI-030
JĘZYK
PYTHON
MODEL
LOKALNY (OLLAMA / LM STUDIO)
PLATFORMY
DESKTOP + ANDROID (APK)
DYSTRYBUCJA
PYTHON-PORTABLE
STATUS
W TRAKCIE
DATA
02 września 2026

Wskazujesz katalog projektu i opisujesz zadanie zwykłym zdaniem. Agent czyta kod, planuje, edytuje pliki, uruchamia terminal i testy, czyta błędy, poprawia — i weryfikuje wynik, zanim zgłosi ukończenie. Zbudowany pod lokalne modele: przy Ollamie lub LM Studio na 127.0.0.1 żaden bajt kodu nie opuszcza maszyny.

LOCALCODEAGENT INŻYNIERII OPROGRAMOWANIA
LOKALNIE
WEJŚCIEPRZETWARZANIEDECYZJANARZĘDZIEKONTROLAWYJŚCIEPĘTLA NAPRAWCZA01ZADANIEjęzyk naturalny02ANALIZAPROJEKTUstruktura, stack03PLAN04WYBÓR NARZĘDZIA05ODCZYT / EDYCJA06TERMINALbuild, testy07ODCZYT BŁĘDÓW08POPRAWKA09WERYFIKACJAtesty muszą przejść10RAPORTŚLAD SESJI6 KROKÓW› jeden test nie przechodzi, znajdź przyczynę i naprawSTARTread_file src/inventory.py43 LINIErun_command pytest -vEXIT 1edit_file src/inventory.py+1 / −1run_command pytest -vEXIT 0weryfikacja zgłoszenia ukończenia5 PASSED
MODEL NA 127.0.0.1 · ŻADEN BAJT KODU NIE OPUSZCZA MASZYNY · UKOŃCZENIE WYMAGA DOWODU
LOCALCODE / PĘTLA NAPRAWCZAZGŁOSZENIE UKOŃCZENIA WYMAGA DOWODU
127.0.0.1
URUCHOM TESTYpytest -vEXIT 101PRZECZYTAJ BŁĄDtracebackAssertionError02ZLOKALIZUJinventory.py:31total_value()03EDYTUJ+1 / −1price * qty04URUCHOM TESTYpytest -vEXIT 005JEŚLI NADAL EXIT ≠ 0 — MAKS. 2 POWTÓRZENIABRAMKA UKOŃCZENIAagent nie może napisać „gotowe” — musi pokazać przechodzący zestaw testów albo inny sprawdzalny warunek z zadaniaŚLAD SESJI (CZĘŚĆ PRODUKTU, NIE LOG DEBUGOWY)read_file src/inventory.py4 ms · 43 linierun_command pytest -v3810 ms · exit 1edit_file src/inventory.py12 ms · +1/−1run_command pytest -v3115 ms · exit 0
LIMIT DWÓCH POWTÓRZEŃ · TRZECIA NIEUDANA PRÓBA WRACA DO CZŁOWIEKA Z PEŁNYM ŚLADEM WYKONANIA
01

PROBLEM

Asystent, który odpowiada tekstem, przenosi całą pracę na człowieka: model wie, co zrobić, ale pliki edytuje i testy uruchamia programista. Drugi problem jest poważniejszy — narzędzia chmurowe wymagają wysłania kodu na zewnątrz, co przy pracy komercyjnej bywa wykluczone.

Trzeci, najbardziej uciążliwy: agenty potrafią zgłosić „gotowe”, kiedy nic nie działa. Zaufanie do takiego narzędzia znika po pierwszym takim przypadku.

02

POMYSŁ

Agent, który ma dostęp do tych samych narzędzi co człowiek — odczyt plików, edycja, terminal — i któremu nie wolno zgłosić ukończenia bez dowodu. Dowodem jest przechodzący zestaw testów albo inny sprawdzalny warunek zapisany w zadaniu.

Model uruchamiany lokalnie, bo dopiero to czyni narzędzie użytecznym przy cudzym kodzie.

03

PROJEKT

Rdzeń to pętla: analiza projektu, plan, wybór narzędzia, wykonanie, odczyt wyniku. Narzędzia mają jawne deklaracje — co czytają, co zapisują, ile mogą trwać. Repozytorium dzieli się na agent_core (pętla i narzędzia), apps (interfejsy), configs i benchmarks.

Osobnym modułem jest wyszukiwanie: agent korzysta z lokalnej bazy OSM (poland-latest.osm.pbf, indeks SQLite) do zapytań geograficznych bez sieci — opisane szerzej w serii LOCAL AI LAB.

Narzędzia są celowo prymitywne i policzalne: odczyt pliku, zapis, edycja fragmentu, uruchomienie polecenia, listowanie katalogu, wyszukiwanie w treści. Im mniejszy zestaw, tym pewniejszy wybór — agent z sześcioma dobrze opisanymi narzędziami myli się rzadziej niż agent z trzydziestoma.

Każde wywołanie trafia do śladu sesji wraz z czasem trwania i wynikiem. Ślad jest częścią produktu, nie logiem debugowym: to z niego wynika, czy zawiódł model, narzędzie, czy opis zadania.

04

REALIZACJA

Sesja wygląda jak zapis pracy programisty: odczyt pliku, uruchomienie pytest, exit 1, edycja jednej linii, ponowne uruchomienie, exit 0. Dopiero wtedy pada „COMPLETED” wraz z liczbą kroków, czasem i listą zmienionych plików.

Powstała też wersja mobilna — w repozytorium leżą zbudowane pakiety LC-Pilot na Androida (debug i release arm64), pozwalające sterować agentem z telefonu.

Dystrybucja rozwiązuje najbardziej przyziemny problem: w katalogu python-portable siedzi kompletne środowisko, więc uruchomienie na czystej maszynie nie wymaga instalowania Pythona ani zależności. To różnica między narzędziem, którego się używa, a takim, które trzeba najpierw postawić.

05

EFEKT

Agent domyka proste zadania naprawcze samodzielnie, z weryfikacją. Kluczowa okazała się nie wielkość modelu, lecz jakość opisu narzędzi: precyzyjnie opisane narzędzie jest wybierane trafnie nawet przez mniejszy model.

Zadania obejmujące wiele plików i wiele narzędzi nadal wymagają nadzoru — najczęstszą przyczyną porażki jest niejednoznaczne polecenie, nie sam model.

06

GALERIA

01 ZDJĘĆ
  • LocalCode — agent w trakcie pracy nad projektem · zrzut z projektu

07

WNIOSKI

Wymóg weryfikacji przed zgłoszeniem ukończenia jest ważniejszy niż jakakolwiek optymalizacja promptu. Bez niego narzędzie jest efektowne i bezużyteczne; z nim — nudne i przydatne.