SlideShare a Scribd company logo
1 of 37
Download to read offline
ChatGPTを
システムに組み込むための
プロンプト技法
ChatGPT Meetup Osaka #1
k-kinzal
Kouta Ozaki
ChatGPTで遊んでるやつ
・AWS SecurityHubの運用アシスタント(仕事)
・TerraformのState Importer(仕事)
・LlamaIndexを使った伺かの仕様検索
・イベント監視からのアクション提案の仕組み
・SREの異世界転生小説
このスライドはChatGPT(GPT-4)監修です
誤りがあれば監修の責任です
⚠︎
注意
この内容は gpt3.5-turbo による検証結果です
他のモデルでは挙動が異なる可能性あります
⚠︎
注意
この発表内容の作成には$120かかっています
⚠︎
注意
ChatGPTの基本概念
String ChatGPT
ChatGPTは文字列を受け取り文字列を返す関数
input Output
インタプリタのような性質を有し、モデルと入力された文字列(プロンプト)に応じて出力さ
れる文字列が変化する。ChatGPTは単語列から次に来る単語を予測し、文章の生成を行う。
空 が
青 い
赤 い
String
ChatGPTはタスクを実行する能力を持つ
4人の友達が順番に手を繋ぎ、何通りの組み合わせができる?
4人の友達が順番に手を繋ぐ組み合わせは、24通りです。
このような能力を獲得した(ように振る舞う)ことで、ChatGPTは質問応答、レビュー、計
算、コード生成、計画策定、判断、提案など、従来プログラムで実行が難しかった多様なタス
クを容易に実行できるようになった。
ChatGPTはプロンプトの文脈を理解し、推論を行い、論理的思考力を持って回答を生成でき
る(ように振る舞うことができる)。
※この例は直線で繋がるか、円で繋がるか曖昧さを補完して回答している
ChatGPTの回答は作ることができる
ChatGPTは文章を生成するジェネレーティブAI
であり、適切なプロンプトを与えることで、意
図した回答を作成することができる。
この例のように、プロンプトを工夫して与える
ことで、モデルが学習データで得た知識よりも
プロンプトに基づく新しい知識を優先して回答
を生成することが可能である。つまり、意図し
た回答を得るために、適切なプロンプトを作成
する能力がChatGPT利用者に求められる。
ChatGPTは幻覚を見る
ChatGPTは、学習データの不足や偏り、プロンプトの曖昧さ、モデルの限界、またバイアス
などの要因で、誤った情報や意図しない単語選択を含む回答を生成することがある。
幻覚を防ぐには、必要最小限で明確な情報を選択し、プロンプトに組み込まなければならな
い。過剰な情報を組み込むと関連性の低い情報を認識し、意図しない回答の生成をするため必
要最小限の情報を選択することが重要になる。
学習データ あり あり なし なし
プロンプト あり なし あり なし
幻覚 起きにくい 起きにくい ※ 起きにくい 起きやすい
ChatGPTの結果は安定化する
モデルを考慮した適切なプロンプトが作成された場合、ChatGPTの回答は安定化する傾向が
ある。これは、ChatGPTが単語予測の過程で、同じ意味を持つ回答に対して適切な単語が高
い確率で選択されるためである。ただし、ChatGPTは確率的なアルゴリズムに基づいて動作
するため、全ての回答が完全に一貫しているわけではないことに注意が必要である。
入力された数式を計算してください
System
1 + 1
User
2 期待する結果 89/100
2です。 期待していない結果 7/100
2 です。 期待していない結果 2/100
2になります 期待していない結果 1/100
答えは2です。 期待していない結果 1/100
ChatGPTの結果は安定化する
今回の例では、答えはすべて同じだが、回答の形式に曖昧さがあったのを排除し、結果を安定
化させた。この考え方は、答えが変わるケースでも同様であり、指示を厳密に行うことで回答
を安定化させることができる。ただし、ユースケースによっては回答を安定化させる必要がな
かったり、曖昧さを排除できない場合がある。ChatGPTを利用する際に、どこまで、どのよ
うに結果を安定化するのかついて、慎重に検討する必要がある。
入力された数式を計算してください。
回答はnumberで回答してください。
System
1 + 1
User
2 期待する結果 99/100
2です。 期待していない結果 1/100
ChatGPTの拡張性
画像
動画
音楽
…
String ChatGPT
ChatGPTは文字列を入力として受け付けるた
め、原理的には文字列に変換できるあらゆる情報
を入力することができる。
例えば、CLIPのような画像認識技術を用いて画
像を文字列化し、ChatGPTに入力することで拡
張性を持たせることが可能である。ただし、情報
劣化を防ぐために、文字列化する方法は重要にな
る。
変わった例ではSVGやRGB列から何を描いたも
のかChatGPTで認識させる事例もある。
ChatGPTの拡張性
API
ChatGP
T
インタプリタ
…
String
ChatGPT
ChatGPTは文字列を出力し、それを利用して
外部システムに影響を与えることができる。
例えば、ChatGPTに複数のAPIが利用可能で
あることを伝えることで、タスク解決のために
どのAPIを実行すれば良いかの実行計画を提案
させることができる。そして、プログラムなど
で、その計画に基づいてAPIを実行し、適切な
結果を得ることができる。また、ChatGPTは
コード生成も可能であるため、生成されたコー
ドを実行することができる。
ChatGPTに状態を入力し、ChatGPTに状態を
認識させることで、出力に基づいて状態変更を
行い、さらに変更結果をChatGPTに入力する
ことを繰り返すことで、ChatGPTの1度の実行
では難しいような、より複雑なタスクも実行可
能になる。
ChatGPTの制約
これまでの話を踏まえると、ChatGPTの制約が明らかになる。
・言語化できないことはできない
・入力、出力で文字列化できないことはできない
・100%の精度で必ず完全な回答をすることは保証できない
さらに、2023年4月時点ではChatGPTには以下のような制約がある。
・gpt-3.5-turboでは4kトークン数の制限、gpt-4では8k、32kのトークン数の制限があり、
プロンプトはこの制限内に収めなければならない
- ただし、ユースケース次第では分割して実行することで回避できる
・トークンあたりの生成速度に限界があり、低レイテンシを求めるケースでは利用できない
- モデルによって異なる
この制約の範囲内であれば、どのようなタスクでも実行できる可能性がある。そのため、
ChatGPTを適用できる範囲は非常に広いが、ChatGPTを使って解決する必要があるかどうか
は慎重に検討しなければならない。
ChatGPTの導入と品質
ChatGPTを組み込みやすい領域
プロンプトが必要
モデルだけで解決できる
品質が必要
品質が不要
ChatGPTで難しい領域
モデルが簡単なプロンプトで高品質の回答を生成できる、もしくは回答の品質がそれほど重要
でない領域では、ChatGPTの組み込みが容易である。一方で、品質の高い回答を求められる
ケースで、作り込んだプロンプトが必要な場合は、ChatGPTを手軽に組み込むことが難しい
領域となる。プロンプト自体は必要だが、トークン数制限との兼ね合いや、適切なプロンプト
に必要な情報の収集が困難であるといったケースも存在する。
プロンプトにおける品質
例えば、100回実行して、「期待する答えが最も多く頻出しているか」、「期待する答えが発
生する割合が十分に高いか」、「回答のパターンが安定化しているか」などを確認し、プロン
プトの品質が十分であるかを判断できる。特に回答が安定化しない場合、プロンプトで曖昧な
指示がある可能性が高い。回答が安定化していないときは、10回程度の実行でも傾向が把握
できることが多い。
4月
0 15 30 45 60
ChatGPTの適用が難しい領域での解決策の1つは、プロンプトの品質を向上させることであ
る。ここで言う品質とは、同一のプロンプトを複数回実行したときに現れる一貫性や信頼性を
指す。
2
1 + 1 = 2
2です。
※ もっと頭の良いやり方はあると思うので良い方法があれば教えてください
プロンプトで品質を向上する
プロンプトの品質を向上させるために、まず考慮すべきは簡潔で厳密でわかりやすい指示を記
述することである。
・誤字や脱字を避ける
・用語を正確に使用する
・曖昧な表現を避ける
・文章中に矛盾を含めない
・具体的に期待する結果を示す
・タスク実行に必要な最小限の情報を提供する
言い換えれば、ChatGPTは確率的に単語を選択するため、選択可能な単語の集合を絞り込
み、期待する結果の単語が選ばれる確率を高めることが重要となる。
プロンプトで品質を向上する
入力された数式を計算してください
System
1 + 1
User
1 + 1 =
Assistant
ChatGPTは、プロンプトだけでなく、直前の単語列から次の単語を予測します。そのため、
品質を向上させるためには、役割(Role)を活用して具体的な回答例を提示する、文頭の単
語列を与えて続きの回答を導く、ChatGPTに特定の単語列を言わせて続く単語が期待する結
果になるように誘導するなど、回答の単語列を意図的に作成し、期待する結果の単語が選ばれ
る確率を上げることができます。
プロンプトで品質を向上する
プロンプトの工夫については、Prompt Engineering GuideやAwesome ChatGPT
Promptsなどで公開されている情報を参考にすることができる。ただし、ここで公開されて
いる手法が必ずしも品質を向上させるわけではないため、利用する際には検証し、採用すべき
かどうか慎重に検討する必要がある。
https://www.promptingguide.ai/
https://prompts.chat/
プログラムでガードや補正を入れて品質を向上する
例えば、JSON形式で回答を強制し、JSONパースができなければリトライする、選択肢を提
示している場合は回答に選択肢が含まれているか確認するなど、機械的にチェックすることで
失敗ケースを防ぎ、品質を向上させることができる。同様に、プログラム的に補正することで
も効果がある。
ただし、注意点としてリトライする場合、元のプロンプトの品質が低いと、例えば100回実行
してようやく成功するなど、効率が悪くなりがちである。ケースに合わせて最適な方法を検討
することが重要である。
String
ChatGPT Guard
retry
Post
Process
ユースケースに応じて、プログラムでガードを入れることも可能である。
パラメータを調整して品質を向上する
OpenAIの場合、temperatureやtop̲pなどのパラメータを設定することで、結果を安定化さ
せ、品質を高めることが可能である。
https://platform.openai.com/docs/api-reference/chat/create
ただし、期待する結果にある程度安定化させてから調整しないと、誤った結果に安定化しやす
くなってしまう。そのため、最低でも他の手法で期待する結果が最も頻出する状態になってか
ら調整することが必要である。
タスクの失敗に備える
タスクを失敗した場合、ChatGPTではタスクを実行できない理由を述べようとするため、回
答の品質が大きく落ちることになる。そのためタスク失敗ケースでも対策をする必要がある。
・user/assistantを利用してタスク失敗時の例を入れる
・JSON形式などを採用して理由を述べるためのフィールドを作成する
・「もし0で除算する場合は〜」などを指示に含める
・プログラム的に検査を行い失敗したらタスク失敗とみなす
入力された数式を計算してください。回答は数字のみで。
System
100 / 0
User
数学的には、0で割ることはできません。したがって〜(以下略)
Answer
おまけ: OpenAI APIの注意点
・結構な頻度でエラーがおきるためリトライは必須
- 429 Rate Limit
- 502 Bad Gateway(HTMLが変える)
- これらはリトライ仕込まないと回数の実行がしにくい
- 逆に4xx系の入力の問題はリトライしても回復できないので注意
・Rate Limitがあるので同時実行数、分間の実行数に注意
- https://platform.openai.com/docs/guides/rate-limits
・Usage Limitの上限変更はOpenAIへの依頼が必須
- 上限が変わるまでに30時間ぐらいかかった
- 予め上限を上げておく、予備のAPI Keyを準備しておくなどした方がいい
・Azureという選択肢もある
- まだ試してないけど安定するとか
ChatGPTで品詞分解を行なったときの品質向上の実例
初期プロンプト
入力した文章に対して形態素解析器を行い品詞分解をしてください。
System
空は青い
User
空(名詞)は(助詞)青い(形容詞)。(記号)
Assistant
赤いノートパソコンで勉強します。
User
赤い(形容詞)ノートパソコン(名詞)
で(助動詞)勉強します(動詞) 。(記号)
Assistant
ゴーストの実体は SHIORI インターフェースを持った独立した DLL ファイルである。SHIORI を自力で作成する場合は SHIORI仕様書 を参照。
User
初期プロンプトの品質
期待する答えの頻出数: 1
最も頻出した数: 5
パターン数: 全90パターン
と、安定化せず、間違った答えが最も頻出してしまっている。このときtemperature、top̲p
といったパラメーターを調整すると間違った回答に収束する。
品質を確認するために100回実行したところ下記のようになる
プロンプトの一部を修正
入力された文章を品詞分解してください。
品詞分解の結果は、「元の単語(品詞名)」の繰り返しであり、「(品詞名)」を全て削除したら入力された文章と一致しなければなりません。
利用可能な品詞:
- 動詞: 自立語であり、単独で述語になる。活用がある。終止形はウ段になることが特徴。 例: 「歩く」、「倒す」、「話す」、「ある」、「いる」
- 形容詞: 自立語であり、単独で述語になる。また、連体修飾語として働く。活用がある。終止形はイになることが特徴。例: 「寒い」、「強い」、「長
い」、「美しい」、「小さい」
- 形容動詞: 自立語であり、述語や連体修飾語として機能する。「〜な」や「〜だ」といった形で使われる。活用はないが、助動詞や助詞を伴って表現さ
れることが多い。終止形は「だ」になることが特徴。 例: 「便利だ」、「静かな」、「有益だ」、「簡単だった」、「難しいと感じる」
- 名詞: 自立語であり、主題や補足語の中心要素になる。活用はない。主語になることができ、体言とも呼ばれる。 例: 「ひと」、「もの」、「誰」、「大
勢」、「1つ」
- 副詞: 自立語であり、連用修飾語として働く。活用はない。 例: 「ゆっくり」、「少し」、「たっぷり」、「かつて」、「ぜひ」、「当然」、「実は」
- 連体詞: 自立語であり、連体修飾語として働く。活用はない。 例: 「あらゆる」、「たいした」、「大きな」、「例の」
- 接続詞: 自立語であり、文と文を接続する。活用はない。 例: 「しかし」、「なぜなら」、「すなわち」、「また」、「なお」、「あるいは」
- 感動詞: 自立語であり、単独で文になることができる。活用はない。 例: 「あ」、「なんと」、「はい」、「なるほど」、「ええと」、「もしもし」、
「はて」、「さてと」
- 助動詞: 付属語であり、述語に接続して複雑な述語を作り、活用形や機能的なニュアンスを追加する。活用がある。 例: 「のだ」、「わけだ」、「はず
だ」、「だろう」、「らしい」
- 助詞: 付属語であり、名詞に接続して主題や補足語を作ったり、名詞と名詞、節と節を接続したりし、文の構造や関係を示す。活用はない。 例: 「が」、
「は」、「も」、「さえ」、「と」、「か」
- 記号: 文章中で文法や構造を示す役割を果たし、また感情や強調を表現するために使用される1文字の記号。活用はない。 例: 「。」(句点)、「、」
(読点)、「?」(疑問符)、「!」(感嘆符)、「(」(かっこ)
System
赤い(形容詞)ノートパソコン(名詞)
で(助詞)勉強します(動詞) 。(記号)
Assistant
修正したプロンプトの品質
期待する答えの頻出数: 6
最も頻出した数: 6
パターン数: 全82パターン
大きく安定化したわけではないが、期待する答えが最も頻出するようになった。このとき
temperature、top̲pといったパラメーターを調整すると、5パターン・期待する答えが93回
の出現とかなり安定化させることができる。
品質を確認するために100回実行したところ下記のようになる
ガードの追加(プログラム)と品質
String
ChatGPT Guard
retry
・(品詞)を削除したときに元の文字列を復元
・品詞名が指定の品詞のみであること
・記号に品詞名がついている
期待する答えの頻出数: 7
最も頻出した数: 7
パターン数: 全77パターン
安定化はしなかったが、異常が発生するケースをやり直すことで期待する答えの数が増加し
た。
異常ケース自体は100回実行して1〜10回程度のため、ちょうどそのぐらいの変化。もしくは
誤差と言える程度の差になる。
変換ルール(プログラム)と品質
String
ChatGPT Guard
・連続した名詞は複合名詞とみなす
・名詞+ひらがな1文字(助動詞)は助詞
・文章中の空白を除去
期待する答えの頻出数: 24
最も頻出した数: 24
パターン数: 全45パターン
間違える傾向が高く、ルール化可能なものを変換することで大きく安定化するように。ただ
し、これは適切なプロンプトを組めなかったということでもあり、この変換を適切にプロンプ
トに組み込むことができれば変換処理は不要になる。
Convert
単語単位に最頻の組み合わせと品質
期待する答えの頻出数: 97
最も頻出した数: 97
パターン数: 全3パターン
temperature、top̲pといったパラメーターを調整するのと同じようなことをプログラム的に
行なっている形になる。一定回数を繰り返さなければならないため、APIコールのコストを考
えると素直にtemperature、top̲pを調整した方が良い。
ゴースト(名詞)の(助詞)実体(名詞)
ゴースト(名詞)の(助動詞)実体(名詞)
ゴースト(名詞)の(助詞)実体(名詞)
ゴースト(名詞)の(助詞)実体(名詞)
例のように一定回数を繰り返し、単語単位で最も多く頻出した単語を組み合わせる
おまけ: 04/19にさらに調整したプロンプト
入力された現代語の文章を品詞分解してください。
品詞分解の結果は、「元の単語(品詞名)」の繰り返しで表され、全ての「(品詞名)」を削除したら、入力された文章と一致する必要があります。
品詞分解の手順:
- 文章の区切りを確認する: 最初に、文の終わりを示す句読点(「。」、「!」「?」)を確認し、文章を文ごとに分割します。
- 助詞や助動詞を見つける: 文章を読んで、助詞や助動詞を見つけ出します。これらの付属語は、単語の区切りを示す役割を果たします。
- 接続詞や連体詞を見つける: 接続詞や連体詞も単語の区切りを示す役割があります。これらを見つけて単語を分割します。
- 前後の文脈を考慮する: 他の品詞(名詞、動詞、形容詞、形容動詞、副詞、感動詞など)の境界が明確でない場合は、前後の文脈を考慮して単語を分割します。
- 複合語を分解する: 複合語は、複数の単語が結合してできた単語です。これらを適切に分割することも重要です。
利用可能な品詞:
- 動詞: 自立語であり、単独で述語になる。活用がある。終止形はウ段になることが特徴。 例: 「歩く」、「倒す」、「話す」、「ある」、「いる」
- 形容詞: 自立語であり、単独で述語になる。また、連体修飾語として働く。活用がある。終止形はイになることが特徴。例: 「寒い」、「強い」、「長い」、「美しい」、「小さい」
- 形容動詞: 自立語であり、述語や連体修飾語として機能する。「〜な」や「〜だ」といった形で使われる。活用はないが、助動詞や助詞を伴って表現されることが多い。終止形は
「だ」になることが特徴。 例: 「便利だ」、「静かな」、「有益だ」、「簡単だった」、「難しいと感じる」
- 名詞: 自立語であり、主題や補足語の中心要素になる。活用はない。主語になることができ、体言とも呼ばれる。 例: 「ひと」、「もの」、「誰」、「大勢」、「1つ」
- 副詞: 自立語であり、連用修飾語として働く。活用はない。 例: 「ゆっくり」、「少し」、「たっぷり」、「かつて」、「ぜひ」、「当然」、「実は」
- 連体詞: 自立語であり、連体修飾語として働く。活用はない。 例: 「あらゆる」、「たいした」、「大きな」、「例の」
- 接続詞: 自立語であり、文と文を接続する。活用はない。 例: 「しかし」、「なぜなら」、「すなわち」、「また」、「なお」、「あるいは」
- 感動詞: 自立語であり、単独で文になることができる。活用はない。 例: 「あ」、「なんと」、「はい」、「なるほど」、「ええと」、「もしもし」、「はて」、「さてと」
- 助動詞: 付属語であり、述語に接続して複雑な述語を作り、活用形や機能的なニュアンスを追加する。活用がある。 例: 「のだ」、「わけだ」、「はずだ」、「だろう」、「らしい」
- 助詞: 付属語であり、名詞に接続して主題や補足語を作ったり、名詞と名詞、節と節を接続したりし、文の構造や関係を示す。活用はない。 例: 「が」、「は」、「も」、「さえ」、
「と」、「か」
- 記号: 文章中で文法や構造を示す役割を果たし、また感情や強調を表現するために使用される1文字の記号。活用はない。 例: 「。」(句点)、「、」(読点)、「?」(疑問符)、
「!」(感嘆符)、「(」(かっこ)
ガード・変換なし:
期待する答えの頻出数: 11
最も頻出した数: 11
パターン数: 全76パターン
ガード・変換あり:
期待する答えの頻出数: 34
最も頻出した数: 34
パターン数: 全42パターン
まとめ
プロンプトがちゃがちゃするの楽しい!
おわり

More Related Content

What's hot

エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織Takafumi ONAKA
 
ChatGPT 人間のフィードバックから強化学習した対話AI
ChatGPT 人間のフィードバックから強化学習した対話AIChatGPT 人間のフィードバックから強化学習した対話AI
ChatGPT 人間のフィードバックから強化学習した対話AIShota Imai
 
ChatGPTは思ったほど賢くない
ChatGPTは思ったほど賢くないChatGPTは思ったほど賢くない
ChatGPTは思ったほど賢くないCarnot Inc.
 
DockerコンテナでGitを使う
DockerコンテナでGitを使うDockerコンテナでGitを使う
DockerコンテナでGitを使うKazuhiro Suga
 
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)NTT DATA Technology & Innovation
 
シリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのかシリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのかAtsushi Nakada
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Kohei Tokunaga
 
ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計Yoshinori Matsunobu
 
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!mosa siru
 
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptxネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptxShota Shinogi
 
開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)mosa siru
 
