# プロンプトエンジニアリングの基礎

生成 AI は非常に有用ですが、人間の指示が必要です。多くの点で、生成 AI は企業の新しい有能なインターンのようなものだと言えます。大きな可能性を秘めていますが、最適なパフォーマンスを発揮するには明確な指示が必要です。生成 AI を適切に指示する能力は、強力なスキルです。生成 AI を指示するには、通常テキストベースの指示であるプロンプトを送信します。プロンプトは AI アシスタントに提供される入力であり、出力に大きな影響を与えます。効果的なプロンプトは、構造化され、明確で、簡潔かつ目的を持ったものである必要があります。

**適切に構造化されたプロンプトの作成方法**

{% hint style="info" %}
構造化されたプロンプトとは、明確な論理と構成で組み立てられたものを指します。例えば、AI モデルに記事を生成させたい場合、プロンプトには以下のような情報を含める必要があるかもしれません：

* 記事のメインテーマ
* 記事の概要
* 希望する文体
  {% endhint %}

基本的なディスカッションの質問の例を見てみましょう：

> 「地球が直面している最も緊急性の高い環境問題とは何か、そしてこれらの問題に対処するために個人ができる取り組みは何か？」

これを簡単なアシスタント用のプロンプトに変換するには、文頭に 「以下の質問に答えてください：」 と追加するだけで済みます。

```
以下の質問にお答えください：

地球が直面している最も緊急の環境問題は何か、そしてこれらの問題に対処するために個人ができる対策は何かについて説明してください。
```

このプロンプトから生成される結果は一貫性に欠け、1〜2文程度の回答もあるため、理想的とは言えません。通常、議論の回答は複数の段落で構成されるべきです。効果的なプロンプトは、フォーマットと内容に関する具体的な指示を提供する必要があります。一貫性と品質を向上させるには、言語の曖昧さを排除する必要があります。

以下に、改善されたプロンプトを示します：

```
以下の質問に対して、序論、本論、結論を含む詳細なエッセイを書いてください：
地球が直面している最も緊急の環境問題は何ですか？
これらの問題に対処するために個人ができる対策は何ですか？
```

2番目のプロンプトでは、より長く、構造が改善された出力が生成されました。プロンプトで「エッセイ」という用語を意図的に使用したのは、AI アシスタントがエッセイの定義を理解しているため、より一貫性のある構造化された応答を生成する可能性が高いからです。

<br>

#### 品質と効果を向上させる方法

{% hint style="info" %}
プロンプトの品質と効果を高めるための主要な方法がいくつかあります：

* 要件を明確に定義する：AI モデルは可能な限りあなたのニーズに応えようとします。要件があいまいな場合、出力が期待に沿わない可能性があります。
* 正しい文法とスペルを使用する：モデルはあなたの言語スタイルを模倣する傾向があります。そのため、あなたの言語に問題がある場合、出力にもその問題が反映される可能性があります。
* 十分なコンテキストを提供する：モデルは、あなたが提供するコンテキスト情報に基づいて出力を生成します。コンテキストが不十分な場合、望ましい結果を得ることが難しくなる可能性があります。
  {% endhint %}

効果的なプロンプトを作成した後は、生成された結果を洗練させる必要があります。これには、単語数制限などの特定の制約に合わせて出力を調整したり、異なる生成結果から概念を組み合わせたりすることが含まれます。

反復的な改善の簡単な方法は、複数の出力を生成し、それらを確認して使用されている概念や構造を理解することです。出力を評価した後、最も適切なものを選択し、一貫性のある回答にまとめることができます。もう一つの反復的なアプローチは、小さく始めて徐々に拡張していくことです。これには複数のプロンプトが必要です：最初のプロンプトで1〜2段落を書き、その後、既に書かれた内容を拡張するための追加プロンプトを使用します。

以下は、哲学的な議論の題材となる可能性のある質問です：

> 「数学は発明されたものか、それとも発見されたものか？慎重な推論を用いて答えを説明してください。」

この質問を簡単なプロンプトに追加すると、次のようになります：

```
以下の質問に答える導入段落を書いてください：
数学は発明されたものか、それとも発見されたものか？慎重な推論を用いて答えを説明してください。
```

これらの考え方について、私はいくつかの回答を生成し、その中から気に入ったものを選びました。

```
数学が発明されたものか、それとも発見されたものかという問題は、哲学者や数学者の間で長年議論の的となってきました。

一部の人々は、数学の概念や原理は人間の思考とは独立して存在するため、発明というよりも発見されたものと考えることができると主張しています。
例えば、数、比率、幾何学的形状といった概念は自然界で観察され、体系的な研究へと抽象化することができます。
```

これは良い出発点です。その後、別のプロンプトを使用して内容を拡張しました：（下面有プロンプト）

```
以下の《プロンプト》に対する詳細な短文エッセイを執筆しています：
数学は発明されたものか、発見されたものか？慎重な論理を用いて回答を説明してください。
現在の進捗状況は以下の通りです：

数学が発明されたものか発見されたものかについては、哲学者や数学者の間で長く議論されてきました。
一部の人々は、数学の概念や原理は人間の思考とは独立して存在するため、発明というよりも発見されたものと考えられると主張しています。
例えば、数、比率、幾何学的形状などの概念は自然界で観察され、体系的に抽象化し研究することができます。

エッセイの次の段落を執筆してください。
```

私はこのプロンプトを使用して複数の展開を生成し、気に入ったものを選択しました。最終的に以下のような結果となりました：

```
哲学者と数学者の間で議論が続いています：
数学は発明されたのか、それとも発見されたのか？

ある人々は、数学的概念や原理は人間の思考とは独立して存在するため、発明というよりも発見と考えることができると主張します。

例えば：
数、比率、幾何学的形状などの概念は自然界で観察され、体系的に抽象化して研究することができます。
一方で、数学は主に人間の心の発明であると主張する人々もいます。

彼らの主張には以下のようなものがあります：
数学の原理は、人間の思考の特徴である論理的推論に基づいています。
例えば、ユークリッド幾何学は、証明なしに真として受け入れられる抽象的な公理と前提に基づいています。
したがって、幾何学は発見というよりも人間の思考の発明とみなすことができます。
同様に、物理現象をモデル化し予測するために使用される数学的公式や方程式も人間の推論の産物です。
```

拡張プロンプトを使用することで、段階的に文章を作成し、各ステップを反復的に改善することができます。このアプローチは、より高品質な出力が求められる場合や、段階的な修正が望ましいシナリオで特に有効です。

\ <br>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://doc.flowith.io/flowith-heyoukoso/flow-mdo-mdo/puronputoenjiniaringuno.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
