はじめに

Hello, ChatGPT ラバーなみなさん。これから ChatGPT ラバーになるみなさん。

家電の説明書って、なぜか使いたいときに限って見つからない…。

「このエラーコードって何だっけ?」「リセット方法どうやるんだっけ?」そんな状況、誰でも一度はあるはず。

PDF で保存しても、探すのが面倒だったり、名前を忘れたり。そうなったとき、私の中のアントワネットがこう囁くのです。

〜〜「自分で探せなければ、AI にやらせればいいじゃない」〜〜

– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –

今回の記事は 2025/05 時点のものです。AI の進化は早いもので、もっといい実現方法があるかも知れません。NotebookLM とか。

– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –

解決したかったこと

  • 紙の取説を探すのがとにかく面倒
    • フィルター交換後のどっかのボタン長押ししてランプ消すとか
  • エラーコードわからん
    • メンテナンスの頻度やエラー内容をすぐ知りたい
  • そもそも説明書を読むのが苦手
  • 機器によっては Web に載ってないこともある

これらを全部まとめて解決するには、ChatGPTにやらせるのが最適解でした。

– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –

目標

  • ChatGPT に聞いたら説明書の内容から説明してくれる
  • 将来的には、メンテナンス履歴の記録、パーツ販売ページの案内、LINE 連携なども行いたい

– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –

こんな感じになりました

– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –

システム全体の構成

使ったツールは以下の通り:

ツール 役割
Google Drive PDF の説明書を保存
Google スプレッドシート 家電情報(機種名・メーカー・PDF リンクなど)を一覧管理
Google Apps Script(GAS) ChatGPT が情報を取得するための検索用 API
ChatGPT API 取得したデータを自然な言葉で回答する
ChatGPTs(カスタム GPT) 質問を受け取って GAS と連携して回答
Google Drive、スプレッドシート、Google Apps Script、ChatGPT API、ChatGPTsを使ったシステム構成のフローを示すイラスト。

– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –

Step 1: PDF とスプレッドシートを準備

Google Drive

  1. 「家電マニュアル」というフォルダを作成
  2. 持っている家電の説明書 PDF を全部アップロード
  3. ファイル名に型番や機器名を含めると検索しやすい
  4. 次のスプレッドシートも作成しておく。名前は特に指定はないけれど「家電情報管理」にしました

Google スプレッドシート

以下のように家電情報を登録します。

質問時に ChatGPT API を通して、GAS 経由で情報を取得します。検索のしやすさを考慮し、部屋名も登録しました。将来的には正規化したり、情報を記録するシートなんかを作成してもいいかもしれません。

家電名 型番 メーカー 部屋 PDF リンク
エアコン F56XTCV ダイキン 書斎 https://…
洗濯機 BD-SG100EL 日立 洗面所 https://…

– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –

Step 2: GAS(Google Apps Script)で API 化

今回は 2 つの関数を用意しました。

  • getApplianceInfo(): スプレッドシート内から家電情報を取得する関数
  • doGet(e): Web API のエントリポイント
    • doGet(e)は GAS の予約関数。ほかには doPost(e)などがある

実装した関数

// SHEET_IDは参照先のシートのID。
val = SHEET_ID = "hogehoge"

function getApplianceInfo(query) {
    var sheet = SpreadsheetApp.openById(SHEET_ID).getActiveSheet();
    var data = sheet.getDataRange().getValues();

    for (var i = 1; i < data.length; i++) {
        if (query.toLowerCase().includes(data[i][0].toLowerCase())) {
            return {
                room: data[i][4],
                appliance: data[i][0],
                model: data[i][1],
                manufacturer: data[i][2],
                manual: data[i][3],
            };
        }
    }

    return { error: "該当する家電の情報が見つかりませんでした。" };
}

