「戯言 」生成機から 「究極の副操縦士 」へ。
Photo by Rolf van Root on Unsplash
突然ですが、ジェネレーティブAIに関するニュースはどこにでもあります。ChatGPTが100万ユーザー 5日間という記録でに達したこと、ゴールドマン・サックスが AIは3億の仕事に影響を与える ...などが語られます。
デジタルアシスタントに携わり、ヒューマンコンピュータインタラクションのバックグラウンドを持ち、新しいテクノロジーのためのデザインに情熱を注ぐ者として、これは私個人にとってエキサイティングな瞬間です。
ジェネレーティブAIのブレイクスルーは、私たちが電気を発見した瞬間のようなものです。物事が成熟するまでにはまだ何年もかかるかもしれませんが(※スピードアップしています)、私たちはおそらく、突然多くの可能性を引き出す大きな足掛かりにたどり着いたとわかっており、業界の誰もが、何が可能かを見極めようとしています※。
実際、何が可能なのでしょうか?そして、ジェネレーティブAIの能力を最大限に活用し、その欠点を補うにはどうすればよいのでしょうか。
この記事では、数十種類のジェネレーティブAIツールを使ってみて、デザイナーとして得た学びを紐解いてみたいと思います。ジェネレーティブAIのための優れた入力の重要性、入力としての言語の限界、そしてこれらの限界を補い、ジェネレーティブAIを日常的なユーザーに役立つものにするために、デザインのベストプラクティスをどのように活用できるかについてお話しします。
偽りの約束
言語、芸術、音楽、プレゼンテーション全体、コード、公人へのインタビューまで生成できるAIが爆発的に登場しています(Steve Jobsはどう思うだろうか?)。
数ヶ月前までは想像もつかなかったこれらの新しい機能を見ると、近い将来、私たちが言葉を発するだけで、ジェネレーティブAIが魔法をかけて、私たちの頭の中にあるものを正確に表現する非の打ち所のないソリューションを作ってくれると、簡単に錯覚してしまうかもしれません。
しかし、そうではありません。
そう、もしあなたがスモールビジネスのロゴを作りたいとして、プロのロゴデザイナーを雇いたくないとしたら、Midjourneyでいくつかのプロンプトと反復練習をすれば、あなたのために仕事をする十分なロゴを作ることができるかもしれないのです。しかし、それは、あなたがスクラップしたいときにのみ有効です。
しかし、ロゴがどのように見えるか、どのように感じるかという具体的な要件がある場合は、おそらく何度もプロンプトを磨いて、少しでも自分の考えているものに近づける必要があるはずです。
そのためには、人の手による監修や前後の編集が必要で、一言で済ませることはできないのです。
インプットの質の重要性
これは、ジェネレーティブAIを使う上で最も重要なルールの1つである「入力品質が出力品質を決定する」ためだと私は考えています。下の例は、私がChatGPTに与えた一般的なプロンプトを示したものです:
ChatGPTが想像を膨らませ、物事を具体化するために最善を尽くした結果、決まり文句だらけのメールを出力してしまうのは、実はおかしなことなのです。redditで見たミームを思い出します:
それは、AIを私たちのブルシュート・ジェネレーターとブルシュート・デコーダーとして使用することで、このような圧倒的なものになるでしょう。
そして、私が出したプロンプトが悪く、多くの情報を含んでいないため、ChatGPTを責めることはできないのです。メールのスタイル、長さ、私とチームの関係、私が参照している既存のプロジェクトなどを指定していないのです。私の頭の中にはこのような文脈や情報があるのかもしれませんが、ChatGPTは、私がそれをすべて言わなかった場合、それを知ることはできません。
そして、これが難しいところなのですが、ジェネレーティブAIを使うことで私の時間を節約し、必要なアウトプットを得られるように、ちょうどいい文脈を伝える方法を知ることです。
言語への挑戦
私たちの考えをAIモデルに正確に伝えるために、プロンプトを「エンジニアリング」する方法を知ることは難しいのです。英語などの私たちが使う言語は、もともと正確な指示を出すのが苦手です。そのため、私たちは自分の考えを曖昧にせず、効率的にコンピュータに伝えるために、そもそも厳格な構文を持つプログラミング言語を作り出したのです。
コードとは、コンピュータをプログラムできるようにするために設計されたインターフェースです。それは私たちが必要とするものです。客観的で、明示的で、曖昧さがなく、(比較的)静的で、内部的に一貫性があり、堅牢です。
主観的で、意味が暗黙的で曖昧なことが多く、常に変化し、矛盾が生じ、その構造は分析に耐えないのです。「 > 英語にはこれらの性質がないのです。
― Dawson Eliasen : English is a Terrible Programming Language
そのため、人間同士でも日々誤解が生じます。私たちは、自分の考えを相手に理解してもらうために、何度も何度も繰り返し説明する必要があるかもしれません。また、ホワイトボードに描いた図面や、思考プロセスを詳細に説明した文書など、外部の成果物に頼らなければならないこともあります。
AIでも同じことが必要でしょう。
究極の協力者&副操縦士への道
こうした課題を回避するために、AIツールを設計し、位置づける方法がいくつかあります。AIツールがただ「心を読む」ことができるという誤った希望を人々に与えるのではなく、もっと強力な協力者、あるいはマイクロソフトが言うように「副操縦士」として、物事を成し遂げる手助けをしてくれるということを語るべきでしょう。AIツールを設計・構築する人々は、日常的なユーザーが「副操縦士」と正確かつ効率的にコミュニケーションできるような方法も提供する必要があります。
以下は、ジェネレーティブAIの設計をする際に留意すべきいくつかの点です。
1. プロンプトエンジニアリングを抽象化する
プロンプトエンジニアは楽しいもので、年収335,000円稼げる仕事にまでなっています。しかし、このような仕事があるのは、プロのプロンプトエンジニアが、日常的なユーザーの代わりに大変な仕事をするためであり、AIのためだけに別の言語の専門家になる必要はない、と私は考えています。
その代わり、日常的に使う人が、あらかじめ用意された質問やカテゴリーから、自分が探しているものを入力・表現できるようにします。その情報をもとに、より洗練されたプロンプトをシステムが生成し、モデルが良い結果を生み出す可能性を最大限に高めることができます。
これは、特に狭い領域に焦点を当てたプロダクトに有効で、ほとんどのシナリオで役立つプリセット質問のセットを確立することができます。
例えば、HomeByteでは、販売中の住宅を再デザインした画像を生成し、新しい家具やスタイルでどのように見えるかをイメージすることができます。ユーザーがスタイル、部屋のタイプ、カラーテーマを選択すると、ジェネレーティブAIモデルの最終的なプロンプトが生成されます。また、そのプロンプトをユーザーに公開することで、上級者が自分で微調整できるようにしています。
2. 足場と制約を提供する
これは、上記の指摘の延長線上にあるものです。制約を与えることは、ドン・ノーマンによる7つのデザイン原則の1つです。直感に反するかもしれませんが、多くの場合、ユーザーに白紙のページを与えるのではなく、ユーザーの選択肢を制限します(この場合、プロンプトをゼロから生成します)方が効果的なのでしょう。
ストーリーAIはその良い例で、ユーザーにいくつかの入力を求めてから、ストーリーのアイデアを生成します。その内容は、物語のスタイル、主人公の情報、舞台設定、主な対立点、そして物語に対する特別な要望などです。
これらのオプションは、高品質のアウトプットのためにインプットが十分に強固であることを確認するために、ユーザーのリクエストのさまざまな側面を考慮するように促すものです。
3. 既存の成果物を入力として活用する
詳細で高品質な入力を提供するもう一つの方法は、既存の成果物を入力として活用し、ジェネレーティブAIがそれを洗練させたり、スタイルを変えたり、別のフォーマットに変換したりすることです。
Google Workspace と Microsoft Office の最近の発表ビデオでは、このシナリオが説明されています。
例えば、フォーマットを考慮する必要なく、携帯電話でメールのスクラップドラフトを書き、Gmailにそれを正式なものにさせることができます。
あるいは、昨日の会議のメモをそのまま使って、チームのアイデアをすべて取り込み、Microsoft Wordで企画書に変換します。
これは、やはり人間がコンテンツを担当する、人間とAIの素晴らしいパートナーシップだと私は思っています。結局のところ、ジェネレーティブAIは推論エンジンであって、知識ベースではありません。根拠となるコンテンツがなければ、できることは幻覚)と捏造だけです。しかし、人間がコンテンツを提供すれば、たとえ生の状態であっても、AIはそれをスタイリングし、素晴らしいものにすることができます。
4. 質より量
制約があり、良いインプットがあったとしても、AIが1回の試行でユーザーの意図を完全に捉えることは難しいかもしれません。そこで、AIツールにいくつかの選択肢を用意し、ユーザーが好きなものを選んでさらに磨きをかけるような設計にするとよいかもしれません。
質より量 も、ブレインストーミングを行う際の原則の一つです。したがって、ジェネレーティブAIの良い使い方として、一発で最終解を作るのではなく、ユーザーをインスパイアする選択肢を提供することが挙げられます。オラクルではなくミューズと捉えるのです。
これは、AIモデルのいわゆる「欠点」を活用し、利点に変えることができるところでもあります。言語の限界のために難しいかもしれませんが、アイデアの完璧な実行を期待する代わりに、AIモデルがもたらすランダム性を受け入れることができます。AIモデルの「誤った解釈」がセレンディピティな発見につながるかもしれません。不完全な出力が私たちの視野を広げ、新しい未知の道を探ることを促してくれるのです。
5. ユーザーによるコントロールとファインチューニングを可能にする
複数の回答があっても、AIの生成は通常、出発点です。最終的には、ユーザーが結果をコントロールし、微調整する機能が必要になります(Controlは、Jakob Nielsenによる10のユーザビリティヒューリスティックの一つにもなっています)。
ChatGPTでは、新しい制約で応答を再生成するよう依頼することができます。しかし、生成モデルの確率的な性質や、言語の精度の低さから、これは難しいかもしれません。
上の例では、ChatGPTは私が「比喩を維持する」という意味を理解していなかったかもしれません(私も曖昧でした)。私はちょっと表現を変えたかっただけなのに、2回目のプロンプトで全部再生してしまいました。
プロンプトエンジニアリングだけでモデルを何度も再生させるのは難しく、その結果、[21回繰り返してようやくユーザーがあきらめるというフラストレーションのたまる経験になる可能性があります。
しかし一方で、ユーザーが自分で回答を編集したり、その一部を簡単に選択できるようにツールを設計し、直接操作によって変更の必要性を切り分け、さらにAIの助けを借りてそれを改良することもできます。
生成されたテキストはすぐに編集可能なので、これは簡単なことです。しかし、Adobe Fireflyの初期プレビューでは、画像の一部を分離して、ユーザーがニーズに合わせて結果を微調整することも可能であることが示されています。
6. ユーザーの習慣や嗜好から学ぶ
このような行き違いは、他の人間と仕事をしているときでも、特にコラボレーションの初期段階ではよくあることです。時間が経つにつれて、お互いの仕事のスタイルや好みを知り、より簡単に共通の基盤を確立することができます。
よく設計されたAIシステムも同様で、暗黙的・明示的な入力を通じてユーザーの習慣や好みを学習するはずです。
現在のAIツールは、通常、ユーザーが応答の品質についてフィードバックを提供することを許可するだけであり、ユーザー向けにモデルをさらにパーソナライズするのではなく、モデル自体を改善することを目的としています。
今のところ、ユーザーごとにパーソナルモデルを作成するのはかなりコストがかかるかもしれませんが、将来的には、過去のユーザーとのやり取りから学習し、時間をかけてユーザーのスタイルを学習し、より少ない回数でユーザーのニーズを満たすパーソナライズされた応答を生成するモデルが出てくるかもしれませんね。
まとめ
ジェネレーティブAIが話題になっていますが、その熱狂ぶりに、人々はジェネレーティブAIができることに非現実的な期待を抱いているかもしれません。しかし、忘れてはならないことがあります:
- ジェネレーティブAIでは、入力の品質が出力の品質を決定します。可能であれば、ユーザーに選択肢や制約を与え、ユーザーの代わりに高品質のプロンプトを生成します。人間が生成した既存のコンテンツを生のまま活用し、それをAIの超能力で洗練させます。
- 言語は不正確であり、AI生成モデルは確率的です。より多くの選択肢があれば、セレンディピティな方法でユーザーにインスピレーションを与えることができるかもしれません。言語の限界を補うために、ユーザーが直接操作して結果を編集できるようにします。
- 長期的には、ユーザーの習慣を学び、適応させることで、よりシームレスなコラボレーションを実現します。
お読みいただきありがとうございました!ジェネレーティブAIには、この記事で取り上げたこと以外にも多くのことがあります。生成やインスパイアに加え、人々は洞察を得たり、アドバイスを得たり、さらには物事を自動化するためにも使っています!また、コメントでご意見をお聞かせください!。