Jeg vidste præcis, hvordan Agent Releases ikon skulle se ud: det skulle høre til familien sammen med coach og share. Det svære var at få gpt-image-2 til at se det samme. Appen brugte i starten bare share-ikonet, så jeg bad Claude få gpt-image-2 til at lave ti kandidater og vise mig et ark, jeg kunne pege på.

Fra runde 1 kunne jeg bedst lide »terminal-up«. Men som samlet sæt fulgte de ikke vores brand. Jeg bad om at fokusere på release frem for merge, og om at ramme stilen fra de andre produkt-ikoner. Claude skrev prompterne og kørte dem gennem gpt-image-2 — en runde to og en runde tre. Hver runde kom tættere — ikonfladen sad, farven sad, glyffen sad.
De hørte bare stadig ikke til som serie. Jeg satte dem ved siden af de rigtige share- og coach-ikoner og kunne se det med det samme:

De to til venstre er de rigtige. De tre til højre er runde 3. Samme farve, samme ikonflade — men de rigtige har en glød og nogle fartstriber som kandidaterne ikke har.
I tre runder havde Claude beskrevet vores brand for gpt-image-2 i ord: farvekoder, mørk ikonflade, glød, flad vektor. Omhyggeligt. Og det blev ved med at ramme ved siden af, fordi netop den glød og de fartstriber, der binder ikonerne sammen som én serie, er en tekstur man ikke kan skrive sig til.
Så stoppede jeg med at bede om endnu en beskrivelse og spurgte det her i stedet:
Læringen
Det var vendepunktet — ikke flere ord om stilen, men de to rigtige ikoner som input. I stedet for at beskrive familien gav Claude gpt-image-2 familien selv: Claude kørte den samme redigeringsinstruks ud fra begge de rigtige ikoner — share og coach — og bad kun om at få glyfen skiftet ud. Det er den her kommando, der lavede vinderen:
pks image --model gpt-image-2 --resolution 1024 \
--input _ref-share.png "$(cat edit-instruction.txt)" \
--output from-share-2.png
--input sætter gpt-image-2 i redigeringstilstand: prompten bliver en ændring af det billede, du giver den — ikke en beskrivelse den skal gætte ud fra. Så det nye ikon arver glød, fartstriber og neon, fordi de allerede lå i referencebilledet.

De share-baserede vandt (share havde den rigeste glød). Én redigering mere fjernede ringen om glyfen, og så var det færdige ikon klar:

Hvad jeg tog med
Jeg skriver ikke prompterne til gpt-image-2 — det gør Claude. Det jeg lægger til er smag: at lægge mærke til, når noget ikke hører til. Og det jeg lærte her, var trækket: i stedet for at bede om endnu en beskrivelse, valgte jeg at give modellen referencen. Når en AI-genereret ting ikke vil passe ind i en familie, der allerede findes, så hold op med at beskrive familien og giv modellen den i stedet.
Et referencebillede slår en beskrivelse. Jeg griber referencen først næste gang.
Vis Claudes prompts til gpt-image-2
Claudes prompts
Prompterne herunder skrev jeg ikke — det gjorde Claude undervejs. Jeg tager dem med, fordi skiftet fra beskrive til vise er tydeligst i dem. Alle er verbatim fra design/icon-candidates/ i Agent Release-repoet.
Runde 1 — beskriv glyfen. Minimal prompt, ingen ikonflade eller baggrund låst fast. Resultatet blev en sort raket på hvid baggrund.
(Prompten ender sådan — det løse »A« er verbatim; det var alt, der nåede at blive skrevet.)
Runde 3 — beskriv hele stilen. Den omhyggelige version: farvekoder, ikonflade, glød, flad vektor. Tættere — men teksturen (glød-ringe, fartstriber) mangler stadig, for den står ikke i ordene.
Runde 4 — vis stilen. Her vendte det. Claude kørte den samme redigeringsinstruks ud fra begge de eksisterende ikoner — både share (--input _ref-share.png) og coach (--input _ref-coach.png) — og bad gpt-image-2 kun skifte glyfen. Den share-baserede vandt (share havde den rigeste glød). Det er præcis den her tekst, der lå i edit-instruction.txt i kommandoen ovenfor:
Runde 5 — én ting mere. Samme teknik, én ændring: fjern ringen om glyfen. Det blev det færdige ikon.
Mønsteret i de to sidste er det samme: behold alt, skift kun den ene ting.
