見出し画像

東京都の生成AI活用事例集にツッコミを入れてみる

この記事の概要
・本記事は、東京都の文章生成AI利用ガイドラインに基づき、都職員による生成AIの活用事例集の評価と改善案を提案しています。
・著者は生成AIを利用した事業でCTOを務める株式会社Trippyのsaip (@_saip_) です。
・東京都が提供する事例集には創意工夫が見られる一方で、プロンプトの誤用や古い認識も指摘されています。
・平易な言葉を使用し、ChatGPTの活用法について解説しており、AIを使ってストレスフリーな生活を送る方法を提案します。
・良いプロンプトの作成方法やマークダウン記法の正しい使用方法、高品質なプロンプトの例も紹介しています。
・AIとの効率的なコミュニケーションを促進するための具体的なテクニックが多数含まれています。

GPT-4で作成

こんにちは、saip (@_saip_) です。
生成AIを利用した事業をしている株式会社TrippyでCTOを務めています。

Xで話題になっていたところてんさんの以下のポストから、「都職員のアイデアが詰まった文章生成AI活用事例集」という資料が公開されていることを知りました。

PDFはこちらのリンクから閲覧することができます。

この資料には都職員の方々の創意工夫や実際の業務での活用事例が掲載されており、大変勉強になりました。

一方で、冒頭のように、プロンプトに対する誤謬や古い認識が見られる箇所も。

そこで今回は、いち東京都民として、あえて技術的な用語を排し、平易な言葉でChatGPTのグッド・ノウハウをご紹介します。生成AIを活用し、面倒なことは全部ChatGPTにやらせて、思考のリソースを外注し、ストレスフリーで快適な人生を送りましょう。

そもそもプロンプトとは

ChatGPTは、確率論的に回答を推測して文章を生成しています。

期待する出力が得られるプロンプトを書くためには、より出力が確定的になるようにしていくことが大切です。

出力が確定的になるプロンプトとは、出力される文章が的確に言い表されたものであるといえます。

また、ChatGPTはプロンプトに登場する単語を重み付けします。

マークダウン記法による構造化や強調によって、重要なキーワードを明確にする。出力される文章の必然性が高まるような、関連性があり一般的なキーワードを与えていくことが重要です。

プロンプトはどう書くべきか

