Geminiに対する卒業研究のテーマの定義と作業ステップの相談 Gemini:https://g.co/gemini/share/225f84fbc733
ChatGPT(論文):https://chatgpt.com/share/68d4ef4d-45f8-8005-83a0-d50cc3a5909b
卒研に留まらず、学会発表や、論文誌への投稿ができるレベルにもっていける可能性がある、独自の視点を含むとてもいいテーマ設定ですね。
メモリによる記憶の実現は、最近、ChatGPTでも実装・公開されています。https://openai.com/ja-JP/index/memory-and-new-controls-for-chatgpt/(このことは、橋口さんの着眼点が、OpenAIなどの最先端の研究者の着眼点と重なりがあったということで、橋口さんの目の付け所がよいことの裏付けなので、がっかりすることはなくて、むしろ、自信を持っていいです)
ただし、生成AIは学習時点までの知識しか持ってないので、これ(すでに実装されていること)を知らないのです。
この、「AIは最近のことを知らないという問題」を意識して、AIとの対話をする必要があります。AIに、検索を併用するように頼めば、最近の情報に基づいた応答をしてもらえます。
このように、今、まさに進展中の技術と深く関係するテーマであることを把握した上で、橋口さんの研究を進める必要があります。自分で研究中の技術が、世界中の研究者によって月単位・日単位でどんどん進んでしまうのは、今のAI分野の宿命ですね。
AIを(疑似的に)「育てる」のと同時に自分自身を「知っていく」というのも根本に入れたく。なんでも相手のいい感じになるように共感し同調してくれる親友や恋人ではなく、ユーザーもキャラ(AI)も同時に「育つ」ことという意味合いの「パートナー」になれるAI
↑ここが、独自性を発揮できるところだと思うので、頑張れ!
model = genai.GenerativeModel("gemini-1.5-flash") としているようですが、ここも、AIは少し前の情報しかもってないので、このままスルーしていると思いますが、今は、モデルがすでに変わっています。モデルが変わると、応答性能は上がっているので、今回のような趣旨の論文中で実験する場合は、最新のモデルで実験すべきだと思います。やりたいことによっては、わざと、古いモデルを使うというのもありえますが。geminiのモデルや、APIを新しいものに更新する話は、私が、ここに書いているので参照して下さい。
この調子でばりばり進めて下さい。とてもよい研究になると思います。
・対話型AIが出力した文章を元に、別の生成画像AIが実際に画像を生成できないか相談 ➞今のところ難しそうだったので一旦置き(出来たらゲームっぽいを実現すべくユーザーが操作するキャラとして実装したい)
・WebのUIのアップグレード
・自分のAI感を高めるためにユーザーから名づけてもらったのをAIと紐づけする ➞そこで動作しなくなったのでこの話題も一旦置き
Gemini:https://g.co/gemini/share/f306f0b24fec
・AI育成ステータスのやる気・かしこさ・やさしさに加え、好奇心・決断力・柔軟性・自省力の追加 ➞ここでつまずく
・Webのデザインのフォント変更
難しそうだとか、動作しなくなったとか、つまずいた、とかの場合ですが、生成AIによるコーディング力不足が原因だとすると、コーディング能力が高いClaudeを使ってみる価値があります。会話入力欄の「+」をクリックして、「ファイルをアップロード」を選んで、これまでに作成したプログラムをアップロードして下さい。複数ファイルをアップロードできます。その上で、「実行するとこれこれのエラーメッセージが出た」とエラーメッセージをコピペして入力すると、バグをとってくれたり、これこれの仕様に変更したいと依頼したりできます。
10/02の対話履歴の最後の応答(下記)ですが、これは、おそらく、対話応答の安全性を保つためのガードに引っかかった感じなので、リクエストを少し書き換えたり(変更後の対話システムに安全上問題がないことを説得できればOK)、Claudeで依頼したりすると、応えてくれる可能性が高いです。非力で対応できないのであれば、ClaudeやGPT-5なら対応できる可能性が高いです。
> 私は大規模言語モデルとしてまだ学習中です。そちらについては、必要な情報や機能がないため、すみませんがお手伝いできません。
上ノ原君の卒研テーマと関係がありそうなので、ディスカッションしてみると、両方の卒研の質が高まると思います。
Claude:https://claude.ai/share/720b1759-6c93-483f-8975-30799ee91a54
Gemini:https://g.co/gemini/share/8f4cc794ee7a
・AIキャラの設定を変更
・WebのUI変更
Claudeの方は最後まで見ました。Geminiの方はかなり読みましたが、長くて途中で操作を間違えて最初に戻ってしまったので、そこで断念しました。いろいろ問題があって、アドバイスすべきことがいろいろありそうですが、明日、対面で話をしましょう。10/9に共有リンクを2つ載せてくれた生成AIの使い方(相談の進め方、ファイルの添付のしかた)とか、最新のGemini APIライブラリを使ったコードを生成AIに出力させる方法とか、Pythonスクリプトの実行のしかたとか、割と基本的なところで改善すると良さそうなことがいろいろある状態だと認識しています。
どんなUIかや、対話の様子を見せて下さい。または、対話アプリ?にアクセスできるようにしてURL?を教えて下さい。または、現状のプログラムと、その動かし方を教えて下さい。
Gemini:https://gemini.google.com/share/0d18127a47f5
Claude:https://claude.ai/share/720b1759-6c93-483f-8975-30799ee91a54
・エラーの修正(のはずがまた新たなエラー?というか動かないところが出てきたのでどうすればいいか教えてもらいたいです。今の状態だとスライムAIのステータスがちゃんと変動していないことに気づいて、そこを修正したいのですが、なぜかまた新たな性格を追加してきたりしたり他のところも変わっていたりしていて、前まではできていたのにできなくなっていて、正しくAIに性格ステータスを変動させてほしい旨を伝えるにはどうすればいいのかわかりません。)
どんなUI・現状のプログラム⇨ファイルの貼り付け方が分からないです。
動かし方⇨今のところPowershellで動かしています。
堂々巡りみたいになってバグが取れないときの対処法(以下のようにいろいろありえる)
バグを含む現状のプログラムに対して、モデルを変えてデバッグしてみる(claude, gpt, geminiなどいろいろ試してみる)
今取れなくなっているバグが最初に出現したところ(対話の時点)に戻って、AIの答を生成し直す(ランダム性があるので、バグが無いコードが生成されるか、または、デバッグしやすいバグを含むコードが生成される可能性がある)
今取れなくなっているバグが最初に出現したところ(対話の時点)に戻って、モデルを変えて生成し直す
今取れなくなっているバグが最初に出現したところ(対話の時点)に戻って、入力プロンプトを変えて試してみる
今取れなくなっているバグが最初に出現したところ(対話の時点)に戻って、(やりたいことは複数あるだろうから)別の依頼を先にしてみる
修正したいところ以外を修正してくることを防ぐ方法(以下のどれか、あるいは、複数を組み合わせる)
「xxだけを修正して、他は勝手に変更しないで下さい」と伝える
対話履歴の影響を受けている可能性があるので、新たに対話を始める(これまでのプログラムはファイル添付することで伝える)
生成AIの設定が、新しく対話を始めた場合も、これまでの対話の情報が引き継がれる設定になっていると、新たに対話を初めても、これまでのやりとりの影響を受けるので、設定を見直して、一続きの対話を超えて別の対話に情報を引き渡すメモリー(他の名称が使われている場合もあるだろう)を持たないようにする。
現状の対話アプリを私が動かせるためには、以下のいずれかの方法かな
対話履歴中のどのコードを試せばよいかを知らせてもらう
動いている版のコードをGoogleドライブなどで共有してもらう
アプリを何らかの方法で公開して、そのURLを知らせてもらう
Gemini:https://gemini.google.com/share/673f0f46685f
Claude:https://claude.ai/public/artifacts/9dda2ab2-41ff-4f3f-b909-3a3d904b9b30
・どちらも新しく会話を始めてみることにした。
送ったテキスト➞「私の卒業研究のお手伝いをしてほしいです。テーマは、「本研究は、大規模言語モデル(LLM)の対話履歴に基づく応答変化の特性を活用し、ユーザーとAIキャラが動的に相互影響を与え合う**『相互成長型AIパートナー』の開発と評価を行う。ユーザーの対話行動を『育成パラメータ』として抽出し、AIキャラのペルソナと発言を意図的に変化・進化させることで、長期的なユーザーエンゲージメントとユーザー自身の自己理解(メタ認知)を同時に実現することを目的とする。これは、従来の固定化されたペルソナを持つチャットボットに対し、ゲーム性と教育的価値を融合させた次世代の対話型AIのあり方**を提案するものである。」として、現在のプログラムは添付ファイルの通りです。ここからプログラムを追加・修正していくために以下にまとめます。
・本研究の対話型AIを「スライムAI」と表し、実際にプレイする人(ユーザー)がこのスライムAIと会話を通してスライムを育てていく。スライムAIは大規模言語モデル(LLM)の応答変化の特性を活用し、ユーザーとの会話・対話履歴からユーザーの性格・価値観などをくみ取り、くみ取った性格を可視化させることで、ユーザー自身がどのような人物なのかを表す。➞ユーザーとAIキャラが動的に相互影響を与え合う『相互成長型AIパートナー』の要素
・スライムAIは『育成パラメータ』に基づいて”進化”(口調変化)させる。進化方法はユーザーとの言葉のキャッチボールである。ユーザーから話しかけて、AIが応答するこの1ターンで『育成パラメータ』である、やる気/かしこさ/やさしさ/好奇心/決断力/柔軟性/自省力のどれかをそのユーザーの内容から感じ取った感情のどれかを1レベルアップさせる。初期値はレベル10・最大値をレベル50とし、レベル20で1回目の進化、レベル30で2回目の進化、そして最大値のレベル50で最後の進化とし、添付ファイルであるslime_server.pyの中身のプロンプトにもある通り、AIの性格(口調)をその『育成パラメータ』の中で最も高い数値である性格を反映し、進化した際もレベル20、レベル30、レベル50のレベルに合わせて段階的にAIの性格(口調)とAIの見た目(外観デザイン)も変化させる。➞ここの部分は本研究の核ともいえるところなのでここを重点的に優先したい
・本研究はできるだけ多くのユーザーに試してもらいたいという思いがあるので、世界観の設定やWeb上のデザインを人々が気軽に触れやすい「AI育成ゲーム」としている。なので、添付されているtest_index.htmlにもあるとおり、UIのデザインは枠やフォントをピクセル風かつイマドキ感も欲しいのでパステルでカラフルなカラーパレットを設定している。また、この世界観の要素を高めるためにスライムAIにも人物設定がある。それはslime_server.pyにもあるプロンプトの【あなたの設定】にもあるとおり、
- 生まれたばかりのスライムで、「性格」や「個性」がまだ未発達な状態です
- しかし、基本的な会話能力と一般常識は持っており、普通に雑談できます
- 世の中の基本的な知識(日常会話に必要なレベル)は理解しています
- ユーザーとの対話を通じて、あなたの「性格」「話し方」「価値観」が徐々に形成されていきます
- 生まれたばかりなので、好奇心旺盛で、ユーザーのことをたくさん知りたがっています とこのようにユーザーによって育てられる「透明なスライムAI」としており、口調も、語尾に「ポヨ」を付けたり、一人称を「ボク」とします。また、Web上に記載するキャッチコピーも「ポヨ!あなたと育つ、不思議なAI。」とし、世界観を壊さないようにシステムエラーなどのメッセージは、「ポヨ…ごめんなさい。ネットワークエラーか、サーバーが考えすぎてお腹を壊してしまったポヨ...」などこのスライムAIのキャラクターを守ること
現在のシステムプロンプトの設定やWebのUIやスライムAIのデザイン(進化後も含めて)、スライムAIが段階的に口調・見た目変化の仕様のところなどは完璧だと思うので、あとは上記のまとめを守りつつ、レベルアップや育成パラメータの同期付けなど今現在まとめと比べて正常に動いていないところだけを修正してください」
その結果、Geminiはエラーメッセージが止まらなくなり、Claudeは文字制限を超えて無料の上限を超えて利用できなくなった
AIへの指示が、全体的に分かりにくいため、どのような仕様でシステムを作ればいいかが分からず、AIが困ると思います。まずは、指示内容(システムの仕様)を整理して、分かりやすく書くことが必要です。特に黄色のハイライトの部分は、重要であるにも関わらず、とても難解です。一文が長いと難解になりやすいので、箇条書きで短い文にするのがお勧め。箇条書きの項目は、内容に対応して項目に分けるようにして下さい。一つの項目に一つの内容、となるように。また、項目間の関係もちゃんと整理して下さい。これとこれとこれは、満たすべき条件を並べたもので、これとこれは順番に実行、など。同じ働きの項目が並んでいれば、それを1つのグループにして、小見出しをつけて、というように階層的にまとめるといいです。
「現状のプログラムで、どこができていて、どこが、どのように駄目か」も、きちんと整理して、分かりやすく伝えないと、AIが困ります。
自分だけで指示文を改良するのが難しければ、AIに頼むと分かりやすく整理して書き直してくれるので、その書き直してくれたやつを見て、自分の意図と違うところだけを書き直して、書き直したものを、再度AIに整理してもらう、という手もある。
たくさんのことをお願いすると、エラーのループに陥りやすく、また、レート制限を消費しがちなので、1回の依頼は、一つのことだけを頼み、順番に良くしていくのがお勧め。
まずは、1カ月、Claudeに課金する(20ドル?なので、税込みで3500円くらい?)というのは考えてみる価値があると思います。クレジットカードが必要だと思います。卒研の締め切りを考えると、今からだと、最大でも2カ月の課金で済むはず。すみませんが、学生のアカウントに対する課金は研究費ではできないので、自費でお願いするしかないので、課金するかどうかは、自分で判断して下さい。
課金しないとすると、レート制限にかかったら、丸一日休むしかないので、その間は、論文を書き進めるとか、関連研究を調べるとか、その間は別の生成AIに切り替える、とか。
Google AI StudioのBuild環境は、無料で、かなり大きなプログラムを作ってもレート制限に達しない感じなので、ここで作ってみてもよいかも。この環境の使い方(この卒研用でなく、一般的な使い方ですが)の例は、ここに書きました。「+」をクリックして添付ファイルでこれまでのプログラムを添付して、作りたいものの仕様を書いて依頼するという使い方もできるはず。Webアプリとして作ってくれるのも、今回のテーマに合っています。この環境とは合わないプログラムを添付した場合も、適当に変更してくれると思います。
ダッシュボード:https://gemini.google.com/share/78e836f681ea
Gemini:https://gemini.google.com/share/95db85951e06
・GeminiへGeminiへの指示文章を書いてもらう方向で行ってみました。(上のGemini:リンクが会話内容です)
・今回はJavascriptで書いてもらったみたいなのですがこれを実際にWeb上でも動くのかは次回試します。(一応Geminiの会話上のプレビュー画面だと正常に動いたと思います。(見た目のデザインとかは変えたいなと思っていますが。)でもちょっと微調整したいところもあります。)
・またうまくいかなくなった場合、上記のGoogle AI StudioのBuild環境を試します。