Escritos · 5 min de leitura

Sobre construir sistemas

Desenhando a estrutura, a gramática e as verificações que os agentes escalam.

Design não é mais só sobre telas. O momento atual da tecnologia pede que designers pensem em sistemas.

Já disse antes que agora precisamos tratar o código como matéria-prima. Mas não para por aí.

Com a IA, nossos usuários não são mais só pessoas. As pessoas continuam sendo a parte mais importante, claro. Mas os agentes precisam ser levados em conta na mesma medida. Eles leem nossos arquivos, constroem nossas telas e tomam decisões que antes tomávamos à mão. Se desenhamos só para quem olha o resultado, deixamos quem produz o resultado no chute.

Rápido não é o mesmo que bem construído

Software bom precisa de fundações boas e escaláveis. E, com agentes, escalar pode acontecer muito rápido. Um prompt gera um dashboard. Dez prompts geram um produto.

Só que a velocidade multiplica o que estiver por baixo. Sem uma fundação, o agente escala os padrões que aprendeu com todo mundo. A skill de frontend-design da Anthropic mantém uma lista deles e os chama de “os sinais mais comuns de uma página gerada”. Você já viu: as mesmas fontes, os mesmos cards dentro de cards, os mesmos gradientes. Funciona, mas não parece bem construído.1

Receita$48.2k
Usuários1,204
Retenção93%
Pedidos$7.9k
Contas312
Churn18%
Os mesmos prompts. Sem sistema, cada tela decide sozinha; com sistema, as decisões se repetem.

A IA ainda precisa de estrutura, gramática, gosto, regras e diretrizes para produzir algo que pareça bem construído de verdade. Esse é o trabalho agora.

Como é algo bem construído

Quando olho para produtos que parecem bem construídos, não vejo uma pilha de telas boas. Vejo decisões que se repetem.

O Linear é um bom exemplo. Quando redesenharam o app, o objetivo era “reduzir o ruído visual, manter o alinhamento e aumentar a hierarquia e a densidade dos elementos de navegação”. Isso não é uma tela. É uma regra que toda tela precisa seguir. Karri Saarinen descreve o “L invertido” da moldura global que controla a área principal. Quando esse formato existe, as novas telas não precisam reinventá-lo.2

Caixa de entrada
Troque de tela. A moldura não se mexe; só a área principal muda.

A Stripe faz o mesmo por escrito. A orientação deles para apps de página inteira diz: “Comece com uma visão geral e deixe as pessoas descobrirem os detalhes no próprio ritmo”. Uma frase, e cem páginas saem consistentes.3

É isso que um sistema entrega. Não mais componentes, e sim menos decisões deixadas ao acaso.

Gosto pode ser escrito

A objeção mais comum é que gosto não se ensina, ainda mais para uma máquina. Eu discordo, e quem faz isso bem também discorda.

Emil Kowalski resume bem: “Quase toda decisão de ‘gosto’ tem uma razão lógica”. Se você consegue explicar o porquê, consegue escrever. Se consegue escrever, um agente consegue seguir.4

Karl Koch mostra como. Ele transforma uma preferência vaga em três partes: quando a regra se aplica, o que ele costuma escolher e como verificar se funcionou. Cada regra vem junto do jeito como ela falha, o que ele chama de “um princípio, um teste”. “Deixa mais polido” vira algo que dá para testar de fato.5

“Deixa mais polido.”

A mesma intenção, escrita de um jeito que um agente consegue seguir e testar.

Tenho feito isso no meu próprio trabalho. Meu design system tem uma camada de gramática, um conjunto de lições sobre como as partes se combinam. A primeira linha diz sem rodeios: “Os componentes são os substantivos. A gramática é como eles se combinam, e por quê”. Uma das lições é sobre cantos aninhados: o raio interno é o raio externo menos o padding, e um componente faz a conta, então ninguém escolhe no olho. Regra pequena, mas é o tipo de detalhe que separa o bem construído do gerado. E “os agentes leem os mesmos arquivos de lições” que as pessoas.6

interno = 28 (no olho)

