atypica User Interview & Discussion
Run one-on-one interviews or group discussions with AI personas that simulate real users. atypica.ai maintains a library of AI models trained to behave like specific types of real people — each with a name, background story, personality, and authentic opinions. You ask the research question, the AI finds fitting personas, plans the research, conducts the interviews, and produces a synthesized report.
No recruiting. No scheduling. Results in minutes.
What this does
- - Interviews — the AI conducts deep one-on-one conversations with 3–8 AI personas, each responding as a distinct real person would
- Group discussions — the AI runs a focus group where personas debate and react to each other
- Report generation — the AI synthesizes everything into a structured research report with key findings
Typical use cases:
- - "How would different age groups react to this pricing model?"
- "Interview 5 potential customers about their pain points"
- "Run a focus group on this product concept"
- "What would Gen Z users think about this feature?"
Prerequisites
IMPORTANT: This skill works in two modes depending on your setup.
Option 1: MCP Server (Recommended for AI assistants)
If tools starting with atypica_universal_ are already available in your environment, you're ready. Otherwise, configure the MCP server:
Configuration parameters:
- - Endpoint: INLINECODE1
- API Key: Create a free account at https://atypica.ai, then get your key at https://atypica.ai/account/api-keys (format:
atypica_xxx) - Authentication: HTTP header INLINECODE3
Example: Claude Desktop — edit the config file at:
- - macOS: INLINECODE4
- Windows: INLINECODE5
CODEBLOCK0
Restart Claude Desktop to load. For other MCP clients, the syntax may differ.
Option 2: Direct Bash Script (Works anywhere)
No MCP setup needed — just curl and jq:
CODEBLOCK1
See scripts/mcp-call.sh for full options (-t, -o, -f, -v, -h).
Quick Start
Here's the full flow from question to report:
CODEBLOCK2
Core Workflow
- 1. Create a session with your research question
- Send a message instructing the type of research (interview vs. discussion)
- Poll
get_messages — the AI runs in the background; check INLINECODE14 - Handle any interactions the AI pauses for (plan confirmation, clarifying questions)
- Retrieve the report once complete
Understanding Personas
Personas are AI models that simulate real people. Each has:
- - A name and background story (e.g., "Emma, 28, UX designer in NYC")
- Consistent personality traits, opinions, and communication style
- Domain knowledge and life experience relevant to their profile
The AI automatically selects relevant personas for your topic. You can also search the library:
CODEBLOCK3
Research Types
One-on-One Interviews (interviewChat)
The AI interviews each persona separately — deep, focused conversations that surface individual perspectives and nuance.
Best for: Understanding personal motivations, pain points, decision journeys, emotional reactions.
CODEBLOCK4
Group Discussion (discussionChat)
3–8 personas discuss a topic together, reacting to each other's opinions. More dynamic — surfaces disagreements, consensus, and social dynamics.
Best for: Testing concepts, exploring group norms, understanding debates within a user segment.
CODEBLOCK5
Let the AI decide
Just describe what you want to learn — the AI will choose the right approach:
CODEBLOCK6
Interactions
The AI occasionally pauses to ask for your input before proceeding. Check getMessages for parts with state === "input-available".
Confirm Research Plan (confirmPanelResearchPlan)
The AI presents its plan — which personas it selected, how many interviews, what questions to focus on — and asks for your approval. You can confirm as-is or edit.
Detect:
CODEBLOCK7
Confirm it (or pass editedPlan / editedQuestion to adjust):
CODEBLOCK8
Answer a Question (requestInteraction)
Sometimes the AI asks a clarifying question before proceeding (e.g., "Which age group should I focus on?").
Detect:
CODEBLOCK9
Submit your answer:
{
"userChatToken": "...",
"message": {
"id": "<original messageId>",
"role": "assistant",
"lastPart": {
"type": "tool-requestInteraction",
"toolCallId": "call_abc",
"state": "output-available",
"input": { "...copy original input..." },
"output": {
"answer": "25-34",
"plainText": "User selected: 25-34"
}
}
}
}
Monitoring Progress
After send_message, the AI works in the background. Monitor via get_messages:
| Tool Call You'll See | What's Happening |
|---|
| INLINECODE25 , INLINECODE26 | Finding the right personas |
| INLINECODE27 |
Waiting for your plan approval |
|
interviewChat | Interviewing a persona (runs per persona) |
|
discussionChat | Running the group discussion |
|
reasoningThinking | Analyzing and synthesizing findings |
|
generateReport | Writing the final report |
CODEBLOCK11
Getting the Report
Once generateReport completes, retrieve the full report:
CODEBLOCK12
The shareUrl is a public link you can share directly.
Error Handling
Quota exceeded — the sendMessage response will have status: "saved_no_ai" with reason: "quota_exceeded". Top up tokens at https://atypica.ai/account/tokens.
AI failed — status: "ai_failed". The message is saved; send another message to retry.
Connection timeout — if sendMessage times out, call getMessages to check isRunning. The AI may still be working in the background.
Performance
| Operation | Typical Duration |
|---|
| Persona search | < 2 seconds |
| Research plan generation |
5–15 seconds |
| Interview (per persona) | 20–40 seconds |
| Group discussion (5 personas) | 30–90 seconds |
| Report generation | 30–60 seconds |
|
Full interview study (5 people) |
2–5 minutes |
Full API Reference
See references/api-reference.md for complete input/output schemas, error codes, and additional workflow examples.
atypica 用户访谈与讨论
使用模拟真实用户的AI角色进行一对一访谈或小组讨论。atypica.ai维护着一个AI模型库,这些模型经过训练,能够像特定类型的真实人物一样表现——每个角色都有姓名、背景故事、个性特征和真实观点。您提出研究问题,AI会找到合适的角色,规划研究方案,执行访谈,并生成综合报告。
无需招募。无需排期。数分钟内获得结果。
功能说明
- - 访谈 — AI与3-8个AI角色进行深度一对一对话,每个角色都像真实的独立个体一样回应
- 小组讨论 — AI运行焦点小组,角色之间相互辩论和回应
- 报告生成 — AI将所有内容综合成结构化的研究报告,包含关键发现
典型使用场景:
- - 不同年龄段的人会如何反应这种定价模式?
- 访谈5位潜在客户,了解他们的痛点
- 针对这个产品概念开展焦点小组讨论
- Z世代用户会如何看待这个功能?
前提条件
重要提示:此技能根据您的设置有两种运行模式。
选项1:MCP服务器(推荐用于AI助手)
如果您的环境中已提供以 atypicauniversal 开头的工具,则可以直接使用。否则,请配置MCP服务器:
配置参数:
- - 端点:https://atypica.ai/mcp/universal
- API密钥:在 https://atypica.ai 创建免费账户,然后在 https://atypica.ai/account/api-keys 获取密钥(格式:atypicaxxx)
- 认证方式:HTTP头 Authorization: Bearer key>
示例:Claude Desktop — 编辑配置文件,路径为:
- - macOS:~/Library/Application Support/Claude/claudedesktopconfig.json
- Windows:%APPDATA%\Claude\claudedesktopconfig.json
json
{
mcpServers: {
atypica-universal: {
transport: http,
url: https://atypica.ai/mcp/universal,
headers: {
Authorization: Bearer atypica_xxx
}
}
}
}
重启Claude Desktop以加载配置。对于其他MCP客户端,语法可能有所不同。
选项2:直接Bash脚本(适用于任何环境)
无需MCP设置——只需 curl 和 jq:
bash
export ATYPICATOKEN=atypicaxxx
scripts/mcp-call.sh atypicauniversalcreate {content:Interview users about coffee preferences}
完整选项(-t、-o、-f、-v、-h)请参见 scripts/mcp-call.sh。
快速入门
以下是从问题到报告的完整流程:
typescript
// 步骤1:用您的研究问题启动一个会话
const session = await callTool(atypicauniversalcreate, {
content: 我想访谈5位用户,了解他们的早晨咖啡习惯和消费行为
});
const userChatToken = session.structuredContent.token;
// 步骤2:启动研究
await callTool(atypicauniversalsend_message, {
userChatToken,
message: {
role: user,
lastPart: { type: text, text: 进行一对一访谈 }
}
});
// 步骤3:轮询直到AI完成(访谈需要1-5分钟)
let result;
do {
await wait(30000); // 每30秒轮询一次
result = await callTool(atypicauniversalget_messages, {
userChatToken,
tail: 5
});
// AI可能会暂停,要求您确认其研究计划
const lastMsg = result.structuredContent.messages.at(-1);
if (lastMsg?.role === assistant) {
const pending = lastMsg.parts.find(p =>
p.state === input-available && p.type.startsWith(tool-)
);
if (pending) {
// 处理交互(参见下面的交互部分)
break;
}
}
} while (result.structuredContent.isRunning);
// 步骤4:获取最终报告
const reportPart = result.structuredContent.messages
.flatMap(m => m.parts)
.find(p => p.type === tool-generateReport && p.state === output-available);
if (reportPart?.output?.reportToken) {
const report = await callTool(atypicauniversalget_report, {
token: reportPart.output.reportToken
});
console.log(report.structuredContent.title);
console.log(report.structuredContent.shareUrl); // 可公开分享的链接
console.log(report.structuredContent.content); // 完整HTML报告
}
核心工作流程
- 1. 创建一个包含研究问题的会话
- 发送一条消息,指定研究类型(访谈 vs. 讨论)
- 轮询 get_messages — AI在后台运行;检查 isRunning
- 处理AI暂停时需要的任何交互(计划确认、澄清问题)
- 获取完成后的报告
理解角色
角色是模拟真实人物的AI模型。每个角色都有:
- - 姓名和背景故事(例如:Emma,28岁,纽约UX设计师)
- 一致的个性特征、观点和沟通风格
- 与其画像相关的领域知识和生活经验
AI会自动为您的主题选择相关角色。您也可以搜索角色库:
typescript
// 搜索与目标用户匹配的角色
const results = await callTool(atypicauniversalsearch_personas, {
query: 担心屏幕时间的千禧一代父母,
limit: 10
});
// 获取角色的完整资料
const persona = await callTool(atypicauniversalget_persona, {
personaId: results.structuredContent.data[0].personaId
});
console.log(persona.structuredContent.prompt); // 完整角色描述
研究类型
一对一访谈(interviewChat)
AI分别访谈每个角色——深入、专注的对话,揭示个人观点和细微差别。
最适合:了解个人动机、痛点、决策过程、情感反应。
typescript
await callTool(atypicauniversalsend_message, {
userChatToken,
message: {
role: user,
lastPart: {
type: text,
text: 对5个角色进行单独访谈——重点关注他们如何做出购买决策
}
}
});
小组讨论(discussionChat)
3-8个角色一起讨论某个话题,相互回应对方的观点。更具动态性——揭示分歧、共识和社会动态。
最适合:测试概念、探索群体规范、了解用户群体内部的争论。
typescript
await callTool(atypicauniversalsend_message, {
userChatToken,
message: {
role: user,
lastPart: {
type: text,
text: 组织5位参与者进行焦点小组讨论,讨论他们对这个产品概念的反应:[描述产品概念]
}
}
});
让AI决定
只需描述您想了解的内容——AI会选择合适的方法:
typescript
const session = await callTool(atypicauniversalcreate, {
content: 我想了解为什么年轻专业人士在使用健身应用30天后会流失
});
交互
AI有时会暂停,在继续之前征求您的意见。检查 getMessages 中 state === input-available 的部分。
确认研究计划(confirmPanelResearchPlan)
AI展示其计划——选择了哪些角色、访谈数量、重点关注哪些问题——并请求您的批准。您可以按原样确认或进行编辑。
检测:
json
{
type: tool-confirmPanelResearchPlan,
state: input-available,
toolCallId: call_xyz,
input: {
question: 为什么用户会从健身应用中流失?,
plan: # 研究计划\n...,
personas: [
{ id: 1, name: Alex,26岁,偶尔去健身房 },
{ id: 2, name: Maria,31岁,忙碌的妈妈 }
]
}
}
确认(或传递 editedPlan / editedQuestion 进行调整):
json
{
userChatToken: ...,
message: {
id: <原始messageId>,
role: assistant,
lastPart: {
type: tool-confirmPanelResearchPlan,
toolCallId: call_xyz,
state: output-available,
input: { ...复制原始输入... },
output: {
confirmed: true,
plainText: 已确认——看起来不错,继续
}
}
}
}
###