プロンプトエンジニアリング入門

プロンプトエンジニアリングとは
Section titled “プロンプトエンジニアリングとは”- LLMから意図した出力を引き出すために工夫された入力を設計・調整する技術や手法
Chain of Thought
Section titled “Chain of Thought”- モデルに思考のステップを明示的に書かせることで、複雑な推論や計算を成功させやすくする手法
- 比較的単純な問題タイプに適用すると効果が得やすい
- 例
質問:
あるクラスに男子が20人、女子が15人います。全体の生徒数のうち、男子の割合は何パーセントですか?段階的に考えながら解いてください。
回答:
まず、クラスの男子は20人、女子は15人なので、全体の生徒数は 20 + 15 = 35人です。次に、男子の人数20人を全体の人数35人で割って、男子の割合を求めます。20 ÷ 35 ≒ 0.5714これをパーセントに直すには、100をかけます。0.5714 × 100 = 57.14よって、男子の割合は約 57.14% です。
- Reasoning and Actingの略
- 思考(Reasoning)とツール使用・行動(Acting)を交互に行う手法
- ここでツール使用・行動というのは主にMCPサーバの呼び出しであり、検索、外部API等のツールを呼び出しながら問題を解決するということである
- いわずもがなツール使用が見込まれる問題タイプに適用すると効果が得やすい
- 例
質問:
フランス革命が始まった年を教えてください。ただし、答える前に情報をどう探すかを考えてから、必要であればツールを使って答えてください。思考と行動を分けてください。
回答:
Question: フランス革命が始まった年を教えてください。
Reasoning: フランス革命の開始年は18世紀後半だったと思うが、正確な年を確かめる必要がある。歴史的な事実なので、検索ツールを使えば正確な年をすぐに確認できそうだ。
Action: Search("フランス革命 開始年")
Observation: 検索結果には「1789年にフランス革命が始まった」とある。
Answer: フランス革命が始まったのは1789年です。
Plan-and-Solve
Section titled “Plan-and-Solve”- 問題を解く前にまず計画を立ててから実行する手法
- 比較的複雑な問題タイプに適用すると効果が得やすい
- 例
質問:
ケーキを3つ買ったら1,200円でした。1つのケーキの値段はいくらですか?まず、問題を解くための計画を立ててから、その計画に沿って解いてください。
回答:
Problem: ケーキを3つ買ったら1,200円でした。1つのケーキの値段はいくらですか?
Plan:1. 与えられた情報を整理する。2. 合計金額(1,200円)をケーキの個数(3個)で割ることで、1つのケーキの値段を求める。3. 計算結果を答える。
Solve:1. 1,200 ÷ 3 = 4002. よって、1つのケーキの値段は400円です。
- ここで紹介した手法以外にも多様な手法が考案されている
- ここではテキストベースのLLMを前提とした手法を中心に紹介したが、画像生成や音楽生成の場合にはまた使える手法が変わってくる
- ここで紹介した手法はAIエージェントのモードを切り替えるだけで似たような効果が得られることもある
- Roo Codeの例だと、Askモードで問題を深堀りしたり分解したり、Architectモードで問題を解決するための計画を立てさせてからCodeモードで実際に解決してもらう等