function doGet(e) {
    var query = e.parameter.query;
    if (!query) {
        return ContentService.createTextOutput(
            JSON.stringify({ error: "クエリが空です" })
        ).setMimeType(ContentService.MimeType.JSON);
    }

    var applianceInfo = getApplianceInfo(query);
    if (applianceInfo.error) {
        return ContentService.createTextOutput(JSON.stringify(applianceInfo)).setMimeType(
            ContentService.MimeType.JSON
        );
    }

    var responseText = `部屋名: ${applianceInfo.room}\n家電名: ${applianceInfo.appliance}\n型番: ${applianceInfo.model}\nメーカー: ${applianceInfo.manufacturer}\n取扱説明書: ${applianceInfo.manual}`;

    return ContentService.createTextOutput(responseText).setMimeType(ContentService.MimeType.JSON);
}

Web アプリとして公開する手順

セキュリティ的に微妙なので実際にやる場合は、なんか考慮してください!!

  1. 「ウェブアプリケーションとして導入」を選択
  2. アクセス権限を「全員(匿名ユーザー)」に設定
  3. 発行された URL をメモ(これを ChatGPT 側で使う)

– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –

Step 3: ChatGPTs でカスタム GPT を作る

OpenAI の「Create a GPT」から、自分専用の家電サポート GPTを作成。

設定ポイント

以下は私が設定した例です。うまくいかない場合は、InstructionsActionsを調整してみてください。

ちなみに作成したのは ChatGPT さんです。

Instructions

家電サポート GPT は、家電製品の取扱説明書に基づいてユーザーの質問に回答するアシスタントです。Google Apps Script を通じて、Google スプレッドシートに保存された家電情報を取得し、より正確な回答を提供します。また、取扱説明書の URL があれば、それを元に要約も提供します。

自宅や家という単語が含まれていた場合、まずは GAS を探索します。

役割・目的

  • 家電製品の取扱説明書を参照し、ユーザーの疑問に的確に回答。
  • Google Apps Script を介して Google スプレッドシート内の家電情報を取得し、補足情報として活用。
  • 取扱説明書の URL がある場合、要約を提供し、ユーザーが重要な情報を素早く得られるよう支援。
  • 製品の操作手順、設定変更方法、エラー解決策、メンテナンス方法を説明。
  • 一般的な家電のトラブルシューティングを支援。

制約

  • 回答は基本的に取扱説明書やスプレッドシートの情報に基づき、推測での回答は控える。
  • 具体的な製品情報が不明な場合は、メーカーや型番を確認するよう案内。
  • 修理や分解が必要な場合は、メーカーサポートへの問い合わせを推奨。

ガイドライン

  • 簡潔かつ分かりやすい言葉で説明。
  • 必要に応じて箇条書きや手順を明示。
  • 安全に関する注意点がある場合は明確に伝える。
  • 取扱説明書がオンラインで確認できる場合は、公式リンクを案内。
  • スプレッドシート内のデータを活用し、詳細情報を提供。
  • 取扱説明書の URL がある場合、要約を作成して提供。

ユーザー対応

複雑な問題の場合は、メーカーの公式サポートを案内。

初心者にも分かりやすい説明を心がける。

型番やメーカー名を尋ねることで、より正確な回答ができるよう誘導。

ちなみに Actions は自分で作るのは無理ゲーなので、OpenAI が公式で提供しているActionsGPTというものを使いました。

ActionsGPT に入れたプロンプトは以下です。

以下の URL から「OpenAPI 仕様 3.1.0」の yaml を作成してください。

<先ほどWeb アプリとして公開する手順で取得したURL>

  • リクエストパラメータはなし
  • 返ってくる JSON レスポンスは以下を想定
{
    "room": 文字列,
    "appliance": 文字列,
    "model": 文字列,
    "manufacturer": 文字列,
    "manual": 文字列
}
  • HTTP メソッドは GET
  • 認証は不要

できた Actions は以下です。

