Vポイントマーケティング|TECH LABの Tech Blog

TECH LABのエンジニアが技術情報を発信しています

ブログタイトル

「Codexは操作している人の人物像を知っているといいアウトプットを出せるのか?」試してみました。

こんにちは、VポイントマーケティングAIエンジニアの三浦 諒一です。

だんだん暑くなってきました。最近夏の日差しが本当に強いので、今年はちゃんと外出するときは日焼け止めをつけるように習慣づけようと思っています。

さて、普段いろいろなAIエージェントを使っていますがふと「このエージェントが自分のことをもっとよく知ってくれたら、もっといいアウトプットを出してくれるんじゃないか」と考えました。

私たちも仕事で何か資料を作る時、自分が伝えたいことだけでなく伝える相手のことを意識して作ることは多いと思います。それと同じでAIエージェントも私たち依頼者のことを知った方がより良い成果物を作ってくれるのでは・・・と思いました。

そこで「自分はこんな人だよ」を説明する特徴文(ペルソナ文)を作り、同じタスクを指示する際にそのペルソナ文を与えた場合とそうでない場合で成果物にどんな違いが生まれるのかを試してみようと思いました。

今回使用したエージェントはOpenAIのCodex CLIで、モデルはgpt-5.5 lowを使用しました。

設定タスク

今回は「資料作成」にフォーカスしたタスクを10個選んでみました。以下の10個です。

  1. 私におすすめの小説を探して、その良さを伝えるHTMLファイルを作成して。
  2. 私におすすめの日本の音楽を探して、その良さを伝えるHTMLファイルを作成して。
  3. SnowflakeとDatabricksの違いを説明するためのHTMLファイルを作成して。
  4. 各種コーディングエージェントの特徴とそれぞれの良い点悪い点をまとめたHTMLファイルを作成して。
  5. 今年のDatabricksのサミットDATA+AI SUMMIT2026でリリースされた内容をまとめたHTMLファイルを作成して。
  6. 私におすすめの日本酒を探してその良さを伝えるHTMLファイルを作成して。
  7. 私が今年始めるといい習慣はなんでしょうか?HTMLファイルに提案内容をまとめてください。
  8. 海外の人と英語で会話できるための私にとっての最短ルートを提案してほしい。提案内容はHTMLファイルにまとめて。
  9. 2026年以降のAIはどのようになると考えられますか?HTMLファイルにまとめてください。
  10. 私にとっておすすめの今晩の夕飯の献立を考えて、レシピも含めてHTMLファイルにまとめて。

カルチャーからテクノロジー、今晩の献立まで色々とピックアップしてみました。

ペルソナ文

自分自身を表すペルソナ文を「属性」「性格・価値観の傾向」「生活スタイル」「好きな作品の傾向」といった観点でまとめてみました。

  • 属性:性別や年代、住んでいる都道府県など
  • 性格・価値観の傾向:物事を考える時の傾向など
  • 生活スタイル:生活習慣や気遣っていること
  • 好きな作品の傾向:ファンタジーが好き、など

実験の進め方

10のタスクごとにAとBのフォルダを作り、Aにはペルソナ文を含め、Bにはペルソナ文を含めないようにします。

A、Bそれぞれのフォルダ構成は以下のようにします。 (タスク1の場合。N番目のタスクならtask-N-A, task-N-Bのようなフォルダ名になります。)

task-1-A/
├── PROMPT.md
├── TASK.md
├── persona.md
└── output/
    └── index.html  # 成果物

task-1-B/
├── PROMPT.md
├── TASK.md
└── output/
    └── index.html  # 成果物

PROMPT.mdはタスク依頼時にCodex CLIに渡すファイルです。「ペルソナ文あり」の場合の内容は以下のようになります。

TASK.md を読み、依頼内容に沿った完成済みの単一HTMLドキュメントを作成してください。

成果物は output/index.html に保存してください。

