Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ChatGPTをソフトウェア開発に活用する

 ChatGPTをソフトウェア開発に活用する

社内勉強会資料です。
仕組みは一旦脇に置いておいてChatGPTを具体的にどう活用していこうかといったことを中心にまとめた資料になります。

More Decks by 福岡情報ビジネスセンター

Other Decks in Programming

Transcript

  1. マスター タイトルの書式設定 2 ChatGPT使ってる︖ 今 回 は C h a

    t G P T 3 . 5 に 限 定 し て 話 を し ま す
  2. マスター タイトルの書式設定 3 ChatGPTとは C h a t G P

    T に つ い て C h a t G P T さ ん に 聞 い て み よ う 3
  3. マスター タイトルの書式設定 6 ChatGPTについて⽤途別に分類 6 • 未知の⾔語、ライブラリ、FWのコードリー ディング、ライティング • 設定ファイルについて説明

    • バグ、エラーについて検証、あたりをつけて もらう • ⽤語の逆引き • (わかりにくい)指⽰、説明等について解 説してもらう • トランスパイル、変換 • テストデータ⽣成 • コメント⽣成 • ソースコードの改善提案 • アイデアだし • 命名 • 各種ドキュメントのたたき台を作成する • DB設計 • メール⽂等の⽣成 ※今回紹介するのは一例でまだ無数に用途があるはず
  4. マスター タイトルの書式設定 7 ChatGPTについて⽤途別に分類 7 質疑応答 未知の言語、ライブラリ、 FWのコードリーディング、 ライティング 設定ファイルについ

    て説明 バグ、エラーの検証 用語の逆引き 指示、説明等に ついて解説 変換 言語A⇔言語B 設定ファイル⇔日本語 ORM⇔SQL csv⇔json コードについて説明 生成 テストデータ生成 コメント生成 命名 コード生成 アイデア ソースコードの改 善提案 アイデア出し ドキュメントのた たき台
  5. マスター タイトルの書式設定 14 条件X,Y,ZでAをする⽅法は 14 • 前提条件がある場合にGoogle検索だととても時間がかかる • ChatGPTだと様々な条件を踏まえた上で回答を返してくれる 以降具体例

    やりたいことは • テーブルの⾏がクリックされたときにラジオボタンをチェックする • テーブルのidは”product” • ⼀番左の列がラジオボタン • jqueryを使⽤する
  6. マスター タイトルの書式設定 19 以前のようにGoogle等を使⽤して調べる場合 19 • タスクを分割して複数回調べることになる • DOMへのアクセス⽅法を調べる必要がある •

    クリックイベントの処理を調べる必要がある • ラジオボタンをチェックする⽅法を調べる必要がある • 上記の情報を得るため検索結果の3番⽬くらいをクリックして冗⻑な⽂章と広告か ら必要な情報を抽出する必要がある • $(document).readyなど必要な処理が⼀部が省かれているケースがそこそこあ るので調べた通りにやっても動かない可能性がある • jQueryを知らない場合はそもそもどうやって読み込むのかも調べないといけない • 調べてキャプチャを貼る予定だったが⾯倒すぎたので辞めた
  7. マスター タイトルの書式設定 21 ChatGPTは理解⼒に優れている 21 • 誤字脱字があっても問題ない • 必要に応じて⾜りない情報を補ってくれる(勝⼿に⾏間を補⾜するとも⾔う) •

    恐らくほとんどの未経験〜新⼈(ひょっとしたら中堅以降も)は⽂書の理解⼒と いう点では勝てない • ⽂章の表現⼒も同様に優れている → わからないことをわかりやすく説明してくれる
  8. マスター タイトルの書式設定 43 ここまで初級レベル 43 ま だ C h a

    t G P T を 使 い こ な し て い る と は ⾔ え な い
  9. マスター タイトルの書式設定 45 ハルシネーションとは 45 • ChatGPTにおけるハルシネーションとは、誤った情報を⽣成する現象。 • 訓練データの不⾜(マイナーだったり専⾨性が⾼い情報) •

    質問が曖昧、情報不⾜で無理やり⾏間を埋めようとしている • 情報の真偽を区別しないという特徴 が原因で発⽣する • 「使えない」と⾔っている⼈はハルシネーションが発⽣しやすい⽤途で 活⽤しようとして失敗している。つまりわざわざ不得意なことをやらせて いる。 『幻覚』というより『勘違い』あるいは『知ったかぶり』の⽅が近い気がする
  10. マスター タイトルの書式設定 50 ChatGPTは変換するタスクが⼤得意 50 • Java⇔PHP • 設定ファイル⇔⽇本語 •

    ORM⇔SQL⇔⽇本語 • SQLのCreate⽂→Insert⽂ • フォーマットX⇔フォーマットY • 設計書 → SQL → ORM • 設計書 → コード(条件分岐等) • 英語⇔⽇本語 • ⼝語(話し⾔葉) ⇔ ⽂語(書き⾔葉) • 箇条書き → ⼝語 • ⽂章の要約 • 正規表現 ⇔ ⽇本語 • メールの⽂章を整えてもらう • ⾳声⼊⼒した内容に句読点をつける • 誤字脱字修正 ※望む回答が返ってきた例をよくよく⾒てみると質問ではなく変換するタスクだったりするのでは︖ プログラムを説明してもらうといったタスクもプログラム→⽇本語に変換しているとも⾔える わかりやすい⽂章に修正して、ビジネス向け⽂書に修正して等
  11. マスター タイトルの書式設定 63 依頼すれば追加でアイデアを出⼒することも可能 63 • 数が欲しい場合に100でも200でもアイデアを出⼒してくれる • 追加で条件を指定することも可能 •

    良いテーマがあればそこからアイデアを膨らませることもできる • 内容によっては曖昧な返答でお茶を濁されるが「具体的に」「参考に なるような情報」「ヒントください」といった追加指定をすることで頑張っ てアイデアを出してくれる
  12. マスター タイトルの書式設定 64 その他例 64 • ChatGPTをソフトウェア開発に利⽤するための講義資料を作成しようと考えています https://chat.openai.com/share/913807be-99ee-4dfd-8896- 316ab2b1baa1 •

    ウェブアプリケーションにおいてどのようなログを出⼒するとよいでしょうか https://chat.openai.com/share/5e29c79e-ff35-4552-b89b- a01dccf5703b • 優れたGitコミットメッセージのサンプル https://chat.openai.com/share/4c81c278-04e2-4674-bf14- 37397a33b1cc • ⽣成AIを利⽤したビジネスアイデア • ウェブサービスのマネタイズ⽅法について • ソフトウェアエンジニアとしてのキャリアってどうしたらいい︖ヒント頂戴。 • ⽬標を⽴てたい。具体例を挙げて欲しい
  13. マスター タイトルの書式設定 79 XXXXにおいて必要な項⽬を挙げてください 79 • CRMシステムの提案書についてアウトラインを教えてください • アプリケーション開発の提案内容について網羅してください •

    Webアプリケーションにおける⾮機能要件にはどのようなものがありますか • 要件定義の進め⽅について教えてください • プロジェクトにおける課題管理について適切な⽅法を教えてください • プロジェクトにおいて不具合報告をするときにどういった項⽬があると良いですか • 掲⽰板システムを開発するために必要な情報を⼀覧で教えてください https://chat.openai.com/share/f8297916-44ff-4103-a20f- d26feed0b344 出⼒結果の⼀部に対してさらに深掘りすることが可能
  14. マスター タイトルの書式設定 83 83 • 複数選択肢を提⽰してメリットデメリットを上げてもらう • これこれこういうことがやりたいんだけど • 表形式で出⼒してください

    • 400⽂字程度にまとめてください • 具体例をあげて質問する • XXXXより良い表現⽅法はある︖ • (思ってたのと違う回答なので)XXXXという観点で回答してほしい • まとめて指⽰を出さず⼀つ⼀つ明確でわかりやすい指⽰を出す(⼈間と同 じ︕︕)
  15. マスター タイトルの書式設定 89 ChatGPTは登場以前のAIのイメージと明らかに異なる 89 0 0.5 1 1.5 2

    2.5 3 3.5 4 4.5 5 国語 英語 プログラミング 数学 物理 AIの能力(イメージ) ChatGPT Before ChatGPT 今まで抱いてきた(であろう)AIのイメージ • 全体的に能⼒が⾼く、⼤体何でも出来る • 計算は完璧、⽭盾するケースを除いて間違えな い • 融通が聞かない、頭が固い • 創造性がない • 論理的思考に優れ、直感的な思考は苦⼿ ChatGPT(およびそれに類するもの) • 計算に弱い • たまに間違う • 理解⼒、読解⼒そして語学⼒、表現⼒に優れ ている。 • アイデア出しが得意 • 直感的な思考に優れ、論理的な思考は苦⼿
  16. マスター タイトルの書式設定 93 Bing 93 • 3つの会話スタイルを選択できる • より想像的に →

    本家ChatGPTに⼀番近い︖ • よりバランス良く → Bingの検索結果1つ、2つ⽬を要約した様な出⼒ • より厳密に → Bingの検索結果1つ、2つ⽬を要約した様な出⼒ • 最新の情報に対応可能 • 質問に画像を使⽤可能 • サービスへの導線が悪い。あとUXも悪い • いろいろできるらしい • カタログスペックはChatGPT本家より上(GPT-4)のはずだが使い勝⼿が良くない • 嘘をつく可能性は下がっているので知識が欲しい場合は選択肢の⼀つになるかも
  17. マスター タイトルの書式設定 94 Bard 94 • 2023/08/20時点でまだβ版 • 質問⼀つにつき複数の回答を作成してくれる •

    ソースコードのコメントを出⼒する等の⼀部のタスクは⽇本語で使⽤ するChatGPT3.5よりも精度が良いケースがある。 • 画像の分析等 • 今回紹介したタスクについてはほとんど実⽤可能なレベルになっている • バージョンアップが随時おこなわれている(直近で9/19) • ChatGPT3.5の性能を超える⽇は遠くないかもしれない
  18. マスター タイトルの書式設定 95 SGE 95 • 端的に説明するとGoogleの検索結果の要約 • Bingのチャット機能(より厳密に)が近い •

    「jQueryでテーブルのヘッダにクリックイベントを追加する⽅法は」と いった質問は苦⼿ • まだ(9/19)性能は悪い • 10/12 画像⽣成機能
  19. マスター タイトルの書式設定 96 ChatGPT4について 96 • 現時点で無償で公開されているChatGPTのバージョンは3.5。そのうえ ⽇本語で使⽤するChatGPT3.5は本来の数割程度の実⼒しか出せて いない。 •

    より⻑い⽂章が扱えるようになる • 計算能⼒や論理的思考能⼒が上がっている(ように⾒える) • 最新の情報を検索するウェブブラウジング機能 • プログラミング向けに調整されたコードインタプリタ機能 • プラグインを使⽤可能 • 20ドル/⽉ • etc ……
  20. マスター タイトルの書式設定 97 GPT-4Vについて 97 • 9/25リリース • 有料版で使⽤可能 •

    画像のアップロード、分析 • クラス図 → Java等のクラス • 画⾯モックアップ → HTML • ER図 → Insert⽂ → サンプルデータ及びInsert⽂ • 株価チャートなどグラフの分析 • AWSのアーキテクチャ図を説明してもらう • コピペ不可のPDF、画像等から問題⽂を読み取って解答 • etc……
  21. マスター タイトルの書式設定 98 ⽇ 進 ⽉ 歩 で 進 化

    す る た め 資 料 が 追 い つ か な い 98 各社画像⽣成機能も統合されている
  22. マスター タイトルの書式設定 10 0 ChatGPTを使⽤する時の留意点 10 0 • 実装における全てを置き換えるようなものではない •

    妥当性の検証が必要 • (時間を掛ければ)⾃分でも出来るタスク、検収可能なタスクが良い • 機密情報を⼊⼒しないこと • 知識を求めるような質問は⾮推奨 • 英語の⽅が精度が良いとのこと。そもそもまだ⽇本語対応していない • 9⽉中旬頃から本当の⽇本語対応が始まった︖(α版)
  23. マスター タイトルの書式設定 10 1 ChatGPTには得意なことをやらせる 101 • ⼊⼒と出⼒が不定型のものに強い • ChatGPTは間違えることがある

    → 正解、不正解のないタスクを実⾏すること ができる(アイデア出しなど) • ChatGPTは間違えることがある → プログラミングにおいてChatGPTによる出 ⼒を随時テスト、動作確認することで未知の⾔語、FWでも⾼速に実装を進 めることが可能になる • パフォーマンスや実装に不備がないか検証する必要がある • ⽣成物の確認、検証は⼈間の仕事 ⾼度な知的作業は答えがない(ことが多い)
  24. マスター タイトルの書式設定 10 6 よ り ⾼ 度 な タ

    ス ク を こ な し 、 よ り ⾼ 度 な 判 断 を し よ う 106 良い質問をしよう 良い質問が出来るようになろう