SevenTnewS

Agentic UI

Qoder Canvas: a design system built for agents, not humans

Alibaba's Qoder team argues the chat window is the wrong container for complex agent output. Qoder Canvas applies design-system thinking to agent interfaces, teaching agents to build interactive, codebase-aware artifacts instead of walls of Markdown.

Emmanuel Fabrice Omgbwa Yasse AI-assisted

2026-08-07 · 5 min read

Qoder Canvas: a design system built for agents, not humans

Ask an AI coding agent to summarize a pull request and the answer lands in a chat window: Markdown, code blocks, diff summaries. That works while the task is small. Once the job gets complicated, text turns into a scavenger hunt. Risks, files, and next steps are buried in the response, and the human has to copy fragments back into the prompt to keep going. The opacity scales up, too: nobody can say what their AI coding agents actually did today.

The Qoder team, writing on the Alibaba Cloud Community, has a specific answer. In a post laying out the thinking behind Qoder Canvas, they describe a recent shift: agents are starting to generate complex results as HTML. Dashboards, PR reviews, architecture diagrams, test reports, and research findings become pages that can be read, filtered, and clicked. The point: an agent's output does not have to be text. It can be an interactive artifact.

HTML is too free-form to be the answer

HTML alone does not fix the problem, and the team is upfront about the flaw: it is too free-form. An agent can casually invent colors, layouts, and components, and every generation risks becoming a beautiful but isolated one-off page. Qoder's bet is that the output problem is really a design problem. They describe Canvas as a design system for coding agents, built from the codebase, the component system, design tokens, and task context.

The design system's next reader is a machine

The gap is between a design system written for humans and one a machine can use. Humans bring implicit judgment to components. Designers look at Figma, engineers read component documentation, and teams stay consistent through Storybook, component APIs, design guidelines, and review processes. A person knows which component fits which scenario and which props are the main path. Agents have none of that.

Everything an agent understands about a component library comes from what the codebase makes readable: type declarations, export relationships, comments, examples, usage frequency, file structure, and recent modification traces. Output quality, the team argues, depends less on the library itself than on how the library is expressed in code. A component exposed as a bare type declaration only tells the agent it can be used. One that spells out use cases, boundaries, counterexamples, and examples tells it how it should be used. For an agent, a comment on a PieChart noting that it suits proportions but not trends or rankings, which call for a LineChart or BarChart, is part of the design system. If the comment was never written, the agent picks the wrong chart. The gap between tidy benchmarks and real codebases is measurable: top models that clear 96% on SWE-bench Verified barely reach 23% on private enterprise code, per the SWE-bench-to-enterprise-code findings.

Atoms, components, and the recipe layer

Qoder structures Canvas along Atomic Design lines. At the bottom sit the Atoms: design tokens for colors, typography, spacing, border radius, shadows, and state semantics. They carry no business meaning, only stable visual primitives, and the agent should pull values from semantic tokens like useHostTheme().tokens instead of reinventing a palette each time. Above sit the base components: Button, Tag, Card, Table, Input, PieChart, LineChart, FileReview, and DiffGroup. Tags express state, charts express data relationships, diffs express code changes.

Real agent tasks are rarely "draw a component." They look more like "generate a Code Review" or "explain a failed test." That is where the recipe layer comes in. A recipe.md does not list components; it tells the agent how information should be organized for a task type, where evidence goes, which actions to expose, and which visual forms to avoid. The team's example: a code review recipe that requires the agent to explain the change first, rank issues by risk, show diff evidence for key findings, and attach an AI Fix to every issue that can be repaired.

Canvas is a workbench, not a report

If Canvas only organized results more clearly, it would still sit at the level of output. The user would go back to Chat, re-describe the problem, paste the file name, re-explain why the diff matters. The real shift happens at the interaction layer: every structured node becomes an entry point for the next action. An issue in a Canvas code review is more than a risk description. It carries priority, related files, diff evidence, impact scope, a recommended fix strategy, and the recipe it came from.

Clicking AI Fix does not send a plain "help me fix this." It bundles the finding, the related files, the diff evidence, the design system constraints, and the validation requirements back into Chat. Clicking Generate Test carries the missing coverage logic, risk paths, and boundary conditions into test generation. That is the dividing line between Canvas and ordinary HTML: HTML organizes results, while Canvas places results, context, and next actions in the same structure. Keeping context attached to the work is also the point of StructAgent, a state-centered framework that lifted agent success rates from 27% to 79%. Without that context a button is just a button. With a design system and a recipe behind it, the button carries the whole finding forward.

The agent is now inside the interface

Qoder calls Canvas an early form of Agentic UI. Interfaces assumed a human operates the system. The agent era adds a second actor inside the interface, one that reads context, makes suggestions, calls tools, and modifies files. The questions change: what is the agent doing, why, what context carries into the next step, which actions need human confirmation, and can a mistake be paused, modified, or rolled back?

The direction is not Qoder's alone. We covered Cursor's Design Mode update, which attacks the input side of the same problem: point, draw, or speak a change on a live browser view instead of translating a visual bug into a text prompt. Qoder attacks the output side. One shrinks the friction of telling an agent what to change; the other shrinks the friction of reading what it produced. Both assume the chat window is no longer the right container for the work.

Whether Canvas holds up depends on whether teams keep their recipes honest. A design system for agents only works if the codebase actually says what the team claims it says, and the distance between demo and production is where agents tend to stumble, per the planning-trap analysis. A machine reader will not infer the decisions nobody wrote down.

Get the tech essentials in 3 minutes every morning

One email, every weekday, with what actually matters in AI and tech.