Iteracyjny system doskonalenia kodu i outputów AI. Nazwany na cześć Ralpha Wigguma z Simpsons - bo "mówi jak dziecko, ale myśli jak krytyk".
text
┌─────────────┐
│ Generator │ → Tworzy początkowy output
└──────┬──────┘
▼
┌─────────────┐
│ Krytyk │ → Szuka błędów, optymalizacji, problemów
└──────┬──────┘
▼
┌─────────────┐
│ Naprawiacz │ → Poprawia zgłoszone problemy
└──────┬──────┘
▼
┌─────────────┐
│ Weryfikator │ → Sprawdza czy poprawki działają
└──────┬──────┘
│
├─ Problemy? → Wraca do Krytyka (max 3 iteracje)
▼
[OUTPUT]
http://127.0.0.1:1234/v1bash
# Skill jest gotowy do użycia po sklonowaniu
# Sprawdź czy LM Studio działa:
curl http://127.0.0.1:1234/v1/models
bash
# Ulepsz kod z pliku
ralph-loop.sh -f input.py -o output.py
# Ulepsz kod inline
ralph-loop.sh -c "def hello(): print('world')"
# Ulepsz z promptem kontekstowym
ralph-loop.sh -f input.py -p "Optymalizuj pod kątem wydajności"
FlagOpis-f FILEPlik wejściowy-c CODEKod inline (zamiast pliku)-o FILEPlik wyjściowy (domyślnie: stdout)-p PROMPTDodatkowy kontekst/prompt-i NMax iteracji (domyślnie: 3)-m MODELNazwa modelu w LM Studio-vVerbose - pokaż proces--jsonOutput w formacie JSON
bash
ralph-loop.sh -f examples/bad_code.py -o fixed.py -v
bash
ralph-loop.sh -c "Napisz funkcję sortowania quicksort w Python" \
-o quicksort.py -p "Dodaj type hints i docstrings"
bash
ralph-loop.sh -f examples/article.txt -o analysis.json --json
System używa specyficznych promptów dla każdej roli:
text
Jesteś ekspertem programistą. Twoim zadaniem jest {task}.
Stwórz najlepszy możliwy kod/tekst. Używaj najnowszych praktyk.
{context}
text
Jesteś bezwzględnym code reviewerem. Twoim zadaniem jest znalezienie
WSZYSTKICH problemów w podanym kodzie. Sprawdź:
- Błędy składniowe i logiczne
- Optymalizację (czasowa i pamięciowa)
- Bezpieczeństwo (SQL injection, XSS, etc.)
- Styl kodu (PEP8, konwencje)
- Dokumentację
Zwróć listę problemów w formacie JSON:
{
"issues": [
{"severity": "high|medium|low", "category": "...", "description": "...", "suggestion": "..."}
]
}
text
Otrzymałeś kod i listę problemów do naprawy. Napraw KAŻDY problem
z listy. Nie dodawaj nowych funkcji - tylko napraw.
KOD:
{code}
PROBLEMY:
{issues}
Zwróć TYLKO poprawiony kod, bez dodatkowych komentarzy.
Możesz używać modułów bezpośrednio w Pythonie:
python
from ralph_loop import Generator, Critic, Verifier
gen = Generator(model="qwen2.5-coder-32b")
code = gen.generate("Napisz funkcję FizzBuzz", context="Użyj list comprehension")
critic = Critic()
issues = critic.analyze(code)
verifier = Verifier()
result = verifier.verify(code, issues)
bash
# Sprawdź czy LM Studio działa
curl http://127.0.0.1:1234/v1/models | jq .
# Testuj pojedynczy komponent
python scripts/generator.py -t "Napisz hello world"
python scripts/critic.py -f test.py
# Verbose mode
ralph-loop.sh -f input.py -vvv
curl http://127.0.0.1:1234/v1/models-m aby wskazać konkretny model-i 5-p "Szczegółowe wymagania"Stworzone jako narzędzie OpenClaw. Nazwa inspirowana Ralphem Wiggumem - "I'm helping!"