Jetzt starten

Wie KI-generierte UIs weniger generisch wirken

Fast jeder Guide zu diesem Thema rät zu Prompt-Optimierungen: Fordern Sie eine kräftigere Palette, nennen Sie eine Design-Ära oder schreiben Sie „nicht generisch“. Das verändert einen Screen. Diese sechs Änderungen modifizieren die Werte, die der Agent liest, bevor er überhaupt etwas schreibt – sie gelten somit für jeden folgenden Screen.

Aktualisiert 2026-07-27

Warum Ratschläge auf Prompt-Ebene nicht ausreichen

Prompt-Tipps sind nicht falsch, sie sind nur kurzlebig. Wenn man dem Agenten eine warme Palette vorgibt, wird er diese nutzen. Sechs Screens später erinnert er sich an das Adjektiv, aber nicht an die Werte; er approximiert, und diese Approximationen driften auseinander. Das ist der Mechanismus dahinter, warum KI-erstellte Seiten konvergieren, und es ist der Grund, warum die folgenden Lösungen als Werte und nicht als Anweisungen formuliert sind.

Faustregel beim Lesen: Wenn eine Änderung als Zahl oder Hex-Wert ausgedrückt werden kann, gehört sie in die Tokens. Wenn sie nur als Adjektiv ausgedrückt werden kann, ist die Entscheidung noch nicht vollständig getroffen.

1. Neutraltöne in Richtung der Akzentfarbe tönen

Dies ist die effektivste Änderung, die jedoch fast niemand vornimmt. Standard-Themes kombinieren eine reine Graustufen-Rampe mit einer nicht zusammenhängenden Akzentfarbe, wodurch beide nicht so wirken, als gehörten sie zum selben Produkt. Gestaltete Systeme tendieren mit den Neutraltönen bei sehr geringer Chroma einige Grad in Richtung der Akzentfarbe.

/* Default: pure neutral, unrelated to the accent */
--background: oklch(0.145 0 0);
--muted:      oklch(0.269 0 0);
--primary:    oklch(0.55 0.19 45);

/* Tinted: same lightness, a trace of the accent hue */
--background: oklch(0.145 0.008 45);
--muted:      oklch(0.269 0.012 45);
--primary:    oklch(0.55 0.19 45);
Eine Chroma von 0.008 bis 0.015 liegt unter der bewussten Wahrnehmungsschwelle und verändert die Gesamtwirkung der Seite.

Halten Sie die Chroma wirklich niedrig. Ab etwa 0.02 werden die Grautöne eher als farbig denn als neutral wahrgenommen – man tauscht dann nur einen offensichtlichen Look gegen einen anderen aus.

2. Eine zweite Schriftfamilie hinzufügen

Eine einzige Familie für Überschriften, Fließtext, Labels und Zahlen ist der schnellste Weg, eine generierte UI zu entlarven. Die Lösung ist ein Pairing mit echtem Kontrast – keine zwei ähnlichen Grotesk-Schriften, da dies eher wie ein Versehen als wie eine bewusste Entscheidung wirkt.

  • Serif Display + Grotesk Body. Der zuverlässigste Kontrast, kaum falsch zu machen.
  • Grotesk Display + Humanist Body. Dezenter; funktioniert gut für dichte Produkt-UIs, in denen eine Serifenschrift zu dekorativ wirken würde.
  • Eine Superfamilie, zwei Extreme. Ein Condensed Heavy gegenüber einem Regular. Sicher, wenn die Marke kompakt bleiben muss.
  • Eine Mono-Schrift für Daten. Keine Dekoration: Tabellarische Ziffern verhindern, dass Zahlen in Zeilen springen.

Egal wofür Sie sich entscheiden: Schreiben Sie die exakten Familien, Gewichte und den Zeichenabstand in die Tokens. *Kombiniere eine Serifenschrift mit einer Sans* ist ein Adjektiv, und Adjektive verblassen.

Preview unavailable here. Browse complete kits in the kit gallery.

3. Radius an Elementgröße anpassen

Ein einziger --radius, der überall angewendet wird, ist das dritte Warnsignal. Der Radius wird *relativ zum Element wahrgenommen*, auf dem er liegt. Dieselben 8px lassen einen kleinen Button klumpig und eine große Card kaum abgerundet wirken.

/* One value, applied to everything */
--radius: 0.5rem;

/* Scaled to element size */
--radius-sm: 0.25rem;  /* inputs, chips, badges */
--radius-md: 0.5rem;   /* buttons, small controls */
--radius-lg: 0.875rem; /* cards, panels */
--radius-xl: 1.25rem;  /* modals, sheets, hero surfaces */
Vier Stufen sind ausreichend. Es geht um Proportionen, nicht um Granularität.