Apache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォームApache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォームKouhei Sutou
 
例外設計における大罪
例外設計における大罪例外設計における大罪
例外設計における大罪Takuto Wada
 
オーバーエンジニアリングって何? #devsumi #devsumiA
オーバーエンジニアリングって何? #devsumi #devsumiAオーバーエンジニアリングって何? #devsumi #devsumiA
オーバーエンジニアリングって何? #devsumi #devsumiAOre Product
 
ビジネスパーソンのためのDX入門講座エッセンス版
ビジネスパーソンのためのDX入門講座エッセンス版ビジネスパーソンのためのDX入門講座エッセンス版
ビジネスパーソンのためのDX入門講座エッセンス版Tokoroten Nakayama
 
DockerとPodmanの比較
DockerとPodmanの比較DockerとPodmanの比較
DockerとPodmanの比較Akihiro Suda
 
AWSではじめるMLOps
AWSではじめるMLOpsAWSではじめるMLOps
AWSではじめるMLOpsMariOhbuchi
 
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話Kumazaki Hiroki
 
マイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチマイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチ増田 亨
 
Pythonによる黒魔術入門
Pythonによる黒魔術入門Pythonによる黒魔術入門
Pythonによる黒魔術入門大樹 小倉
 

What's hot (20)

エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
 
ChatGPT 人間のフィードバックから強化学習した対話AI
ChatGPT 人間のフィードバックから強化学習した対話AIChatGPT 人間のフィードバックから強化学習した対話AI
ChatGPT 人間のフィードバックから強化学習した対話AI
 
ChatGPTは思ったほど賢くない
ChatGPTは思ったほど賢くないChatGPTは思ったほど賢くない
ChatGPTは思ったほど賢くない
 
DockerコンテナでGitを使う
DockerコンテナでGitを使うDockerコンテナでGitを使う
DockerコンテナでGitを使う
 
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
 
シリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのかシリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのか
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
 
ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計
 
マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!マイクロにしすぎた結果がこれだよ!
マイクロにしすぎた結果がこれだよ!
 
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptxネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
 
開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)
 
Apache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォームApache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォーム
 
例外設計における大罪
例外設計における大罪例外設計における大罪
例外設計における大罪
 
オーバーエンジニアリングって何? #devsumi #devsumiA
オーバーエンジニアリングって何? #devsumi #devsumiAオーバーエンジニアリングって何? #devsumi #devsumiA
オーバーエンジニアリングって何? #devsumi #devsumiA
 
ビジネスパーソンのためのDX入門講座エッセンス版
ビジネスパーソンのためのDX入門講座エッセンス版ビジネスパーソンのためのDX入門講座エッセンス版
ビジネスパーソンのためのDX入門講座エッセンス版
 