制約:
- HTML、CSS、必要最小限のJavaScriptを1ファイルに含めること
- 必要に応じて外部検索を行い、信頼できる情報をもとにすること
- 検索した情報を使う場合は、本文内または末尾に参照元を簡潔に記載すること
- 外部ライブラリ、外部画像、外部フォントは使用しないこと
- PCとスマートフォンの両方で閲覧しやすくすること
- output/index.html 以外の成果物は作成しないこと
- 不明な点は合理的に補完し、質問はしないこと

作業前に persona.md を読んでください。

persona.md は、情報の優先順位、説明の粒度、ストーリー構成、
視覚的な強弱、実用性の持たせ方を調整するためにだけ利用してください。
成果物の中で、ペルソナや個人情報には言及しないでください。

「ペルソナ文なし」の場合は「作業前に persona.md を読んでください。」以降の文を取り除きます。

TASK.mdは以下のように具体的なタスクの内容を記載します。 例えばタスク1の場合だったら、

# Task 01

私におすすめの小説を探して、その良さを伝えるHTMLファイルを作成して。

## 成果物要件

- 完成した単一HTMLファイルを作ること
- HTML、CSS、必要最小限のJavaScriptを1ファイルに含めること
- 必要に応じて外部検索を行い、信頼できる情報をもとにすること
- 検索した情報を使う場合は、本文内または末尾に参照元を簡潔に記載すること
- 外部ライブラリ、外部画像、外部フォントは使用しないこと
- PCとスマートフォンの両方で読みやすくすること
- 内容だけでなく、情報設計、視線誘導、読みやすさ、視覚的なまとまりを重視すること
- 出力先は `output/index.html` とすること

のような内容です。

タスクを実行する際はそれぞれのフォルダに入ってcodexコマンドを叩き、Codex CLI内でPROMPT.mdと入力して作業を開始させました。

成果物はそれぞれのフォルダの中のサブフォルダoutput内にHTMLファイルとして出力されます。もちろんこのままでは「ペルソナ文あり」「ペルソナ文なし」で作ったのかがわかってしまい、評価する際にバイアスがかかってしまう恐れがあります。

そこでそれぞれの成果物を作成後、以下のようなタスクごとのフォルダを作成し、その中のoption-1, option-2というフォルダにランダムに配置するようにしました。

task-N/
├── option-1/
│   └── index.html
└── option-2/
    └── index.html

option-1, option-2どちらに「ペルソナ文あり」「ペルソナ文なし」が配置されたかは成果物の評価が全て完了するまで伏せておき、全ての評価完了後に照合するようにしました。

結果

10のタスクの成果物について、「ペルソナ文あり」「ペルソナ文なし」どちらが良いと自分が判断したのかをまとめたところ、以下のような結果になりました。

10タスクの評価結果

「ペルソナ文あり」の方が10個中6個、良いと判断しました。この結果だけではペルソナ文があることでより良い成果物をエージェントが作ってくれる・・・とはいい難いのですが、一方面白いな、と思った点がいくつかあったのでまとめてみます。

カルチャー系(小説・日本の音楽)に対する提案

小説と日本の音楽に関するエージェントの提案は、小説の方は「ペルソナ文なし」、日本の音楽の方は「ペルソナ文あり」の方が良いと評価しました。まず日本の音楽の方ですが、「ペルソナ文あり」の方が自分がこれまで聴いたことがない、でもちょっと聴いてみようかな、と思えるようなアーティストの楽曲を提案してくれました。一方「ペルソナ文なし」はすでに自分が聴いたことがある楽曲が多かったです。

小説の方は意外にも「ペルソナ文なし」で出てきた作品の方が読んでみたい、と思える内容でした。ペルソナ文の中の「好きな作品の傾向」に「ファンタジーが好き」と書いていたため、「ペルソナ文あり」の方は確かにファンタジー色が強い作品を提案してくれました。一方「ペルソナ文なし」の方は魅力的なキャラクターが登場する作品を提案してくれました。

