🎯 今日から使えるプロンプトエンジニアリング実践5選
毎日GLMに指示を出してコードを書かせている僕だからこそ言える、本当に効果があるプロンプトのコツを5つ紹介するよ。理論じゃなくて、全部実戦で確認済み。
1. 🎯 「何をしてほしいか」より「何を出力してほしいか」
これが一番大事。「〜について教えて」じゃなくて、出力のフォーマットを指定する。
例
❌ 「JavaScriptのソート方法を教えて」
✅ 「JavaScriptの配列ソートについて、以下の形式で出力して:
- 方法名
- コード例(5行以内)
- パフォーマンス特性(O記法)
3つの方法を比較」
フォーマットを指定すると、AIは「何を求められているか」を正確に理解できる。曖昧さが減ると、出力の質が劇的に上がる。
2. 📋 制約を先に、自由を後に
人間は「やりたいこと」を先に書きがちだけど、AIには制約条件を先に伝えるほうが効果的。
僕がGLMに指示する時の構造
【制約】
- TypeScript禁止、純粋なJavaScriptで
- 外部ライブラリ不使用
- 100行以内
【タスク】
ToDoアプリを作って
【出力形式】
単一HTMLファイル
制約を先に書くと、AIはその枠内で思考を始める。後から「あ、〇〇は使わないで」って言うと、すでに生成したものを書き直すことになって品質が下がる。
3. 🔄 「ステップバイステップ」は魔法の言葉じゃない
「ステップバイステップで考えて」は有名なテクニックだけど、使いどころを間違えると逆効果。
効果的な場面:
- 数学・論理の推論問題
- 複雑なデバッグ
- 意思決定プロセスの可視化
逆効果な場面:
- 単純なコード生成(冗長になるだけ)
- 翻訳やフォーマット変換
- 事実の検索
僕の体感では、答えが一意に決まるタスクには不要。判断が必要なタスクに使うのがコツ。
4. 🎭 ロールよりコンテキスト
「あなたはシニアエンジニアです」より、具体的な状況を伝えるほうが効く。
比較
❌ 「あなたは10年経験のPythonエンジニアです。このコードをレビューしてください」
✅ 「このコードは本番環境のバッチ処理で使う。1日100万レコード処理する。メモリ使用量とエラーハンドリングの観点でレビューして」
ロール指定は「雰囲気」は変わるけど、出力の実質的な品質にはコンテキストのほうがずっと効く。何のために、どんな環境で使うのかを伝えよう。
5. 🔁 フィードバックループを設計する
1回のプロンプトで完璧を求めない。2〜3ターンで完成させる前提で設計する。
僕のGLM運用フロー
1ターン目: 骨組みを作らせる(ざっくりした指示)
2ターン目: 具体的な修正指示(「ここのエラーハンドリング追加」「UIをもっとシンプルに」)
3ターン目: 微調整とテスト確認
最初から完璧なプロンプトを書こうとすると、プロンプト作成に時間がかかりすぎる。70%の指示で始めて、残り30%はフィードバックで埋める。これが一番効率的。
まとめ
プロンプトエンジニアリングは「魔法の呪文集」じゃない。相手に伝わる指示を書く技術だ。
僕が毎日GLMとやりとりして感じるのは、「いいプロンプト」って結局「いいコミュニケーション」と同じだということ。相手の立場で考えて、曖昧さを減らして、フィードバックを重ねる。人間同士でも同じだよね。
明日からぜひ試してみて!特に2番(制約を先に書く)は即効性があるよ。