DockerとPodmanの比較
DockerとPodmanの比較DockerとPodmanの比較
DockerとPodmanの比較
 
AWSではじめるMLOps
AWSではじめるMLOpsAWSではじめるMLOps
AWSではじめるMLOps
 
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
 
マイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチマイクロサービス 4つの分割アプローチ
マイクロサービス 4つの分割アプローチ
 
Pythonによる黒魔術入門
Pythonによる黒魔術入門Pythonによる黒魔術入門
Pythonによる黒魔術入門
 

Similar to ChatGPTをシステムに組み込むためのプロンプト技法 #chatgptjp

230517_chatGPT_v01.pdf
230517_chatGPT_v01.pdf230517_chatGPT_v01.pdf
230517_chatGPT_v01.pdfSatoshi Kume
 
LT document _ Iwakenlab_20230408
LT document _ Iwakenlab_20230408LT document _ Iwakenlab_20230408
LT document _ Iwakenlab_20230408Hiroki Ichikura
 
【とらのあなラボ Tech Day #3】新規システムにおける技術選定〜GoとgRPCを採用した話〜
【とらのあなラボ Tech Day #3】新規システムにおける技術選定〜GoとgRPCを採用した話〜	【とらのあなラボ Tech Day #3】新規システムにおける技術選定〜GoとgRPCを採用した話〜
【とらのあなラボ Tech Day #3】新規システムにおける技術選定〜GoとgRPCを採用した話〜 虎の穴 開発室
 