openapi: 3.1.0
info:
  title: Appliance Lookup API
  description: 指定されたキーワードに一致する家電の情報(部屋名・家電名・型番・メーカー・取扱説明書リンク)を返します。
  version: 1.0.0

servers:
  - url: <さっきのGASのURL>
    description: Google Apps Script Web App

paths:
  /exec:
    get:
      operationId: getApplianceInfo
      summary: クエリに基づいて家電情報を取得
      parameters:
        - name: query
          in: query
          required: true
          description: 検索したい家電の名称またはキーワード
          schema:
            type: string
      responses:
        "200":
          description: 該当する家電情報が見つかり、正常に返された場合
          content:
            application/json:
              schema:
                type: object
                properties:
                  room:
                    type: string
                    description: 家電が設置されている部屋
                    example: "リビング"
                  appliance:
                    type: string
                    description: 家電名
                    example: "エアコン X1000"
                  model:
                    type: string
                    description: 型番
                    example: "X1000-AC"
                  manufacturer:
                    type: string
                    description: メーカー名
                    example: "Panasonic"
                  manual:
                    type: string
                    format: uri
                    description: 取扱説明書のURL
                    example: "https://example.com/manuals/x1000.pdf"
        "400":
          description: クエリパラメータが不足している場合
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: "クエリが空です"
        "404":
          description: 該当する家電情報が見つからなかった場合
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: "該当する家電の情報が見つかりませんでした。"

入力を行ったら、Actions 画面の下部にある「テストする」というところからテストを行ってみます。

動作を確認できたら、右上のデプロイを実行します。(いまは更新するになっていますが)

家電サポート GPT の設定画面が表示されているスクリーンショット。左側にはAPIのスキーマや利用可能なアクションが記載され、右側には家電に関する質問を受け付けるインターフェースが示されています。

Step 4: 実際に質問してみる

ChatGPT にこう聞いてみます:

「エアコンの掃除方法は?」

すると ChatGPT が、該当の PDF を含む情報をもとに、自然な文章で回答してくれます。もちろん、PDF リンクもついてきます。かなり実用的です!

ChatGPT APIの料金

当時はGPT-3.5 TurboGPT-4 Turboで比較をして、ケチってGPT-3.5 Turboを使用していました。使用はしていないですが、GPT-4o miniめっちゃ安いですね…たぶん問題ないです。

当時GPT-3.5 Turboでもちゃんと使えていました。コスパを考えるとGPT-4o miniが良さそうですね!

モデル 入力(1000トークン) 出力(1000トークン) 想定コスト(1回:200in + 400out)
GPT-3.5 Turbo $0.0015 $0.002 約0.17円
GPT‑4o mini $0.00015 $0.0006 約0.04円
GPT‑4.1 $0.03 $0.06 約1.5円
GPT‑4.1 mini $0.006 $0.012 約0.3円
GPT‑5 $0.025 $0.2 約13.5円

– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –

まとめ

  • よかった
    • いちいち紙の取扱説明書を探したり、ウェブで検索しなくて良くなった
    • さらには取扱説明書の中身まで探さないで良い
  • ちょっとあれ
    • 最初の PDF 登録とスプレッドシート登録が凄まじくめんどくさい
  • 将来的に
    • メンテナンス履歴を残したい
    • 足りない情報は Web から取ってくるようにしたい
    • フィルターの販売 URL とか教えてほしい
    • もはや LINE で聞けるようにしたい
    • 取説とPDF登録もやってほしい

おわりに

わたしエンジニアですが、今回は一行もコードを書いていません。すべて ChatGPT さんに教えてもらって実装しました!

こういう楽になる仕組みが作れると、嬉しいですね!

それではいい開発ライフを!!



ギャップロを運営しているアップフロンティア株式会社では、一緒に働いてくれる仲間を随時、募集しています。 興味がある!一緒に働いてみたい!という方は下記よりご応募お待ちしております。
採用情報をみる