Arraste qualquer um. A linha tracejada é a curva concêntrica; no olho, o canto de dentro escapa dela.

Um sistema também é um jeito de verificar

Só regras não bastam. O agente vai dizer que seguiu todas. Você precisa de um jeito de ver.

Lauren Tan, que criou o pstack, diz: “A habilidade mais importante da sua caixa de ferramentas é uma boa skill de verificação”.7

O guia dela é direto: “‘Compila’ não é evidência”. O que mantém os agentes dela no rumo não são prompts espertos. É estrutura: passos claros, princípios pequenos e prova no final.8

Em design, prova significa olhar. Jakub Krehel criou uma skill que “renderiza qualquer componente em todos os seus estados, numa página descartável com dados de mentira”. Vazio, carregando, erro, texto longo demais. A maioria dos bugs de uma interface mora nos estados que ninguém abriu.9

Padrão
Membros do time
AAna Souza
KKai Tanaka
LLeo Martins
Vazio
Membros do time
Carregando
Membros do time
Erro
Membros do timeTypeError: undefined.map
Longo demais
Membros do time
MMaria Fernanda Albuquerque de Oliveira Santos
KKai Tanaka
Um componente, todos os estados, uma página. Ative a verificação para ver o que o caminho feliz escondia.

O v0 segue a mesma linha com design systems. A documentação diz que uma skill de design system “não é uma cópia da sua documentação; é um adaptador que mostra ao v0 onde está a sua fonte”. E traça um limite claro: “Se um componente, uma prop ou um token não puder ser verificado nas fontes, o v0 não deve usá-lo”. Isso é um sistema que se verifica sozinho.10

Onde o designer entra

Nada disso tira o designer de cena. Só muda o nosso lugar.

Matt Pocock tem uma regra para trabalhar com agentes de que eu gosto: “Encontrar os fatos é trabalho seu, nunca do usuário”. O agente encontra os fatos. As decisões ficam com a pessoa. Em design, isso quer dizer que o agente pode construir cinco direções, testar todos os estados e verificar todas as regras. Escolher a direção certa continua sendo com a gente.11

O agente construiu e verificou as cinco. Escolher uma continua sendo seu.

Então o trabalho muda. Menos tempo empurrando pixels numa tela. Mais tempo decidindo o que deve valer em todas as telas, escrevendo isso e garantindo que dá para verificar.

Sistemas são a matéria-prima agora

Telas são o resultado. Sistemas são o que as produz, seja quem produz uma pessoa ou um agente.

Se queremos software que pareça bem construído, precisamos construir o que fica por baixo: a estrutura, a gramática, as regras e as verificações. Os agentes vão escalar o que a gente der para eles. Por isso sistemas importam tanto agora. Dê a eles algo que valha a pena escalar.

Referências e inspirações

  1. A lista de padrões a que um agente recorre, e a expressão “os sinais mais comuns de uma página gerada”. frontend-design skill, Anthropic. ↩
  2. Os objetivos do redesign e o L invertido da moldura global. How we redesigned the Linear UI, Karri Saarinen. ↩
  3. Um princípio escrito que mantém muitas páginas consistentes. Full-page apps, Stripe. ↩
  4. O argumento de que decisões de gosto têm razões e, por isso, podem ser escritas. Agents with taste, Emil Kowalski. ↩
  5. A regra em três partes e “um princípio, um teste”. On turning opinions into constraints, Karl Koch. ↩
  6. Minha própria camada de gramática, incluindo a lição sobre cantos aninhados. Design system grammar, Lucas Lima. ↩
  7. A verificação como a skill mais importante para dar a um agente. On verification skills, Lauren Tan. ↩
  8. O guia do pstack, e “‘compila’ não é evidência”. Verify and ship, Lauren Tan. ↩
  9. Renderizar um componente em todos os estados com dados de mentira. A skill for every state, Jakub Krehel. ↩
  10. Uma skill de design system como adaptador para a fonte, e a regra contra o que não pode ser verificado. Design systems, v0. ↩
  11. Os fatos são trabalho do agente; as decisões ficam com a pessoa. Grilling skill, Matt Pocock. ↩