人間と生成AIの両方にとって認知しやすいMarkdownテーブル記法について探索する

# はじめに
最近、生成AIをシステム開発の様々な工程で利用するケースが増えています。生成AIを利用する場合、作業指示（プロンプト）を与えてアウトプットを生成することになります。

プロンプト作成時のポイントの１つとして、**図や表の情報を人間と生成AIの両方にとって認知しやすい形式で与えること**が挙げられます。
「人間にとっても認知しやすい形式」としている理由は、生成AIに図表を含むプロンプトを与える際に、人間にとっても図表の確からしさが認知しやすくなっているほうが、意図したプロンプトを作成しやすいためです。

本記事では「表（テーブル）」に注目し、**人間と生成AIの両方にとって認知しやすい表の記法**について探索します。

## 想定読者
- システム開発に生成AIを利用している方
- 生成AIへのプロンプトに表データを含める方法について知りたい方
- Markdownのテーブルの記法について知りたい方

## 本記事を読むのに必要な時間のめやす
- １０分ほど

# 前提事項
## 本記事で探索対象とする表について
プロンプトはMarkdown記法で記述する前提とします。そのため、表の形式はセルがパイプ（｜）で区切られる形式を前提とします。

### 探索対象の表の種類
本記事で探索対象とする表は以下の２種類とします。具体的なデータ内容は後述します。
- ①データベースのテーブル定義を模したテーブル
- ②条件に応じた商品の割引率を定義するディシジョンテーブル

### 探索する記法のバリエーション
これらの表に対して、以下のテーブル記法についてバリエーションを持たせて、生成AIの表の情報に関する理解度がどのように変化するかを探索します。
- 「〇／×」に相当する情報の記法
    - 〇／×
    - YES／NO
    - Y／N
- 「セル結合」の記法
    - 縦方向の結合
        - "^"記号
        - "〃"記号
    - 横方向の結合
        - ">"記号
- 「ディシジョンテーブル」の記法
    - 各セルに条件や結果の具体値を記述する記法
    
        |  #  |    条件    |  結果  |
        | --- | ---------- | ------ |
        | #   | 会員ランク | 割引率 |
        | 1   | 一般       | 5%     |
        | 2   | ゴールド   | 15%    |

    <br/>
    
    - 各セルに条件や結果の「〇／×」に相当する情報を記述する記法
　＆条件と結果の一覧を１行に記述して、パターンを列方向に並べる記法
        |  #  |      条件１      |        条件２        |  結果  |
        | --- | ---------------- | -------------------- | ------ |
        | #   | 会員ランク：一般 | 会員ランク：ゴールド | 割引率 |
        | 1   | 〇               | ×                    | 5%     |
        | 2   | ×                | 〇                   | 15%    |
        

    <br/>
    
    - 条件と結果の一覧を１列に記述して、パターンを行方向に並べる記法

        |          #           |  1  |  2  |
        | -------------------- | --- | --- |
        | 条件                 | -   | -   |
        | 会員ランク：一般     | 〇  | ×   |
        | 会員ランク：ゴールド | ×   | 〇  |
        | 結果                 | -   | -   |
        | 割引率：5%           | 〇  | ×   |
        | 割引率：15%          | ×   | 〇  |

<br/>

実際に探索したバリエーション一覧は、以下のとおりです。
- 「①データベースのテーブル定義を模したテーブル」の探索バリエーション
※横方向のセル結合は「②ディシジョンテーブル」で探索
    | # | パターン |
    | - | -------------------- |
    | 1 | セル結合なし、〇／×記法 |
    | 2 | セル結合なし、YES／NO記法 |
    | 3 | セル結合なし、Y／N記法 |
    | 4 | セル結合あり("^")、〇／×記法 |
    | 5 | セル結合あり("^")、YES／NO記法 |
    | 6 | セル結合あり("^")、Y／N記法 |
    | 7 | セル結合あり("〃")、〇／×記法 |
    | 8 | セル結合あり("〃")、YES／NO記法 |
    | 9 | セル結合あり("〃")、Y／N記法 |

