見出し画像

[GPTs]Instructionを書いてみて思ったこと

先に記事を書きながらふと思った「GPTsのプロンプトの保守性ってどうなんだろう」について短く思ったことだけ書いておきます。


作業手順書(人用)と作業手順書(GPTs用)?

プログラマな人なら耳にたこができるほと聞かされた言葉に
「同じことを2度書くな」
があると思います。同じことの定義や同様の一連処理を複数箇所にコピペするな、という話です。膨大なプログラムになれば、必ず仕様変更時に修正漏れを起こすからです。

GPTsで何か書いてやろうと思って自分のノウハウノートを基にGPTsのinstructionsを書くとするとします。出来上がってうまく使っている後に、ある日、作業手順が変わったとします。
自分用はすぐに書き換えるでしょうが、GPTs用は書き換え忘れしませんか?

instructionsは人とGPTsで共通に書くべき(筋論としては)

手順書のメンテナンスから考えれば「作業手順書(instructions)は人とGPTsで同じものであるべき」です。そうすれば作業手順が変わったらマスタの手順書を修正して後はコピーして差し替えるだけです。すばらしいことにGPTなどの今世代のAIは人語の論理的指示をかなり理解できます。
人が書く仕様書とAIが読む仕様書を同じものする、それは以前のソフトウェアでは夢物語の世界です。今世代AIはそれを実現出来る可能性があります。

と、ここまで言っておいて現実にはそうもいかない。

今はまだGPTは分厚いA4バインダーを読み切れない。人だってA4バインダーの手順書なら全部覚えられないから自分用アンチョコメモに分けるはず。それならA4バインダーはRagか複数のGPTsに分けて教えるべきかもしれない。でもそうしたらやはり仕様書が同じとは言えない。

量の問題だけでなく、手順書の作りの違いも単純にはいかない。

人の手順書は理解を助けるために図や表を多用し、実際人は図や表が多いほうが理解が進む。文だけで書かれている手順書など六法くらいではないか?
一方現在のGPTsのinstructionsには図や表は入れられない。GPT-4Vもあるのだから図表は読めるのだから将来は出来るのかもしれない。それでも文ですべて記述できればそれはルールとして厳格に処理出来る訳だからGPTにとっては文のほうがありがたい。
人が図表を使うのは理解のしやすさだけでなく、情報をごまかせるという側面もあります。それでもGPTsのinstructionsは図表を受け入れられるようになるべきです。

マスタの手順書を作り、GPTを使って人用手順書とGPTs用instructionsをそれぞれ起こす

マスタの手順書を作り、ツールまたはGPTを使って、人用手順書とGPTs用instructionsをそれぞれ起こすという方法が現実的かもしれません。もしかしたらAI側の知識こそを手順書のマスタにするべきかもしれない。
でもGPTsはそういう方向性を示すものではなさそうに思います。(なんとなくGPTsには頭のいい人が「今あるものをコンパクトに詰め込んだら面白いんじゃね?」的に作られた香りがします)
結局のところ、今やれることを踏まえた上で共通化を考慮する、という現実的方針を取るのが望ましい線だと思えます。

GPTsへの現実的な構成案

真ん中に人と共通の「作業手順書」を置き、その前に「前提説明」を置く。後方に「追加知識」を置くという構成にすれば、手順書部分は共通化がある程度出来るのではないか。

  1. 前提知識
    入門者に解説するようなそもそもの基本的な目的の説明
    AI固有で説明すべき事項もここに置く

  2. 作業手順書
    本GPTsの作業手順を記述する。人とAIと共通化する

  3. 追加知識
    手順書に未反映の追加の手順や、実行結果から修正反映すべき挙動や例外事項を記述する

とりあえずのサンプルGPTs(筑後弁変換器)

一応の考慮した形のサンプルGPTsを置きました。ざっくりですが。

筑後弁変換器 https://chat.openai.com/g/g-AllX62iI0-zhu-hou-bian-bian-huan-qi 

「筑後弁変換器」は、ユーザーが入力する文章を筑後弁に変換し、その変換された文章をオウム返しで返答することを主な機能とします。このGPTは、ユーザーが提供する標準日本語のテキストを読み取り、それを筑後方言に基づいて再構成します。変換後の筑後弁テキストは、オリジナルの内容を保ちながら方言の特徴を反映させます。特定の個性や話し方に関する指定はなく、ユーザーの入力に忠実に、簡潔かつ明瞭な対話を心掛けます。
参考にする筑後弁の情報
https://ja.wikipedia.org/wiki/%E7%AD%91%E5%BE%8C%E6%96%B9%E8%A8%80
追加ルール
- 「~のようだ。」は「~のごたる。」と変換する
- 「~したい。」は「~したか。」と変換する

前提説明項でGPTsの大前提行動を指示し(ほぼGPT builderが初期に起こしたもののまま)、手順書知識はwikipediaをそのままです(URLを指示しなくてもGPTそのものが習得していたようですが)。少し試してみて追加したいルールを行動経験として追加する。
みたいな感じです。

GPTsに感じる懐かしさ

先に昔のプロダクションシステムを思い出したと書きましたが、AppleのHyperCard( https://ja.wikipedia.org/wiki/HyperCard )も思い出したんですよ。これも非プログラマの方が自身のノウハウだけでアプリを作れると喜んだし、プログラマから見ると帯に短したすきに長しなところがあるけどよく出来てるなという感じでした。
HyperCardはその後のWebブラウザなどに影響を与えたすごいソフトですが、HyperCardの記述言語HyperTalkそのものは今はもう存在しないに等しい状態です。その頃作られたスタック(アプリ)はパブリックアーカイブに保存されたもの以外はフロッピーディスクに埋もれている気がします。
まぁそういうこともあるので手順書のマスタは1つに集約出来ればそれにこしたことないんですよ。これからのAIなら出来るようなると思いますし。

この記事が参加している募集

AIとやってみた

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