見出し画像

自社サービスでCopilotをうごかすなら?を考えた話

この記事は検索エンジンプロダクトを一緒に開発してた同窓会 Advent Calendar 2023の22日目の記事です!

Flyleでデザイナーをしているたけです🎍
Copilotの登場でユーザーインターフェースの役割はどう変わるのか?を考察した 2023年7月ごろのドキュメントを公開します✊
個人的な考察の書きちらしですが良ければ読んでみてください〜!

背景

とあるサービスのお手伝いで、自社製品にCopilotを作るならどんなコンセプトで、何ができる存在なのか?を考える機会がありました。

こんな話をします

  • 自社製品でCopilotをつくろう!となったときの頭の中の整理

  • ユーザーインターフェースの歴史から見たCopilotの特異点

  • Copilotでやるべきこと / そうではないこと(失敗談)

さきに結論

  1. Copilotによって人間がユーザーインターフェースに合わせる → 人間にユーザーインターフェースが合わせるに変わるのでは…?でも万能薬ではない💊

  2. チャット形式のインプットにこだわるべからず、扱うオブジェクト(=データ)の特性によって受け取るインターフェースの最適解は違う🧐

Copilot構想で考えたこと

サービスへの生成AIの導入2パターン

  • 既存のワークフローを理想の形に変化させる「生成AIを使った新機能」

    • 例:FlyleのAI機能、ビズリーチのレジュメ生成、求人票作成

  • 既存のワークフローを理想の形に変化させるために既存機能を横断的に使いこなす「Copilot」

    • 例:MicrosoftのCopilot、GitHubCopilot、GoogleのBard

サービスの状況、チームへの要求として1の機能をつくりながら、2の構想をふくらませてみようというタイミングがありました。

ワークフローの理想像を生成AIで実現しようとする

まず、極端に最適化されたワークフローを描きました。0秒でXXできるとしたら?のような。
理想像を検討することで、具体的な機能案と、システムへの指示が曖昧で複雑なので「自然言語の指示で吸収したい」アイデアが生まれました。

Copilotの仕様を考える

「システムへの指示が曖昧で複雑なアイデア」をチャット形式の自然言語で指示できる仕様を検討しました。

ユーザーインターフェースの歴史から見たCopilot

Copilotでユーザーインターフェースはどう変わる?

  • 人間がユーザーインターフェースに合わせる、から(掴む・押す・など具体的な操作)

  • 人間にユーザーインターフェースが合わせる、に変わる(自然言語から意図を汲む)

GUI以降、具体的なアクションをユーザーから自然に引き出すのがユーザーインターフェースの役割でした。
人間がGUIに合わせてアクションをしていたところから、GUIが人間に合わせて意図を汲めるように変わったのがCopilotといえます。

参考:https://baigie.me/sogitani/2015/11/ui_history_trends/

Copilotにおけるユーザーインターフェースのポイントは?

人の変化

  • Before:人間が具体的な行為を行なって結果を得る

  • After:人間は正しく期待する結果を伝える技術が重要になる

ユーザーインターフェースの変化

  • Before:具体的なアクションを自然に引き出すのがユーザーインターフェースの役割

  • After:人間から正しく結果を引き出すことがユーザーインターフェースの役割

Copilotでやるべきこと / そうではないこと(ちょっと失敗談)

ここまで、Copilotでは画期的な体験を生み出せそうな雰囲気でまとめていましたが、実際のそんなに簡単ではなく。。

結論、対象とするオブジェクト(データ)の特性次第では、チャット形式の指示では人間の意図を正しく汲む難易度が高く仕様を見直すことになりました。

  • 曖昧なインプットではAIが人間の意図を正しく汲むことが難しい

  • インプットを具体的に引き出すにあたり自然言語は必ずしも最適ではなく、「タグや、ラベル、レベル感、要約」など定型的に定義した上で、人間の意図を正しく反映して調整できる形に見直し

Copilotでできること例

  • 届いているメールを要約してほしい→自然言語で必要十分に具体的な指示ができるため、入力コストも低く、アウトプットもシンプル

Copilotには向かないこと例

  • なんとなく〜〜してほしい(暗黙的にはxxと▲▲というパラメータを◯◯と■■に変える)→自然言語では必要十分な指示が得られず入力工数が大きいだけなので、そもそもインプットを自然言語にすべきてはない

自然言語で必要十分な指示を簡単に記述することができ、既存機能の組み合わせを生成できる場合はCopilot(自然言語によるシステムへの指示とワークフローの生成)が活躍できますが、そうではないケースは多くあります。

絶賛開発中なので、また学びを紹介できたら嬉しいです!

おわりに

お読みいただきありがとうございました!良い週末を🎄🌟

この記事が気に入ったらサポートをしてみませんか?