Excel アドイン編

本章では、ChatGPT を例に、Nuorium Optimizer Excel アドインの設定手順を自動生成する方法を解説します。

基本的な考え方: LLM は「構造ルール( nuorium_excel_addin_llm.txt )」+「実データ(Excel ファイル)」+「意味(PySIMPLE コード)」の3点が揃って初めて正しく動作します。どれか1つが欠けると誤答率が大幅に上がります。

1. ファイルを準備する

以下の3つのファイルを用意します。

#

ファイル

役割

1

PySIMPLE コード(例: sample.py

モデルの意味(集合・パラメータ・変数・制約の定義)を伝える

2

Excel ファイル(例: data.xlsx

実際のデータ配置とセル構造を伝える

3

nuorium_excel_addin_llm.txt

アドインの入出力ルール(次元定義・範囲選択制約・操作手順)を伝える

警告

3つ揃わないと正しく解釈されません。特に nuorium_excel_addin_llm.txt は構造ルールを与える役割であり、これがないと LLM は範囲選択の制約(連続矩形、隣接列等)を把握できません。

2. 生成AIサービスにアップロードする

  1. ChatGPT で新しいチャットを開始する

  2. ファイルアップロードボタンをクリックし、上記3ファイルを すべて アップロードする

3. プロンプトを入力する

以下のプロンプトをそのまま入力します。

プロンプトテンプレート

添付ファイル(PySIMPLEコードとExcelと設定ガイド)をもとに、
Excelアドインの設定方法を説明してください。

以下の条件を守ってください:
- 「添字 → 入力 → 出力」の順で説明する
- 各ステップで操作手順を番号付きで書く
- 必ずセル範囲(例:A1:B10)を明示する
- なぜその順序になるのかも簡潔に説明する
- 初心者でも再現できる粒度で書く

4. 出力内容を確認する

生成AIの回答をそのまま使わず、以下のチェックリストで確認します。

#

チェック項目

不備の例

1

セル範囲が具体的に書かれているか

「適切な範囲を選択」のような曖昧な記述

2

2D(表)が「行ラベル+列ラベル+値」になっているか

値セルだけを選択し、見出しが含まれていない

3

1D が「添字+値の2列」になっているか

値列だけ、または添字列だけの選択

4

添字が最初に設定されているか

パラメータ登録が添字登録より先になっている

5. 注意事項

警告

生成AIの回答は必ずしも正しいとは限りません。最終的な設定は必ず人間が確認してください。

生成AIが誤る代表的なケース:

  • Excel 構造の解釈ミス — セル結合や空行の存在を見落とし、範囲がずれる

  • 添字と値の対応の取り違え — 行と列の添字を逆に解釈する

  • 範囲選択の制約の無視 — 非連続列の選択や、見出し行の省略を提示する

ベストプラクティス

共通ガイドラインについては PySIMPLE 編の 共通ガイドライン を参照してください。

以下は Excel アドイン固有のガイドラインです。

Excel アドイン固有ガイドライン

  1. 3ファイルを必ずセットでアップロード: PySIMPLE コード・Excel ファイル・ nuorium_excel_addin_llm.txt のどれが欠けても誤答率が上がる

  2. 添字は必ずデータより先に登録: 入力データ・出力データの登録前に、使用する添字(集合)を全て登録する

  3. 次元を数式モデルと正確に対応させる: 添字なし → 0D、添字1つ → 1D、添字2つ → 2D

  4. 範囲選択は必ず連続矩形・隣接列: 非連続列の選択は不可。1D は添字列と値列が隣接していること

  5. 見出し行/列を範囲に含める: ラベル行・列を選択範囲に含めること

  6. 出力範囲の添字順をモデル定義と一致させる: 行見出し・列見出しの添字がモデル側の定義順と同じであること

  7. 生成AIの出力は必ず人間が検証する: セル範囲・次元・添字順が正しいか、最終確認は人間が行う