4. Das uniforme Grid aufbrechen

Drei gleich große Cards suggerieren, dass jedes Element die gleiche Gewichtung hat. Das ist fast nie der Fall, und ein Layout, das dies dennoch behauptet, vermittelt keine Information über das Produkt.

Die Änderung ist eher redaktioneller als technischer Natur: Entscheiden Sie, welches Element tatsächlich am wichtigsten ist, und lassen Sie das Layout dies widerspiegeln. Eine breite Card über zwei schmalen. Eine Aufteilung in zwei Drittel und ein Drittel. Ein einzelnes Feature mit aussagekräftigen Bildern statt drei Icons. Das Grid ist völlig in Ordnung, wenn die Elemente tatsächlich gleichwertig sind. Der Fehler liegt in der Nutzung als Standard.

Consistency check · No type scale

The same plan card, built two ways in Mauve Broadcast.

Drifting system

Pricing

Starter$19/mo

Everything a small team needs to ship a branded UI.

Consistent system

Pricing

Starter$19/mo

Everything a small team needs to ship a branded UI.

What to notice: Links: Jeder Abschnitt definiert seine eigene Typografie neu. Rechts: Eine durchgehend angewendete Skalierung.

5. Ein Modell für die Elevation festlegen

Generierte UIs verwenden meist nur einen einzigen Schatten für alles, was hervorgehoben wirken soll. Echte Elevation-Systeme verfügen über zwei oder drei Ebenen mit einer konsistenten Lichtquelle und nutzen neben Schatten auch Border- und Hintergrundänderungen – oft sogar anstelle von Schatten.

/* One shadow doing every job */
--shadow: 0 1px 3px rgb(0 0 0 / 0.1);

/* Levels that agree about a light source */
--elevation-0: none;                                  /* flush: use a border */
--elevation-1: 0 1px 2px rgb(0 0 0 / 0.06);           /* cards */
--elevation-2: 0 4px 12px rgb(0 0 0 / 0.08);          /* dropdowns */
--elevation-3: 0 16px 40px rgb(0 0 0 / 0.12);         /* modals */
Im Dark Mode ist eine hellere Oberfläche einem starken Schatten vorzuziehen: Schatten sind auf dunklen Hintergründen kaum wahrnehmbar.

6. Dort schreiben, wo der Agent es erneut liest

Die fünf oben genannten Änderungen sind wenig wert, wenn sie nur in einem Chatverlauf existieren. Hinterlegen Sie diese in einer DESIGN.md sowie in Token-Dateien im Repo. So löst der Agent bei jedem Durchlauf dieselben Werte auf, auch in einer Sitzung, die erst nächsten Monat geöffnet wird.

  1. 1

    Design-Contract installieren

    Schreibt die DESIGN.md und die Token-Dateien in das Projekt.

    npx --yes identityforge@latest install --client claude-code
  2. 2

    Ein Kit verwenden, das diese Entscheidungen bereits enthält

    Getönte Neutralfarben, ein echtes Pairing, skalierte Radien und ein Elevation-Modell – bereits definiert.

    identityforge apply terrain-vivant
  3. 3

    In der Agent-Datei referenzieren

    Eine Zeile in der AGENTS.md, damit der Contract gezielt gefunden und nicht nur zufällig entdeckt wird.

    Never hardcode theme colors. Use the semantic tokens in DESIGN.md.
  4. 4

    Überprüfung der Beständigkeit

    Öffnen Sie eine neue Sitzung, erstellen Sie einen nicht zusammenhängenden Screen und vergleichen Sie dessen Primary-Farbe und Radius mit dem ersten. Wenn diese identisch sind, werden die Werte gelesen und nicht nur aus dem Gedächtnis reproduziert.

Preview unavailable here. Browse complete kits in the kit gallery.

Was nach allen sechs Schritten immer noch generiert aussieht

Jeder Guide zu diesem Thema in den SERPs endet mit der Liste der Fixes. Das ist der falsche Zeitpunkt zum Aufhören, denn zwei Merkmale überstehen alle sechs Änderungen – und genau diese fallen den Nutzern auf, ohne dass sie sie benennen können. Beide liegen außerhalb der Token-Datei, wie sie üblicherweise geschrieben wird, weshalb sie auch bestehen bleiben.

Alles bewegt sich auf die gleiche Weise