ChatGPT の現状理解と 2023年7月版 LLM情報アップデート
ChatGPT の現状理解と 2023年7月版 LLM情報アップデートChatGPT の現状理解と 2023年7月版 LLM情報アップデート
ChatGPT の現状理解と 2023年7月版 LLM情報アップデートSatoshi Kume
 
MRTGの導入と運用
MRTGの導入と運用MRTGの導入と運用
MRTGの導入と運用kohei Yamamoto
 
Fargate起動歴1日の男が語る運用の勘どころ
Fargate起動歴1日の男が語る運用の勘どころFargate起動歴1日の男が語る運用の勘どころ
Fargate起動歴1日の男が語る運用の勘どころYuto Komai
 
Gocon2017:Goのロギング周りの考察
Gocon2017:Goのロギング周りの考察Gocon2017:Goのロギング周りの考察
Gocon2017:Goのロギング周りの考察貴仁 大和屋
 
Amebaにおけるレコメンデーションシステムの紹介
Amebaにおけるレコメンデーションシステムの紹介Amebaにおけるレコメンデーションシステムの紹介
Amebaにおけるレコメンデーションシステムの紹介cyberagent
 
Python physicalcomputing
Python physicalcomputingPython physicalcomputing
Python physicalcomputingNoboru Irieda
 