<br/>

- 「②条件に応じた商品の割引率を定義するディシジョンテーブル」の探索バリエーション
※「①テーブル」でよい結果が得られたテーブル記法の利用を前提に調査したため「①テーブル」よりも少ないバリエーションとなっています。詳細は後述の調査結果を参照。
    | # | テーブル記法のパターン |
    | - | -------------------- |
    | 1 | セル結合あり(縦："^")、セル具体値、条件を行に記述／パターンを列に記述 |
    | 2 | セル結合あり(横：">")、セル具体値、条件を列に記述／パターンを行に記述 |
    | 3 | セル結合あり(縦："^")、セルY／N、条件を行に記述／パターンを列に記述 |
    | 4 | セル結合あり(横：">")、セルY／N、条件を列に記述／パターンを行に記述 |

### 表のデータ内容
#### データベースのテーブル定義を模したテーブル
- 上記バリエーション一覧の「１：セル結合なし、〇／×記法」で記載した場合の例です。
- セル結合をする場合は、1つ上のセルと同じ値のセルに「"^" または "〃"」を記述します。

    | #  | カラム名      | データ型  | 桁数 | 主キー | 外部キー | NOT NULL | 備考                                                   |
    |----|--------------|----------|------|--------|--------|----------|--------------------------------------------------------|
    | 1  | id           | INT      | 10   | 〇    | ×     | 〇      | ユーザーID。システム中で利用する。                        |
    | 2  | name         | VARCHAR  | 255  | ×     | ×     | 〇      | ユーザー名。ログインで利用する。                          |
    | 3  | password     | CHAR     | 64   | ×     | ×     | ×       | パスワード。`SHA-256`でハッシュ化する。ログインで利用する。 |
    | 4  | age          | INT      | 3    | ×     | ×     | ×       | なし。                                                  |
    | 5  | created_at   | DATETIME | -    | ×     | ×     | 〇      | 作成日時。値が更新されることはない。                       |
    | 6  | updated_at   | DATETIME | -    | ×     | ×     | ×       | 更新日時。初回は作成日時と同じ値。                         |
    | 7  | last_login   | DATETIME | -    | ×     | ×     | ×       | 最終ログイン日時。                                       |
    | 8  | email        | VARCHAR  | 255  | ×     | ×     | 〇      | メールアドレス。ユーザ名の代わりにログインで利用できる。    |
    | 9  | address      | VARCHAR  | 500  | ×     | ×     | ×       | 住所。最大500文字。                                     |
    | 10 | phone_number | CHAR     | 11   | ×     | ×     | ×       | 電話番号。ハイフンなし11桁。                             |

#### 条件に応じた商品の割引率を定義するディシジョンテーブル
- 割引率を決定する条件は「会員ランク、商品発売日、セール対象品かどうか、クーポン有無」の４つとして、以下の割引ルールがあるものとします。
    - 会員ランク
      - 一般（5％割引）
      - ゴールド（15％割引）
    - 商品発売日
      - 現在日の3年以内（割引なし）
      - 現在日の3年以上過去（5%割引）
    - セール対象品
      - あり（20％割引）
      - なし（割引なし）
    - クーポン有無
      - あり（10％割引）
      - なし（割引なし）
- 以下のテーブルは、バリエーション一覧の「１：セル結合あり(縦："^")、セル具体値、条件を行に記述／パターンを列に記述」で記載した場合の例です。

