Commencer

Des directives d'interface qu'un agent IA peut réellement suivre

Certains transforment les Human Interface Guidelines d'Apple en compétences pour agents ; le résultat est meilleur que rien, mais moins bon qu'espéré. Cet écart est spécifique et mérite d'être compris avant d'écrire vos propres instructions.

Mis à jour 2026-07-27

Ce que les gens font concrètement

Le modèle qui apparaît dans les catalogues de compétences pour agents consiste à prendre les Human Interface Guidelines d'Apple (ou Material, ou les guides d'accessibilité d'une plateforme) et à les reconditionner pour qu'un agent puisse les charger avant de construire l'UI. Un ensemble publié divise le HIG en quatorze compétences couvrant les plateformes, les fondations et les composants : mise en page, contrôles, dialogues, menus, recherche. D'autres le proposent comme une compétence de design unique promettant des composants natifs, une typographie appropriée et des couleurs sémantiques.

C'est un bon réflexe. Un agent de code à qui l'on demande un écran de réglages iOS sans directives produira quelque chose qui fonctionne, mais qui semble subtilement incorrect : une modale là où un push était conventionnel, un contrôle qui existe sur le web mais pas sur la plateforme, des zones tactiles dimensionnées pour une souris. Charger les règles de la plateforme corrige une catégorie d'erreurs bien réelle, et ce, à moindre coût.

Cela produit également un effet inattendu, sur lequel il convient d'être précis.

Ce qui survit à la traduction, et ce qui ne survit pas

ExempleRéaction de l'agent
Règles prescriptivesTaille minimale de la zone tactile, choix du contrôle selon la tâche, préférence d'une feuille (sheet) sur un push, minimums de contrasteLes applique systématiquement. Ces règles sont vérifiables, donc une mauvaise réponse est visiblement erronée
Principes« Clarté », « déférence », « profondeur »Est d'accord avec eux, puis fait ce qu'il avait déjà prévu de faire
Comment les deux moitiés d'une directive de plateforme se comportent lorsqu'un agent les lit.

Cette seconde ligne représente tout le problème, et cela ne concerne pas seulement Apple. Une instruction infalsifiable ne peut pas modifier le comportement, car le modèle peut la satisfaire avec sa propre définition du mot. Demandez de la clarté et vous obtiendrez l'idée médiane de la clarté du modèle, qui est la même pour tous les autres modèles. C'est pourquoi tant d'UI générées par des agents convergent vers les mêmes surfaces presque noires, la même palette gris et une seule couleur d'accentuation, et les mêmes cartes aux coins uniformément arrondis.

Un agent peut suivre une règle. Il ne peut qu'approuver un principe.