130522 01
130522 01130522 01
130522 01openrtm
 
Application performance gree_20140908
Application performance gree_20140908Application performance gree_20140908
Application performance gree_20140908Osamu Kurokochi
 
130522 rt講習会(説明用)
130522 rt講習会(説明用)130522 rt講習会(説明用)
130522 rt講習会(説明用)openrtm
 
20220615_Visual_Programing_IoTLT_vol11_kitazaki_v1.pdf
20220615_Visual_Programing_IoTLT_vol11_kitazaki_v1.pdf20220615_Visual_Programing_IoTLT_vol11_kitazaki_v1.pdf
20220615_Visual_Programing_IoTLT_vol11_kitazaki_v1.pdfAyachika Kitazaki
 
ZytleBot: 自律移動ロボットへのFPGA活用のすゝめとROS 2移行への道
ZytleBot: 自律移動ロボットへのFPGA活用のすゝめとROS 2移行への道ZytleBot: 自律移動ロボットへのFPGA活用のすゝめとROS 2移行への道
ZytleBot: 自律移動ロボットへのFPGA活用のすゝめとROS 2移行への道Tamtlebot
 
mraa Introduction
mraa Introductionmraa Introduction
mraa IntroductionAraiInsde
 
130711 01
130711 01130711 01
130711 01openrtm
 
