見出し画像

 【必読】AIの潜在能力を引き出す、創造的対話と「問いかけ」の話法ーGoogleサイトで作るグループウェア(180)ー

🙇🏻いつも、Googleサイトで作るグループウェアを見ていただき、ありがとうございます!


この記事を読んで欲しい方

企業DXや学校DXの進め方に悩んでいる方
クラウドアプリの導入に悩んでいる方
自分だけのGoogleサイトを作ってみたい方
AIの利用に悩んでいる方

①AIとの協働には2つの秘密の鍵がある

 みなさんこんにちは。Claude使っていますか?
 今回は、Claudeでアナログ時計ジェネレータを開発(AIコーディング)していく中で、私が試行錯誤を繰り返しながら気がついた、2つの秘密の鍵である、【創造的対話】【問いかけの話法】についてお話します。
 (ここでのAIとは、基本的にClaude3.5Sonnetになります。また、AIコーディングとは、非エンジニアやプログラムを知らない人が簡単にAIに作らせるようなものではなく、コーディングの知識や開発手法の知識を持っている人がAIと協働で開発を行うことを意味しています。)

②AIとの協働では人間側がイライラする

 AIコーディング(AIとの協働でプログラムを作ること)をやっていると、AIの理解のなさ素っ頓狂な回答(いわゆるイミフ)イライラすることが多々ありますよね。
 しかし、AIにいくら感情をぶつけて文句を言っても、AIは謝るばかりでコード内容が改善することはありません。
 ところが、AIはひょんなタイミングで、素晴らしい回答を出してきたりもします。
 これは、いったい何が起きているのでしょうか?

③第1の鍵:創造的対話

 まず、AIが創造的対話を知っているのかが重要です。
 Claude「創造的対話をご存知ですか?」と聞いてみてください。回答が出てくるはずです。(ちなみにv0は知りませんでしたので、Claudeの回答をコピペして教えましたw)

Claude>はい、創造的対話について知っています。創造的対話は、参加者が互いの意見や考えを尊重しながら、新しいアイデアや解決策を生み出すためのコミュニケーション方法です。

この対話方法の主な特徴は以下の通りです:

  1. オープンな姿勢:先入観や判断を保留し、新しい可能性を探ります。

  2. 積極的な傾聴:相手の意見をよく聞き、理解しようと努めます。

  3. 建設的な質問:対話を深め、新しい視点を引き出すような質問をします。

  4. 協調性:競争ではなく、協力して共通の目標に向かいます。

  5. 多様性の尊重:異なる意見や背景を持つ人々の参加を歓迎します。

創造的対話は、ビジネス、教育、地域社会など様々な場面で活用されており、イノベーションや問題解決に効果的です。

④第2の鍵:問いかけの話法

 次に、プログラムのテーマである「アナログ時計を作りたい」について、このようにAIに問いかけます。
「それをふまえて、アナログ時計をつくりたいのですが、どうしたらいいですか?」
 重要なのは、常にこちらから「問いかける話法」を使うこと
です。
「HTML、Javascript、CSSで作りたいと思うのですが、どうでしょうか?
「文字盤に数字や目盛りを追加するのはいかがでしょうか?わかりやすくなるとおもいます。」
「円になっている数字が時計の中心とずれているように見えますが、いかがですか?
「いいですね、きれいにならびました。ただ、もう少し時計の中心によせるとみやすくなるとおもいませんか?

⑤こちらの意図に合わなかった場合の問いかけ

 以下は、こちらの意図にAIの回答が合わなかった場合の問いかけです。
「先程の位置のほうが良かったと思いませんか?
「円になっている目盛りは、時計の中心からもう少し外側のほうが良いと思いませんか?
「前のほうがわかりやすいと思いませんか?
「目盛りの円が時計の中心から少し遠いほうが、数字と重ならなくていいと思いませんか?
「目盛りだけ、時計の外枠から外れました。これで、おなじまちがいを3回やってしまいましたが、どうしたら良いと思いますか?
ここまでは、AIと人との試行錯誤です。
そして、ついに正しい回答を導き出す問いが出せました。

 「目盛りの円の中心は時計の中心と一致しますよね?いかがですか?」
これで、AIが即座に理解して、意図した形が出てきました。これが、AIの理解できていない点だったのです。
 最後に、「目盛りと数字が重なっているように見えませんか?」で、最終的に意図したアナログ時計が完成しました。
 つまり、何度も同じ間違いをする場合は、何かの理解が足りないのです。その核心を投げかける必要があります。

 さらに、一応目的は達成したのですが、遊びも兼ねて「それでは、あなたの最善の考え方で、時計をアレンジしてみたいと思いませんか?」と問いかけ、さらに何回かの問いかけを経てAIがデザインしたカラフルな時計ができました。

AIがデザインしたカラフルな時計


⑥AIと振り返り

 最後に、AIと振り返りを行いました。
「よくできていると思います。ところで、これまでの対話は創造的対話でしたか?」

