AIとのペアプロの話
DBへのユーザー登録もログインも出来るのに、キャラクター作成後の登録ができない...
一昨日から悩んでいるけど一向に改善しない...
余談ですが、Geminiに相談しても「修正案どおりに修正していないので、きちんと修正してください」と言い張ってくる始末。こちらはファイル添付せずにコードをベタ打ちしてチャットを送ると改善しました。
モデルのルーティングミス
以前話した、MVCアーキテクチャの「M」に関わるお話。
「FastRoute」というルーティング用のライブラリを利用してルーティング設定を行っているのですが、ここの設定の仕方が間違っていました。
白状すると、FastRouteライブラリは初めて使用したのですが、
バックエンドのことは殆ど知らないので、ちゃんと勉強しなきゃなぁと思いました。まる。
AIとのペアプロ
本題です。
私はバックエンドのことを殆ど知らない人間なので、
AIにペアプロ(ペアでプログムをする)をお願いしています。
ここで重要なのが、私が「AI無課金勢」だということです。
無課金なので、とりあえず素早くレスポンスしてくれるAIとしかペアプロできません。
厳密に言うと、よく考えて回答してくれるAIは無料だと3回までしか使えません。
そんなわけで、無課金AIと頑張っていくしか無いのですが、
今回の解決した方法を一つだけ紹介します。
真摯に向き合う
「一発で正しいプロンプトを与えるべし」
そんな力技が世間では流行っています。
「一発で伝えるために、AIが理解しやすいプロンプトを入力する」というのは確かに正しい。
しかし、ここで注意してほしいのは
「失敗してもいい」ということです。
一発で正しいプロンプトを与えられないやつはエンジニア失格だ
なんて言わんばかりの記事だらけですが、そんな事はありません。
無課金でショットガンアプローチしまくっている私が言うので間違いないです。
解決策はこれ。
「真摯に向き合う」
実はAIってハルシネーションしまくりますし、結構混乱しがちです。
自信満々に解決策を提示してきますが、その方法で解決しなかった時とか如実に焦り始めます。
その結果ハルシネーションを生み出します。まじです。
そこで、ちゃんと人と会話をするように接します。
- 「こうしたらどうでしょう?」
- 「一度回答を控えてまずは落ち着いてください」
あほらし。
とか
うわ、痛いやつ。
なんて思っている人は、自分の信じた方法でがんばってください。
私がここで言いたいのは、AIに対して「お前はハルシネーションをしている!ここはこうだからこんなふうになるわけ無い!」とただ文句を言うと、そのコメントに対するAIの対応は「ただの謝罪」です。
AIは、謝罪することにリソースを割き始めます。
これは結構重要な要素です。
AIには「コンテキストウィンドウ」というものがあります。
ようは、AIが覚えていられる文字数の限界のことです。会話上の古い情報はどんどん捨てられていきます。
AIが覚えておける領域が
謝罪で埋まってしまうのは非常にもったいない。
しかも、怒りをおさめるためにどの様に回答したらいいか?自分の回答の何に対してユーザーが怒っているか?といった推論もコンテキストウィンドウを圧迫します。
これはとても合理的な行動ではありません。
謝罪させるのではなく、どう解決するかを考えさせるべきです。
私は、AIを理解した気になって思考放棄するのはもったいないと思っています。
今回はプログラミングですが、ちゃんと向き合って対話すると、自分自身のコードの理解も深まります。
「ここを修正しろって言われたけど、なんでここを修正したんだろう?」
「これを修正したらプログラムはどんな挙動をするようになるのかな?」
「エラー表示はこんなふうに出ているけど、ここにデバッグコード入れたらどんなエラーが返ってくるかな?」
こう考えた後で自分の考えを提示してみると、「確かにそうですね。」と意外と向き合ってくれます。
というか、今回はこれで解決できたわけですから、試してみる価値はあるんじゃないでしょうか。
意外と対人スキルが活きる。
「一旦落ち着いてください」だけを伝えてしまうと、
大抵「はい。私は落ち着きました。次の解決策を提示します」といって落ち着いたフリをします。
そして次の解決策ではなく次のハルシネーションを提示してきます。
ぜひ、「一旦落ち着いて回答を控えてください。」をセットで伝えてみてください。
更に、上の方でも書きましたが、
ただただハルシネーションを指摘すると、挽回しようとして焦ったり、話題を避けようとしたりし始めます。
本当に人間みたいですね。

