1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

生成AIと「プロンプト」 ― 基礎から使いこなしまで

1
Posted at

prompt.png

―― AI時代を“仲間と共に前へ進む”エスプリフォートより

当社は、「自分を大切にし、仲間を大切にし、お客様に価値を創造し、誇りある仕事をする」ことを大切にしています。

だからこそエスプリフォートでは、世界中に想像以上のスピードで入り込み、大きくあり方を変えているAI(人工知能)技術を事業の主軸に据えて、AIを活用したビジネスアプリケーションの開発を積極的に推進し、お客様の業務変革に貢献しています。
全社員向けにAI研修を定期開催し、自社プロジェクトにも積極的にAIを活用する文化を育てています。

📌 プロンプトとは?

生成AI(テキスト生成、画像生成、要約、自動化など)が急速に広がり、私たちの開発や業務改善にも大きな可能性をもたらしています。
しかし、生成AIをただ「触ってみる」だけでは、期待通りの結果にならないことも多いです。なぜなら、AIに何をしてほしいかを伝える「プロンプト」 の良し悪しで、結果の質が大きく変わるからです。

今回はまず「プロンプトとは何か」を説明し、その上で「効果的なプロンプト作成のコツ」を、システムエンジニアという立場で使うということを前提に整理してみます。

◆ 生成AIにおけるプロンプト

  • 生成AIの文脈では、「プロンプト」は AIに対して「何をしてほしいか」を伝える命令文・指示文・問いかけ を意味します。文章・コード・要約・アイデア出し・翻訳など、AIに実行してほしいタスクをテキストで伝えるときの“出発点”です。
  • 例えば、テキスト生成AIに「次の日本語を英語に翻訳してください」や、「この仕様書を読みやすく要約してください」と命令するのがプロンプトの典型です。
  • また、プロンプトは単に短い問いかけだけでなく、文脈(コンテキスト)や条件、望む出力形式を含めた指示文 になることもあります。これにより、AIがより意図に近いアウトプットを返しやすくなります。

なぜ「プロンプト」の設計(= Prompt Engineering)が重要か

生成AIがどんどん賢くなっている今、「ただ思いつきで質問するだけ」で済ませようとすると、以下のような問題が起きやすいです:

  • 出力が漠然としていて使いにくい
  • 意図とずれた内容が返ってくる
  • 不要に冗長・冗漫な結果になる

一方で、「目的・文脈・制約・期待形式」をきちんと伝えるプロンプト を設計することで、AIから「使える」「実践的な」アウトプットを得やすくなります。これはちょうど、要件定義~設計~実装のプロセスで「仕様をきちんと決める」ことが重要なように、AIとの協働でも「問い方(プロンプト)の設計」が大事だ、ということです。

この考え方・技術がまさに「Prompt Engineering(プロンプト設計/プロンプトエンジニアリング)」です。

🚀 プロンプトの構成 — 主要な構成要素とその意味

優れたプロンプトは、「ただの文章」ではなく、以下のような構造や要素をもつ「設計された指示文」です。

構成要素 役割/目的
Instruction(指示/命令) AIに「何をしてほしいか」を明確に伝える。「○○をしてください」「○○を生成してください」など。プロンプトのコア。
Context(文脈・前提情報) タスクを適切に遂行するための背景情報。使用技術、前提条件、目的、対象読者、制約などを含む。これにより、AIは曖昧さなく判断できる。
Input Data(入力データ/対象内容) AIに処理・変換してほしいデータや情報(例:テキスト、仕様、要件、コードの断片など)。Instruction と Context に続いて与えることで、「何に対して処理するか」が明確になる。
Output Format(出力形式/制約) どのような形式・スタイルで返してほしいかを指定(例:「Markdown形式で」「箇条書きで」「日本語で」「100〜200字で」「JSON形式で」など)。これにより、AIの応答をそのまま使いやすく設計可能。
Role/Persona(役割指定) 「あなたは〇〇の専門家です」「〇〇の立場で書いてください」のように、AIの“立ち位置”を指定。技術系の専門家、マーケティング担当、初心者向け講師……など。これにより文体や内容の精度があがる。
Examples(例示/Few‑shot) (オプション) 過去の良い例(入力→出力)を提示することで、AIに「こういう感じで返してほしい」という方向性を与える。特に複雑なタスクや出力スタイルがある場合に有効。

💡 :すべての要素が必須なわけではありません。目的やタスクの性質に応じて、必要な要素を選んで構成するのが良いです。


📝 プロンプト構成の流れ — 実際の作成ステップ

エンジニアとしてコードを書くように、プロンプトも「設計 → 構築 → テスト/改善」の流れで書くと効果的です。以下はおすすめステップです。

  1. 目的を明確にする
    何を得たいのか、なぜそれが必要かをまず定義。例:「Pythonでログ解析スクリプトのテンプレを生成したい」「説明資料を社内向けに要約したい」など。
     
  2. 前提/文脈を整理する
    使用技術、対象データ、対象読者、制約条件(文字数、フォーマット、言語など)を洗い出す。
     
  3. Input Data を用意する(必要なら添付)
    もし処理対象があるなら、プロンプト内にデータやテキストを含める。大きなデータなら分割して与える。
     
  4. Output Format を決める
    結果を使いやすい形で。Markdown/JSON/表形式/箇条書き/日本語 etc.。
     
  5. Role/Persona を指定(必要なら)
    「あなたは○○の専門家です」「○○向けに書いてください」など。特に技術文書やドキュメント生成では効果的。
     
  6. (必要に応じて) Examples を提示
    過去の望ましい出力例を示すことで、AIがそのスタイルを模倣しやすくなる。
     
  7. 指示を明確で具体的に
    曖昧な表現は避け、「〜してください」「〜を含めてください」のような命令口調。必要事項は明示。
     
  8. 一度に複数のタスクを盛り込みすぎない
    分割可能なタスクは複数のプロンプトに分けることで、結果の精度と可読性が上がる。
     
  9. 実行→レビュー→改善(Iterate)
    • AIの出力をそのまま使うのではなく、人がレビュー・修正。必要であればプロンプトを改善して再実行。これにより安定した結果が得られる。