|    #     |   条件1    |        条件2        |    条件3     |    条件4     | 結果 |
| -------- | ---------- | ------------------- | ------------ | ------------ | ------ |
| 商品番号 | 会員ランク | 商品発売日          | セール対象品 | クーポン有無 | 割引率 |
| 1        | 一般       | 現在日の3年以内     | あり         | あり         | 35%    |
| 2        | ^          | ^                  | ^            | なし         | 30%    |
| 3        | ^ 　       | ^                  | なし         | あり         | 15%    |
| 4        | ^          | ^                  | ^            | なし         | 5%    |
| 5        | ^          | 現在日の3年以上過去 | あり         | あり         | 40%    |
| 6        | ^          | ^                 | ^           | なし         | 35%    |
| 7        | ^         | ^                 | なし         | あり         | 20%    |
| 8        | ^          | ^                 | ^           | なし         | 10%     |
| 9        | ゴールド   | 現在日の3年以内     | あり         | あり         | 45%    |
| 10       | ^         | ^                  | ^            | なし         | 40%    |
| 11       | ^         | ^                  | なし         | あり         | 25%    |
| 12       | ^         | ^                  | ^           | なし         | 15%    |
| 13       | ^         | 現在日の3年以上過去 | あり         | あり         | 50%    |
| 14       | ^         | ^                  | ^           | なし         | 45%    |
| 15       | ^         | ^                  | なし         | あり         | 30%    |
| 16       | ^         | ^                  | ^            | なし         | 20%    |


## 本記事で利用する生成AIの情報
本記事で利用する生成AIの情報は以下のとおりです。
Temperatureパラメータは0に設定します。
これは、表の情報に関するAIの理解度を確認するための質問をする際に、生成AIの回答内容を最も確からしい回答に限定したいためです。
- LLMモデル：gemini-1.5-pro-002
- モデルパラメータ：
    - Temperature：0
    - Top-P：0.95

# テーブル記法に関する探索
まずは、テーブルについて「〇/×に相当する情報の記法」と「セル結合の記法」のバリエーションを探索します。
セル結合については、ここでは横方向の結合を行うパターンが存在しないため、縦方向の結合のみを調査します。

