2026-08-29 13:17:59 +02:00
2026-08-29 13:17:59 +02:00
2026-08-29 13:17:59 +02:00
2026-08-29 13:17:59 +02:00
2026-08-29 13:17:59 +02:00
2026-08-29 13:17:59 +02:00
2026-08-29 13:17:59 +02:00
2026-08-29 13:17:59 +02:00
2026-08-29 13:17:59 +02:00
2026-08-29 13:17:59 +02:00
2026-08-29 13:17:59 +02:00
2026-08-29 13:17:59 +02:00
2026-08-29 13:17:59 +02:00
2026-08-29 13:17:59 +02:00
2026-08-29 13:17:59 +02:00
2026-08-29 13:17:59 +02:00

agentic-codemod-pipeline

Repozytorium wzorcowe: sieć agentowa (agno) modyfikująca kod, zasilana kontekstem z pakietów APM, uruchamiana jako pipeline w GitLab CI.

Przykładowy przypadek użycia: podniesienie wersji SDK wraz z migracją wywołań API.

brew install go-task   # albo: pip install go-task-bin

task install           # .venv + zależności
task test              # 46 testów, bez modelu językowego
task demo              # pełny przebieg na fixture, offline
task --list            # reszta zadań

Wszystko dzieje się w lokalnym .venv - nic nie trafia do systemowego Pythona. Gdy coś nie działa, zacznij od task doctor.

Skąd się bierze zachowanie agentów

Z pakietu APM, nie z kodu:

.apm/
├── agents/        scout, planner, coder, reviewer, scribe (model, narzędzia, schemat wyjścia)
├── skills/        repo-recon, sdk-version-upgrade, safe-code-edit, merge-request-authoring
├── instructions/  guardraile bezpieczeństwa, konwencje języka
├── prompts/       wsad zadania (sdk-upgrade, dependency-audit)
└── context/       kontrakt przebiegu wspólny dla wszystkich ról

apm.yml deklaruje, skąd przychodzi reszta kontekstu; apm-policy.yml ogranicza, co wolno zainstalować; apm.lock.yaml pinuje wersje. Silnik w src/agentic_codemod/ kompiluje te prymitywy do obiektów agno - nie zawiera ani jednego zaszytego promptu.

Przepływ

intake → recon → plan → [bump wersji → pętla(implement → verify) → review → opis MR] → bramka CI → MR

Kroki deterministyczne (wykrycie ekosystemu, podbicie wersji, uruchomienie testów, git) robi kod. Model dostaje tylko to, czego nie da się zrobić inaczej. Szczegóły podziału: docs/architecture.md.

Trzy tryby, jedna topologia

Tryb Mózg Zastosowanie
--offline reguły codemod z pakietu APM smoke test pipeline'u, bez GPU i bez internetu
domyślny + backend mock agenci agno na atrapie serwera OpenAI test ścieżki agentowej w CI: narzędzia, schematy, pętla weryfikacji
domyślny + realny model agenci agno na vLLM przypadki wykraczające poza reguły

Model językowy od zera

Nie ma jednej komendy uruchamiającej vLLM na Linuksie i na macOS - Docker na Macu nie ma dostępu do Metala. Kontrakt jest jeden (endpoint zgodny z OpenAI), a backend dobiera się do platformy sam:

task llm:list          # co jest dostępne i co pasuje do tej maszyny
task llm:up            # Linux+NVIDIA -> vLLM w kontenerze, macOS -> vllm-metal (MLX)
eval "$(task llm:env)"  # zmienne dla silnika
task llm:logs          # podgląd logów backendu na żywo
task demo:llm          # przebieg agentowy na fixture
task llm:down

Wybór ręczny: LLM_BACKEND=ollama task llm:up, LLM_BACKEND=mock task demo:llm. Konfiguracja backendów i modeli per rola: llm/models.yml.

Dokumentacja

Struktura

.apm/                     kontekst agentowy (źródło prawdy o zachowaniu sieci)
src/agentic_codemod/
├── apm/                  ładowanie prymitywów APM i kompilacja do agno
├── adapters/             pip / maven / npm - wiedza deterministyczna o ekosystemie
├── tools/                sandboxowane narzędzia agenta (pliki, weryfikacja, git)
├── workflow/             topologia agno, kroki, reguły codemod, uruchamianie
├── observability/        ślad audytowy z redakcją sekretów
└── integrations/         GitLab (merge request, komentarze)
llm/                      backendy LLM: models.yml, docker-compose, vllm-metal, atrapa serwera OpenAI
examples/fixtures/acme-app   aplikacja na SDK 1.x + atrapa SDK 2.x (test regresyjny e2e)
.gitlab/ci/                szablon do include w repozytoriach docelowych
ci/                        obraz runnera

Wymagania

Python 3.10+, git, ripgrep. Do instalacji kontekstu: APM CLI.

Do przebiegu z modelem wystarczy task llm:up: na Linuksie z GPU NVIDIA potrzebny Docker, na macOS Apple Silicon - arm64 Python 3.12 i Xcode Command Line Tools. Testy i tryb offline nie wymagają niczego z tej listy.

S
Description
PoC sieci agentowej opartej o agno framework, vllm i gitlab-ci
Readme
135 KiB
Languages
Python 94.1%
Shell 5.2%
Dockerfile 0.7%