ChatGPT Meetup Tokyo #2に参加してきました！

リアルタイム受講レポです。雑な走り書きですみません🙏

https://chatgpt.connpass.com/event/281310/

（ご登壇者名は敬称略させていただいております）


# 初学者のためのプロンプトエンジニアリング実践 / 新居田晃史(JBAT)

ありがたい導入セッションです。

https://www.promptingguide.ai/jp

なぜプロンプトエンジニアリングに向き合うのか？
-> 言語モデルを効率的に使用するための開発および最適化テクニック！

プロンプト設計のヒント
- 指示
- 特異性
- 不正確さを避ける
- するかしないか？

-> 簡単に始める（シンプルなプロンプトから少しずつ）が大事！

知っておきたい用語
- Temperture
- Top_p
- モデル
- トークン

テクニック
- Zero-Shot
- One-Shot, Few-Shot
- Chain-of Thought
- その他（色々ある）

プロンプトに潜むリスク
- プロンプトインジェクション
- プロンプトリーク（入力内容が漏れる）
- ジェイルブレイク

-> 防御策もそれぞれ存在する

![IMG_1902.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1633856/2382dce5-6ade-ff87-3181-87bc02143c6f.jpeg)


# 社内でChatGPTを利用するためのガイドラインを整備した話 / 江口佳記(クラスメソッド)

クラメソさん社内でのガイドライン整備の話。セキュリティ担当の立場からの経験談。

https://dev.classmethod.jp/articles/guideline-for-use-of-ai-services/

- きっかけはNotion　AIを「使って良いのか否か」問い合わせがあり話題になったこと
- 今後、色んなSaaSでAI機能の出現が予想されるため、つどセキュリティ担当や情シスで問い合わせを受けなくても良いようガイドライン整備を実施した
- そもそも自分が使いたかった！

ガイドラインを公開した理由
- お客様のリファレンスにしてもらうため
- 知見共有がクラメソの文化。バックオフィスでもお客様に貢献できる！

公開した効果
- ルールを守れば積極的に使っていいという意識を広げられた
- お客様からの相談や、取材も舞い込んできた

今後どうするか
- まだまだ悩みどころ多い。継続的なメンテが必要！
- AIサービスが日々進化している。変化の取り込みが必要


# ChatGPTを聞き手にしよう / 田島逸郎(Georepublic Japan)

生成AIに何かを書かせるのではなく、「自分が書いたものにツッコミを入れてほしい」に挑戦。
- Bing AI Chatのサジェスト（次はこれを聞きたいんじゃないですか？）にインスピレーションを得た
- やってみたら鋭い質問をしてくれた。答えていたら疲れるほど

やってみて分かったこと
- 自分が書いた内容をインプットするのでハルシネーションは起きにくい
- 間違いの指摘はしてくれないので注意
- 学問分野（論文など）だけでなく、ソフトウェア開発などでも色々応用できそう


# ChatGPTとこころを整理してみる / 矢野通寿

学習ではなく「推論」で精度を上げるアプローチについてのLT。

自分の「心の整理」をChatGPTにやってもらった。
- 以前、日記をつけていると思考が整理され心が穏やかになる経験があった
- 最初、試しに相談してみたら正論が返ってきたｗ ので今回の工夫を実施。

フロント＆バックエンドを自分で作ってOpenAIのAPIを利用。
（構成はスライド共有いただけたらご参照を🙏）

出来たもの：以下の3つの質問に回答すると、GPTさんが返事をくれる
- 今日モヤモヤしたことは？
- 今日印象に残っていることは？
- 今日嬉しかったことは？

ちなみにフロントエンド画面内でCat as a Service（CaaS）を利用されていましたｗ

https://qiita.com/e99h2121/items/6d5cc72679f43aa37be2


# Raspberry Pi でChatGPT と会話をしてみよう / 工藤淳(アイレット)

ラズパイ持参！！流石です。

![IMG_1904.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1633856/ed982c48-1dfc-6671-52bc-61e79d6d82bf.jpeg)

初手でいきなり「Hey Computer!!」と叫ぶと、ラズパイ君が反応してくれました。
- 会場の皆さんに挨拶してください -> かわいい声で挨拶してくれました！
- 工藤淳の紹介をお願いします -> 反応なくセルフ自己紹介ｗ

Conversational Speakerを活用
- Microsoftが公開しているプロジェクト
- プログラムが書けなくても使える（公開コード）
- ラズパイはこのために買ってきました

https://github.com/microsoft/conversational-speaker

バックエンドはAzureで構築。OpenAIのAPIもAzure版です。

音声入出力のメリット
- ハンズフリー、タイピング不要
- 自然なコミュニケーションできる
- 手の不自由な方にも活用してもらえるかも

デメリット
- 音声認識の誤りが生じる
- 周りがうるさいと認識されづらい
- 会話がスムーズに進まない（気まずい沈黙）
- 方言のクセが強いと認識してもらえない

番外編：Microsoft Build 2023の紹介
- OpenAIの話がたくさんあった
- Copilotやエンプラ向けのAI安全性が気になったトピック
- WindowsにもCopilotが載ってくる！のでIT管理者は今後避けられない存在に？


# GPTでいろいろコードを書いてみた感想 / 佐々木健

おっさんレンタルの中の人をされてる佐々木さんｗ
（なお当日、登壇者に佐々木さんが3名いらっしゃいました）

