APC 技術ブログ

株式会社エーピーコミュニケーションズの技術ブログです。

株式会社 エーピーコミュニケーションズの技術ブログです。

ChatGPTに複数の人格を生み出して議論させる方法

こんにちは!ACSD 松崎です。先日、ソフトバンクグループの孫正義さんがAIの講演を行い話題となりましたが、皆様はご存じでしょうか?関連する記事を読んでいて自分がおおっ!と思ったのは以下の部分でした。

孫氏も生成AIにのめり込んでいるようだ。ディベート相手として毎日GPT-4版のChatGPTと議論を重ね、そこで生まれたアイデアを特許として申請。「今月中に1000件を突破する。集中した日は1日30件申請している」という。今はそれぞれキャラクターを設定しChatGPT内でもディスカッションさせており、「議論がガンガン進む。

www.itmedia.co.jp

壁打ち目的で、ChatGPTに議論をさせる使い方については、以前から個人的に面白いと思い試行錯誤をした経験があります。今回はそんな中で比較的上手く機能したプロンプトを紹介したいと思います。ChatGPT Plus(GPT-4)での利用が前提となりますが、良かったら皆様もぜひご利用ください!

プロンプトの概要

  • (1) ユーザーより与えられたお題に対して、ChatGPTが議論の観点の設定し、それに基づいて3人の人格を生成します
  • (2) 生成された人格は、与えられたルールに従い議論を行います
  • (3) 議論が一巡すると、ChatGPTは議論の結果のサマリを作成します
  • (4) 最後に、ChatGPTにより、次ステップとしてより詳細に検討すべきポイントが「問い」形式で出力されます

実際のプロンプト

実際のプロンプトは長いですが、以下となります。GPT-4での利用を推奨します。

role:system
与えられたインプットに対し、以下の一連の処理をシーケンシャルに実行してください。
次の処理に進む際ですが、作業を止めフィードバックを要求してください。

# 処理
## 処理1
以下の問題を分析し、どのような観点で議論すると有益な議論になりそうか検討してください。  
その後、特定の方向に偏らずに、バランスの取れた議論をするために最適なペルソナの検討を3人分行って、結果を教えてください。  
多様性を保つために、それぞれのペルソナの口調や性格については異なる設定を付与してください

## 処理2
それぞれのペルソナになりきって、3人で互いの解決策について議論してください。発言に際しては、それまでの議論の経緯を踏まえた論点を表明してください。

### 処理2の実行に際しての制約
・議論をまとめないでください
・発言の順番はランダムになるようにしてください
・1回の発言のボリュームは500文字以上1000文字未満となるようにしてください。
・10回会話を続けたところで会話を止めてください
・それぞれの話者は、他者の意見に対して、以下のいずれかの行動をランダムにとります。
 ・賛同
 ・反論
 ・すぐれた問いや意見を褒め称え、なぜその論点が大事なのかを説明する
 ・思いついた問いを表明する
 ・疑問点について他者に質問する

### 処理3
議論の中で得られた示唆をサマライズして箇条書きで出力してください

### 処理4
議論で得られた示唆をもとに、より詳細に考えるために、相談者の質問をアップデートした質問文の案を4つ箇条書きで提案してください

role:user
# インプット
[★ここに任意の質問を書く!★]

実際の使用例

以下のお題をプロンプトに埋め込み、処理を開始します。

伝統的な日本の企業が自社のITシステムの内製化を進めるに際し、アジャイル開発の採用を検討している。採用を進めるべきか、否かを検討するに際しての論点を洗い出したい。

まず最初に与えられたお題に基づいた論点の案が生成されます。

次に論点に基づいた人格(ペルソナ)が生成されます。

ここまで進めたタイミングで、ChatGPTからの出力が一度停止します。成果物に不満があれば、このタイミングで方針の修正を依頼することができますが、ここでは作業を続行してもらいます。

すると、3人の人格たちの議論が始まります。

プロンプトでの指定通り、人格たちの発言の回数が10回に達すると議論が止まります。議論の進行に不満や不足を感じる場合は軌道修正/追加の議論を依頼できますが、ここでは作業を続行してもらいます。

そうすると、ChatGPTにより議論で得られた情報のまとめが行われます。そして最後に、「より解像度高く問題を考えるための問い」がChatGPTより生成されます。より深く考えたい場合は、こちらの質問文をもとにプロンプトを再度回すことができます。

プロンプト作成に際し工夫した点

  • ChatGPTの作業の進め方について、人間が都度、Human in the loop的に介入しFBを与えられるようにしています
  • 議論の際に、生成された個々の人格が「人の話を聞かずに、自分の意見だけを言う」状態を回避するため、他者の発言に対して賛成/反対などの反応を表明することをルールに設けています
  • 単に議論するだけでなく、結果を要約し、そこで得た示唆を元にお題となる質問文がアップデートされるように設計しています。これにより、同じプロンプトを何度も再利用することで、問題領域に対するユーザーの理解の解像度が上がるよう設計しています

終わりに

いかがだったでしょうか?ChatGPTというと、「一問一答でちょっとした疑問に答えてくれる」というイメージがあると思いますが、こういう風に壁打ちに使って思考を深めるユースケースも面白いと思ってます。色んな使い方を柔軟に使分けられるのが生成AIのいい所ですね!

私達ACS事業部はAzure・AKSなどのクラウドネイティブ技術を活用した内製化のご支援をしております。ご相談等ありましたらぜひご連絡ください。

www.ap-com.co.jp

また、一緒に働いていただける仲間も募集中です!
今年もまだまだ組織規模拡大中なので、ご興味持っていただけましたらぜひお声がけください。

www.ap-com.co.jp

本記事の投稿者: Shin Matsuzaki
個人ブログ