見出し画像

【ChatGPT】実践的なプロンプトの書き方-プロダクト開発でAI機能を実装した話

こんにちは。

パーソルプロセス&テクノロジー株式会社 プロダクト統括部developmentグループの森です。
普段は経営会議のためのマネジメントツール TIMO Meetingのエンジニアを担当しています。

業務で今流行りの生成AIを活用して機能開発する機会があり、今回はプロンプティングで工夫したことについて投稿したいと思います!是非みなさんもプロンプトを作成する時試してみてください(‘ω’)ノ
(開発には、Open AIのGPT3.5のAPIを利用しています)

大学時代にAIの研究をしていて、当時はディープラーニングを用いて人の匂いのデータを学習させたモデルを作り、部屋に人がいるか判定するソフトウェアや水族館と共同で畳み込みニューラルネットワーク(CNN)で生物の画像を学習させたモデルを作り、行動パターンを分析するソフトウェアなどを開発していました。
今回、PPTの業務ではじめてAIを活用した開発ができて嬉しいです!


GPTモデルがベースとしているTransformerモデルとは

さてプロンプトの話に入る前に、GPTモデルがベースとしているTransformerというモデルについて軽く触れたいと思います。
自然言語処理モデルにはRNN、LSTMなどがありますが、その中でも自己注意力(Attention)という新しい機能を採用したのがTransformerモデルです。
データが時系列に従って処理されるRNNやLSTMとは違って、データの順番に依存せずに、全てのデータを一度に考慮に入れて処理ができるという特徴を持っています。
この仕組みのおかげで、大量のデータを一度に処理ができ、大規模なデータセットの学習時間を大幅に短縮できるようになりました。
OpenAIのGPTモデルはこのTransformerのアーキテクチャをベースとして開発しているそうです。
ちなみに僕は知らなかったのですが、ニュースでGPT-3.5とGPT-4をよく耳にしますが、GPT-1、GPT-2もあるそうです。バージョンが上がるにつれて、学習に使われているパラメータ数もGPT-1は「1億1700万個」、GPT-2は「15億個」、GPT-3では「1750億個」と大幅に増えています。

プロンプティングについて

ここからはTIMO MeetingでGPTを活用した際のプロンプティングについてお話したいと思います。
今回実装したのは、AIアシスタント、AIアドバイザリー機能です。

AIアシスタント機能は、アジェンダに登録した添付資料をGPTに読み込ませ、会議体にあったテンプレート(決議・議論・報告)に沿ったサマリーを自動生成し、アジェンダの作成時間を削減します。サマリーは目的・目標・背景・概要・想定される論点などの項目に対する文章を生成して自動で入力します。

AIアドバイザリー機能は、アジェンダに登録した添付資料やサマリーに関する質問を投げかけると、GPTからのアドバイスが受けられる機能です。市場に関することや、コンプライアンス的な観点などの精査をGPTが実施し、よりブラッシュアップされたアジェンダ作成ができます。

こちら記事に取り上げていただいています。

今回の機能実装ではプロンプトの試行錯誤がかなり大変で、検証に時間を費やしました(;´Д`)
GPTにプロンプトを入力する際の形式は決まりがなく自由ですが、入力の際に意識することで、出力の質が向上する要素があります。
それは「Instruction(命令)」「Context(文章)」「Input Data(入力データ)」「Output Indicator(出力指示)」です。
今回はこの4つの要素を意識しプロンプトを作成しています。

Instruction(命令)
GPTに何を行ってほしいのか指示を伝える。
例:「文章を要約してください」「論点を4つあげてください」

Context(文章)
指示の背景情報を伝える。
例:「あなたはマーケターのプロです」「あなたは経営企画のファシリテーターです」

Input Data(入力データ)
GPTが処理する具体的なデータや情報を伝える。
例:ファイルの情報や要約してほしい文章など

Output Indicator(出力情報)
GPTにどのような形式で出力してほしいか伝える。
例:「日本語で300文字以内で回答してください」「出力の文章は「である調」で回答してください」

これらの要素を組み合わせることで、ある程度精度の良い回答が得られました。
以下はサンプルのプロンプトです。

エンジニアの開発定例で議論すべき論点を【入力情報】をもとに3つあげてください。
回答の出力形式として【出力形式】の条件で回答してください。
あなたは優秀なスクラムマスターです。

【入力情報】
ここに議論したいアジェンダや内容の文章を記載する

【出力形式】
・日本語で30文字以内で回答してください。
・文章は「である調」で回答してください。
・【入力情報】の情報が足りない場合は、インターネットの情報を活用して回答してください。

是非、みなさんも色々なプロンプト試してみてください!

最後に

プロダクト統括部は、パーソルグループ内でも新しい技術を素早く取り入れて機能開発したり検証を行ったりするカルチャーがある部署です!
エンジニアにとっては自由で成長できる環境だなとつくづく思います。
エンジニアを積極的に募集中なので、ご興味ある方いらっしゃいましたら、ご応募お待ちしております!

<一緒に働いていただける方(中途/新卒) 募集中です!>
就職/転職活動中や、まだ情報収集中の方、少しでも興味を持っていただけた方は、以下のアドレスに「note見た!」とご連絡いただけると幸いです💡
プロダクト統括部/採用担当アドレス:pdo_js@persol-pt.co.jp


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