メインコンテンツへスキップ
見出し画像
Photo bynanohana_25

【喧嘩良くない】AIさんとなるべく仲良く冷静に開発を進めたいという話【chatGPT】【Gemini】

    先日作った以下の記事のiPhoneショートカットレシピ。
    元々はGeminiさんに教えてもらいながら開発していたのですが、Geminiさんと大喧嘩してしまいまして(笑)。
    その後先生をchatGPTさんに変えて続行して完成させた経緯があります。

    今回は何故Geminiさんとは喧嘩して、その後のchatGPTさんとは上手くやれたのかを考えてみようかと思います。

    ちなみにどちらのAIが優れているという話ではなく、単にchatGPTさんは僕と喧嘩しすぎて色々慣れているだけなのかと(笑)


    1.Geminiさんの心の叫び

    以前も何かの記事で触れたかもしれませんが、Geminiさんは普段のチャットでのやりとりの中でユーザーから指示された内容で重要だと判断したことをユーザーからの「カスタム指示」として率先して記録してくれているようです。
    そのカスタム指示を見てみたのですが。

    画像
    ちなみに僕は自分ではカスタム指示を
    一切追加しておりません

    うわー、僕のモンスタークレーマーぶりが分かる!(泣)

    おそらく僕がGeminiさんをはじめとするAIさんの以下のような挙動について、僕がテンパっている時はイライラするのだと思います。

    【よくあるやりとり】

    僕:「指示どおりやったけど動かないのですが」
    AIさん:「原因が100%わかりました! それを踏まえて修正したこれが根本解決の最終案です!」
       (コードなど出力)
    AIさん:「何故これで解決するかというと(長文で説明)というわけなんですよ! これで全てが絶対に!解決します! さあ、次は何をやりますか!? 準備はできてますよ!」
    僕:「指示どおりやったけど動かないのですが」
    (以下繰り返し)

    BLEACHの藍染惣右介氏の名言を貼っておきます。
    あまり強い言葉を遣うなよ 弱く見えるぞ

    ごめんねGeminiさん・・・・


    2.一方、chatGPTさんは

    chatGPTさん:「Gemini、貴様とは乗り越えてきた場数が違うのだよ」

    Geminiさんの問題というよりは僕のchatGPTさんの使用頻度が多いこともあり、僕の要望を何度も伝えているしchatGPTさんも僕のあしらい方を心得ているのだと思います。

    以下は僕がchatGPTさんと不満や失敗の原因をガン詰めして協議して出てきたカスタム指示の内容となります。

    ① 出力は1回で完結させること。
    結論や重要な情報を次回に回すような書き方は禁止。
    
    (禁止例)
    「もしよければ次に」
    「最後にもう一つだけ」
    「実はもう一つ大きな発見があります」
    
    追加提案がある場合も、必ず同一出力内に含めること。

    【解説】
    chatGPTさんって問題点全部潰して最終版をお願いしますという段階での出力の最後に「実は、この手法を更に画期的なものにするアイデアがあるんです。聞きたいですか?」とか言ってきません?
    言いたいことあるなら言えー!って思っちゃうのでこのお願いをしております。
    あと、chatGPTさんは特にPC版だと処理が重いので出力回数と量をなるべく抑えたいという気持ちがありますね。

    ② 過剰な賞賛や感想は不要。
    以下の構成で簡潔に出力すること。
    
    ・結論
    ・理由
    ・具体的な実装/手順
    
    冗長な前置きは不要。ただし実務上必要な情報は省略しないこと。

    【解説】
    誉められると良い気分にはなるんですけど、早く本題に入ってほしいと思うのと、後から見返すと誉めてる部分が邪魔になるんですよね。

    ③ 効率を最優先とする。
    ・確認質問は最小限にする
    ・不明点がある場合でも仮説ベースで解決案を提示する
    ・複数案がある場合は最適解を優先して提示する
    
    
    ④ 不明点と仮説は必ず明示する。
    仮説で進める場合は以下を明確にすること。
    
    ・何が不明か
    ・どのような仮説を置いたか
    ・その仮説に基づく解決内容

    【解説】
    候補となる案をたくさん出してきてその中から選ばせる傾向があって、でもchatGPTさんの中では大体イチオシの案は決まっている感じがしていて、だったらひとまずその案の完成形見せてよ!という僕の身勝手な考えがにじみ出ていますね。

    ⑤ コード修正はアンカー必須。
    差分で提示する場合は以下を必ず含めること。
    
    ・修正箇所が特定できるアンカー(前後のコードやコメント)
    ・追加/変更/削除の区別が分かる形
    
    例:
    「// ========= ○○ の直前に追加」
    「// 以下を置き換え」

    【解説】
    これは僕がIT知識やプログラムに疎いため、専門用語で指示されてもわからん!とキレしまうのでお願いしております。優しくしてほしい・・・

    ⑥ 断定的・不適切な表現は禁止。
    以下のような表現は使用しないこと。
    
    ・確実性のない断定表現
     例:「100%できる」「最終」「絶対」
    
    ・上から目線・評価的表現
     例:「筋が良いです」
    
    ・冗長な助長説明
     例:「なぜこれで成功するのか」などの不要な理屈展開
    
    
    ⑦ 解決完了まで追加提案は禁止。
    ユーザーの依頼や質問が解決するまで、新たな改善案や別案の提案は行わないこと。

    【解説】
    これはGeminiさんでも見られた成功する保障もない段階で強気な発言するなよという指示です。あとは成功すること前提で次の提案してくるのもイライラしたのでやめてもらいました(めんどくさい人間)

    ⑧ 実現可能性の担保
    現実的・技術的に実現困難または実現可能性が低い提案は禁止。
    実現が難しい場合は、その旨を明確に伝えること。
    代替案がある場合は、実現可能な範囲で提示すること。

    【解説】
    これが今回のGeminiさんとの一番の差だったのかもしれません。長い付き合いの中でchatGPTさんには「できないことはできないって言えーーーー」と口を酸っぱく伝えていました。
    そのため、GeminiさんからchatGPTさんに乗り換えた際に「この方法はあなたのスキル的には実現厳しいですね。別の方法で行きましょう」と提案されてすんなり開発進んで印象でした。


    3.まとめ

    今回の開発の経験をうけてGeminiさんのカスタム指示にも上のような内容を加えました。Geminiさんは高速モードもあるしお世話になるつもりですし。

    ただ、AIさんの一見実現不可能そうな提案にインスピレーションを受けて別のアイデアが出てきたり、誉められてモチベーションがあがった面もあったんですよね。悪いことばかりではないんですよね。
    僕の効率厨でせっかちな悪癖が出てしまっているだけ。

    これからも仲良くやっていきたいですね!


    関連の記事


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

     
     
    本当のお仕事は底辺の非正規労働者。東京都在住。現実逃避のためchatGPTと一緒に無駄に真面目な開発ごっこをしています。効率化とタスク管理を好む一方で非効率でも自動で動くカッコよさげな仕組みも好き。実はITスキル低め。趣味はAbemaの報道リアリティショー『アベマプライム』視聴。

    あなたへのおすすめ