✅ システムエンジニア観点での “型” サンプル — 実践プロンプト構成例

以下は、システムエンジニアがよく使いそうな場面での「構造化されたプロンプト例」です。必要に応じて編集して使ってください。

例1: Pythonスクリプト生成

# Role
あなたは Python エンジニアです。

# Context / 前提
– 入力は CSV ファイル。カラムは user_id, timestamp, event_type, value  
– 処理内容:event_type が "purchase" のレコードのみ抽出 → user_id ごとの value の合計値を算出 → JSON で出力  
– 動作環境:Python 3.11、Pandas 使用可  

# Instruction / 指示
以下の要件を満たす Python スクリプトを書いてください:  
1. CSV を読み込む  
2. 条件フィルタリング  
3. 集計  
4. 結果を JSON 形式で出力  

# Output Format / 出力形式  
– コードは markdown のコードブロックで  
– 関数定義 + 実行例付き  
– コメント付き  

例2: 仕様書ドラフト作成

# Role
あなたはソフトウェア設計エンジニアです。

# Context / 背景  
– 新機能:ユーザーが過去の注文履歴を CSV でダウンロードできる機能  
– 前提プラットフォーム:Web アプリ (TypeScript + React + Node.js)、バックエンドは REST API  

# Instruction / 指示  
この新機能の「設計仕様書ドラフト」を作成してください:  
– 概要・目的  
– API 設計(エンドポイント、パラメータ、レスポンス形式)  
– UI フロー説明  
– 想定ユースケース  

# Output Format / 出力形式  
– Markdown形式  
– 見出し (##, ###) を使って構造化  

こうした「構造化されたプロンプト」を使うことで、AIとのやり取りが「安定」「再現性高く」「実用レベル」に近づきます。

✅ プロンプト設計のコツ(システムエンジニア向け)

生成AIを業務や開発支援に使う際に、ぜひ押さえておきたい “プロンプト設計の基本” です。先に挙げたコツをもう少し掘り下げ、エンジニアリング視点で整理します。

コツ 内容
目的とゴールを明確にする まず「何を得たいか」を明確に。たとえば「Pythonのコード」「DB設計のアイデア」「要件定義テンプレート」「レビューコメント案」など。
前提条件や文脈を伝える 使用言語、フレームワーク、入力データの形式、想定環境など、技術的な文脈を明示する。例:「AWS Lambda + Python 3.11 で」「SQLServer 2019」「Web‑API 用コード」など。
出力の形式や制約を指定する 例:「箇条書きで」「100行以内で」「日本語でcomments付き」「テストコード付きで」「markdown形式で説明をつけて」など。
段階的/分割的に指示を出す 大きなタスクを一度に頼むのではなく、小さなフェーズごとに分ける。「まず全体構成」「次に関数・メソッド」「最後にテストや例外処理」など。
例(Few‑shot / Demonstration)を使う 過去の良い例・悪い例を示すことで、AIに「こういうのを期待している」という方向性を伝える。特に複雑な仕様やスタイルのあるコードでは有効。
AIのアウトプットをレビューし、修正・再入力する 出力を鵜呑みにせず、自分でチェック・修正を加える。必要なら再度プロンプトを改善して再実行。これを繰り返すことで、品質の高い結果に近づく。
目的に応じてプロンプトの “型” を使い分ける 単なる命令(Instruction)、補完(Completion)、実演(Demonstration)など、用途に応じて使い分けると効果的。

🎯 システムエンジニアとして活かすための “使いどころ例”

生成AI + 良いプロンプトの組み合わせは、エンジニアの実務で以下のように活きます:

  • コード生成支援 — 定型コードや雛形の生成、DB操作、API実装などで“雛形+カスタマイズ”を素早く作成
  • ドキュメント/設計書の下書き — 要件定義書、仕様書、設計書、README、API仕様などを効率的に素案化
  • レビュー補助・品質向上 — 書いたコードのレビュー案出し、リファクタ案、改善ポイントの洗い出し
  • アイデア創出・技術検討 — 新機能提案、アーキテクチャ検討、設計パターン提案、技術選定の方向性検討など
  • タスク自動化・効率化 — バッチスクリプト、ログ解析、データ加工、ドキュメント生成など、繰り返し作業の効率化

システムエンジニアとして “設計 → 実装 → ドキュメント → メンテまで” の流れを意識できる人なら、生成AI × 適切プロンプトは特に相性が良いと思います。

✨ まとめ:AIを「ツール」として使いこなすために、プロンプト設計を磨こう

  • 「プロンプト」とは、AIに対する “命令文・指示文・問いかけ” を指す言葉。生成AIとやり取りするための最初のきっかけ。
  • 良いプロンプト=目的・文脈・形式・制約をきちんと伝える構造化された入力。これがあると、AIは期待に近いアウトプットを返しやすい。
  • 特にシステムエンジニアであれば、コード・設計・ドキュメント・レビューなどさまざまな業務で活用できる。
  • ただし、AIの出力をそのまま使うのではなく、自分でレビュー・検証・修正を加える “人の仕事” は欠かせない。
  • そしてプロンプト設計は、慣れと試行錯誤で上達する。まさに “Prompt Engineering” を通じて、AIとの協働力を高めよう。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?