Ask a coding agent to design a SaaS product and you can usually predict what arrives: cream or near-black background, muted orange button, serif headline, centered hero, three feature cards, rounded corners everywhere and, of course, a sparkle icon for AI.
You did not request those decisions. The agent filled the gaps with safe defaults.
Models have seen many of the same websites. Coding agents reach for familiar templates, component libraries and design conventions. AI-generated templates are now reproducing many of those patterns across the web. Preference-based post-training adds another pressure toward responses that work acceptably across many users and tasks.
None of this means the agent is broken. Generic taste is a reasonable starting point for a general-purpose system. Your product, however, has a narrower audience and a more specific point of view.
I noticed this while reviewing screens generated for my own products. Nothing was technically wrong with them, but they felt strangely familiar. I assumed I needed better prompts, so I added references, described the mood and asked for something more distinctive.
It was still cream and orange.
The agent had not ignored my instructions. Words like “premium,” “bold” and “tasteful” communicate intent, but leave the actual decisions unresolved. The agent must still choose which typeface feels premium, which colours look considered and how much asymmetry feels intentional. When that information is missing, it returns to patterns it already knows.
To move an agent away from generic taste, treat taste as a preference-learning problem rather than a prompt-writing problem.
Taste is often easier to recognise than describe. Show me two screens and I can probably tell you which one belongs in my product. Ask me to describe the ideal screen from nothing and I will probably offer words like “clean,” “polished” and “modern.”
A style guide records the conclusions of your taste. Comparisons reveal the judgment that produced them.
This is not an arbitrary workflow. It borrows the same learning structure used during preference-based post-training.
People or AI judges compare different responses and choose the better one. Those choices can train a reward model or optimise the assistant more directly. The model does not need a perfect definition of “helpful” or “good.” It learns from repeated preferences between alternatives.
When the goal is acceptable behaviour across many users, tasks and contexts, that process creates pressure toward broadly agreeable answers. It does not fully explain why AI products look alike; shared training material, templates and component libraries also matter. But it helps explain why a general-purpose assistant often favours safe choices in subjective work.
The same learning structure can be useful at your scale. Generate alternatives, rank them, explain your choice and preserve the comparison. Instead of relying only on the preferences already embedded in the model, you give the agent a local history of your decisions.
A recent preprint called AI Can Learn Scientific Taste offers an interesting example. Its authors trained models using 700,000 pairs of scientific papers rather than a universal definition of an important idea. On their benchmark, the resulting judges outperformed GPT-5.2 and Gemini 3 Pro, with the learned signal transferring to later years and unseen fields.
Scientific impact is not visual taste, and citation counts are an imperfect proxy for quality. The relevant result is narrower: pairwise preferences can capture judgment that is difficult to define directly and may generalise beyond the examples used to teach it.
You can build a lightweight preference loop around your agent:
- Generate alternatives. Ask for two or three genuinely different directions, not minor variations of one idea.
- Rank and explain them. Choose the strongest option and describe why the others fail in this particular context.
- Store the comparison. Preserve the task, preferred output, rejected output, reasoning and reusable principle.
- Retrieve before generating. Give the agent the most relevant previous decisions before it begins similar work.
- Evaluate separately. Run a dedicated critique pass against those decisions, then keep the final judgment human.
For a small project, this does not require elaborate infrastructure. A taste.md file can hold your principles, while taste/accepted/ and taste/rejected/ contain paired examples. Date and tag each comparison so the agent knows whether it applies to a landing page, product editor, mobile screen or something else.
The files alone do nothing. The workflow must retrieve the relevant examples and place them in the agent’s context before generation and evaluation.
The quality of your explanation matters more than the folder structure. “Too generic” teaches the agent nothing. “The 12px radius on every surface makes this editor look like a settings panel; use tighter corners on working surfaces and reserve larger radii for elevated containers” gives it a judgment it can reuse.
A taste.md file is not RLHF in miniature. It does not change the model’s weights. It borrows the useful structure of preference learning like comparison, reasoning, retrieval and evaluation at the application layer. If you later fine-tune a model or train a dedicated judge, consistently structured comparisons can become the basis of a preference dataset.
The method also travels beyond visual design. A writer can compare the paragraph that stayed with the one that was cut. An engineering team can preserve why one abstraction was approved while another was rejected as premature. The artifact changes, but the learning loop remains the same.
Over time, the agent gains more than a list of colours, fonts and banned patterns. It gains a history of how you make choices: what you prefer, what you reject, why the distinction matters and where each preference applies.
That history must remain alive. Taste changes, and a preference that works for one product may be wrong for another. Revise or archive old decisions when your judgment changes rather than letting the agent follow them forever.
A generic agent predicts what is broadly acceptable. An aligned agent knows what you repeatedly choose, what you reject and why.
You do not teach it that with one perfect prompt. You teach it through the decisions you keep.