① ChatGPTに簡単なゲームを書かせてみた
- ◯×ゲームは綺麗なコード書いてくれた
- テトリスはGPT-3.5だと動かず。GPT-4だと動作した（ただし出来が微妙…）

ChatGPTも情報処理システムなので…
- 入力を追加・変更（プロンプトエンジニアリング）
- 英語で入力
- GPT-4を使う

②　Meraki（NW機器操作）用のSlack　APIを書かせてみた
- Cisco Merakiの状態を出力してもらう
- 一見綺麗なコードだが、エラーが出る（存在しないAPIを呼ぼうとしたりetc.）
- コツ：英語で聞く、「あなたはMerakiの専門家です」と前置きする、など
- 現時点では「コードをすべて書かせる」のは厳しそう（あまり楽にならない）

③　じゃあCopilotやBardを使ってみる
- 便利だが、雑な指示でコード全体をまるっと書いてもらうのは出来ない
- BardはGoogle Colabと合わせて使える点が便利

-> 今のChatGPTって黎明期の高級プログラミング言語に似てるかも？
　　　　　（プログラマーが不要になることはないのでは）


# ChatGPTとkintoneを繋げて出来たことお伝えします！ / 岡元信弘(JBCC)

今日はエンジニアの会なので、Kintoneって使ってる方ほとんどいないですよね〜、というお話から始まり…

超便利なKintoneにChatGPTでもっと便利になってもらう！
- KintoneからWebhookでAzure OpenAI API（やAzure Function）を呼ぶ
- REST APIでレスポンスを返してもらう

テーマ：営業支援パック（SFA）を作る
- Function AppはGPT君に書いてもらったものを手で修正
- 営業が日報を入力すると、ChatGPTさんが問題点やビジネス影響分析をコメントしてくれる
- 「あなたのことを分かっている上司です」というプロンプトを追加してみても面白い
- ただ、プロンプト調整は結構大変！ このまま製品にするとクレーム多くなっちゃいそう。


# Semantic Kernelを使ってGPTと外部ツールを簡単に連携する / 佐々木峻(Acroquest Technology)

![IMG_1905.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1633856/cec797cf-3e99-efcd-8be4-de94d67b9ac9.jpeg)

ReActとは？
- ユーザーの入力をGPTが解釈して、処理は外部ツールが行うという考え方
- （Reasoning & Actionの略）

Semantic Kernel
- ReActを活用したライブラリ
- Microsoftが開発。言語はC# or Pythonに対応
- 概念：Kernel、Skill
- Plannerが実行計画を立ててくれる

https://github.com/microsoft/semantic-kernel

アプリを作ってみた
- Skillを作る：要約、検索（ElasticSearch）
- Kernelを実装する

詳細は以下！
https://acro-engineer.hatenablog.com/entry/2023/04/18/120000


# Azure移行と機能開発から学んだこと / 岡田大輔(リンクアンドモチベーション)

ストレッチクラウド（人材育成プロダクト）をOpenAIからAzure　OpenAI　Serviceへ移行した話。

もともとAWSのAPI　Gateway＆LambdaでOpenAI　APIを呼び出す構成だった
- OpenAI部分のみAzureへ移行してみた
- 将来的にはプライベートNW下でAzureにさらに寄せていきたい

実際に動かすと…
- Azureの方が「出だしのレスポンスが遅く、出力しだすと早い」という差異あり
- 実装はLangChainを利用。めちゃ移行しやすい。ちょっとした仕様差分を修正したのみ

分かったこと
- 急に動かなくなることがある（日々開発の変化が早い）
- デザインが決まってからプロンプト検証すると大変。設計しながら検証すべし
- 非エンジニアを巻き込んで色んな人とエンジニアリングできた点が良かった！


# Traveling ChatGPT with Ruby / じょーじ

飛び込みLT 第1弾です！

ChatGPTで旅行提案LINEボットを作った
- レストランや観光スポット、明日泊まれるホテルも探せる

ライブラリ選定：LangChainは採用しなかった
- LangChainのメリットは開発の初速が出る、次々と機能追加されていくなど
- その反面、破壊的変更やドキュメント整備の遅れがデメリット。Rubyで自前実装した

https://kawashimablog.com/?p=51106


# ChatGPT Pluginを作ってみた / 藤田さん

飛び込みLT 第2弾です！

ChatGPT Pluginsが出たので、せっかくなら自分で作ってみたくなった
- 意外と実装は簡単
- テキストをQRコードにしてくれるプラグインを作った
- 書かなきゃいけないもの：マニフェストJSON、OpenAPIのYAMLファイルのみ

https://platform.openai.com/docs/plugins/introduction

プラグインを使えとChatGPTに強制することはできない
（事前に理解させて、よしなに使ってもらう形）

実際にChatGPTから使ってみる。
プラグインストアから自分のプラグインを有効にする

![スクリーンショット 2023-05-25 21.16.51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1633856/2431f244-c3f8-37b0-7255-2fb4097461b5.png)

※上記画像（筆者実機）だと表示されていませんが、「Use your own plugins」的なリンクがデモでは表示されていました。

なお本プラグインは現在まだ開発中で、QRコード用の文字列が無限ループしてしまう不具合に対応中！

---

レポ以上です！
不備・ご指摘ありましたらお知らせくださいますと幸いです🙇‍♂️