ブログ一覧へ
AI業務自動化

ChatGPTでExcel処理を任せるときの注意点

OpenAI APIを使って業務データを処理する際のセキュリティ・精度の問題と、安全な設計パターンを解説。

2026-05-15AI業務自動化

「ChatGPTにCSVを貼り付ける」の問題点

業務でChatGPTを使うとき、こんな操作をしていませんか?

  1. ExcelのデータをコピーしてChatGPTに貼り付ける
  2. 「これを集計して」と依頼する
  3. 返ってきた結果をExcelに戻す

これは3つの問題をはらんでいます。

問題1:データが外部に送信される

ChatGPTのUIやAPIに貼り付けたデータは、OpenAIのサーバーに送信されます。

  • 顧客の個人情報(名前・メール・住所)
  • 売上・財務データ
  • 社内の機密情報

これらを送信することは、多くの企業の情報セキュリティポリシーに違反します。

問題2:精度が保証されない

ChatGPTはテキスト生成AIです。計算や集計が得意なわけではありません。

  • 数値の合計を間違えることがある
  • データの件数が実際と異なる場合がある
  • 「それらしい回答」を生成するが、正確とは限らない

問題3:再現性がない

同じ質問をしても、毎回同じ結果が返るとは限りません。 業務処理には「同じ入力→同じ出力」の再現性が不可欠です。

安全な設計パターン

SOFTBASEで採用しているアーキテクチャを紹介します。

ユーザーの自然言語指示

[AI] 処理計画の生成のみ(データは渡さない)

ユーザーが計画を確認・承認

[Python] 実データを処理(ローカル・クラウド内)

結果をユーザーに返す

ポイント:AIにはデータを渡さない。計画だけを作らせる。

具体的な実装

import openai

def generate_processing_plan(user_instruction: str, columns: list[str]) -> dict:
    """
    AIには列名だけ渡し、実データは渡さない。
    処理計画(JSON)を生成させる。
    """
    prompt = f"""
    CSVファイルの処理計画を作成してください。
    
    利用可能な列: {', '.join(columns)}
    ユーザーの指示: {user_instruction}
    
    処理ステップをJSON形式で返してください。
    """
    
    response = openai.chat.completions.create(
        model="gpt-4o",
        messages=[{"role": "user", "content": prompt}],
        response_format={"type": "json_object"}
    )
    
    return response.choices[0].message.content

def execute_plan(df, plan: dict):
    """
    実際のデータ処理はPythonが行う。
    AIは関与しない。
    """
    # planに基づいてpandasで処理
    ...

まとめ

方式 データ安全性 精度 再現性
ChatGPTに直接貼り付け
AIで計画 + Pythonで実行

業務データを扱うなら、AIは「指示の解釈」にだけ使い、実処理はPythonに任せる設計が安全です。

ご意見・お問い合わせ

記事の内容についてご質問・ご意見はお気軽に。