Automatischer Programm-Generator mit Pi Agent und zwei KI-Modellen als Coder und Judge, der solange Selbstoptimierungsscheifen dreht, bis das Programm Produktionsniveau hat.
- TypeScript 91.8%
- Shell 8.2%
| .gitignore | ||
| install.sh | ||
| models.json | ||
| pi-coder-judge-extension.ts | ||
| README.md | ||
| start-coder.sh | ||
| start-judge.sh | ||
| status.sh | ||
| stop-servers.sh | ||
pi_coder — Automatisierter Coder/Judge-Workflow für pi agent
Dieses Repository enthält die Konfiguration und Skripte für einen automatisierten Coding-Workflow mit zwei lokalen LLaMA-Modellen: ein Coder-Modell und ein Judge-Modell, gesteuert über pi agent.
Überblick
Nutzer gibt Auftrag
│
▼
/coder → qwen3.5-coder (:8001) → Implementierung + git commit
│
▼
/judge → qwen3.5-judge (:8002) → Review: PASS / FAIL + Blocker
│
FAIL? ▼
/fix → qwen3.5-coder (:8001) → Fixes + git commit
│
PASS? ▼
/shipit → qwen3.5-judge (:8002) → Finale Freigabe: SHIP / NO-SHIP
/optimize = Coder→Judge→Fix-Schleife automatisch (bis PASS oder max. N Runden)
Modelle
| Rolle | Modell | Port | Container |
|---|---|---|---|
| Coder | Qwen3.6-27B-Uncensored-HauhauCS-Aggressive-IQ4_XS | 8001 | qwen36-27b-coder |
| Judge | Qwen3.6-27B-Uncensored-HauhauCS-Aggressive-IQ4_XS | 8002 | qwen36-27b-judge |
Beide Modelle laufen als separate llama.cpp-Docker-Container auf GPU 1 und 2 (tensor-split 0.5/0.5).
Voraussetzungen
- Docker mit NVIDIA-GPU-Support (
nvidia-container-toolkit) - GPU 1 und GPU 2 verfügbar (
nvidia-smi) - GGUF-Modell unter:
$HF_HOME/models/qwen3/Qwen3.6-27B-Uncensored-HauhauCS-Aggressive-IQ4_XS.gguf- Standard:
HF_HOME=/home/dschlueter/nvme2n1p7_home/huggingface
- Standard:
- pi agent installiert (
~/.pi/)
Setup
# 1. Extension und Modell-Config nach ~/.pi/agent/ deployen
./install.sh
# 2. /reload in pi agent ausführen
Nach Änderungen an pi-coder-judge-extension.ts oder models.json:
./install.sh # kopiert nach ~/.pi/agent/
# dann /reload in pi agent
Server starten / stoppen / status
# Coder-Server starten (Port 8001)
./start-coder.sh
# Judge-Server starten (Port 8002)
./start-judge.sh
# Beide stoppen
./stop-servers.sh
# Status beider Server prüfen
./status.sh
Umgebungsvariable für alternativen Modellpfad:
HF_HOME=/anderer/pfad ./start-coder.sh
pi-Kommandos
| Kommando | Beschreibung |
|---|---|
/coder <auftrag> |
TASK.md anlegen, Implementierung starten (Coder-Modell) |
/judge [fokus] |
Code-Review gegen TASK.md + letzten Commit (Judge-Modell) |
/fix [hinweis] |
Judge-Kritik beheben, committen (Coder-Modell) |
/shipit |
Finale Freigabeprüfung (Judge-Modell) |
/optimize <auftrag> [--rounds N] [--with-doku] |
Vollautomatische Schleife bis PASS |
/patch <änderung> |
Gezielte Minimaländerung ohne vollständigen Review |
/quick_check [was] |
Schnelle Prüfung der letzten Änderung (OK/PROBLEM) |
/update_doku |
Code kommentieren + README.md + BEDIENUNGSANLEITUNG.md |
/new_project <pfad> |
Neues Projektverzeichnis + git init anlegen |
Dateien
| Datei | Zweck |
|---|---|
pi-coder-judge-extension.ts |
pi agent Extension (Kommandos, Tools, Hooks) |
models.json |
Provider- und Modell-Konfiguration für pi agent |
start-coder.sh |
Docker-Container für Coder-Modell (Port 8001) starten |
start-judge.sh |
Docker-Container für Judge-Modell (Port 8002) starten |
stop-servers.sh |
Beide Container stoppen |
status.sh |
Laufstatus beider Server anzeigen |
install.sh |
Extension + models.json nach ~/.pi/agent/ kopieren |