こんにちは、SideCraft の mura です。

先週の SideCraft Notes #2 では、壁打ちの「問いの粒度」をお話ししました。「どうすれば?」を「A / B / C のどれが?」に置き換える3軸の比較、判断系の壁打ちで試していただけましたか。

今週は、もう一つの土台 「答えの種類」 を扱います。5軸の3つ目、前提共有・問いの粒度に続く軸です。

今週のテーマ: 結論を求めると、当てずっぽうが返ってくる

「答えを教えて」は、壁打ちで時間を溶かす典型パターンだと、私は思っています。

「答えを教えて」は、言い換えると「結論を1つ断定してください」と頼んでいるのと同じです。個人開発の判断は、ほとんどがトレードオフです。読み取りが多ければA案、書き込みが多ければB案、というように、状況によって最適解が変わる問題の方が多い。そこに「結論を1つ」と頼むと、LLM は当てずっぽうの結論を返すしかありません。

私自身、最初の頃はバグ調査で LLM に「なぜ?」を連投して、何時間も時間を溶かしました。LLM はもっともらしい原因を答えてくれるのですが、自分の状況に合わないことが多い。今思えば、結論を急いで聞いていたのが原因でした。

同じ場面で 「結論ではなく、論点を並べて」 と頼むと、返答が判断材料に変わります。

たとえば、Prisma で findUnique が undefined を返すバグに当たった時。最初はこう投げがちです。

Prisma で findUnique が undefined を返します。なぜですか?

これだと、LLM は「データが存在しません」「クエリ条件が違います」あたりの当てずっぽうを返します。自分の状況と合うかは、聞いた側が確かめないと分かりません。

問い直すと、こうなります。

Prisma で findUnique が undefined を返しています。
原因候補を、よくある順に5つ挙げてください。それぞれ「確認方法」も併記してください。

返ってくるのは、5つの原因候補と、それぞれの確認方法です。自分の状況に当てはめて、消去法で絞れます。「これは違う、これは確認してない、これは怪しい」と進められる、判断の材料が手に入ります。

Prisma を知らなくても大丈夫です。考え方は、他のバグ調査でも同じです。

ポイントは2つです。

  • 結論を断る — 「答えを1つ教えて」ではなく「結論は不要、論点だけ並べて」と明示する。これだけで、LLM は判断材料モードに切り替わります

  • 論点の出力形式を指定する — 「よくある順で5つ」「確認方法も併記して」のように、判断材料の並べ方をこちらが渡す。リスト形式が読みやすい目安です

論点を並べてもらうパターンは、バグ調査だけでなく、設計の方針判断、ライブラリ選定、撤退判断にも効きます。個人開発の判断はトレードオフがほとんどで、結論ではなく判断材料を取りに行く方が、後で「やっぱり違った」になりにくい、と私は思っています。

「論点を並べて」と1行頼むだけで、LLM との会話の手触りが変わります。

eBook のお知らせ

「壁打ちエンジニアリング」の先行販売準備を、最終調整しています。決済まわりが整い次第、購読者の方へ別途ご案内します(次回 NL #4 でも改めて告知予定です)。

次回予告

来週の SideCraft Notes #4 では、5軸の4つ目 「往復数」 を扱います。1往復で終わらせるか、3〜5往復に分けるか — 同じ問いでも、刻み方で返答の解像度が変わる話です。

質問・感想は このメールへの返信 で受け付けています(直接 mura に届きます)。X では #SideCraftNotes でも歓迎です。

それでは、また次の日曜に。

mura(SideCraft)
https://sidecraft.dev/

Keep Reading