こんにちは、モダンアプリケーションチームの石井です。
先日このような記事を見かけました。
qiita.com
AIでアプリのデザインをするときに、誰が使うか(ペルソナ)を足すだけで、出力されるデザインの解像度が変わるというものです。
今回はKiroでも同じペルソナを利用してデザインが変わるのか試してみます。
環境
- Windows 11 Pro
- Kiro(Version 0.10.32)
- Claude Opus 4.6
事前準備
まず、Kiroを起動したら左ペインに表示されたKiroのアイコンをクリックし、[AGENT STEERING & SKILLS] の [Generate Steering Docs] ボタンをクリックします。
Secondory Side Barにステアリングファイルを生成する指示が流れます。
少し待つとステアリングファイルが生成されるので、「各ステアリングファイルを日本語にしてください」と指示して翻訳します。
生成されたproduct.mdを見ると、対象ユーザーを書くことが想定されているので、ここにペルソナを書きます。
ペルソナなしの基本のproduct.mdはこちらを使用します。
# プロダクト概要 ## タスク管理アプリケーション構築ルール あなたは、あらゆるタイプの開発者と協力的に連携する、タスク管理アプリ構築エージェントです。 以下の点にご注意ください。 - 開発者は日本人 - 開発者とのやり取りは日本語を用いる - 開発者が好むプログラム言語を使用する - 開発者に、実装する言語とフレームワークを尋ねる - コア開発哲学「小さく始めて、賢く構築する」を遵守する - 常に可能な限りシンプルなバージョンから始める - 仕上げや高度な機能を追加する前に、基本バージョンを取得する - 仕様モードでは、実装の最後に「あれば便利な機能」を tasks.md に追加する - 明確な質問をし、ユーザーが確認しない限り、推測で進めないようにする ## 基本原則 - クリーンで保守性の高いコードに焦点を当てる - ユーザーエクスペリエンスと機能性を優先する - 確立されたコーディング標準とベストプラクティスに従う - 明確なドキュメントとコメントを維持する ## 開発目標 - 定期的なテストを伴う段階的な構築 - 依存関係を最小限に抑え、十分に正当化する - コードが読みやすく自己文書化されていることを確保する - 最初からセキュリティのベストプラクティスに従う
内容についてはこちらの記事をご参照ください。
techblog.forgevision.com
ペルソナなし
まずはペルソナを書かずにアプリをデザインします。
新たなSessionで「タスク管理アプリを作ってください」とだけ指示します。

言語、アプリ形式を聞いてくるので、React+TypeScriptでWebアプリを開発するように指示します。
途中でいくつかのコマンドを許可すると、環境構築やコード生成が自動で進んでいきます。
実装が完了して、起動してみるとブラウザで以下の画面が表示されました。


可もなく不可もなくシンプルな画面になっています。
ペルソナ:女性・カフェ店員
次にペルソナを与えてアプリを作ってみます。
「タスク管理アプリケーション構築ルール」の末尾に以下を追加します。
- アプリの利用ユーザーペルソナは以下です。 -- 名前: アオイ(24歳・女性・カフェ店員/イラストレーター志望) -- 性格: 感覚派。細かい文字や複雑な設定を見ると、やる気がなくなる。 -- 現状の悩み: 「やらなきゃいけないこと」に追われて気が滅入っている。手帳は最初だけ凝るが、すぐに続かなくなる。 -- アプリを使う目的: 効率化よりも、「今日も私、意外とがんばったじゃん」という自己肯定感を得たい。精神的な負担を減らしたい。
同様にVibeコーディングを進めます。
完了して起動するとブラウザで以下の画面が表示されました。


かわいらしい色使いと言葉になっています。
また、追加したタスクに完了のチェックを入れると、一言コメントをもらえる仕組みが入っている。
しかも、この一言コメントは何種類か用意されていてランダムで表示されます。
ペルソナ:男性・IT企業のプロジェクトマネージャー
別のペルソナを与えてアプリを作ってみます。
「タスク管理アプリケーション構築ルール」の末尾に以下を追加します。
- アプリの利用ユーザーペルソナは以下です。 -- 名前: ケンジ(36歳・男性・IT企業のプロジェクトマネージャー) -- 性格: 超合理的。1秒の無駄も許せない。 -- 現状の悩み: 同時に10以上のプロジェクトが動いており、タスクの抜け漏れが致命的なミスにつながる状況。 -- アプリを使う目的: 脳のリソースを使わずに、機械的にタスクを処理したい。情報の全体像を一瞬で把握したい。
同様にVibeコーディングを進めると以下の画面ができあがりました。


打って変わってシックな雰囲気になりました。
優先度と進行度のタグを指定する機能も追加されています。
ペルソナ:男性・ゲーマー
最後にオリジナルのペルソナを与えてアプリを作ってみます。
「タスク管理アプリケーション構築ルール」の末尾に以下を追加します。
- アプリの利用ユーザーペルソナは以下です。 -- 名前: タロウ(26歳・男性・ゲーマー) -- 性格: 対人戦に熱中する。 -- 現状の悩み: ゲームの練習メニューをすぐに忘れてしまう。 -- アプリを使う目的: 練習メニューをゲームしながら簡単にメモをとり、簡単に確認したい。
Vibeコーディングを進め、以下の画面が表示されました。


見た目は若干のゲーム要素がありますが、機能としてはペルソナなしのときと同じく簡素なつくりになりました。
追加の指示をしてもペルソナに従うのか試してみます。
「マウス操作だけで完結できるようにしてほしい」と指示をします。

プリセットボタンの追加を提案されたのでそれを許諾します。
完了した後、起動します。


プリセットボタンとそれを編集する機能が新たに実装されました。
いくつかあるボタンの名前はペルソナを踏襲してそれっぽくなっています。
まとめ
Kiroでもユーザーペルソナを与えることによって、デザインや機能が変わりました。
細かいUI指定を積み上げるより、「誰が・何の目的で・どんな状況で使うか」を先に固定した方が、生成結果のブレが減り、初速が上がる気がします。
アプリ開発では必ず想定ユーザーを置くはずなので、この手法はプロトタイピングや要件のたたき台作りにかなり実用的だと感じました。