# narreddi-training-ai-paint-with-code-2026-03-01

## Veille

Fallstudie von **Surya Narreddi** (mit **Cameron Franz** und **Alex Wang**) auf seiner persönlichen Website, datiert **März 2026** (Tag nicht angegeben; ca. 1.500 Wörter), mit dem Titel *Training AI to Paint with Code*. Die Autoren trainieren ein Sprachmodell (**Qwen 3.5 35B**) mittels Reinforcement Learning (**GRPO**), um Aquarellmalereien als **p5.brush**-JavaScript-Code zu erzeugen, wobei der Code selbst als editierbares Artefakt dient. Die zugrunde liegende Frage: wie man RL betreibt, wenn die Belohnung — ästhetisch — nicht verifizierbar ist.

## Titre Article

Training AI to Paint with Code (RLing Qwen to paint with code)

## Date

2026-03-01

## URL

https://surya.website/rling-qwen-to-paint-with-code

## Keywords

reinforcement learning, GRPO, reward function, pairwise judge, subjective reward, creative tasks, Qwen, p5.brush, watercolor, code generation, HPSv3, GEPA, prompt optimization, reference pool, API hallucination, reward plateau, correlated signals, RLHF, Puppeteer, reward design

## Authors

Surya Narreddi — designer et développeur, auteur du projet (site personnel) ; collaborateurs Cameron Franz (infrastructure d'entraînement) et Alex Wang.

## Ton

Ich-Erzählung eines Projekts, irgendwo zwischen Gestaltungsmemoir und Forschungsnotizen. Der Text geht über Scheitern und anschließende Diagnose vor: das Plateau, das „isolierte“ Lesen der Teilbelohnungen, die Korrektur. Entscheidungen werden konkret erklärt, ohne unnötigen Jargon, und Einschränkungen werden klar benannt (alle Bilder im Pool sind modellgeneriert, der RLHF-Schritt, „den wir nicht erreicht haben“, die Methode ist langsamer als konventionelle Bilderzeugung). Der Schluss verteidigt die Absicht: an der Gestaltung über den Prompt hinaus teilzuhaben, indem auf das Modell und auf das Artefakt eingewirkt wird.

## Pense-betes

- **Das Problem**: Ein von einem Modell erzeugtes Bild lässt sich nur durch erneutes Prompten bearbeiten; die Erzeugung von **Code** macht das Artefakt fein editierbar. RL erfordert eine Belohnung, und Ästhetik ist weder richtig noch falsch.
- **Diagnose des ersten Rasters**: Fünf Signale (Erkennbarkeit, Ästhetik, Technik, Tiefe, Prompt-Treue), die mit 0,85–0,95 korrelierten, „maßen fünfmal dasselbe“; die Länge, etwa ein Drittel der Belohnung, lieferte nach Schritt 30 kein Gradient mehr; das einzige Signal mit echter Varianz, **HPSv3**, trug ein Gewicht von 0,10.
- **Zwei Korrekturen**: **paarweise** Beurteilung (der Richter vergleicht das Render mit zwei Referenzen; die Belohnung ist der Gewinnanteil) anstelle einer nahe null komprimierten Bewertung von 0 bis 10; ein handbewerteter **Referenzpool**.
- **Pool**: 581 Referenzen (117 „love“, 266 „okay“, 198 hinzugefügt, um schlecht abgedeckte Farben aufzufüllen), alle von Modellen erzeugt (AutoResearch mit Opus 4.6, GPT-5.4 und Gemini 3.1 Pro; ein Batch auf Gemini 3.1 Pro), mangels menschlicher Beispiele für dieses Nischenwerkzeug.
- **System-Prompt via GEPA**: Eine 400-zeilige API-Referenz veranlasste das Modell, Methoden zu erfinden; die Version mit acht erlaubten Methoden, ohne Dokumentation oder Beispiele, erzeugte erstmals in drei von drei Generierungen brauchbare Ausgaben.
- ⚠️ **Einschränkungen**: Der Vorschlag, ein kleines Belohnungsmodell auf den Bewertungen zu trainieren (eigentliches **RLHF**), wurde nicht umgesetzt; ein abschließender Trainingslauf wird angekündigt, mit einem technischen Bericht im Juni 2026.

## RésuméDe400mots

**Surya Narreddi** beschreibt zusammen mit **Cameron Franz** und **Alex Wang** im **März 2026** ein Projekt, ein Sprachmodell darauf zu trainieren, mit Code zu malen. Ausgangspunkt ist eine Beobachtung: Bei einem Bildmodell besteht die einzige Möglichkeit zur Mitgestaltung im Prompt, und das Bild selbst lässt sich nicht direkt bearbeiten. Hier schreibt das Modell ein **p5.brush**-Programm in JavaScript, das ein Aquarell rendert; der Code ist das Artefakt, feiner editierbar als ein Prompt. Die zugrunde liegende Frage ist Reinforcement Learning auf kreativen Aufgaben: RL funktioniert, wenn die Belohnung verifizierbar ist, was bei Ästhetik nicht der Fall ist.

Die Schleife wird tausendfach wiederholt. Das Modell (**Qwen 3.5 35B**) erhält einen Prompt — etwa einen Pfirsich-Hibiskus in Aquarell — und schreibt den vollständigen Sketch; dieser wird als PNG in einer isolierten Puppeteer-Umgebung gerendert; ein Richtermodell vergleicht das Render mit zwei Referenzen aus einem handbewerteten Pool; das Urteil wird zur Belohnung; **GRPO** aktualisiert das Modell.

Das erste Belohnungsraster hatte neun Signale: ein Kompilierungs-Gate, **p5.brush**-Nutzung, eine Längenrampe um 3.000 Token, **HPSv3** (ein Modell menschlicher Präferenzen), Prompt-Treue, beurteilt von GPT-5.4 und Gemini, sowie vier Qualitätsrichter. Das Modell plateaute bei 0,65, wobei alle Ausgaben flache, Clip-Art-artige Blumen waren. Die isolierte Betrachtung der Teilbelohnungen zeigte, dass fünf Richter zwischen 0,85 und 0,95 korrelierten, dass die Länge (ein Drittel der Gesamtsumme) bereits bei Schritt 30 gesättigt war und dass **HPSv3**, das einzige Signal mit echter Varianz, nur ein Gewicht von 0,10 trug.

Die Korrektur: **paarweise** Beurteilung (der Richter wählt das bessere Aquarell zwischen dem Render und zwei Referenzen; die Belohnung ist der Anteil gewonnener Vergleiche), was die Bewertungen stärker streut als ein komprimierter Absolutwert, zusammen mit einem **Referenzpool** aus 581 Bildern, gezogen aus 1.664 Generierungen, bewertet mit „love“, „okay“ oder „nope“ (117 „love“). Das Raster wird auf vier Komponenten reduziert: Kompilierungs- und Brush-Nutzungs-Gate (0,05), Länge (0,05), **HPSv3** (0,30), paarweiser Richter (0,60). Mit demselben Modell und denselben Daten wird das alte Plateau dreimal schneller erreicht, der Fortschritt setzt sich fort, und der Code schrumpft von 13.500 auf unter 2.000 Token. Mangels menschlicher Beispiele sind alle Bilder im Pool Modellausgaben.

Der System-Prompt wurde ebenfalls mit **GEPA** überarbeitet: Eine 400-zeilige API-Referenz veranlasste das Modell, nicht existierende Methoden zu erfinden; nach 200 Iterationen gegen einen Richter mit sieben Beispielen erwies sich die beste Version als eine geschlossene Liste von acht Methoden, ohne Dokumentation. Der Autor schließt daraus, dass lange Referenzen in einem Prompt Halluzinationen begünstigen und dass eine kurze, scharf begrenzte Liste das Modell besser einschränkt.

Abschließend schreibt der Autor, dass subjektives RL eine handgefertigte Belohnung erfordert: zu spezifisch, und das Modell kopiert die Beispiele; zu locker, und es lernt nichts. Er präsentiert die Methode nicht als bessere Art, Bilder zu erzeugen, sondern als eine Möglichkeit, auf den Prompt, das Modell und das Artefakt einzuwirken. Ein abschließender Trainingslauf sowie ein technischer Bericht werden für Juni 2026 angekündigt.

## GrapheDeConnaissance

- Surya Narreddi —publie→ article Training AI to Paint with Code (DOCUMENT, 0.97)
- Surya Narreddi —collabore_avec→ Cameron Franz (PERSONNE, 0.95)
- projet Paint with Code —utilise→ Qwen 3.5 35B (TECHNOLOGIE, 0.93)
- projet Paint with Code —utilise→ GRPO (METHODOLOGIE, 0.97)
- projet Paint with Code —utilise→ p5.brush (TECHNOLOGIE, 0.97)
- jugement par paires —résout→ plateau de récompense (CONCEPT, 0.92)
- jugement par paires —améliore→ grille de récompense (CONCEPT, 0.9)
- jugement par paires —utilise→ pool de références (CONCEPT, 0.93)
- grille de récompense —mesure→ plateau à 0,65 avec neuf signaux, juges corrélés à 0,85-0,95 (MESURE, 0.95)
- grille de récompense —mesure→ code réduit de 13 500 à moins de 2 000 jetons (MESURE, 0.93)
- GEPA —réduit→ hallucination d'API (CONCEPT, 0.9)
- Surya Narreddi —affirme_que→ une documentation d'API longue dans le prompt système favorise l'hallucination (AFFIRMATION, 0.88)
- Surya Narreddi —affirme_que→ le RL sur tâches créatives est un problème de design de la récompense (AFFIRMATION, 0.92)
- projet Paint with Code —s_oppose_à→ RLVR (METHODOLOGIE, 0.75)
- HPSv3 —fait_partie_de→ grille de récompense (CONCEPT, 0.93)

---
Canonical: https://www.thekb.eu/de/fiches/narreddi-training-ai-paint-with-code-2026-03-01/
