「プロンプト」なんて存在しない:AIとの対話を再定義する
Prompts aren’t Real
Prompts aren’t Real
「プロンプト」という言葉は、AIとのやり取りを過度に単純化しているかもしれません。結局のところ、それは単なる『モデルへの入力』であり、私たちが魔法の呪文を唱えているわけではありません。AIエンジニアリングの本質は、指示の書き方というよりも、モデルがどのように文脈を理解し、出力を生成するかというメカニズムを理解することにあります。
すごく良い記事だね。ここで書かれている問題は、LLMを使って(大抵の場合)信頼できる結果を出す本番システムを構築する際に、まさに我々が直面したものだよ。広範なテストは不可欠だし、ステークホルダーたちは自分たちの提案が本番環境でどう失敗するか全くわかっていない。「何度か試してうまくいった」というわずかな成功例しか見ておらず、その先に広がる呪われたような失敗の数々については見えていないんだ(「そんなの簡単でしょ?なんでただ……しないの?」っていう言葉が聞こえてきそうだよ)。記事にあるようなプロンプトの自作という段階までは到達しなかったけど、興味深いアイデアだね。
AIの未来が、企業がユーザーにAIのインターフェースを提供するような形にはなってほしくないな……。それよりも、企業が「AIのための」インターフェースを提供して、ユーザーが自分のAIをそこに接続できるようにする方がずっといい。つまり、企業側がツールを使うAIをユーザーに押し付けるんじゃなくて、僕のAIにツールを使わせてほしいんだ。そうすれば、僕のAIが必要なコンテキストをすべて持ち込めるし、僕自身の好みや知識設定も反映できる。毎回毎回、何がしたいのか、どういう風に動いてほしいのかという基本的な説明をしなければならない、バラバラなAIだらけの世界なんて真っ平だよ。これなら、このエッセイが語る問題も回避できる。企業は一貫したツールを提供するだけでよくて、AIの挙動の妙については関知しなくて済む。ユーザーがプロンプトをどういじってAIを壊そうが、悩まなくていいんだから。
プロンプトのテキストという性質上、意識のないシステムに対して意図的なスタンスをとってしまい、結果としてその「意味」の欠如という本質を見誤ってしまう。
個人的には、LLMは有益な区別を行い、豊富なアクション空間を持つことができる存在だと考えている。広く使われているのは動作が有用だからであって、それはセマンティクス(意味論)が実用的にうまく機能しているからこそ実現できている。採算が取れるような有用なものに、わざわざ「本質的な意味」なんてお墨付きは不要なんだ。それは我々と相互に絡み合うことで、すでに定着しているからね。
どれだけ効果があるかは未知数だけど、ここ数年見てきた「プロンプトエンジニアリング」と称されるものの多くよりも、はるかに工学的に見えるよ。自分の成果を誇大に宣伝することなく、簡潔に書き上げた著者に敬意を表したい。
これに関して我々が直面した問題の一つは、テストスイートを回すのに実際に目に見えるコストがかかることだね。これは今まで経験した何とも異なる点だよ。だから、パフォーマンスを統計的に有意に測定できるほどテストを繰り返すなんていう発想は……いや、正しいのはわかるけど、そんなプロセスを経て会社が生き残れるかどうかが怪しいんだ。
この記事のフォーマットは、正直言って読むのがほぼ不可能に近い。10ページくらい進んだところで諦めた。
素晴らしい内容ではあるんだけど、顧客のために予測可能で「決定論的」なエージェントを作りたいと願う一方で、これがどれほど無駄で、高コストで、楽しくない作業かと思わずにはいられない。著者自身が楽しめているなら良いんだけど、自分としては「猿と梯子とバナナ」の実験(他人がやっているから、あるいは顧客がバナナ……いや、お金をくれるからやっているだけで、本当に役立つと信じているわけではない)の中にいるような気分だ。もし今回みたいにプロンプト最適化をループさせ始めたら、顧客からの支払いは間違いなく止まるだろうしね。現状これだけ多くのツールやMCPがある中で、それぞれを使うたびに挙動が大きく変化するなら、いっそツールを統合して自動化を増やし、またプロンプトに立ち返るべきなのかもしれない。(あるいは、自前のモデルを学習させるしかないのか?)
最後に最適化されたプロンプトが公開されるのを期待して待っていたのは自分だけかな?見られなくてがっかりしたよ。アビス(深淵)が覗き返してくるリスクがあったとしても、その深淵を覗いてみたいんだよね。オリジナルのプロンプトと比べて、どれほど歪んで、どれほど異質なものに変貌しているのか興味がある。
最高だった!GEPA(やそれと同等の手法やツール)でプロンプトを最適化する際、それぞれのツールやスキルを個別に検討しているの?大規模なエージェントシステムにおいて、システムプロンプトの最適化をどう考えているか教えてほしい。評価したい項目を重ね合わせたセットを網羅するために何度かパスを回しているんだろうけど、システムプロンプトだとすべてのケースが互いに依存し合ってしまうよね。過去に自分がやったのは、LLMのジャッジ用(ブランドのトーン&マナーなど、主観的な基準を抽出するため)にシステムプロンプトを使って、個別のトレースを評価する方法だったけど、できればプロンプトに含めること自体から脱却したいんだ。