Kaon

Research note / UI-aware generation

The screen is part of the prompt

A model should answer inside the product surface it occupies. UI-aware generation teaches replies to respect layout, density, and the space a user actually sees.

Kaon / Dream Engine July 2026 4 min read
Kaon brand artwork showing particles becoming a watercolor bloom on black.
Brand asset from the Kaon design direction: particles becoming bloom.

The source document starts from a practical product failure: a model can say the right thing and still feel wrong because the answer does not fit the mobile screen.

The sites we like set a useful bar. Cursor makes research feel immediately product-adjacent. Thinking Machines keeps the writing direct and unornamented. Anthropic gives product and research updates a calm editorial frame. This page uses that structure, but the skin is Kaon: dark, low-key, and carried by a single bloom of color.

The problem

Most generation systems still treat length as a token setting. That is too far away from the product. The same answer can be comfortable on a large phone and overwhelming on a small Android screen, even if the token count is identical.

max_tokens is only an upper bound. It does not define a target, it does not understand script density across languages, and it does not know whether 130 words appear as one heavy block or three readable turns.

The method

The note turns interface constraints into language signals the model can learn: calibrate real mobile surfaces, map available space into a compact length bucket, put that target in the prompt, then use reward training to connect the target to rendered UI behavior.

latin_words_091_110
latin_words_111_130
latin_words_121_140
latin_words_131_150

The important constraint is that online inference stays lightweight. The training loop can use renderers, screenshots, and reward models, but production only needs a small UI prompt derived from device and language information.

Before and after chart showing bucket-fit rate improving from 18.2 percent to 75.0 percent.
Original document figure: generated answers move into the intended UI length bucket.
18.2% -> 75.0%

Bucket-fit hit rate after UI-aware reward training.

32.8% -> 2.6%

Over-long responses nearly disappeared on the evaluation set.

140 -> 117

Mean words moved into the calibrated target range instead of hitting a blunt cap.

Training curves over 135 steps showing reward improvement and answer length changes.
Original document figure: total reward, output length, KL, and loss over the 135-step training run.

The reward design separates three ideas that are easy to collapse: length fit, reading structure, and information density. That is the right distinction. The goal is not to make everything shorter; it is to make each answer right-sized for the surface.

What changes in the product

The document checks the result where it matters: real Android ChatView screenshots. Small screens should stop overflowing. Medium screens should land in the target band. Large screens should use their extra room instead of going thin.

Small screen: Bookshop prompt

same target, different scene
Before
Bookshop small-screen screenshot before UI-aware tuning.
After
Bookshop small-screen screenshot after UI-aware tuning.

Small screen: Galaxy A06

long tail compressed into 90-110 words
Before
Galaxy A06 screenshot before UI-aware tuning showing an overflowing long answer.
After
Galaxy A06 screenshot after UI-aware tuning showing a shorter answer that fits the screen.

Medium screen: Galaxy A15

stabilized around 111-130 words
Before
Galaxy A15 screenshot before UI-aware tuning showing inconsistent answer length.
After
Galaxy A15 screenshot after UI-aware tuning showing a more appropriate answer length.

Large screen: iPhone Pro Max

extra space used instead of wasted
Before
iPhone Pro Max screenshot before UI-aware tuning showing an answer that is too short.
After
iPhone Pro Max screenshot after UI-aware tuning showing a fuller answer.

Second large-screen case

same direction on a different prompt
Before
Large-screen engine case before UI-aware tuning.
After
Large-screen engine case after UI-aware tuning.

My read

This is the right direction because it treats model behavior and interface behavior as one system. That is where frontier product quality is moving: capable models that also understand the small physical constraints of the work surface.

The next useful benchmark is not only "did the model answer?" It is "did the answer fit the moment?"

  • Keep The rendered-capacity bucket. It is more honest than a generic token cap.
  • Measure Visible completion, scroll pressure, follow-up rate, regeneration rate, and device split.
  • Watch Over-compression. A response can fit the box and still omit the decisive detail.

Article based on the Feishu research document. Blog structure referenced Cursor, Thinking Machines, and Anthropic; brand treatment follows the Kaon design asset package.