ChatGPTの進化により、日本語の理解度や出力品質、読み込める文章量が飛躍的に上昇しています。昨年よく言われていたノウハウはすでに過去のものとなりつつあります。そこで、最新のノウハウをご紹介します。

  • プロンプトの一番最初に端的に指示を書く
    →「◯◯を書いてください」「以下の◯◯をまとめてください」のように、一番最初の一行目に明確に指示内容を書いてください。
    なぜなら、プロンプトの最初(と最後)が最も出力に影響を与えるからです。

  • 意味のない役割付与をしない
    一般的なタスクの場合は役割を付与しないでください。「あなたは◯◯です」というような役割付与は、独自の切り口を与えたいときのみ効果があります。最初にこれを書くより、上のような「端的な指示」を書いたほうが高品質な出力となります。

  • 品質の指定をしない
    「最高の」「最高品質」などのキーワードは書いてはいけません。なぜなら、GPT-4レベルの生成AIはもとから高品質な出力をするようにトレーニングされているからです。むしろこのような抽象的なキーワードを書くと出力が過度に複雑になり、読みづらくなることさえあります。

  • 出力のルールを指定する
    → ChatGPTによって出力された文章が「最高」かどうかを判断するのはあなたです。どのような出力結果であればあなたが「最高」だと思えるか、具体的かつ明確に箇条書きで書いてください。

  • マークダウン記法を正しく使用する
    マークダウン記法を正しく使用してください。ChatGPTは、マークダウン記法によって書かれた文章でトレーニングされています(訂正: マークダウンで構造化することで、ChatGPTが文章の構造を把握しやすくすることが重要です。)半角スペース含め、正確に記述してください。なぜなら、半角スペースの有無でトークンIDが変わるため、ChatGPTにとっては別の単語として扱われるためです。以下はマークダウン記法の大まかなルールです。

    • 大項目は「## 」(半角シャープ2つ+半角スペース1つ)ではじめる

    • 小項目は「### 」(半角シャープ3つ+半角スペース1つ)ではじめる

    • 箇条書きは「- 」(半角ハイフン1つ+半角スペース1つ)ではじめる

    • コードは「```」(バッククオート3つ)で囲む

    • インデントは複数行の箇条書きのときにのみ「  」(半角スペース2つ)単位で使用する。それ以外は使用しない

    • 構造化する。「## ルール」や「## 形式」などのみ大項目とし、むやみに見出しにしない。

  • 理由を書かせる
    アイデアや草案を書かせる場合は、必ず理由を書かせてください。なぜなら、ただだらーっとアイデアを書かせても、なぜそういう出力がなされたかを理解・原因究明できないからです。理由がズレているのであれば、より解像度の高いプロンプトを与えればよいのです。人間の部下の仕事がいまいちだったら、なぜそうなったか理由を聞きますよね。それと同じです。

  • 必要な情報や前提条件を全て揃えてプロンプトに書く
    初対面の人が知らなそうな情報はすべてプロンプト内に記載してください。あなたがもし初対面の人に仕事を依頼するとしたら、必要な情報や資料、要件を全部そろえて渡しますよね。ChatGPTも同じく、常に初対面なのです。ちゃんと丁寧にすべて教えてあげてください。固有名詞や通称をChatGPTはもちろん知りません。正式名称を使い、省略せず、説明を洗いざらい書いてあげてください。もちろん、どこかから資料をざっくり全部コピペしてくるだけでも良いですし、もし資料が整形されてない場合は、それらを事前にChatGPTにマークダウン記法でまとめさせてから、あらためて渡してあげてもよいです。GPTsを利用して、あらかじめ事前情報をプロンプトに入れておくことで、この手間を省くことができます。

高品質なプロンプトのサンプル

前項のルールを踏まえて、資料の中で紹介されていたプロンプトをブラッシュアップしてみます。

プロンプト1: 修正前

以下の税金に関して説明して下さい
#税金 の種類
  住民税
#出力形式
  小学三年生にも理解できるように、漢字の熟語はできる限り使用せず、ひらがなの言葉で説明すること
  200文字以内で

プロンプト1: 修正後

「住民税」について、以下のルールに沿って、10歳の子どもがわかるように説明してください。

## ルール
- 漢字の熟語は使用せず、ひらがなで表記すること
- 200字以内の文章にすること
  • 1行目に簡潔かつ完全な指示を書きます。

  • 「ルール」として、箇条書きで具体的な指示をまとめます。

  • 特定の文化圏(日本)でしか使われない「小学三年生」という条件付けより「10歳」と指定する方が、より表現として一般的なため効きやすいことが期待できます。

  • 否定の指示(~しないでください)と書きたい場合は、常にどうすべきかを併記(~せず、~すること)してください。

  • ChatGPTは現在の文字数を数えられないので、文字数指定はあくまで目安となります。

プロンプト2: 修正前

下記の内容で、簡潔な文章を作成してください
#話し手
  デジタルサービス局長
#聞き手
  部下の職員
#内容
  年始のあいさつ
#強調したいポイント
  都民のためにデジタルサービスの向上に取り組む
#分量
  200文字程度

プロンプト2: 修正後

東京都デジタルサービス局局長として、局の職員に対する年始のあいさつの文章を以下の内容で200字程度で書いてください。

## 内容
- 都民のためにデジタルサービスの向上に取り組んでいきたい
- (デジタルサービスの向上について具体的に書く)
  • 1行目に5W1Hをざっくりと書きます。

  • 複数行にわたる情報が必要な場合のみ、項目を立てて書きます。

まとめ

ここで紹介したコツ…というか作法は、いわば論理的思考のトレーニングです。ChatGPTに伝わりやすい指示は、必然的に人間にも伝わりやすくなります。逆に言えば、ChatGPTに伝わらない指示は、人間にもきっと伝わっていません。

ChatGPTは魔法使いではなく、関数です。

プロンプトは難解で強力な呪文などでは全くなく、あくまでChatGPTという"関数"に引数として渡されるインプットにすぎません。

例示(Few-shot Learning)も段階的な思考(Chain of Thought)も、結局は人間に対する指示の具体化や、作業する際のタスク分解・整理に準ずるものとして考えると、それほど特殊なことではないですよね。

的確で高品質なプロンプトを入れることで、はじめて性能が発揮され、期待する回答や結果を得ることができるのです。

もし不明点や疑問点があれば、お気軽にsaip (@_saip_)までご連絡ください。

お仕事のお話はこちら
https://tr1ppy.com/contact 

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