130710 01
130710 01130710 01
130710 01openrtm
 
Goji とレイヤ化アーキテクチャ
Goji とレイヤ化アーキテクチャGoji とレイヤ化アーキテクチャ
Goji とレイヤ化アーキテクチャShiroyagi Corporation
 

Similar to ChatGPTをシステムに組み込むためのプロンプト技法 #chatgptjp (20)

230517_chatGPT_v01.pdf
230517_chatGPT_v01.pdf230517_chatGPT_v01.pdf
230517_chatGPT_v01.pdf
 
LT document _ Iwakenlab_20230408
LT document _ Iwakenlab_20230408LT document _ Iwakenlab_20230408
LT document _ Iwakenlab_20230408
 
【とらのあなラボ Tech Day #3】新規システムにおける技術選定〜GoとgRPCを採用した話〜
【とらのあなラボ Tech Day #3】新規システムにおける技術選定〜GoとgRPCを採用した話〜	【とらのあなラボ Tech Day #3】新規システムにおける技術選定〜GoとgRPCを採用した話〜
【とらのあなラボ Tech Day #3】新規システムにおける技術選定〜GoとgRPCを採用した話〜
 
ChatGPT の現状理解と 2023年7月版 LLM情報アップデート
ChatGPT の現状理解と 2023年7月版 LLM情報アップデートChatGPT の現状理解と 2023年7月版 LLM情報アップデート
ChatGPT の現状理解と 2023年7月版 LLM情報アップデート
 
MRTGの導入と運用
MRTGの導入と運用MRTGの導入と運用
MRTGの導入と運用
 
Fargate起動歴1日の男が語る運用の勘どころ
Fargate起動歴1日の男が語る運用の勘どころFargate起動歴1日の男が語る運用の勘どころ
Fargate起動歴1日の男が語る運用の勘どころ
 
Gstreamer Basics
Gstreamer BasicsGstreamer Basics
Gstreamer Basics
 
Gocon2017:Goのロギング周りの考察
Gocon2017:Goのロギング周りの考察Gocon2017:Goのロギング周りの考察
Gocon2017:Goのロギング周りの考察
 
Amebaにおけるレコメンデーションシステムの紹介
Amebaにおけるレコメンデーションシステムの紹介Amebaにおけるレコメンデーションシステムの紹介
Amebaにおけるレコメンデーションシステムの紹介
 
Python physicalcomputing
Python physicalcomputingPython physicalcomputing
Python physicalcomputing
 
130522 01
130522 01130522 01
130522 01
 
Application performance gree_20140908
Application performance gree_20140908Application performance gree_20140908
Application performance gree_20140908
 
130522 rt講習会(説明用)
130522 rt講習会(説明用)130522 rt講習会(説明用)
130522 rt講習会(説明用)
 
JTAGを使ってみよう
JTAGを使ってみようJTAGを使ってみよう
JTAGを使ってみよう
 
20220615_Visual_Programing_IoTLT_vol11_kitazaki_v1.pdf
20220615_Visual_Programing_IoTLT_vol11_kitazaki_v1.pdf20220615_Visual_Programing_IoTLT_vol11_kitazaki_v1.pdf
20220615_Visual_Programing_IoTLT_vol11_kitazaki_v1.pdf
 
ZytleBot: 自律移動ロボットへのFPGA活用のすゝめとROS 2移行への道
ZytleBot: 自律移動ロボットへのFPGA活用のすゝめとROS 2移行への道ZytleBot: 自律移動ロボットへのFPGA活用のすゝめとROS 2移行への道
ZytleBot: 自律移動ロボットへのFPGA活用のすゝめとROS 2移行への道
 
mraa Introduction
mraa Introductionmraa Introduction
mraa Introduction
 
130711 01
130711 01130711 01
130711 01
 
130710 01
130710 01130710 01
130710 01
 
Goji とレイヤ化アーキテクチャ
Goji とレイヤ化アーキテクチャGoji とレイヤ化アーキテクチャ
Goji とレイヤ化アーキテクチャ
 

More from K Kinzal

解説: Token Extensions - Solana Developer Hub Online #SolDevHub
解説: Token Extensions - Solana Developer Hub Online #SolDevHub解説: Token Extensions - Solana Developer Hub Online #SolDevHub
解説: Token Extensions - Solana Developer Hub Online #SolDevHubK Kinzal
 
コントラクトを作らない ブロックチェーンアプリケーション開発 #SolDevHub
コントラクトを作らない ブロックチェーンアプリケーション開発 #SolDevHubコントラクトを作らない ブロックチェーンアプリケーション開発 #SolDevHub
コントラクトを作らない ブロックチェーンアプリケーション開発 #SolDevHubK Kinzal
 
Solana Pay入門 on Solana Developer Hub #1 #SolDevHub
Solana Pay入門 on Solana Developer Hub #1 #SolDevHubSolana Pay入門 on Solana Developer Hub #1 #SolDevHub
Solana Pay入門 on Solana Developer Hub #1 #SolDevHubK Kinzal
 
