agent には「どうやって」より「なぜ」を伝える

agent へのプロンプトでは、詳細な仕様より「なぜ」を伝えるほうが効く。優先順位と意図を渡せば、想定外の場面でもこちらが望む判断をしてくれる。

日本語
コピー

初期の AI agent は、要するにやる気だけはある間抜けだった。一緒に作業するには、やってほしいことを正確に伝えなければならない(たとえば「A メソッドは B クラスにあります。C から F の各クラスに等価なメソッドを追加してください」)。そうしないと脱線して、まったく見当違いのことをする。だが AI agent が進歩するにつれて、事情は変わった。

今のフロンティアモデルが脱線して失敗するのは、ボケているからではなく、あなたの目標や優先順位について誤った仮定を置くからだ。たとえば GPT-6-Astra は、自分自身のためにコードを書いていると思い込むと圧縮されたコードを吐き出す。人間が読めるコードを書く能力は十分にある——少なくとも Golang なら、このモデルで何千行もの許容できるコードを書いた——が、コードは人間が読むものだと教えてやる必要がある1。

agent に prompt を書くほとんどの人に、これが一番伝えたいアドバイスだ。agent には、やってほしい具体的なタスクだけでなく、あなたの優先順位についての文脈も渡すこと。以下は、最近 Deckard を立ち上げるのに使った prompt だ。

こんにちは。MCP 経由で Runpod にアクセスできるはずです(できなければ教えてください、こちらで対応します)。 長期的な目標があります。ローカルのプログラムかブラウザ拡張で、読み込んだページ内の AI コンテンツを自動でスキャンして非表示にするものを作りたい。短期的な目標は、私の macbook で動いて、バッテリーを食い潰したりマシンを熱くしたりしない最良の AI 検出モデルを見つけること、そして(関連して)そのモデルを最も効率よく動かす方法を見つけることです。Pangram の EditLens 3B か、もっと小さい Roberta モデルが良い出発点ではないかと想像していますが、量子化が必要かもしれませんし、私の macbook でできるだけ効率よく動かすには間違いなく手間がかかるでしょう。 私の Runpod アカウントを使って、これらの問いに答え始めてほしい。最終的にはこの macbook pro 上で作業する方向に移りますが、ローカルで動かすには熱すぎる/遅すぎる/時間がかかりすぎる実験は Runpod に手伝ってほしい。あなたは賢いモデルです。私の目標を達成するのにもっと良い方法が見えたら教えてください、話し合いましょう。幸運を。

この prompt のおよそ半分は、広い背景の説明に費やされている。全体としてどんなプロジェクトを作りたいのか、仕事ではなく個人用途であること、私の優先順位(たとえばノート PC を低温に保つこと)。明示的な仕様書を書いていたら、改善の余地をたくさん取り逃していただろう。たとえばローカルモデルを native messaging に切り替えるとか、EditLens ではなく Gradient モデルを選ぶとか。

仕事でも同じことをする。ただし自分の技術的な価値観はもっと強く押し出す。バグの回避、可観測性、既存コードへの自然な溶け込み、性能——これらの間の相対的な優先順位を一段落で書くことがよくある。ポイントは「相対的」な優先順位だ。全部を並べてどれも大事だと述べるのではなく、どれをそれほど気にしていないか、したがって他の目標をよりよく達成するために犠牲にしてよいかを、モデルにはっきり伝える。

モデルは今や十分に賢く、あなたの大きな目標について意味のある意見を出せる。具体的な技術仕様だけで prompt を組むのは、XY 問題と同じ過ちだ。専門家に助言を求めておきながら、専門家に必要な背景を渡さないのだから。


  1. ちなみに、コードベースが人間の手によるものなら、「人間が書いたように」見えるコードをわざわざ書かせる必要はない。周囲のコードのスタイルは、モデルは自分で学べるだけの賢さがある。 ↩

出典: Sean Goedecke← ホームへ戻る