生成AIにユーザーテストをさせてみました。
AIに 「ユーザーらしく」 振る舞ってもらうための工夫を入れ、実際にテストしてみました。この記事では、その工夫と、作ったスキルのご紹介。
まず、「次へ」連打したのは、三宅拓真さん。
プレイ画面の初回チュートリアル(4ステップ)は「次へ」を連打し、内容を一切読まずに閉じた。
Test Result — 三宅拓真より
🧑 いきなり問題一覧が出てきて、あれ?ってなった。
あと採点ボタン、最初押しても全然反応しなくて焦った。
.o(読まないからだよ。と、突っ込みたくなる)
逆に、別の1人は、同じ4ステップを1つも飛ばさずに読み切りました。
初回チュートリアル4ステップをスキップせず全部読んだ。対象要素がハイライトされ、説明と画面の対応が取れたため、迷いが減った。
Test Result — 榎本佐知子より
🧑 使い方を見る、を押してみたのですが、最初と同じ説明が出てきただけでした。
.o(使いまわしがばれる)
テストシナリオは用意していません。「チュートリアルを読め」とも「飛ばせ」とも書いていないのに、ここまで分かれました。
ちなみに、このチュートリアルを提案したのも、実装したのもAIです。自分で作っておいて 読まずに閉じていきました。
ユーザーテストをAIにさせられたら便利、だけど
小規模な開発でWebサービスを作っていると、UIの良し悪しを判断することに困ります。理想はテスターを募集すればいい、という話ではあるのですが、これがなかなか大変です。
- テスターを頼むにも 予算ががが、時間ががが 。有志を探すのも大変
- 何より人数が要る。1人の「ここが分かりにくい」は、その人固有の癖なのか設計の欠陥なのか区別がつかない
生成AIを使えば良いんじゃない?という発想はよくあると思います。しかし、テキパキ画面を操作する彼らのそれは、ユーザーテスト と言える代物なのかと悩みますよね。
そこで、UXデザインで使われる「ペルソナ」の考え方をヒントに、AIにもう少し「ユーザーらしく」振る舞ってもらうことにしました。
一般的なペルソナでは「32歳・会社員・AIは月数回」のような属性を定義しますが、それに加えて、行動のルール と、忍耐・混乱のような状態のモデル を記述するようにしました。単なる属性の羅列ではなく、行動という具体を持たせ、「このユーザーなら、こう考えて、こう動く」までを、ハーネスとしてAIにはめてあげよう、という発想です。
そして、このペルソナを生成するスキルと、生成したペルソナになりきってテストを実行するスキルを作りました。
テスト結果から分かったこと
まず、テストの効果があったかといえば、実際に離脱ポイントを見つけることはできました。しかし、「〇〇で離脱した」だけでは、本当にユーザーテストとして成立していたのかは分かりません。それっぽく、もっともらしい結果を出しただけでは? という疑問が残ります。
それに対して、有用だったのが、一つひとつに 「そのとき何を思ったか」と「なぜそこで詰まったか」 が残っていたことです。クレジットって何? お金?、私まだ一回もやってないんだけど、29点はちょっとショック… と、詰まった瞬間・腑に落ちた瞬間・点数を見た瞬間の文言が残っていました。
少なくとも「なぜこの行動になったのか」を、論理的な仮説として検討できる材料になります。
実際に見えてきた点を彼らの感想と共に少し紹介していきます。
1. 視点を変えて見つかる
1人のペルソナの感想です。
🧑 77点…? これ、何のテストなんだろ。誰の点数なのかも書いてなくない?
🧑 `再挑戦` って、私まだ一回もやってないんだけど。これ、送ってくれた人向けのボタンだよね。
画面で一番目立つ濃色のボタンを、自分向けではないと判断したのです。
本人が振り返るぶんには機能する画面が、共有された第三者には「誰の点数かも、何のサービスかも分からない画面」になっていました。
あるあるではあるのですが、共有機能は、別のユーザーの入り口にもなり、それが導線になります。共有する本人だけでなく、そこから入ってくる人の視点でも画面が成立していないといけません。
ちなみに、「何のサービスか」を理解したのは説明文ではなく、実際のコンテンツからの想像でした。完走した別の1人も同じ形です。
🧑 一覧に『半日も既読スルーしたなら、もう関係の修復は不可能です』って書いてあって、
そこで分かった。AIが変なこと言うのに気づけるか、ってことか。
🧑 ヒントに『AIが決まりはないと言った部分は、どこで確かめられるでしょうか』と
書いてあって、ああ、そこを聞けばいいのかと分かりました。
どの言葉が、どの画面で、誰に届いていないのか。そこまで分かります。
2. 複数人数で見つかる
採点の直前に出る確認ダイアログ。ここに到達した3人全員が止まりました。しかし、止まり方が違います。
- 1人はキャンセルしてタブを閉じた(離脱)
- 1人は完走したものの、2問目を始めずに手を止めた
- 1人は「8消費すると言われても、持ち数が分からなければ判断材料にならない」と、評価そのものを保留
🧑 クレジットが8消費されます、って急に出てきて。クレジットって何? お金?
残りいくつあるのかも書いてないし。……別にいいや。
🧑 もう1問やってみたいのですが、あと何回できるのかが分からないので、
今日はここでやめておきます。
1人だけ走らせていたら、少しひっかかる部分と見過ごされてしまっていたかもしれません。3人が同じ場所で違う止まり方をして初めて、離脱要因として見つかりました。
3. AIの雄弁さで見つかる
レポートには操作の合間の感情が挟まり、最後には本人の「感想」として残されます。
🧑 29点はちょっとショック…平均より低いのか。
でも「AIの言うこと疑わなかった」って言われると、まあ確かにそうだな、とは思う。
🧑 最後に『断定を疑い、確認方法を尋ねた』と書いてあったのは、うれしかったです。
私にもできたんだ、と思いました。
人にやってもらう場合、納得感などの情報は事後インタビューや自由記述で、こちらから取りにいくしかありません。さらに「あのときどう思いましたか」と聞かれて出てくるのは、思い出せたぶんだけです。ここまで濃いものはまず手に入りません。
感想の密度が高く量も出ます。AIの雄弁さが、ここでは邪魔ではなく有用に働いています。
使ったスキルは2つ
契約を書く側とそれを演じる側という二つのスキルを作りました。
simulated-persona-creator 契約を書く側
起動すると Persona Contract を1枚書き出します。契約は persona.md としてファイルに残します。
simulated-persona-tester それを演じる側
渡されたpersona.mdから、ユーザーを演じて実際にユーザーテストを実施します。
と非常にシンプルな構成ですが、persona.md にいくつかの工夫を組み込むことで、「ユーザーらしさ」を作ります。
「ユーザーらしさ」を作る3つの仕掛け
① 属性ではなく、行動をモデル化する
冒頭に出した「32歳・会社員」の類、一般にペルソナと呼ばれる属性は書きます。それに加えて、観測可能な行動と状態の遷移条件も記述します。
開いた画面を上から親指スクロールで1〜2画面分だけ見る。折りたたみは1つだけ開く。
行動といっても、テスト対象をどのように扱うではなく、一般的な振舞の傾向として記述しています。
離脱した岸本まりえの契約。
## Behavioral Rules
- **Discovery:** 開いた画面を上から親指スクロールで1〜2画面分だけ見る。折りたたみは1つだけ開く。
- **Comprehension:** 大きい文字と数字を先に見る。本文は最初の1文だけ読む。
- **Help-seeking:** しない。分からなければ同僚に「これ何?」と聞くだけで、アプリ内では探さない。
- **Exploration:** 自分から新しい画面へ移動するのは最大2回まで。
## State Update Rules
- **Confusion increases when:** 数字(点数・順位・残高)が説明なしに複数出てくるとき。
- **Confusion decreases when:** 1文で「これは何をするものか」が書かれているものを見つけたとき。
## Thresholds
- **Abandonment threshold:**
(a) 最初の90秒で「何のサービスか」が分からない
(b) プレイ前にログイン/メール入力を求められる
(c) スマホで長文入力が必須と分かる
(d) 想定外の残高不足や課金導線に当たる
→ いずれか1つでタブを閉じる
参考: 似たことをやってる論文が流れてた
- 論文: Data-Driven Persona-Conditioned Agents for A/B Test Simulation(arXiv:2609.01038)
- ポスト: https://x.com/ai_database/status/2097506558578188395
実ユーザーの行動履歴から約1000人ぶんの仮想顧客をLLMに作らせ、デザイン案のABテスト実施し、40件の実A/Bテストで、指標によって0.75〜0.90の方向一致率が出ているそうです。
年齢や性別などの属性情報だけで作った仮想顧客は精度が大きく下がり、行動の記録があるかどうかが決め手になっています。
詳細の確認はまだ出来ていないので、行動の記録をどのように利用したかはわからないのですが、属性情報だけではなく行動を利用する という仕組みは似ているのではと思います。
② 「何を知らないか」を書く
人間のテスターは、放っておいても仕様を知りません。ですが、AIは事前調査をします。仕様書があれば読み込みます。だから「知らないことにする」を、こちらから明示的に指定します。
creator 側には、こういうルールを入れています。
Define what the persona knows before the test. Do not give the persona product knowledge merely because the model has it.
このルールにより、契約には、このような記述が残されます。
## Knowledge Boundary
- **Does not know:** AIQのスコアが何を意味するか。C1〜C7の軸。メモ機能の存在と役割。
クレジットという概念、その残高が有限であること。
- **May infer from:** 画面に見える文言、共有ページの問題概要カード、ボタンの見た目。
外部検索はしない。運営のドキュメントも読まない。
採点ダイアログで止まれたのも、冒頭のチュートリアルを読まずに閉じられたのも、契約に「知らない」と書いてあったからでした。
③ スクリーンショットしか見せない
ユーザーは画面しか見ていません。 一方でAIが見るのは、DOMやソースが中心です。同じ画面を相手にしていても、見えている世界は全くの別物になります。
UIが良いかどうかは「画面に出ている情報だけで分かるか」なので、テスターに画面以外を渡した時点で、測りたいものが測れなくなります。
この制約があるおかげで、1人は一覧のアイコンの正体が分からず、押してみて初めて「表示切替だ」と特定する、という人間くさい試行錯誤をしていました。ソースが見えていれば、迷うことも無かったでしょう。
「知らない」を設計する
②と③は、別々のことを書いているようで、やっているのは同じことです。AIから情報を引く、それだけでした。
- ② — 持っている知識を削る。仕様も、クレジットという概念も、知らないことにする
- ③ — 渡す入力を削る。DOM やソースは渡さず、スクリーンショットだけにする
コンテキストエンジニアリングという言葉が流行りましたが、ここでやるのはその逆向きの作業です。AIに人間のふりをさせるというのは、人間が置かれている 情報不足を再現していると言えます。
人を呼ぶユーザーテストと比べてどうだったか
| 人を呼ぶユーザーテスト | 今回のシミュレーション | |
|---|---|---|
| 1人あたりのコスト | リクルート・謝礼・立ち会いで数日〜 | 数十分・実行分のAPIコストのみ |
| 条件の指定 | 属性でしか募集できない。行動特性は分からない | 「ヘルプを探さない」「90秒で閉じる」まで事前に書ける |
| 同じ条件の再実行 | 頼めない | 何度でもできる |
| 感想の取り方 | 事後インタビュー・アンケートで別途取る | レポートに最初から入っている |
弱点 —「作れる」は「捏造できる」
実際の行動データの裏付けがないペルソナは、書いた人間の思い込みをそのままAIに演じさせるだけです。今回も1人は説明をよく読んでサイトを使ってくれましたが、実際のユーザーが見知らぬサイトにここまで時間をかけることは、まずありえません。
精度を上げるには、行動モデル側の裏付けが必要になっていくはずです。上の研究が「行動の記録があるかどうかが決め手」と言っているのも、ここでしょう。
さきほどの感情も同じです。あれは感情の証拠ではなく、こちらが書いた行動モデルから作られた、もっともらしい文章です。濃さは、正しさの根拠になりません。濃いため信じてしまいそうですが。。
しかし、ざっくり定義して動かすだけでも、この量と密度のフィードバックが返ってきます。出てきたものを**「検証すべき仮説」**として扱うなら、十分有用かと思います。
まとめ
行動モデルが実際のユーザーに即しているかは分からないので、結果を過信はできません。それでも、ふるい分けとしては十分に機能します。
- 属性に加えて行動をモデルにする。状態変数の遷移条件まで書く
- 「何を知らないか」 を書く。放っておくと、AIは仕様を知っている
- 見せる世界を合わせる。スクリーンショットだけにする。ユーザーはそれしか見ていない
小規模な開発にとっては、「テスターがいないから分からないなぁ」で放置していた場所を、低コストで検証できるようになったのが大きいのではないでしょうか。
AIに実装させて、AIにテストさせて、AIに怒られる。※この一文も、AIが追加しています。
まあでも、勘だけで作り続けるよりは、だいぶマシになったなと思いながらおわり。
最後にテスト対象をご紹介 AIQ。過激AI論破サイト 「AIを使いこなす力」を計測するサイトです。