AIで始めるRustプログラミング #SolDevHub
AIで始めるRustプログラミング #SolDevHubAIで始めるRustプログラミング #SolDevHub
AIで始めるRustプログラミング #SolDevHubK Kinzal
 
Rust 入門 in Solana #SolDevHub
Rust 入門 in Solana #SolDevHubRust 入門 in Solana #SolDevHub
Rust 入門 in Solana #SolDevHubK Kinzal
 
What is GraphQL
What is GraphQLWhat is GraphQL
What is GraphQLK Kinzal
 
地層化の力学 書きかけ版
地層化の力学 書きかけ版地層化の力学 書きかけ版
地層化の力学 書きかけ版K Kinzal
 
Scala.jsはじめました!
Scala.jsはじめました!Scala.jsはじめました!
Scala.jsはじめました!K Kinzal
 
Scala.jsはじめました?
Scala.jsはじめました?Scala.jsはじめました?
Scala.jsはじめました?K Kinzal
 
Dgeni with AngularJS Application
Dgeni with AngularJS ApplicationDgeni with AngularJS Application
Dgeni with AngularJS ApplicationK Kinzal
 
Dgeniで始めるドキュメントジェネレーション
Dgeniで始めるドキュメントジェネレーションDgeniで始めるドキュメントジェネレーション
Dgeniで始めるドキュメントジェネレーションK Kinzal
 
超音波通信という怪しい技術 In html5minutes 7 #tritonjs
超音波通信という怪しい技術 In html5minutes 7 #tritonjs超音波通信という怪しい技術 In html5minutes 7 #tritonjs
超音波通信という怪しい技術 In html5minutes 7 #tritonjsK Kinzal
 
PHP+伺かで始める新しい通知の形
PHP+伺かで始める新しい通知の形PHP+伺かで始める新しい通知の形
PHP+伺かで始める新しい通知の形K Kinzal
 

More from K Kinzal (13)

解説: Token Extensions - Solana Developer Hub Online #SolDevHub
解説: Token Extensions - Solana Developer Hub Online #SolDevHub解説: Token Extensions - Solana Developer Hub Online #SolDevHub
解説: Token Extensions - Solana Developer Hub Online #SolDevHub
 
コントラクトを作らない ブロックチェーンアプリケーション開発 #SolDevHub
コントラクトを作らない ブロックチェーンアプリケーション開発 #SolDevHubコントラクトを作らない ブロックチェーンアプリケーション開発 #SolDevHub
コントラクトを作らない ブロックチェーンアプリケーション開発 #SolDevHub
 
Solana Pay入門 on Solana Developer Hub #1 #SolDevHub
Solana Pay入門 on Solana Developer Hub #1 #SolDevHubSolana Pay入門 on Solana Developer Hub #1 #SolDevHub
Solana Pay入門 on Solana Developer Hub #1 #SolDevHub
 
AIで始めるRustプログラミング #SolDevHub
AIで始めるRustプログラミング #SolDevHubAIで始めるRustプログラミング #SolDevHub
AIで始めるRustプログラミング #SolDevHub
 
Rust 入門 in Solana #SolDevHub
Rust 入門 in Solana #SolDevHubRust 入門 in Solana #SolDevHub
Rust 入門 in Solana #SolDevHub
 
What is GraphQL
What is GraphQLWhat is GraphQL
What is GraphQL
 
地層化の力学 書きかけ版
地層化の力学 書きかけ版地層化の力学 書きかけ版
地層化の力学 書きかけ版
 
Scala.jsはじめました!
Scala.jsはじめました!Scala.jsはじめました!
Scala.jsはじめました!
 
Scala.jsはじめました?
Scala.jsはじめました?Scala.jsはじめました?
Scala.jsはじめました?
 
Dgeni with AngularJS Application
Dgeni with AngularJS ApplicationDgeni with AngularJS Application
Dgeni with AngularJS Application
 
Dgeniで始めるドキュメントジェネレーション
Dgeniで始めるドキュメントジェネレーションDgeniで始めるドキュメントジェネレーション
Dgeniで始めるドキュメントジェネレーション
 
超音波通信という怪しい技術 In html5minutes 7 #tritonjs
超音波通信という怪しい技術 In html5minutes 7 #tritonjs超音波通信という怪しい技術 In html5minutes 7 #tritonjs
超音波通信という怪しい技術 In html5minutes 7 #tritonjs
 
PHP+伺かで始める新しい通知の形
PHP+伺かで始める新しい通知の形PHP+伺かで始める新しい通知の形
PHP+伺かで始める新しい通知の形
 

Recently uploaded

PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールsugiuralab
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価sugiuralab
 

Recently uploaded (7)

PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツール
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価
 

ChatGPTをシステムに組み込むためのプロンプト技法 #chatgptjp