Generierte Interfaces haben meist nur eine Animation: ein kurzes Einblenden mit einer kleinen Verschiebung nach oben, angewendet auf jedes erscheinende Element. Das Hero-Element, die Cards, das Modal und der Toast – alle nutzen dasselbe. Die Bewegung gibt keinen Hinweis darauf, welche Art von Ereignis gerade eingetreten ist, wodurch sich das gesamte Produkt wie eine einzige, kontinuierliche Slideshow anfühlt.

Motion vermittelt Bedeutung, wenn Dauer und Easing variieren, je *danach, was das Element tut*, und nicht danach, wo es platziert ist. Die zu kodierende Unterscheidung liegt zwischen Elementen, die auf den Nutzer reagieren, und Elementen, die von selbst erscheinen:

ElementtypDauerEasing
Reaktion auf Klick oder HoverEin Control, das die Interaktion bestätigt100 bis 150msease-out: schneller Start, es sollte sich bereits abgeschlossen anfühlen
Erscheinen eines ElementsEin Menü, Popover oder Panel200 bis 250msease-out, wobei der Transform den Hauptteil der Bewegung übernimmt
Verschwinden eines ElementsDas Schließen desselben Elements120 bis 180msease-in: Ausblenden sollte schneller gehen als Einblenden
Dauern, die bewusst gewählt wirken. Die absoluten Zahlen sind weniger wichtig als die klare Trennung der drei Gruppen.

Die Asymmetrie in der letzten Zeile ist der Punkt, den fast keine generierte UI richtig macht: Ausblenden erfolgt in der gleichen Geschwindigkeit wie Einblenden, was das Schließen von Elementen zäh wirken lässt. Definieren Sie die drei Dauern als Tokens, damit der Agent nicht mehr einen einzigen Wert für alles verwendet.

/* One duration, one curve, applied to everything */
--transition: 200ms ease;

/* Motion that says what kind of event it was */
--motion-response: 120ms cubic-bezier(0, 0, 0.2, 1);
--motion-enter:    220ms cubic-bezier(0, 0, 0.2, 1);
--motion-exit:     160ms cubic-bezier(0.4, 0, 1, 1);

@media (prefers-reduced-motion: reduce) {
  --motion-response: 1ms;
  --motion-enter: 1ms;
  --motion-exit: 1ms;
}
Der Block für reduzierte Bewegung (reduced-motion) ist keine optionale Höflichkeit; ohne ihn führt ein Agent, der Motion hinzufügt, zu einer Regression bei der Barrierefreiheit.

Jedes Produkt verwendet dieselben Icons

Das zweite überlebende Merkmal ist die Ikonografie. Eine Standardinstallation liefert ein Open-Source-Set mit einer einzigen Strichstärke. Da dieses Set oft mit der Komponenten-Bibliothek ausgeliefert wird, erscheinen dieselben zwanzig Glyphen in tausenden von Produkten. Man kann jede Farbe und jede Schriftart ändern und das Produkt ist dennoch allein an den Icons erkennbar.

Das Set komplett zu ersetzen, lohnt sich meist nicht. Es einzuschränken hingegen schon:

  • Passen Sie die Strichstärke an die Schriftstärke an. Eine 1.5px-Linie wirkt neben einer Light-Schrift wie ein Fremdkörper; neben einer Medium-Schrift wirkt sie stimmig. Wählen Sie einen Wert und hinterlegen Sie ihn in den Tokens.
  • Passen Sie die Größe an den danebenstehenden Text an, damit ein Icon in einem Button und ein Icon in einer Tabellenzeile nicht zufällig dieselbe Pixelgröße haben.
  • Verbieten Sie dekorative Icons. Untersagen Sie Icons, die eher eine Stimmung als eine Aktion darstellen: Funkeln, Raketen und Blitze sind die stärksten Signale für generierte UIs, die selbst nach einem vollständigen Re-Theme bestehen bleiben.
  • Erlauben Sie eine einzige Ausnahme und benennen Sie diese. Ein einzelnes benutzerdefiniertes Glyphen-Element, in der Regel das Markenlogo, das an einer konsistenten Stelle verwendet wird. Eine bewusste Abweichung wirkt wie eine Entscheidung; mehrere wirken wie ein Zufall.

Der Sparkle-Test

Wenn ein Screen ein Funkel-Icon, einen Farbverlauf von Violett zu Blau und das Wort „nahtlos“ enthält, wird keine der sechs oben genannten Token-Änderungen helfen. Diese drei Punkte sind Entscheidungen bezüglich Inhalt und Ikonografie; sie müssen schriftlich untersagt werden, da keine Farbpalette sie überschreiben kann.

