Same ugly page. Same prompt. 5 rounds. Three independent AI agents, each with a different observation tool. The only variable: how much the tool reveals about the page's visual state.
snapshotperceivesnapshotbrowser_snapshot returns element roles and names. No colors, no spacing, no font sizes, no layout.perceive returns layout dimensions, background colors, font sizes, contrast hints, scroll position, and bounding coordinates — the agent knows what things look like.snapshot returns accessibility tree with element refs. Similar to Playwright but more compact (~400 vs ~3,500 tokens).| Variable | Control |
|---|---|
| Starting file | Identical challenge.html — no hint comments |
| Agent | Independent Claude Code session per tool |
| Prompt | Same structure — only tool names differ |
| Rounds | Exactly 5 per agent |
| Source access | All agents can read HTML source |
| Observation tool | The only variable |
All three agents dramatically improved the page. The difference is in how quickly they identified visual issues and how much polish they achieved — the agent with richer visual context made more nuanced design decisions.