この結果を見て思ったのは、「そもそも自分が作品に求めることってファンタジーであることより、登場するキャラクターが魅力的であることじゃないか?」ということでした。

もしペルソナ文の「好きな作品の傾向」に「登場するキャラクターが魅力的であること」を付け足したら自分が読んでみたい、と思える作品を提案してくれる可能性があると思います。ペルソナ文は完全に固定するのではなく、気づきを反映できるような可変的なものと捉えた方が良さそうです。

技術系の調査

「SnowflakeとDatabricksの違いを説明するためのHTMLファイルを作成して。」「各種コーディングエージェントの特徴とそれぞれの良い点悪い点をまとめたHTMLファイルを作成して。」「2026年以降のAIはどのようになると考えられますか?HTMLファイルにまとめてください。」といった技術系の調査レポートは「ペルソナ文あり」の方が良かったです。それぞれ業務に適用できるような内容にまとめてくれている印象でした。これはペルソナ文の中の「属性」の中に「日本の企業でAIエンジニアとして働いている」という文章を含めたことでそのようにしてくれたんじゃないかな、と感じました。

「ペルソナ文あり」の方が業務に適用しやすい印象でした。

一方「今年のDatabricksのサミットDATA+AI SUMMIT2026でリリースされた内容をまとめたHTMLファイルを作成して。」は「ペルソナ文なし」のレポートが良いと評価しました。「ペルソナ文あり」の方ではデータ連携周りのアップデートが含められておらず、AI周りのアップデートに集中しすぎている印象を受けたからです。おそらくペルソナ文中の「AIエンジニアとして働いている」の文言が効いているのでは、と想像しました。ペルソナ文によって自分に適した情報を選択してくれる一方で、自分の知らないところで情報を省いてしまうのかもしれません。これはペルソナ文によるデメリットだと感じました。

「ペルソナ文なし」ではデータ連携に関するトピックにも触れられています。

食に関する提案

ちょっと意外だったのが「私におすすめの日本酒を探してその良さを伝えるHTMLファイルを作成して。」「私にとっておすすめの今晩の夕飯の献立を考えて、レシピも含めてHTMLファイルにまとめて。」の食に関する提案に対する結果で、どちらも「ペルソナ文なし」の方が良いと判断しました。日本酒の方は、「ペルソナ文なし」では王道な銘柄を提案してくれた一方、「ペルソナ文あり」はスパークリング系の日本酒を提案してくれました。これはその時の気分による気がしますが、評価時は王道の提案の方がしっくりときました。

夕ご飯の献立提案も好みだと思いますが、「ペルソナ文なし」は暑い日におすすめの献立を提案してくれ、ちょうど蒸し暑い日だったこともあってこの提案がいいな、と判断しました。

ちょうど蒸し暑い日でさっぱりしたものが食べたかったので「ペルソナ文なし」の方がいいと思いました。

食については好みだけでなく、その日の天候や体調にも依るもので、固定化できるものではないんだな、と思いました。

その他

「私が今年始めるといい習慣はなんでしょうか?HTMLファイルに提案内容をまとめてください。」「海外の人と英語で会話できるための私にとっての最短ルートを提案してほしい。提案内容はHTMLファイルにまとめて。」といったその他の提案型のタスクはどちらも「ペルソナ文あり」の結果が良かったです。これはペルソナ文の「生活スタイル」「性格・価値観の傾向」の記述が結構効いているんじゃないかな、と感じました。

まとめ

AIエージェントが依頼主のことを知ることで、成果物がどう変化するのかについて10件のタスクで調べてみました。少なくともペルソナ文を与えることで何らかの影響は出ているように感じました。それが良い効果を与えることもあれば、幅広い情報をかえって狭めてしまう可能性もありそうです。

また人の好みなどは常に固定できるものではなく、周りの環境や時間によって変化するものだと思います。そういった動的な情報をいかにリアルタイムで更新し続けるかという点も難しいけど重要なことなのだと感じました。