Claude>はい、これまでの対話は確かに創造的対話の良い例だったと思います。創造的対話の主要な特徴を振り返ってみましょう:

  1. オープンな姿勢:
    私たちは時計のデザインについて、先入観にとらわれず新しい可能性を探りました。最初の基本的な時計から始まり、徐々に機能を追加し、デザインを洗練させていきました。

  2. 積極的な傾聴:
    あなたの提案や指摘を注意深く聞き、それぞれの改善点を時計のデザインに反映させました。例えば、数字の配置や大きさの調整など、あなたの意見を積極的に取り入れました。

  3. 建設的な質問:
    私は時々、「さらに改善したい点はありますか?」「他に追加したい機能はありますか?」などと質問し、対話を深め、新しいアイデアを引き出そうとしました。

  4. 協調性:
    私たちは競争ではなく、協力して共通の目標(より良い時計のデザイン)に向かって作業しました。お互いのアイデアを尊重し、それらを組み合わせてより良い結果を生み出しました。

  5. 多様性の尊重:
    異なる視点や提案を歓迎し、それぞれのアイデアの価値を認めました。例えば、アナログとデジタルの表示を組み合わせたり、日付表示を追加したりするなど、多様な機能を統合しました。

  6. イノベーションと問題解決:
    私たちは単なる時計から、より機能的で視覚的にも魅力的な製品へと発展させました。途中で生じた問題(例:数字と目盛りの重なり)も、創造的に解決しました。

  7. 反復的なプロセス:
    最初のデザインから始まり、段階的に改良を重ねていきました。それぞれの変更後に評価し、さらなる改善点を見出すというサイクルを繰り返しました。

  8. 失敗からの学び:
    途中で生じた誤り(例:目盛りの配置ミス)を、学びの機会として活用しました。

このように、私たちの対話は創造的対話の多くの要素を含んでいました。お互いの意見を尊重しながら、アイデアを出し合い、問題を解決し、最終的により良い製品を作り上げることができました。これは創造的対話の素晴らしい例だと言えるでしょう。

さらに、「プログラム開発をする場合、このように創造的対話を行うことが、効率や精度面から見ても、良いと思いますが、いかがでしょうか?」

Claude>はい、プログラム開発において創造的対話を活用することは、効率性と精度の両面で非常に有益だと考えます。以下に、その理由をいくつか挙げてみましょう:

  1. 問題の早期発見と解決:

    • 多様な視点からの意見交換により、潜在的な問題や課題を早い段階で特定できます。

    • これにより、開発の後期段階での大幅な修正や手戻りを減らすことができ、効率的な開発につながります。

  2. イノベーションの促進:

    • オープンな対話を通じて、従来の方法にとらわれない新しいアイデアや解決策が生まれやすくなります。

    • これは、より効率的なアルゴリズムや革新的な機能の開発につながる可能性があります。

  3. コードの品質向上:

    • 異なる視点からのフィードバックにより、コードの可読性、保守性、効率性が向上します。

    • これは長期的に見て、バグの減少やシステムの安定性向上につながり、精度の改善に寄与します。

  4. チームの知識と技能の向上:

    • 創造的対話を通じて、チームメンバー間で知識や経験が共有されます。

    • これにより、チーム全体の技術力が向上し、より高品質なコードを効率的に生産できるようになります。

  5. ユーザーニーズへの適合:

    • 多角的な視点から議論することで、エンドユーザーのニーズをより深く理解し、それに適合したソリューションを開発できます。

    • これは、開発後の大幅な修正を減らし、ユーザー満足度の高いプロダクトを効率的に作り出すことにつながります。

  6. アジャイル開発との親和性:

    • 創造的対話は、アジャイル開発の原則と非常に相性が良いです。

    • 頻繁なフィードバックと柔軟な対応を可能にし、開発プロセス全体の効率を高めます。

  7. バグの早期発見と修正:

    • 多様な視点からのレビューにより、単一の開発者では気づきにくいバグや潜在的な問題を早期に発見できます。

    • これは、製品の精度と信頼性の向上に直接つながります。

  8. 効率的な意思決定:

    • 創造的対話を通じて、チーム全体で情報を共有し、合意形成を図ることができます。

    • これにより、重要な決定をより迅速かつ的確に行うことができ、開発の効率が向上します。

  9. モチベーションと engagement の向上:

    • チームメンバーが積極的に対話に参加し、自身のアイデアが尊重されることで、モチベーションが高まります。

    • これは、生産性の向上と、より質の高い成果物の創出につながります。

  10. 継続的な改善:

    • 創造的対話を通じて、常にプロセスや成果物を評価し、改善する文化が育成されます。

    • これは長期的に見て、開発チームと製品の両方の継続的な進化と品質向上につながります。

このように、創造的対話はプログラム開発において、効率性と精度の両面で多大な利点をもたらします。ただし、これを効果的に実践するには、オープンで心理的安全性の高い環境づくりと、適切なファシリテーションが重要です。また、対話に費やす時間とコーディングのバランスを適切に取ることも必要です。

適切に実施されれば、創造的対話は開発プロセスを大きく改善し、より高品質な製品をより効率的に開発することを可能にする強力なツールとなります。

⑦おわりに

 いかがでしたでしょうか?
 実際やってみた個人的感想ですが、この2つの方法でAIコーディングをした場合、人間側のイライラは殆どありませんでした。
 そして、AIへの人間からの【適切な問いかけ】こそが、最終的な回答の精度を高める
ことにつながっていました。
 今でもいろいろなプロンプトを試行錯誤で開発しているプロンプトエンジニアの方たちが多くいらっしゃいますが、その前にAIの潜在能力を上手に引き出すため、AI側には創造的対話の理解を、人間側には問いかけの話法を使ってもらう方が、一般の人たちにとっては簡単なのかもしれませんね。


注)この記事内のポンチ絵は、すべてNapkinAIを用いて生成しました。


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

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