Was in den tatsächlich geschriebenen Dateien oft falsch läuft

Die sechs Änderungen schriftlich festzuhalten, ist der einfache Teil. Wir haben 299 öffentliche DESIGN.md-Dateien von GitHub analysiert, um zu sehen, was tatsächlich committet wird. Das Fehlermuster ist konsistent genug, um es bei der Planung zu berücksichtigen.

Anteil der Dateien
Dark Mode komplett weggelassen69%
Keine semantischen Farbrollennamen verwendet86%
Keine Verbote definiert76%
Keine Motive oder Prinzipien definiert57%
Überhaupt keine konkreten Größenwerte enthalten44%
Vage Adjektive anstelle von Werten verwendet54%
Eine Radius-Skala spezifiziert21%
Gemessen an den 72 analysierten Dateien, die ein visuelles Designsystem beschreiben. Die Erkennung erfolgte großzügig, sodass dies eine Obergrenze darstellt.

Vergleicht man dies mit den sechs Änderungen oben, ist die Überschneidung exakt. Eine Radius-Skalierung wird nur in jeder fünften Datei spezifiziert. Verbote (die einfachste Form der Dokumentation und die zuverlässigste Anweisung) fehlen in drei Vierteln der Fälle. Und die häufigsten Wörter, die eine Entscheidung ersetzen sollten, waren *clean* (39 % der Dateien), *modern* (36 %) und *professional* (22 %).

Etwas aufzuschreiben ist nicht dasselbe wie es zu entscheiden

Mehr als die Hälfte der realen Dateien enthält mindestens ein Adjektiv, wo eigentlich ein Wert stehen müsste. Ein Coding-Agent, dem „clean und modern“ übergeben wird, muss dies selbst interpretieren – und tut dies jedes Mal anders. Wenn eine Zeile bei zwei kompetenten Lesern zwei verschiedene Screens erzeugen kann, wurde die Entscheidung noch nicht getroffen.

Die praktische Konsequenz für die sechs Änderungen: Schreiben Sie jede einzelne als Zahl oder Hex-Wert und prüfen Sie Ihre eigene Datei auf die drei oben genannten Wörter, bevor Sie diese committen.

Alle sechs, bereits entschieden

Jedes Identity Forge Kit wird mit getönten Neutralfarben, einem echten Font-Pairing, einem skalierten Radius-Set und einem Elevation-Modell ausgeliefert, zusammen mit der DESIGN.md, die diese über mehrere Sessions hinweg konsistent hält. Kostenlose Kits erfordern kein Konto.

Welche einzelne Änderung bringt die größte Verbesserung?

Das Tönen der Neutralfarben. Es ist keine Layout-Arbeit, keine neue Schriftart und kein Redesign erforderlich. Es wird lediglich die Chroma-Sättigung bestehender Werte angepasst, was die gesamte Wirkung der Seite verändert.

Beeinträchtigt eine zweite Schriftart die Performance?

Nur geringfügig und in einem kontrollierbaren Rahmen. Zwei Schriftfamilien mit jeweils zwei Schriftschnitten entsprechen bei woff2 und Subsetting etwa 60 bis 120 KB, die einmalig geladen werden. Variable Fonts reduzieren dies weiter. Das ist ein fairer Tausch für das auffälligste visuelle Merkmal auf der Seite.

Wird OKLCH für die getönten Neutralfarben benötigt?

Nein, aber es erleichtert den Prozess erheblich. OKLCH trennt die Helligkeit von der Chroma-Sättigung, sodass ein Hauch von Farbton hinzugefügt werden kann, ohne die wahrgenommene Helligkeit zu verändern. In HSL verschiebt dieselbe Anpassung auch die Helligkeit, was eine erneute Abstimmung der Farbabstufungen erforderlich macht.

Handelt es sich hierbei nur um Theming?

Teilweise, und genau das ist der Punkt: Das meiste, was als „generisch“ wahrgenommen wird, liegt in Werten, die bereits von einer Theme-Ebene gesteuert werden. Die Teile, die kein Theming sind, betreffen die Grid-Entscheidung und das Elevation-Modell, welche struktureller Natur sind.

Wie verhindere ich, dass der Coding-Agent diese Werte überschreibt?

Formulieren Sie die Einschränkung als Verbot statt als Präferenz. „Hardcoden Sie niemals Theme-Farben; verwenden Sie die semantischen Tokens“ wird weitaus zuverlässiger befolgt als „bevorzugen Sie semantische Tokens“.