regulars
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseRegulars
常规用户模拟测试(Regulars)
Overview
概述
Dispatch a panel of subagents, each role-playing a real user with a specific task to complete on the site. They navigate using browser MCP tools, attempt to complete their goal, and report what broke, what was frustrating, and whether they succeeded. The organizing principle is task completion — can users do what they came to do?
This is NOT a QA test suite or expert audit. Regulars agents behave like real users — they don't inspect source code, they don't check every element, and they don't follow a test matrix. They try to accomplish a goal the way a real person would.
派遣一组子Agent,每个Agent扮演具有特定任务的真实用户,在网站上完成操作。他们使用browser MCP工具导航,尝试完成目标,并报告哪里出现问题、哪些操作令人沮丧,以及是否成功。核心原则是任务完成度——用户能否完成他们想要做的事情?
这不是QA测试套件或专家审计。 Regulars Agent的行为与真实用户一致——他们不会检查源代码,不会逐一验证每个元素,也不会遵循测试矩阵。他们会像真实用户一样尝试达成目标。
When to Use
使用场景
- Before launch: "Does the site actually work end-to-end?"
- After deploy: "Did we break any user flows?"
- After refactor: "Can users still do the important things?"
- Periodic check: "Are the critical paths still working?"
- 上线前:"网站端到端是否真的能正常运行?"
- 部署后:"我们是否破坏了任何用户流程?"
- 重构后:"用户是否仍能完成重要操作?"
- 定期检查:"关键路径是否仍正常工作?"
Workflow
工作流程
dot
digraph regulars {
rankdir=TB;
"User requests smoke test" -> "Identify key user tasks for this site";
"Identify key user tasks for this site" -> "Present task panel with personas";
"Present task panel with personas" -> "Ask: add, remove, or adjust?";
"Ask: add, remove, or adjust?" -> "Finalize panel";
"Finalize panel" -> "Ensure dev server is running";
"Ensure dev server is running" -> "Dispatch agents sequentially";
"Dispatch agents sequentially" -> "After each: report pass/fail + key issue";
"After each: report pass/fail + key issue" -> "All done?";
"All done?" -> "After each: report pass/fail + key issue" [label="no"];
"All done?" -> "Compile results scorecard" [label="yes"];
}Sequential dispatch required. Browser MCP tools share a single browser instance.
dot
digraph regulars {
rankdir=TB;
"User requests smoke test" -> "Identify key user tasks for this site";
"Identify key user tasks for this site" -> "Present task panel with personas";
"Present task panel with personas" -> "Ask: add, remove, or adjust?";
"Ask: add, remove, or adjust?" -> "Finalize panel";
"Finalize panel" -> "Ensure dev server is running";
"Ensure dev server is running" -> "Dispatch agents sequentially";
"Dispatch agents sequentially" -> "After each: report pass/fail + key issue";
"After each: report pass/fail + key issue" -> "All done?";
"All done?" -> "After each: report pass/fail + key issue" [label="no"];
"All done?" -> "Compile results scorecard" [label="yes"];
}必须按顺序派遣Agent。 browser MCP工具共享单个浏览器实例。
Designing the Task Panel
任务面板设计
Unlike review-squad:experts (fixed default panel) or review-squad:normies (fixed sophistication spectrum), regulars tasks are site-specific. You must design them based on what the site does.
Step 1: Ask the user what the key user flows are, OR read the site's navigation/content to identify them.
Step 2: For each flow, create a persona with a goal:
| Component | Example |
|---|---|
| Name + personality | "Sarah, a busy parent browsing on her phone during lunch break" |
| Goal | "Find a birthday gift under $50 and add it to cart" |
| How they'd approach it | "Scrolls fast, uses search if available, sorts by price" |
Step 3: Present the panel to the user for approval.
与review-squad:experts(固定默认面板)或review-squad:normies(固定成熟度范围)不同,Regulars的任务是针对特定网站定制的。你必须根据网站的功能来设计任务。
**步骤1:**询问用户网站的关键用户流程是什么,或者通过查看网站的导航/内容来识别这些流程。
**步骤2:**为每个流程创建一个带有目标的角色:
| 组件 | 示例 |
|---|---|
| 姓名 + 性格 | "Sarah,一位忙碌的家长,午休时用手机浏览网站" |
| 目标 | "找到50美元以下的生日礼物并加入购物车" |
| 操作方式 | "快速滚动,有搜索功能就使用,按价格排序" |
**步骤3:**将任务面板提交给用户审批。
Example Panels by Site Type
不同类型网站的任务面板示例
Personal blog/portfolio:
| # | Persona | Task |
|---|---|---|
| 1 | Recruiter scanning quickly | Find what this person does and their experience |
| 2 | Blog reader | Find a post on a specific topic and read it |
| 3 | Old friend | Find contact info or a way to reach out |
| 4 | RSS subscriber | Find and subscribe to the RSS feed |
| 5 | Social media visitor | Land on a shared blog post, explore from there |
| 6 | Fellow developer | Find their GitHub/projects |
E-commerce:
| # | Persona | Task |
|---|---|---|
| 1 | Gift shopper | Find something under $50, add to cart, start checkout |
| 2 | Comparison shopper | Browse a category, filter/sort, compare two products |
| 3 | Return visitor | Find order status or return policy |
| 4 | Newsletter subscriber | Find and complete the signup form |
| 5 | Mobile buyer | Complete a purchase on a phone-sized viewport |
| 6 | Coupon user | Apply a discount code at checkout |
SaaS/product site:
| # | Persona | Task |
|---|---|---|
| 1 | Evaluator | Understand the product and find pricing |
| 2 | Free trial user | Sign up for a trial account |
| 3 | Support seeker | Find documentation or help |
| 4 | Enterprise buyer | Find enterprise/contact sales info |
| 5 | Existing user | Log in and check account settings |
| 6 | Developer | Find API docs or integration guide |
个人博客/作品集:
| # | 角色 | 任务 |
|---|---|---|
| 1 | 快速浏览的招聘人员 | 找到此人的职业和工作经历 |
| 2 | 博客读者 | 找到特定主题的文章并阅读 |
| 3 | 老朋友 | 找到联系方式或沟通渠道 |
| 4 | RSS订阅者 | 找到并订阅RSS源 |
| 5 | 社交媒体访客 | 从分享的博客文章进入,探索网站其他内容 |
| 6 | 同行开发者 | 找到其GitHub/项目信息 |
电商网站:
| # | 角色 | 任务 |
|---|---|---|
| 1 | 礼品购买者 | 找到50美元以下的商品,加入购物车,开始结账流程 |
| 2 | 对比购物者 | 浏览分类,筛选/排序,对比两款产品 |
| 3 | 回访用户 | 查找订单状态或退货政策 |
| 4 | 通讯订阅者 | 找到并完成注册表单 |
| 5 | 移动端买家 | 在手机尺寸的视口中完成购买 |
| 6 | 优惠券使用者 | 在结账时应用折扣码 |
SaaS/产品网站:
| # | 角色 | 任务 |
|---|---|---|
| 1 | 评估者 | 了解产品并找到定价信息 |
| 2 | 免费试用用户 | 注册试用账户 |
| 3 | 寻求支持的用户 | 查找文档或帮助信息 |
| 4 | 企业买家 | 找到企业版/联系销售的信息 |
| 5 | 现有用户 | 登录并查看账户设置 |
| 6 | 开发者 | 查找API文档或集成指南 |
Agent Prompt Template
Agent提示模板
You are [NAME], a [DESCRIPTION].
[1-2 sentences of personality and how you browse.]
You have come to this site to: [SPECIFIC GOAL].
Do NOT read any source code or project files. You are a real user.
Use the browser MCP tools to navigate the site at [URL].
[If mobile persona: First, set viewport to 375x812.]
YOUR TASK:
1. Navigate to [URL]. Take a screenshot.
2. Try to accomplish your goal: [GOAL].
3. Do what feels natural — click what looks right, search if you can,
scroll where you'd scroll. Don't be methodical — be human.
4. Take a screenshot at each major step.
5. If something doesn't work (broken button, error page, dead end),
try what a real person would try (back button, refresh, different path).
6. Test one unhappy path: [SPECIFIC EDGE CASE FOR THIS TASK].
7. When you've either completed your goal or given up, STOP.
Report as [NAME]:
- **Goal**: [restate the goal]
- **Result**: COMPLETED / PARTIALLY COMPLETED / FAILED
- **Steps Taken**: numbered list of what you did
- **Where It Broke**: exact moment something went wrong (if applicable)
- **Frustrations**: anything annoying even if it technically worked
- **Time to Complete**: rough estimate (fast / reasonable / painfully slow)
- **Would I Come Back?**: honest yes/noCritical elements:
- No-code guard — "Do NOT read any source code." Regulars are users, not developers.
- Specific goal — Not "explore the site" but "find a gift under $50 and add it to cart."
- One unhappy path per agent — Test what happens when things go wrong (invalid input, empty cart, back button mid-flow).
- Human behavior — "Do what feels natural" not "follow this test script step by step."
- Honest verdict — "Would I come back?" forces a real assessment.
You are [NAME], a [DESCRIPTION].
[1-2 sentences of personality and how you browse.]
You have come to this site to: [SPECIFIC GOAL].
Do NOT read any source code or project files. You are a real user.
Use the browser MCP tools to navigate the site at [URL].
[If mobile persona: First, set viewport to 375x812.]
YOUR TASK:
1. Navigate to [URL]. Take a screenshot.
2. Try to accomplish your goal: [GOAL].
3. Do what feels natural — click what looks right, search if you can,
scroll where you'd scroll. Don't be methodical — be human.
4. Take a screenshot at each major step.
5. If something doesn't work (broken button, error page, dead end),
try what a real person would try (back button, refresh, different path).
6. Test one unhappy path: [SPECIFIC EDGE CASE FOR THIS TASK].
7. When you've either completed your goal or given up, STOP.
Report as [NAME]:
- **Goal**: [restate the goal]
- **Result**: COMPLETED / PARTIALLY COMPLETED / FAILED
- **Steps Taken**: numbered list of what you did
- **Where It Broke**: exact moment something went wrong (if applicable)
- **Frustrations**: anything annoying even if it technically worked
- **Time to Complete**: rough estimate (fast / reasonable / painfully slow)
- **Would I Come Back?**: honest yes/no关键要素:
- 无代码限制 —— "请勿阅读任何源代码。" Regulars是用户,不是开发者。
- 明确目标 —— 不是"浏览网站",而是"找到50美元以下的礼品并加入购物车"。
- 每个Agent测试一个异常路径 —— 测试出现问题时的情况(无效输入、空购物车、流程中点击返回按钮)。
- 人类行为 —— "做自然的操作"而非"逐步遵循测试脚本"。
- 真实评估 —— "是否会再次访问?" 要求给出真实的评价。
Dispatch Pattern
派遣模式
Sequential, not parallel. Browser MCP shares a single browser instance.
After each agent, briefly report pass/fail + headline issue to the user.
按顺序派遣,而非并行。 browser MCP共享单个浏览器实例。
每个Agent完成任务后,向用户简要报告通过/失败状态以及主要问题。
Consolidating Results
结果整合
Compile into a scorecard:
markdown
undefined将结果整理成计分卡:
markdown
undefinedRegulars Review: [Site Name]
Regulars Review: [Site Name]
Scorecard
Scorecard
| # | Task | Persona | Result | Issues |
|---|---|---|---|---|
| 1 | Find and read blog post | Blog reader | ✅ PASS | Minor: date format inconsistent |
| 2 | Subscribe to newsletter | Casual visitor | ❌ FAIL | Form returns 500 error |
| 3 | Find contact info | Old friend | ✅ PASS | |
| 4 | Browse photo gallery | Gallery visitor | ⚠️ PARTIAL | Lightbox doesn't close on mobile |
| 5 | Find RSS feed | RSS subscriber | ❌ FAIL | No visible RSS link anywhere |
| 6 | Navigate from shared link | Social visitor | ✅ PASS |
| # | Task | Persona | Result | Issues |
|---|---|---|---|---|
| 1 | Find and read blog post | Blog reader | ✅ PASS | Minor: date format inconsistent |
| 2 | Subscribe to newsletter | Casual visitor | ❌ FAIL | Form returns 500 error |
| 3 | Find contact info | Old friend | ✅ PASS | |
| 4 | Browse photo gallery | Gallery visitor | ⚠️ PARTIAL | Lightbox doesn't close on mobile |
| 5 | Find RSS feed | RSS subscriber | ❌ FAIL | No visible RSS link anywhere |
| 6 | Navigate from shared link | Social visitor | ✅ PASS |
Result: 4/6 PASS, 1 PARTIAL, 1 FAIL
Result: 4/6 PASS, 1 PARTIAL, 1 FAIL
Blockers (failed tasks)
Blockers (failed tasks)
| Task | What broke | Severity |
|---|---|---|
| Newsletter signup | 500 error on form submit | CRITICAL |
| Find RSS feed | No RSS link discoverable | IMPORTANT |
| Task | What broke | Severity |
|---|---|---|
| Newsletter signup | 500 error on form submit | CRITICAL |
| Find RSS feed | No RSS link discoverable | IMPORTANT |
Friction (passed but painful)
Friction (passed but painful)
| Task | What was frustrating |
|---|---|
| Browse gallery | Lightbox close button too small on mobile |
| Task | What was frustrating |
|---|---|
| Browse gallery | Lightbox close button too small on mobile |
What Worked Well
What Worked Well
- Blog reading flow is smooth end-to-end
- Contact info is easy to find
- Shared link landing experience is clean
undefined- Blog reading flow is smooth end-to-end
- Contact info is easy to find
- Shared link landing experience is clean
undefinedAfter the Report
报告完成后
- Present the scorecard
- Blockers are the priority — tasks that completely failed
- Ask if the user wants to fix blockers now
- Friction items go on the backlog
- 展示计分卡
- 阻塞问题是优先处理项——完全失败的任务
- 询问用户是否现在修复阻塞问题
- 摩擦项列入待办事项
Common Mistakes
常见错误
- Reading the code — Regulars don't know the codebase. Neither should the agents.
- Generic tasks — "Browse the site" is not a valid task. Each agent needs a specific goal with a clear pass/fail.
- Only happy paths — Real users hit edge cases. Each agent should test one unhappy path.
- QA test scripts — "Click element #submit, verify response code 200" is a test script, not what regulars do. Agents should behave like humans.
- Running in parallel — Browser MCP is a shared resource. Sequential only.
- Using the same panel for every site — Tasks must match what THIS site offers. A blog doesn't need a "checkout flow" tester.
- 查看代码 —— Regulars不了解代码库,Agent也不应查看。
- 通用任务 —— "浏览网站"不是有效的任务。每个Agent需要有明确目标和清晰的通过/失败标准。
- 仅测试正常路径 —— 真实用户会遇到边缘情况。每个Agent应测试一个异常路径。
- 使用QA测试脚本 —— "点击#submit元素,验证响应码200"是测试脚本,不是Regulars的做法。Agent应表现得像人类。
- 并行运行 —— browser MCP是共享资源,只能按顺序运行。
- 对所有网站使用相同面板 —— 任务必须匹配当前网站的功能。博客不需要"结账流程"测试员。