ブログ一覧へ
AI業務自動化
ChatGPTでExcel処理を任せるときの注意点
OpenAI APIを使って業務データを処理する際のセキュリティ・精度の問題と、安全な設計パターンを解説。
2026-05-15AI業務自動化
「ChatGPTにCSVを貼り付ける」の問題点
業務でChatGPTを使うとき、こんな操作をしていませんか?
- ExcelのデータをコピーしてChatGPTに貼り付ける
- 「これを集計して」と依頼する
- 返ってきた結果を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に任せる設計が安全です。