技術的なトラブルシューティングでAIを使う際、回答精度を上げるために工夫しているプロンプトはありますか?
例えば、ログやエラーを貼って「このログから考えられる原因は?」と聞くだけだと、前提条件に合わない回答や、明らかに可能性の低い回答が返ってくることがあります。
そこで追加の前提条件を伝えると、今度は回答が大きく変わることもあります。少し条件を変えただけで結論が変わるので、どこまで信用してよいのか判断が難しいと感じています。
自分の場合は、
「このエラーから考えられる原因を可能性の高い順に挙げてください」
「以下の前提条件と矛盾する原因は除外してください」
「原因を特定するために、次に確認すべきログやコマンドを提示してください」
のように聞くことがあります。
特に技術的なトラブルシューティングでAIを使っている方で、回答の精度を上げるために工夫しているプロンプトや聞き方があれば知りたいです。
だいぶ重いかなとも思うのですが、エラーを出してるライブラリなどからなぜこのエラーが出るのかを理解させた上で、該当のソースコードを読ませるというのはありかもしれません。
そのプロンプトを生成AIに考えさせる
上の方も書いてますが、製品コードをコンテキストに入れられるかどうかで大きく変わると思います。
ネイティブアプリの開発で、claude codeにコードを読み込ませながら端末からリアルタイムで出るデバッグログを読み取らせてトラブルシュートしていましたが、自分は操作するだけでclaude codeが勝手にコードの問題点を調べてくれるので新体験でした。
リポジトリの構成をまとめたファイルをヒントとして与える、思考は英語で進めるように指定、クラウドベンダーのようにドキュメントのMCPがあればそれを渡す
のをやっています
回答精度をあげるにはAIに適切な(必要な情報があり不要な情報がない)コンテキストを渡す必要があると思います。
ただし、人間側が全てのコンテキストを用意してあげる必要はなく、AIに自ら動いてもらって必要なコンテキストを収集できるように環境を(必要な情報がどこにあるか、タスク実行前に必要となる前提は何か)整えることが重要だと思っています。
毎回プロンプトで渡してもいいですが、環境情報としてAIに知らせておかないといけないものは事前にテキストでAIが参照できるようにしておくと精度があがるはずです。
プロンプトとして渡すのであれば、質問のように回答を出す前に何回かAIに前提条件を確認してもらったり、答えを出すための情報を探らせるのがいいと思います。
そこからさらに精度を上げたい場合は、別のAIでその前提条件や回答をレビューしてもらって、メインのAIにフィードバックすると抜け漏れが減るはずです。
さらに、AIが実際に試せる検証環境を用意することも有効だと思います。
例えばVMやコンテナなどで問題に関する環境を再現して、AI自身に仮説を検証してもらいその実行結果を次の判断に使わせる形です。
必要な情報の収集から検証まで進められる環境を整えることで、回答を実際の環境に近い形で裏付けられます。
その際は、実環境との差や検証できていない条件を明確にして回答に含めてもらうと、どこまで信用できるか判断しやすくなるはずです。