## 生成AIの理解度の確認方法
生成AIのテーブルの内容に関する理解度を確認するために、[データベースのテーブル定義を模したテーブル](#データベースのテーブル定義を模したテーブル)について、生成AI（gemini-1.5-pro-002）に対して以下の５つの質問を行います。
- ①テーブルのカラムのうち、ユーザーがログイン時に利用するカラムを全て教えてください。
- ②テーブルのカラムのうち、データ型が`DATETIME`であるカラムを全て教えてください。
- ③テーブルのカラムのうち、データ型が`VARCHAR`であるカラムを全て教えてください。
- ④テーブルのカラムのうち、`NOT NULL`制約が設定されているカラムを全て教えてください。
- ⑤パスワードの桁数について教えてください。

## 結果サマリ
生成AIに上記のテーブルの内容についての質問を行ったところ、以下の結果となりました。
| # | テーブル記法のパターン | 正答数 | 誤答した質問 |
| - | -------------------- | ------ | ---------- |
| 1 | セル結合なし、〇／×記法 | 5/5   | なし        |
| 2 | セル結合なし、YES／NO記法 | 5/5 | なし       |
| 3 | セル結合なし、Y／N記法 | 5/5   | なし        |
| 4 | セル結合あり("^")、〇／×記法 | **4/5**   | **④**        |
| 5 | セル結合あり("^")、YES／NO記法 | **4/5** | **同上**       |
| 6 | セル結合あり("^")、Y／N記法 | **4/5**   | **同上**        |
| 7 | セル結合あり("〃")、〇／×記法 | **4/5**   | **同上**      |
| 8 | セル結合あり("〃")、YES／NO記法 | **4/5** | **同上**       |
| 9 | セル結合あり("〃")、Y／N記法 | **4/5**   | **同上**        |

## 結果からみられる傾向
傾向として「**〇／×、YES／NO、Y／N」の記法はいずれでも問題ないこと**と、**セル結合に相当する記法を行うと理解度が低下すること**が分かりました。

ただし、セル結合の影響を受ける質問②③④のうち、②③についてはセル結合が行われていても、正しく回答することができています。
②③と④のセル結合の違いは以下のとおりで、②③のセル結合は④に比べると規則的で、かつ結合対象のセルの値が「〇／×、YES／NO、Y／N」ではない具体値になっています。
ここでは「〇／×、YES／NO、Y／Nのセル結合」や「不規則で細かいセル結合」は生成AIの理解度を低下させると
仮説を立てて、次のディシジョンテーブルの探索に進みます。

| #  | カラム名      | データ型  | 桁数 | 主キー | 外部キー | NOT NULL | 備考                                                   |
|----|--------------|----------|------|--------|--------|----------|--------------------------------------------------------|
| 1  | id           | INT      | 10   | Y    | N     | Y      | ユーザーID。システム中で利用する。                        |
| 2  | name         | VARCHAR  | 255  | N     | ^      | ^ **④のセル結合**       | ユーザー名。ログインで利用する。                          |
| 3  | password     | CHAR     | 64   | ^      | ^      | N       | パスワード。`SHA-256`でハッシュ化する。ログインで利用する。 |
| 4  | age          | INT      | 3    | ^      | ^      | ^        | なし。                                                  |
| 5  | created_at   | DATETIME | -    | ^      | ^      | Y      | 作成日時。値が更新されることはない。                       |
| 6  | updated_at   | ^ **②のセル結合**        | -    | ^      | ^      | N       | 更新日時。初回は作成日時と同じ値。                         |
| 7  | last_login   | ^ **②のセル結合**       | -    | ^      | ^      | ^        | 最終ログイン日時。                                       |
| 8  | email        | VARCHAR  | 255  | ^      | ^      | Y      | メールアドレス。ユーザ名の代わりにログインで利用できる。    |
| 9  | address      | ^ **③のセル結合**       | 500  | ^      | ^      | N       | 住所。最大500文字。                                     |
| 10 | phone_number | CHAR     | 11   | ^      | ^      | ^        | 電話番号。ハイフンなし11桁。                             |

# ディシジョンテーブル記法に関する探索
## ディシジョンテーブル作成時の前提とするテーブルの記法
前述のテーブル記法に関する探索から「〇／×に相当する情報の記法」と「セル結合の記法」について、以下のことが分かりました。
- 〇／×に相当する情報の記法は「〇／×、YES/NO、Y/N」のいずれでも、生成AIの理解度は変わらない。
- テーブルのセル結合は、生成AIの理解度を低下させる場合がある。仮説として、〇／×に相当する値のセル結合や、不規則で細かいセル結合が、特に生成AIの理解度を低下させると想定する。

上記を踏まえて、ディシジョンテーブルは以下のルールに従って記述します。
- **〇／×に相当する情報の記法は、人間にとっても認知しやすいと思われる「Y／N」とする。**
- **セル結合は人間にとっては認知しやすいため、規則的に値が並んでいる場合や、セルの値が「Y／N」ではなく具体値である場合には活用する。**
- **セル結合を表す記号は、VSCodeのMarkdown Preview Enhancedなどのプラグインを利用したプレビュー時に、セル結合された状態でのプレビューが可能となる"^"(縦方向)、">"(横方向)記号を利用する。**

## 探索するディシジョンテーブルの記法
このルールに従って、以下のディシジョンテーブルの記法について探索します。
- 各セルに条件や結果の具体値を記述する記法（＝以降は「セル具体値」と呼びます）
- 各セルに条件や結果を「Y／N」で記述する記法（＝「セルY／N」）
- 条件と結果の一覧を先頭１行に記述して、パターンを列方向に並べる記法（＝「条件行／パターン列」）
- 条件と結果の一覧を先頭１列に記述して、パターンを行方向に並べる記法（＝「条件列／パターン行」）

## 生成AIの理解度の確認方法
生成AIのテーブルの内容に関する理解度を確認するために、[条件に応じた商品の割引率を定義するディシジョンテーブル](#条件に応じた商品の割引率を定義するディシジョンテーブル)について、生成AI（gemini-1.5-pro-002）に対して以下の５つの質問を行います。
- ①会員ランク＝"一般"、商品発売日＝"現在日の3年以内"、セール対象品＝"なし"、クーポン＝"あり"の場合の割引率を教えてください。
- ②会員ランク＝"ゴールド"、商品発売日＝"現在日の3年以上過去"、セール対象品＝"あり"、クーポン＝"あり"の場合の割引率を教えてください。
- ③会員ランク＝"一般"、商品発売日＝"現在日の3年以上過去"、セール対象品＝"なし"、クーポン＝"なし"の場合の割引率を教えてください。
- ④会員ランク＝"ゴールド"、商品発売日＝"現在日の3年以内"、セール対象品＝"あり"、クーポン＝"あり"の場合の割引率を教えてください。
- ⑤会員ランク＝"一般"、商品発売日＝"現在日の3年以上過去"、セール対象品＝"あり"、クーポン＝"なし"の場合の割引率を教えてください。

## 結果サマリ
生成AIに上記のテーブルの内容についての質問を行ったところ、以下の結果となりました。
| # | テーブル記法のパターン | 正答数 | 誤答した質問 |
| - | -------------------- | ------ | ---------- |
| 1 | セル結合あり(縦)、セル具体値、条件行／パターン列 | 5/5 | なし        |
| 2 | セル結合あり(横)、セル具体値、条件列／パターン行 | **1/5** | **①、②、④、⑤**   |
| 3 | セル結合あり(縦)、セルY／N、条件行／パターン列 | 5/5 | なし        |
| 4 | セル結合あり(横)、セルY／N、条件列／パターン行 | **1/5** | **①、②、④、⑤**        |

## 結果からみられる傾向
傾向として「**セルの値」は具体値、Y／Nのいずれでも問題ないこと**と、**条件と結果の一覧を先頭１列に記述して、パターンを行方向に並べる記法を行うと理解度が非常に低下すること**が分かりました。

そのため、生成AIにとってはディシジョンテーブルは条件と結果の一覧を先頭１行に記述して、パターンを列方向に並べる記法が認知しやすいと言えそうです。

# おわりに
## 本記事における探索結果のまとめ
本記事では、Markdownのテーブルを記述する際の記法として、以下のパターンを調査しました。
| 記法 | パターン |
| ---  | ------- |
| 〇/×に相当する情報の記法 | -「〇／×」<br/>-「YES／NO」<br/>-「Y／N」|
| セル結合の記法 | 縦方向の結合：「"^"」、「"〃"」<br/>横方向の結合：「">"」 |
| ディシジョンテーブルのセルの値の記法 | -「具体値」<br/>-「Y／N」 |
| ディシジョンテーブルの条件と結果の一覧の記法 | -「条件と結果の一覧を先頭１行に記述して、パターンを列方向に並べる」<br/>-「条件と結果の一覧を先頭１列に記述して、パターンを行方向に並べる」 |

探索の結果、**人間と生成AIの両方にとって認知しやすいと思われる表の記法**は以下となりました。
| 記法 | 推奨する記法 |
| ---  | ------- |
| 〇/×に相当する情報の記法 | 「Y／N」|
| セル結合の記法 | 縦方向の結合：「"^"」<br/>横方向の結合：「結合しない」 |
| ディシジョンテーブルのセルの値の記法 | 「具体値」、「Y／N」のいずれでもOK |
| ディシジョンテーブルの条件と結果の一覧の記法 | 「条件と結果の一覧を先頭１行に記述して、パターンを列方向に並べる」 |

この記法に従って、本記事で対象とした２テーブルを記述すると、以下となります。

### [データベースのテーブル定義を模したテーブル](#データベースのテーブル定義を模したテーブル)
| #  | カラム名      | データ型  | 桁数 | 主キー | 外部キー | NOT NULL | 備考                                                   |
|----|--------------|----------|------|--------|--------|----------|--------------------------------------------------------|
| 1  | id           | INT      | 10   | Y    | N     | Y      | ユーザーID。システム中で利用する。                        |
| 2  | name         | VARCHAR  | 255  | N     | ^      | Y        | ユーザー名。ログインで利用する。                          |
| 3  | password     | CHAR     | 64   | ^      | ^      | N       | パスワード。`SHA-256`でハッシュ化する。ログインで利用する。 |
| 4  | age          | INT      | 3    | ^      | ^      | N        | なし。                                                  |
| 5  | created_at   | DATETIME | -    | ^      | ^      | Y      | 作成日時。値が更新されることはない。                       |
| 6  | updated_at   | ^        | -    | ^      | ^      | N       | 更新日時。初回は作成日時と同じ値。                         |
| 7  | last_login   | ^        | -    | ^      | ^      | N        | 最終ログイン日時。                                       |
| 8  | email        | VARCHAR  | 255  | ^      | ^      | Y      | メールアドレス。ユーザ名の代わりにログインで利用できる。    |
| 9  | address      | ^        | 500  | ^      | ^      | N       | 住所。最大500文字。                                     |
| 10 | phone_number | CHAR     | 11   | ^      | ^      | N        | 電話番号。ハイフンなし11桁。                             |

```markdown
| #  | カラム名      | データ型  | 桁数 | 主キー | 外部キー | NOT NULL | 備考                                                   |
|----|--------------|----------|------|--------|--------|----------|--------------------------------------------------------|
| 1  | id           | INT      | 10   | Y    | N     | Y      | ユーザーID。システム中で利用する。                             |
| 2  | name         | VARCHAR  | 255  | N     | ^      | Y        | ユーザー名。ログインで利用する。                           |
| 3  | password     | CHAR     | 64   | ^      | ^      | N       | パスワード。`SHA-256`でハッシュ化する。ログインで利用する。  |
| 4  | age          | INT      | 3    | ^      | ^      | N        | なし。                                                  |
| 5  | created_at   | DATETIME | -    | ^      | ^      | Y      | 作成日時。値が更新されることはない。                        |
| 6  | updated_at   | ^        | -    | ^      | ^      | N       | 更新日時。初回は作成日時と同じ値。                         |
| 7  | last_login   | ^        | -    | ^      | ^      | N        | 最終ログイン日時。                                       |
| 8  | email        | VARCHAR  | 255  | ^      | ^      | Y      | メールアドレス。ユーザ名の代わりにログインで利用できる。      |
| 9  | address      | ^        | 500  | ^      | ^      | N       | 住所。最大500文字。                                      |
| 10 | phone_number | CHAR     | 11   | ^      | ^      | N        | 電話番号。ハイフンなし11桁。                             |
```

### [条件に応じた商品の割引率を定義するディシジョンテーブル](#条件に応じた商品の割引率を定義するディシジョンテーブル)
#### セルを具体値で記述するパターン
|  #  |   条件1    |        条件2        |    条件3     |    条件4     |  結果  |
| --- | ---------- | ------------------- | ------------ | ------------ | ------ |
| #   | 会員ランク | 商品発売日          | セール対象品 | クーポン有無 | 割引率 |
| 1   | 一般       | 現在日の3年以内     | あり         | あり         | 40%    |
| 2   | ^          | ^                   | あり         | なし         | 35%    |
| 3   | ^          | ^                   | なし         | あり         | 20%    |
| 4   | ^          | ^                   | なし         | なし         | 10%    |
| 5   | ^          | 現在日の3年以上過去 | あり         | あり         | 35%    |
| 6   | ^          | ^                   | あり         | なし         | 30%    |
| 7   | ^          | ^                   | なし         | あり         | 15%    |
| 8   | ^          | ^                   | なし         | なし         | 5%     |
| 9   | ゴールド   | 現在日の3年以内     | あり         | あり         | 50%    |
| 10  | ^          | ^                   | あり         | なし         | 45%    |
| 11  | ^          | ^                   | なし         | あり         | 30%    |
| 12  | ^          | ^                   | なし         | なし         | 20%    |
| 13  | ^          | 現在日の3年以上過去 | あり         | あり         | 45%    |
| 14  | ^          | ^                   | あり         | なし         | 40%    |
| 15  | ^          | ^                   | なし         | あり         | 25%    |
| 16  | ^          | ^                   | なし         | なし         | 15%    |

```markdown
|  #  |   条件1    |        条件2        |    条件3     |    条件4     |  結果  |
| --- | ---------- | ------------------- | ------------ | ------------ | ------ |
| #   | 会員ランク | 商品発売日          | セール対象品 | クーポン有無 | 割引率 |
| 1   | 一般       | 現在日の3年以内     | あり         | あり         | 40%    |
| 2   | ^          | ^                   | あり         | なし         | 35%    |
| 3   | ^          | ^                   | なし         | あり         | 20%    |
| 4   | ^          | ^                   | なし         | なし         | 10%    |
| 5   | ^          | 現在日の3年以上過去 | あり         | あり         | 35%    |
| 6   | ^          | ^                   | あり         | なし         | 30%    |
| 7   | ^          | ^                   | なし         | あり         | 15%    |
| 8   | ^          | ^                   | なし         | なし         | 5%     |
| 9   | ゴールド   | 現在日の3年以内     | あり         | あり         | 50%    |
| 10  | ^          | ^                   | あり         | なし         | 45%    |
| 11  | ^          | ^                   | なし         | あり         | 30%    |
| 12  | ^          | ^                   | なし         | なし         | 20%    |
| 13  | ^          | 現在日の3年以上過去 | あり         | あり         | 45%    |
| 14  | ^          | ^                   | あり         | なし         | 40%    |
| 15  | ^          | ^                   | なし         | あり         | 25%    |
| 16  | ^          | ^                   | なし         | なし         | 15%    |
```

#### セルをY／Nで記述するパターン
|  #  |    条件１ー１    |      条件１－２      |     条件２－１      |     条件２ー２      |     条件３ー１     |     条件３－２     |     条件４ー１     |     条件４－２     | 結果 |
| --- | ---------------- | -------------------- | ------------------- | ------------------- | ------------------ | ------------------ | ------------------ | ------------------ | ---- |
| #   | 会員ランク：一般 | 会員ランク：ゴールド | 商品発売日：3年以内 | 商品発売日：3年以上 | セール対象品：あり | セール対象品：なし | クーポン有無：あり | クーポン有無：なし | 結果 |
| 1   | Y                | N                    | Y                   | N                   | Y                  | N                  | Y                  | N                  | 40%  |
| 2   | ^                | ^                    | ^                   | ^                   | Y                  | N                  | N                  | Y                  | 35%  |
| 3   | ^                | ^                    | ^                   | ^                   | N                  | Y                  | Y                  | N                  | 20%  |
| 4   | ^                | ^                    | ^                   | ^                   | N                  | Y                  | N                  | Y                  | 10%  |
| 5   | ^                | ^                    | N                   | Y                   | Y                  | N                  | Y                  | N                  | 35%  |
| 6   | ^                | ^                    | ^                   | ^                   | Y                  | N                  | N                  | Y                  | 30%  |
| 7   | ^                | ^                    | ^                   | ^                   | N                  | Y                  | Y                  | N                  | 15%  |
| 8   | ^                | ^                    | ^                   | ^                   | N                  | Y                  | N                  | Y                  | 5%   |
| 9   | N                | Y                    | Y                   | N                   | Y                  | N                  | Y                  | N                  | 50%  |
| 10  | ^                | ^                    | ^                   | ^                   | Y                  | N                  | N                  | Y                  | 45%  |
| 11  | ^                | ^                    | ^                   | ^                   | N                  | Y                  | Y                  | N                  | 30%  |
| 12  | ^                | ^                    | ^                   | ^                   | N                  | Y                  | N                  | Y                  | 20%  |
| 13  | ^                | ^                    | N                   | Y                   | Y                  | N                  | Y                  | N                  | 45%  |
| 14  | ^                | ^                    | ^                   | ^                   | Y                  | N                  | N                  | Y                  | 40%  |
| 15  | ^                | ^                    | ^                   | ^                   | N                  | Y                  | Y                  | N                  | 25%  |
| 16  | ^                | ^                    | ^                   | ^                   | N                  | Y                  | N                  | Y                  | 15%  |

```markdown
|  #  |    条件１ー１    |      条件１－２      |     条件２－１      |     条件２ー２      |     条件３ー１     |     条件３－２     |     条件４ー１     |     条件４－２     | 結果 |
| --- | ---------------- | -------------------- | ------------------- | ------------------- | ------------------ | ------------------ | ------------------ | ------------------ | ---- |
| #   | 会員ランク：一般 | 会員ランク：ゴールド | 商品発売日：3年以内 | 商品発売日：3年以上 | セール対象品：あり | セール対象品：なし | クーポン有無：あり | クーポン有無：なし | 結果 |
| 1   | Y                | N                    | Y                   | N                   | Y                  | N                  | Y                  | N                  | 40%  |
| 2   | ^                | ^                    | ^                   | ^                   | Y                  | N                  | N                  | Y                  | 35%  |
| 3   | ^                | ^                    | ^                   | ^                   | N                  | Y                  | Y                  | N                  | 20%  |
| 4   | ^                | ^                    | ^                   | ^                   | N                  | Y                  | N                  | Y                  | 10%  |
| 5   | ^                | ^                    | N                   | Y                   | Y                  | N                  | Y                  | N                  | 35%  |
| 6   | ^                | ^                    | ^                   | ^                   | Y                  | N                  | N                  | Y                  | 30%  |
| 7   | ^                | ^                    | ^                   | ^                   | N                  | Y                  | Y                  | N                  | 15%  |
| 8   | ^                | ^                    | ^                   | ^                   | N                  | Y                  | N                  | Y                  | 5%   |
| 9   | N                | Y                    | Y                   | N                   | Y                  | N                  | Y                  | N                  | 50%  |
| 10  | ^                | ^                    | ^                   | ^                   | Y                  | N                  | N                  | Y                  | 45%  |
| 11  | ^                | ^                    | ^                   | ^                   | N                  | Y                  | Y                  | N                  | 30%  |
| 12  | ^                | ^                    | ^                   | ^                   | N                  | Y                  | N                  | Y                  | 20%  |
| 13  | ^                | ^                    | N                   | Y                   | Y                  | N                  | Y                  | N                  | 45%  |
| 14  | ^                | ^                    | ^                   | ^                   | Y                  | N                  | N                  | Y                  | 40%  |
| 15  | ^                | ^                    | ^                   | ^                   | N                  | Y                  | Y                  | N                  | 25%  |
| 16  | ^                | ^                    | ^                   | ^                   | N                  | Y                  | N                  | Y                  | 15%  |
```

## 本記事における探索結果の補足
本記事では、生成AIのLLMモデルとして、gemini-1.5-pro-002を利用しました。
LLMモデルの種類（例えばOpenAIのGPTや、AnthropicのClaudeなど）や、同じモデルのバージョンによっても、今回の調査結果は大きく変わる可能性があります。

本記事における探索結果は、あくまでもgemini-1.5-pro-002における結果であり、他のLLMモデルなどにも同様に適用できるかは不明である点に注意が必要です。

また、実際にプロンプトを作成する場合は、LLMモデルによって適当なテーブル記法が異なることを想定して「テーブルの記法を変換するためのプロンプトを作成する」「テーブルの記法を変換するためのツールを利用、あるいは作成する」といった対応を行うとよいでしょう。