Nous avons mesuré ce même échec sur le terrain. Parmi 299 fichiers DESIGN.md publics (les documents que les développeurs écrivent spécifiquement pour qu'un agent les suive), 54 % contiennent au moins un adjectif non mesurable, le plus souvent « clean » (39 %) ou « moderne » (36 %), et 44 % ne mentionnent aucune valeur de taille concrète. Ces fichiers se lisent comme une direction artistique et fonctionnent comme un simple accord de principe.

Ce qu'une directive de plateforme ne cherche pas à vous apporter

C'est ici que les personnes qui installent une compétence HIG en espérant que leur application devienne soudainement esthétique sont surprises : les directives de plateforme sont délibérément partagées. Chaque application de la plateforme les suit. C'est tout l'intérêt. Un utilisateur doit pouvoir ouvrir une application qu'il n'a jamais vue et savoir comment elle fonctionne. La conformité est l'objectif, et l'identité visuelle ne l'est explicitement pas.

Ainsi, une compétence HIG peut rendre votre interface *correcte* (bons composants, bonne navigation, tailles de cibles appropriées, bon contraste), mais être correct n'est pas synonyme d'être distinctif. Si deux équipes chargent la même directive sans autre contexte de design, elles devraient produire des interfaces interchangeables. C'est généralement ce qui arrive.

C'est un avantage, jusqu'à ce que ça ne le soit plus

Pour un utilitaire, un plugin ou tout élément intégré dans l'environnement d'un tiers, se fondre dans la masse est la bonne approche et la directive constitue l'intégralité du brief. Le décalage n'apparaît que lorsque l'objet construit est un produit qui doit être reconnaissable, et cela se découvre généralement vers le cinquième écran.

La configuration à deux couches

Une fois que l'on considère cela comme deux tâches distinctes, la solution devient évidente et les couches cessent de s'opposer.

Couche plateformeCouche identité
RéponsesComment cela doit-il se comporter ici ?À quoi cela doit-il ressembler, partout ?
SourceLes directives de la plateforme, sous forme de compétence ou de fichier de règlesVotre ensemble de design tokens et vos règles écrites, dans le repo
Évolue quandLa plateforme changeVotre marque change
Échec si absentUne UI d'apparence correcte mais qui semble étrangère à la plateformeUne UI parfaitement conforme à la plateforme, mais indiscernable de toutes les autres applications
Deux couches, deux sources, deux modes de défaillance.

Gardez-les dans des fichiers séparés. Il est tentant d'intégrer votre marque dans la compétence HIG pour n'avoir qu'un seul élément à charger, mais cela pose problème dès la première mise à jour de la plateforme ou le premier rebranding, car vous devez alors démêler quelles phrases appartenaient à quel ensemble.

Token specimen · real values

Ambient Sage

Live render

Ambient Sage's actual tokens — the same values its exports use.

Color tokensSemantic roles with HEX / HSL / CMYK

Color tokens

Ambient Sage
light · HEX · HSL · CMYK

Core

#F3F4EF

background

H 72 · C0, 0, 2, 4

#1A1C17

foreground

H 84 · C7, 0, 18, 89

#E5E6E0

card

H 70 · C0, 0, 3, 10

#ECEEE8

muted

H 80 · C1, 0, 3, 7

#D8D9D2

border

H 68.57 · C0, 0, 3, 15

Brand

#FEE951

primary

H 52.72 · C0, 8, 68, 0

#1A1C17

primary-fg

H 84 · C7, 0, 18, 89

#E5E6E0

secondary

H 70 · C0, 0, 3, 10

#F7E464

accent

H 52.24 · C0, 8, 60, 3

#FEE951

ring

H 52.72 · C0, 8, 68, 0

Semantic

#C0392B

destructive

H 5.64 · C0, 70, 78, 25

#FFFFFF

destructive-fg

H 0 · C0, 0, 0, 0

#2D7238

success

H 129.57 · C61, 0, 51, 55

#C97D12

warning

H 35.08 · C0, 38, 91, 21

#545651

muted-fg

H 84 · C2, 0, 6, 66

Charts

#FEE951

chart-1

H 52.72 · C0, 8, 68, 0

#4A8FD4

chart-2

H 210 · C65, 33, 0, 17

#6BBF8A

chart-3

H 142.14 · C44, 0, 28, 25

#E07498

chart-4

H 340 · C0, 48, 32, 12

#E8A24B

chart-5

H 33.25 · C0, 30, 68, 9

Type scaleHeading, body, and mono in the kit's fonts

Typography

Ambient Sage

Scale: compact-product

Density: balanced

Heading · Plus Jakarta Sans · 1.875rem

Ship beautiful product faster

Subheading · Plus Jakarta Sans · 1.375rem

A warm-sage neutral-surface mobile kit with a single vivid yellow accent, flat tonal cards, and oversized display numerals.

Body · Plus Jakarta Sans · 1rem

Ambient Sage uses a near-white warm-sage canvas (#f3f4ef) with card panels distinguished only by a tonal shift to #e5e6e0, never by shadows or borders. A single vivid yellow (#fee951) is the only saturated color and appears sparingly at component scale as orbs, button fills, and focus rings. Primary data values render as oversized bold hero numerals with a small superscript unit. Typography is a friendly rounded geometric (Plus Jakarta Sans) with no uppercase and no tight tracking, while JetBrains Mono is reserved for hex codes and technical strings. Generous rounding and luminance-only contrast give the whole system a calm, minimal feel.

Mono · JetBrains Mono · 0.8125rem

npx shadcn add ambientsage.json

Aa

Plus Jakarta Sans · Heading

400500600700

Aa

Plus Jakarta Sans · Body

400500600700

ABCDEFGHIJKLM NOPQRSTUVWXYZ

abcdefghijklmnopqrstuvwxyz

0123456789 & @ # % →

Radius & spacingCorner radius, elevation, and spacing steps

Tokens

Ambient Sage primitives
density: balanced

Radius scale

sm · 0.375rem
md · 0.75rem
lg · 1.25rem
xl · 1.75rem

Component radius

button
card
input

Elevation

level 1
level 2
level 3
level 4

Spacing · base 4px

1x
2x
3x
4x
6x
8x
La couche identité doit être définie par des valeurs plutôt que par des adjectifs. Rien ici ne contredit une directive de plateforme ; elle répond à une question que les directives laissent délibérément ouverte.

Rédiger une règle qu'un agent peut vérifier

Le test est simple : quelqu'un peut-il regarder le résultat et affirmer, sans ambiguïté, si la règle a été respectée ? Si deux personnes raisonnables peuvent être en désaccord, l'agent le sera aussi, et il résoudra le litige en faveur de ses paramètres par défaut.

Accepté avecRespecté
CouleurUtiliser une palette propre et moderneUtiliser uniquement les tokens sémantiques. Jamais de hex brut dans un composant. Un seul accent par écran
TypographieLa typographie doit paraître raffinéeDeux familles : display et body. Échelons d'échelle à 1,25×. Jamais de troisième graisse dans le corps du texte
SurfacesGarder des surfaces légères et aéréesLes cartes sont plates. Pas d'ombre sur une surface plate. Bordure 1px, token border
Mode sombreSupporter le mode sombreChaque rôle de couleur défini dans les deux modes. Ne jamais livrer une modification du mode clair sans son équivalent en mode sombre
La même intention, deux fois.

Remarquez combien d'entrées à droite sont des prohibitions. Ce n'est pas un choix stylistique : une préférence ajoute une option, tandis qu'une prohibition élimine toutes les autres. « Utilisez notre vert » laisse tous les défauts génériques valides ; « n'introduisez jamais une couleur qui n'est pas un token » ne le permet pas. Dans notre corpus, 76 % des fichiers ne listaient que des préférences, ce qui explique précisément pourquoi ils cessent de fonctionner.

Quand la directive et votre image de marque divergent

Cela arrive moins souvent qu'on ne le craint, car ces deux couches répondent généralement à des questions différentes. Lorsque cela se produit, il s'agit généralement de l'un des trois cas suivants, et un seul d'entre eux constitue un réel conflit.

  1. Minimums d'accessibilité versus couleur de marque. Ce n'est pas un conflit. Le minimum l'emporte, et votre couleur d'accentuation doit être ajustée pour cette surface. Un agent à qui on l'indique explicitement le fera ; un agent laissé libre de choisir conservera généralement la couleur de marque, car c'est l'instruction qui lui semblera la plus spécifique.
  2. Convention de plateforme versus pattern interne. Un véritable arbitrage. Décidez une fois pour toutes, notez laquelle l'emporte et pourquoi, et placez-le dans la couche d'identité pour éviter de devoir trancher à nouveau pour chaque écran.
  3. Style par défaut de la plateforme versus vos tokens. Ce n'est pas un conflit, même si cela en a l'air. Les directives précisent quel contrôle utiliser ; elles précisent rarement sa couleur exacte. Utilisez le composant de la plateforme, stylisé avec vos design tokens.

Précisez quelle couche l'emporte, dans le fichier

Un agent disposant de deux documents sans priorité établie fera un choix arbitraire à chaque tour, sans vous dire lequel. Une seule ligne (« en cas de conflit, les minimums d'accessibilité l'emportent, puis les conventions de plateforme, puis le style interne ») élimine toute une catégorie d'incohérences qu'il serait autrement presque impossible de diagnostiquer à partir du résultat.

Configuration pratique

  1. 1

    Chargez la couche plateforme comme une compétence ou un fichier de règles

    Selon ce que supporte votre agent : une compétence, .cursor/rules, .devin/rules, ou une section dans CLAUDE.md. Gardez-la aussi proche que possible de la directive source, afin qu'elle puisse être remplacée intégralement lors des mises à jour de la plateforme.

  2. 2

    Placez la couche d'identité dans le repo

    Un fichier de tokens accompagné d'un DESIGN.md contenant vos règles et interdictions. Il doit se trouver dans le dépôt plutôt que dans un prompt, car l'agent doit le relire à chaque tâche, tout comme le fera la personne suivante.

  3. 3

    Définissez la priorité une seule fois

    Une phrase en haut du fichier d'identité précisant ce qui l'emporte en cas de conflit.

  4. 4

    Testez sur l'écran que personne n'a conçu

    Demandez quelque chose de plausible que ni l'une ni l'autre couche n'avait anticipé : un état vide, une erreur de permissions, un contrôle de pagination. Ce que l'agent inventera sera le reflet de tous les cas non couverts, et c'est là votre véritable mesure de couverture.

La dernière étape est celle qu'il convient de répéter. Les deux couches couvrent les cas auxquels quelqu'un a pensé. Dans un produit conçu par un agent, la plupart des écrans correspondent à des cas auxquels personne n'a pensé, c'est pourquoi la couche d'identité doit énoncer des règles générales et des refus plutôt que d'énumérer des composants. Pour en savoir plus sur le contenu de ce fichier : ce qu'est un DESIGN.md.

La couche d'identité, sous la forme d'un seul fichier installable

Chaque kit Identity Forge se sérialise en un DESIGN.md complet (tokens sémantiques en mode clair et sombre, un véritable appairage de polices, des motifs et des interdictions explicites) aux côtés du fichier de tokens. Il coexiste avec les directives de plateforme que vous chargez, sans jamais entrer en conflit avec elles.

FAQ

Un agent IA peut-il suivre les Human Interface Guidelines d'Apple ?

Les parties prescriptives, oui : choix des contrôles, patterns de navigation, cibles tactiles minimales, contrastes minimums. Ces éléments sont vérifiables, l'agent les applique donc de manière fiable. Les parties basées sur des principes (clarté, déférence, profondeur) ne peuvent pas modifier le comportement, car un agent satisfait une instruction non falsifiable selon sa propre interprétation du mot.

Une compétence HIG rendra-t-elle mon application esthétique ?

Elle la rendra correcte, ce qui est différent. Les directives de plateforme sont délibérément partagées par toutes les applications afin que les utilisateurs puissent transférer leurs connaissances d'une app à l'autre. Deux équipes chargeant la même directive et rien d'autre devraient produire des interfaces interchangeables. La distinction provient d'une seconde couche : vos propres tokens et règles.

Les directives de plateforme et mon design system doivent-ils être dans un seul fichier ?

Non. Ils évoluent selon des cycles différents (l'un lors des mises à jour de la plateforme, l'autre lors de l'évolution de votre marque) et les fusionner reviendrait à devoir démêler plus tard quelles phrases appartiennent à qui. Conservez deux fichiers et précisez lequel l'emporte en cas de conflit.

Que faire quand une couleur de marque ne respecte pas un minimum d'accessibilité ?

Le minimum l'emporte et la couleur d'accentuation doit être ajustée pour cette surface. Précisez-le explicitement dans vos règles : un agent laissé libre de choisir conserve généralement la couleur de marque, car cette instruction lui semble plus spécifique qu'une note générale sur l'accessibilité.

Comment savoir si une règle est assez bien écrite pour un agent ?

Demandez-vous si un relecteur pourrait regarder le résultat et affirmer, sans ambiguïté, que la règle a été suivie. « Utilisez une palette épurée » échoue à ce test. « Utilisez uniquement les tokens sémantiques, jamais de hex brut, un seul accent par écran » le réussit.