Excel アドイン編
本章では、ChatGPT を例に、Nuorium Optimizer Excel アドインの設定手順を自動生成する方法を解説します。
基本的な考え方: LLM は「構造ルール( nuorium_excel_addin_llm.txt )」+「実データ(Excel ファイル)」+「意味(PySIMPLE コード)」の3点が揃って初めて正しく動作します。どれか1つが欠けると誤答率が大幅に上がります。
1. ファイルを準備する
以下の3つのファイルを用意します。
# |
ファイル |
役割 |
|---|---|---|
1 |
PySIMPLE コード(例: |
モデルの意味(集合・パラメータ・変数・制約の定義)を伝える |
2 |
Excel ファイル(例: |
実際のデータ配置とセル構造を伝える |
3 |
|
アドインの入出力ルール(次元定義・範囲選択制約・操作手順)を伝える |
警告
3つ揃わないと正しく解釈されません。特に nuorium_excel_addin_llm.txt は構造ルールを与える役割であり、これがないと LLM は範囲選択の制約(連続矩形、隣接列等)を把握できません。
2. 生成AIサービスにアップロードする
ChatGPT で新しいチャットを開始する
ファイルアップロードボタンをクリックし、上記3ファイルを すべて アップロードする
3. プロンプトを入力する
以下のプロンプトをそのまま入力します。
プロンプトテンプレート
添付ファイル(PySIMPLEコードとExcelと設定ガイド)をもとに、
Excelアドインの設定方法を説明してください。
以下の条件を守ってください:
- 「添字 → 入力 → 出力」の順で説明する
- 各ステップで操作手順を番号付きで書く
- 必ずセル範囲(例:A1:B10)を明示する
- なぜその順序になるのかも簡潔に説明する
- 初心者でも再現できる粒度で書く
4. 出力内容を確認する
生成AIの回答をそのまま使わず、以下のチェックリストで確認します。
# |
チェック項目 |
不備の例 |
|---|---|---|
1 |
セル範囲が具体的に書かれているか |
「適切な範囲を選択」のような曖昧な記述 |
2 |
2D(表)が「行ラベル+列ラベル+値」になっているか |
値セルだけを選択し、見出しが含まれていない |
3 |
1D が「添字+値の2列」になっているか |
値列だけ、または添字列だけの選択 |
4 |
添字が最初に設定されているか |
パラメータ登録が添字登録より先になっている |
5. 注意事項
警告
生成AIの回答は必ずしも正しいとは限りません。最終的な設定は必ず人間が確認してください。
生成AIが誤る代表的なケース:
Excel 構造の解釈ミス — セル結合や空行の存在を見落とし、範囲がずれる
添字と値の対応の取り違え — 行と列の添字を逆に解釈する
範囲選択の制約の無視 — 非連続列の選択や、見出し行の省略を提示する
ベストプラクティス
共通ガイドラインについては PySIMPLE 編の 共通ガイドライン を参照してください。
以下は Excel アドイン固有のガイドラインです。
Excel アドイン固有ガイドライン
3ファイルを必ずセットでアップロード: PySIMPLE コード・Excel ファイル・
nuorium_excel_addin_llm.txtのどれが欠けても誤答率が上がる添字は必ずデータより先に登録: 入力データ・出力データの登録前に、使用する添字(集合)を全て登録する
次元を数式モデルと正確に対応させる: 添字なし → 0D、添字1つ → 1D、添字2つ → 2D
範囲選択は必ず連続矩形・隣接列: 非連続列の選択は不可。1D は添字列と値列が隣接していること
見出し行/列を範囲に含める: ラベル行・列を選択範囲に含めること
出力範囲の添字順をモデル定義と一致させる: 行見出し・列見出しの添字がモデル側の定義順と同じであること
生成AIの出力は必ず人間が検証する: セル範囲・次元・添字順が正しいか、最終確認は人間が行う