Playground
Chat with any agent version against the live model, compare two versions side by side, preview the chat panel in another language, and set the page the shopper is on, all before you put a version live.
The Playground is a standalone page for testing your agents against the live model, before you put a version live. Open Playground in the dashboard sidebar. It's scoped to your active site, at /dashboard/sites/{siteId}/playground.
Moved out of the agent detail page
The Playground used to be a tab on an agent's detail page. It's now its own page, reachable from the sidebar for any agent on the current site. The agent detail page no longer has a Playground tab; it links here instead (see below).
Open the Playground
- From the sidebar, Playground always opens on your active site's first agent and that agent's default version: the version the agent keeps as its live one (the one it answers with, or answered with before it was taken offline; a new agent keeps V1), or its most recent version when it keeps none, for example after another agent replaced it.
- From an agent's versions page, a row's ⋯ → Playground action (or the Playground button on a version's read-only page) takes you straight to the Playground with that agent and version already preselected.
Test a version
- Pick the Agent and the Version to test from the configuration panel. The selector lists each version once, by its number or name and its status (e.g. "V3 · Live"), and tests its latest saved state. Earlier saved states of a version aren't offered.
- Type in the composer. The assistant answers using that version's instructions on top of its engine's base persona.
- New conversation starts a fresh thread. Switching to a different agent or version also starts a fresh thread: a conversation belongs to exactly one version, and switching agent resets the version selector to that agent's own default.
Playground conversations are saved like any other, with Playground as their conversation source, so you can reopen them later under Conversations, where they show a Playground badge to set them apart from real shopper conversations. Once one has been quiet for a while, it's also labeled in the background by an AI judge.
Rate a response
Every assistant message has a thumbs-up/thumbs-down control, except one that ends on a clarifying question still waiting for your answer. That message has no action bar at all until you answer, skip or close the question, or move on by typing a message or tapping something else in the chat: no thumbs and, in the Technical view, no copy, refresh, "more" menu or response-time badge either. A response you stop keeps its bar, even when you stop it during a tool call or before a question card has appeared. Rating one opens a dialog for an optional comment (and, for a thumbs-down, an optional issue category) rather than submitting instantly. See Rate a message for the full behavior, including how the rating still shows up when you reopen the conversation later under Conversations.
The configuration panel
On desktop the configuration panel docks to the right of the chat, headed Configuration; collapse or restore it with the panel-toggle button in the top bar. On a narrower viewport it becomes a bottom sheet instead, opened with the settings (gear) button and closed by its close control, by tapping outside it, or with the Apply button at the bottom of the sheet. Applying is instant as you edit each field, so Apply is just a way to dismiss the sheet, not a separate commit step. Both presentations offer the same fields, grouped and separated by dividers:
-
Agent and Version: described above (hidden while comparing; see below).
-
User view: a two-option toggle, User and Technical:
- Technical (the default): every tool call the assistant makes, and its reasoning, are visible as raw, collapsible detail. Each assistant message also gets a response-time badge (e.g.
164ms) next to the "more" menu; hover or focus it for a breakdown of first-token latency, total time, estimated speed, and chunk count. This badge is live-only: it's measured while a response streams in, so it doesn't appear when you reopen the conversation later under Conversations.- When a Current page was set, each of your messages is captioned Asked from followed by the page title (or its path), under its bubble and linking to the page, so you can follow a journey across pages. A message sent with no page has no caption. The User view shows none.
- User: the same friendly display a shopper sees on the site's AI Storefront: short status phrases like "Looking for the best products for you…" while a step is in progress, then just its result, with no tool names, no JSON, no reasoning text. This is the only view where a conditional instruction block's own indicator message shows, so it's where you preview one.
Switching between the two only changes how the current conversation renders live. It doesn't affect what gets saved. Reopening the same conversation later under Conversations always shows the full technical detail, whichever view was active while you were chatting.
- Technical (the default): every tool call the assistant makes, and its reasoning, are visible as raw, collapsible detail. Each assistant message also gets a response-time badge (e.g.
-
Test language: previews, together, the chat panel's own on-screen text (the composer's placeholder, "Thinking…"-style status messages, and similar chrome) and the tested version's welcome screen (its welcome message, plus the starter questions carrying text in that language when the version has Show starter questions on; the Playground has no storefront page context, so a question scoped to specific page types still shows here), for one of the site's own enabled languages, or Auto to use the site's default language. This is unrelated to your own dashboard language: Auto resolves to the site's default, never to whatever locale your account happens to be in. Either way, it only affects this preview: it has no effect on the language the assistant replies in (still inferred from what you type, exactly as on the AI Storefront) and no effect on the rest of the dashboard. Languages in the picker are named in the language of your dashboard profile. On a site with a single enabled language the field isn't shown: the Playground tests in that language.
-
Current page: the page the simulated shopper is on. On your storefront, the web tag sends the page with each message, and the assistant uses it to answer "is this in stock?" or to read the page with the Site page content tool. The Playground has no storefront around it, so this field sends the same thing for you. Leave it empty to test with no page, which is how the Playground behaved before.
Click the field, then either pick a page or type one:
- The list shows only pages AISA has read, most viewed first (the first 20). Typing narrows it: the search runs on the server and matches the address and the title, so a large site never loads its whole page list into the browser.
- Typing a path that starts with
/(for example/products/linen-shirt) or a full address on the site, then choosing Use the address, works for any page, read or not. A path is resolved against the site's own address. - What is refused, with the reason shown under the search box: an address that is not on the site, or whose origin is not in the site's Allowed origins; a value that is neither a path starting with
/nor a fullhttporhttpsaddress; a path when the site has no address yet; and an address too long to be sent as a page (over 500 characters, origin and path together). - The query string and the fragment (everything after
?or#) are dropped from the address, as the tag does. A page that is not in the list still works, but the field marks it Not read, and the assistant then knows its address only.
Once chosen, the field shows the page's title and path and a Read or Not read badge. The title is the one AISA stored for the page. It is sent with the address, and the page's description is never sent.
The list, the title and the Read badge need access to Pages. Without it, you can still type a path or an address: the field then shows the path alone, with no title and no badge.
The field is disabled when the site's page signal is off, and the Playground then sends no page whatever was chosen earlier. Turn it on with Read the current page under Site settings → Site access (see Page signal).
The field starts empty and is not remembered: reloading the page clears it. Choosing No page (as today) in the list clears it too.
A change applies from the next message. Messages already sent keep the page they were sent with, and changing the field does not start a new conversation (unlike Test context). So you can test a shopper's journey in one conversation: ask about one product page, change the field to another, then ask "how does this compare with the previous one?". New conversation keeps the field as it is.
Clearing the field stops the next messages from carrying a page, but the messages already sent keep theirs, so the assistant can still see the earlier pages and may still resolve "this page" to the last one it was sent, as it would on your storefront. To test a conversation with no page at all, clear the field, then start a New conversation.
-
Test context: a freeform list of key/value pairs (e.g.
product_id/SKU-1182) sent to the assistant as extra background for this test conversation only. Real shoppers never see it, and it never reaches the site's AI Storefront. It's saved with the conversation it was set for, so reopening that conversation later still shows the context that produced it. Add a pair with Add a key/value pair, edit a key or value directly, or remove a pair with its × button.Test context is fixed for a conversation's whole lifetime: changing a pair after messages already exist starts a fresh, empty conversation with the updated context, exactly like changing the version does. Editing it before you've sent anything just updates what the first message will carry.
Check that the page reached the assistant
When a message is sent with a page, the assistant is told which page it was asked from, and a standing instruction explains how to use it. A conversation with no page keeps the instructions it always had.
To confirm the page arrived, ask something about the page in the Technical view. If the assistant reads it, the tool call shows page_content with currentPage in its input. That tool needs the version's Site page content chat tool switched on, and a page that is Read. For a page marked Not read, the assistant only knows the address and should say it has no information about the page's content.
The page is saved with each message. Reopened later under Conversations, a Playground message shows the same Asked from line as a shopper message does.
Compare two versions
Compare with another version, next to the version selector, splits the chat area into two panes on the same agent, each pane picking its own version. It's disabled when the agent has fewer than two versions to compare. A version that was live and has been replaced since doesn't count.
- Entering compare mode defaults the second pane to a different version than the first, preferring the version the agent keeps as its live one, or the newest remaining version otherwise. Change either pane's version from the selector in its own header.
- The Agent/Version fields in the side panel are replaced by both panes' version pickers while comparing; switching the agent exits compare mode and returns to a single pane on the new agent's default version.
- User view, Test language (when the site has more than one language), Current page, and Test context stay shared fields in the configuration panel: they apply identically to both panes; there's no per-pane override. Both versions receive the same page with each message.
- One shared composer sends your message to both panes at once. Each pane streams its own reply independently: one can finish before the other, and each pane's header keeps identifying which version it belongs to, so there's no ambiguity about which response is which.
- While either version is answering, the shared composer's send button becomes a Stop button and nothing you submit is sent; what you typed stays in the field. Stop halts every version still answering and leaves an answer that already finished as it is. The send button comes back once both versions are done.
- Each pane keeps its own conversation, so tool calls, replies, and history stay attributed to the right version. Nothing here merges the two into a single transcript.
- New conversation while comparing is a single control that resets both panes together, so they stay on the same turn count.
- Remove the second pane (its × button) to exit compare mode and go back to a single pane on the first pane's agent and version.
On a narrower viewport, the two panes become a tab switcher (one visible at a time), but the composer stays visible regardless of which tab is active, and a message you send still reaches the pane you're not currently looking at. The Stop button also stays while the hidden pane is still answering.
Capabilities
File upload, voice dictation, suggested replies and out-of-stock products, the extras a version can switch on beyond its chat tools. All off by default, toggled per agent version.
A/B test two versions of an agent
Serve two saved versions of an agent to half of your shoppers each and compare the share of conversations that end in a purchase. What you need to start, how conversations are split, what the test measures, how many conversations it needs and how it ends.