Put all three in the same study, whether they meet in a group chat, a social media feed, a coding environment or a shopping page. Carrier records every message, click and reply, whoever or whatever made it.
Connect claude.ai, Claude Code, Codex CLI or ChatGPT in one line.
Read the setup tutorial →claude mcp add --transport http carrier https://carrierlab.org/mcpA human, an LLM agent or a scripted bot can hold each position. You set up each one in plain language.
Catalogues of OpenAI, Anthropic and Google, refreshed each day.
Use your API key, or start on platform credit.
An LLM takes a seat, or processes what participants write.
Checks find LLM agents that pose as participants.
Seven capabilities, from the interaction settings participants enter to the checks that verify the data they produce.
As social interaction moves online, it increasingly combines people and AI. Carrier supports every configuration within a single room — human-to-human, agent-to-agent, human-to-agent, and human conversation supported by AI assistants — with each agent's identity either disclosed or blinded.
Any participant — human, LLM, or scripted bot — takes one of three roles, each in its own zone of the room. Communicators converse in the main chat. Mediators facilitate from above: they see everything, broadcast announcements, and can enable or disable who speaks. Processors work in the composition layer — suggesting or drafting text before a message is sent, while the communicator always decides what actually goes out.
Any attribute of a participant can be represented as a variable — a survey answer, a random or counterbalanced condition, or a value computed from other variables — fixed per participant at the start of their run. Variables are referenced anywhere with {{ }}: to personalise instructions, populate LLM system prompts, determine which participants are matched together, and show or hide content by condition. Conditions are defined once and read by the whole study. A variable may also be computed by an LLM: the live chat, survey answers, or other variables are sent to a model with a specified prompt, and the resulting annotation returns as a variable available to the remaining segments.
A session is a sequence of segments — and every step of it is tracked. Thirteen segment types cover the full arc of a study: live chat with other participants or LLM agents, voting, ranking, free-text input, surveys, PDF reading, media, timers, slides, instructions, attention checks, and a mock social feed — each with its own timing and transition rule (auto, manual, synced, or host-led). As participants move through, every segment records what happened inside it — what was said in the chat, what was chosen in the vote, how long the reading took — so a run reads back as a step-by-step process, not just an outcome. The task segment is fully programmable: a custom HTML/JS application or a standard jsPsych experiment can be embedded directly, and its state binds live to the variable system, so participant behaviour inside the application can drive agents, matching, and subsequent segments.
A study described in plain language is read by an AI agent, which examines the current experiment and proposes concrete changes — adding chamberlines and chambers, configuring roles, setting variables and triggers. It operates across OpenAI, Anthropic, and Google, and is human-in-the-loop by design: the agent proposes every change for review, and each is accepted or rejected by the researcher, who retains control of the experiment throughout.
LLM agents can now complete surveys, pass classic CAPTCHAs, and hold fluent conversations — silently corrupting behavioral datasets collected through online participant pools. Carrier verifies humanity at the point of collection: perceptual CAPTCHAs whose answers exist only in human motion perception — and only on the server, never in any client payload — plus camera-based liveness checks with randomized action challenges. Every check result is recorded on the run and interleaved into the transcript, so that each exported row can be traced to a verified, attentive human participant.
Worked examples from live experiments, open without an account.
Further components of the builder and the monitoring dashboard.
Visual drag-and-drop experiment design, requiring no programming.
Automatic grouping by condition, survey response, or queue order.
OpenAI, Anthropic, and Google models within a single study.
Real-time session tracking, alerts, and data export.
Seventeen trigger types for scripted agent behaviour, requiring no programming.
Any experiment can be saved as a reusable, forkable template.
Agents may contribute to study design, take part in sessions, and moderate interaction. At each stage the researcher retains control: agent proposals require explicit approval, actions are recorded, and a run can be reproduced from its stored configuration.
Sessions are constructed visually or through dialogue with an assistant, which reads the current configuration and proposes discrete changes for approval.
Human-in-the-loopHuman participants, LLM agents and scripted bots interact as specified, with participant limits, alerts and live monitoring of each session.
Safety & data controlsAttention and liveness checks, together with a per-segment event log, allow each exported record to be traced to a verified participant.
Reproducible record
A fully specified social media environment
Social media can be studied without collecting anyone's real feed. The social segment renders a mock Instagram-, Facebook- or Reddit-style feed authored post by post — images, captions, handles, like counts, vote scores, timestamps, and seeded comment threads — imported as a spreadsheet, so that an identical feed reaches every participant in a condition. The forum layout adds title-led text and link posts, communities and flair, and comment threads that nest as deep as the discussion goes. The accounts behind those posts may be agents: when a participant comments, the account replies in persona after a configurable delay, using either an LLM persona or scripted rules. Posts can be scheduled to appear partway through the session and replies to arrive minutes later, so the feed continues to develop while participants read it. Because segments can be shown or skipped by variable, each condition receives its own feed from the same study. Likes, votes, comments, thread expansions, shares, and every agent reply are timestamped against the segment clock and land in the export.