AIに重要な空白をすべて埋めさせないで
AIは「空白を埋める」のが得意だが、それが平凡な出力につながると論じる。プロンプトを具体的かつ詳細にし、LLMをブラックボックスではなくペアプログラマーとして扱い、意思決定を放棄しないことを提唱。不確定性を減らし、プロンプトスキルを向上させることで、個性的な結果を得る重要性を強調している。
AIは「スパイシーなオートコンプリート」「トークンプレディクター」「確率的オウム」などと呼ばれています。誰に聞くか、その人のテクノロジーへの見解によって異なりますが、共通する核心は「空白を埋める」のが得意だということです。不完全なプロンプトを入力すれば、使える(とはいえ「まあまあ」程度の)出力が得られます。特に外部から見ると、AIの「魔法」の半分はこの空白を埋める能力にあります。
しかし、この空白を埋める能力こそが、AI生成コンテンツを平凡で画一的に感じさせる原因です——得られるのは人間の出力の統計的平均に過ぎません。理想は真逆を行くことです。自分の専門分野では具体的かつ詳細に指示し、自分好みの方向に肉付けして、製品を自分らしくすることです。例えば、HyperLogLogが必要だとわかっているなら、AIに様々な解決策をさまよわせてはいけません。
これはLLMをブラックボックスではなく、ペアプログラマーとして扱うことを意味します。具体的な技術的・美的判断でプロンプトを固定し、AIが自分のセンスを凡庸なもので置き換える傾向を取り除くのです。
曖昧な指示では効果的な委任はできません。プロンプトが不十分な場合、製品を定義する中核的なエンジニアリングや意思決定を放棄していることになります。ここで問われるのは、AIをレバレッジとして使っているのか、それとも認知負荷を避けるための逃げ道として使っているのか、という点です。
先延ばしにされた思考も問題です。意見を明確にしたプロンプトを書く方が、後から自分が行わなかった技術的決定の壁を解きほぐすよりもほぼ常に速いのです。実装をあらかじめ指定しないと、「節約」した実行時間は将来に先延ばしされるだけです。この摩擦は、AIの出力をレビューするときに現れます:なぜ特定のデータ構造や状態管理パターンを選んだのか理解しようとエネルギーを費やすことになります。プロンプトに制約を明示するための30秒の追加投資が、望む結果を得るための大きな助けとなります。
再現可能な結果を得にくいというAIへの不満も、ここに由来します。自分で空白を埋めることで、この問題をある程度軽減できます。非決定性は曖昧さで増幅します:プロンプトがオープンエンドであるほど、AIは異なる実行で多くのバリエーションを生成します。問題空間を一つの明確な「ハッピーパス」——あなたのパス——に絞り込むことで、AIは頭の中を推測するのをやめ、具体的な要件をコードに翻訳し始めます。
もちろん、プロンプトスキルも向上させる必要があります。凡庸なデザインやコードを見てAIのせいにするのは簡単ですが、問題はたいていプロンプト、ひいては私たち自身にあります。LLMは制約を明示しなくても機能的な出力を生成できますが、だからといって制約を完全に省略してよいわけではありません。中途半端な入力は退屈な出力を生むだけです。
お読みいただきありがとうございます!もし面白いプロジェクトを構築していて、出荷を手伝える余剰人員が必要なら、あるいは単にご連絡いただけるなら、どうぞお気軽に。私の受信箱は開いています。