この記事では、Claude APIを使った問い合わせメール自動分類スクリプトを約60分で構築する手順を解説します。 Pythonの基本がわかれば、コードをコピペするだけで動くように全コードを掲載しています。 AIを業務に導入する全体像から知りたい方は、先に中小企業向けAI導入5ステップをご覧ください。
この記事で作るもの(完成イメージ)
Claude APIとは、Anthropic社が提供するLLM(大規模言語モデル)をプログラムから利用するためのインターフェース(Anthropic API)です。テキスト生成・要約・分類・画像認識など、幅広い業務タスクに対応しています。
この記事では、Claude APIを使って問い合わせメールを自動分類するPythonスクリプトを作成します。メール本文を入力すると、カテゴリ(見積依頼・製品問い合わせ・クレームなど)・要約・緊急度・推奨対応をJSON形式で返すスクリプトです。
前提条件
| 項目 | 内容 |
|---|---|
| 必要なアカウント | Anthropicアカウント(無料で作成可能) |
| 必要な知識 | Pythonの基本(変数、関数がわかればOK) |
| 所要時間 | 約60分 |
| 完成物 | 問い合わせメールを「見積依頼」「製品問い合わせ」「クレーム」等に自動分類するスクリプト |
準備・環境構築
環境構築とは、Claude APIを利用するために必要なアカウント・ライブラリ・設定ファイルを整える作業のことです。ここではClaude APIの使い方をステップごとに解説します。
Anthropicアカウント作成とAPIキー取得
以下の3ステップでAPIキーを取得できます。
- console.anthropic.com にアクセスし、アカウントを作成します
- ダッシュボードの「API Keys」メニューを開きます
- 「Create Key」をクリックしてAPIキーを生成します(
sk-ant-で始まる文字列)
新規登録時に5ドル分の無料クレジットが付与されます。まずは無料枠で試せるので、気軽に始められます。
Python環境のセットアップ
必要なライブラリをインストールします。
pip install anthropic python-dotenv
プロジェクトのルートディレクトリに .env ファイルを作成し、APIキーを記載します。
ANTHROPIC_API_KEY=sk-ant-your-api-key-here
重要: .gitignore に .env を追加して、APIキーがGitリポジトリにコミットされないようにしてください。
# .gitignore
.env
Anthropic公式SDKは、環境変数 ANTHROPIC_API_KEY を自動認識します。環境変数をセットしておけば、コード内で anthropic.Anthropic() と引数なしで初期化するだけでAPIキーが読み込まれます。
モデル一覧と料金
Claude APIでは用途に応じてモデルを選べます。
| モデル | モデルID | 入力料金(/100万トークン) | 出力料金(/100万トークン) | 推奨用途 |
|---|---|---|---|---|
| Haiku 4.5 | claude-haiku-4-5-20251001 | $1 | $5 | 大量処理・分類・チャット |
| Sonnet 4.5 | claude-sonnet-4-5-20250929 | $3 | $15 | 汎用・コード生成・要約 |
| Opus 4.6 | claude-opus-4-6 | $5 | $25 | 高精度な分析・複雑推論 |
※2026年2月時点の料金です。最新情報はAnthropic公式料金ページをご確認ください。
準備物チェックリスト
| 準備物 | 状態 | 備考 |
|---|---|---|
| Anthropicアカウント | 作成済み | console.anthropic.com |
| APIキー | 取得済み | sk-ant- で始まる文字列 |
| Python 3.8以上 | インストール済み | python --version で確認 |
| anthropicライブラリ | インストール済み | pip install anthropic |
| .envファイル | 作成済み | ANTHROPIC_API_KEYを記載 |
| .gitignore | 更新済み | .env を追加 |
実装手順
実装手順とは、環境構築が完了した状態から、実際にClaude APIを呼び出してメール分類スクリプトを完成させるまでの一連の作業のことです。
ステップ1: 基本的なテキスト生成
まずは messages.create() の最小構成でClaude APIを呼び出してみます。
import anthropic
from dotenv import load_dotenv
load_dotenv() # .envファイルから環境変数を読み込み
client = anthropic.Anthropic() # ANTHROPIC_API_KEY環境変数を自動認識
message = client.messages.create(
model="claude-sonnet-4-5-20250929",
max_tokens=1024,
system="あなたは中小企業の業務アシスタントです。簡潔に回答してください。",
messages=[
{"role": "user", "content": "この問い合わせメールを分類してください: 御社の製品Aについて、50個の見積もりをお願いしたいのですが、納期はいつ頃になりますか?"}
]
)
print(message.content[0].text)
このコードのポイント:
load_dotenv()で.envファイルの環境変数を読み込みますanthropic.Anthropic()は引数なしで初期化するだけで、環境変数ANTHROPIC_API_KEYを自動認識しますsystemパラメータで、AIの役割や回答ルールを事前に指示できますmodelにはモデルIDを指定します。コストを抑えたい場合はclaude-haiku-4-5-20251001に変更してください
ステップ2: 業務自動化の実装例(問い合わせ分類)
本記事のメインとなる、問い合わせメールを自動分類するスクリプトです。systemプロンプトで分類ルールを定義し、JSON形式で結果を返すように実装します。
import anthropic
import json
from dotenv import load_dotenv
load_dotenv()
client = anthropic.Anthropic()
def classify_inquiry(email_body: str) -> dict:
"""問い合わせメールを分類・要約する"""
message = client.messages.create(
model="claude-haiku-4-5-20251001",
max_tokens=512,
system=(
"あなたは中小企業の問い合わせ対応AIです。"
"メール本文を分析し、以下のJSON形式のみで返してください:\n"
'{"category": "見積依頼|製品問い合わせ|クレーム|その他",'
' "summary": "50文字以内の要約",'
' "urgency": "高|中|低",'
' "suggested_action": "推奨対応"}'
),
messages=[
{"role": "user", "content": email_body}
]
)
return json.loads(message.content[0].text)
# 使用例
sample_email = """
お世話になっております。
先日ご提案いただいた業務システムについて、
正式に見積もりをお願いしたく、ご連絡いたしました。
納期は来月末を希望しております。
"""
result = classify_inquiry(sample_email)
print(json.dumps(result, ensure_ascii=False, indent=2))
実行結果の例:
{
"category": "見積依頼",
"summary": "業務システムの正式見積もり依頼。納期は来月末希望。",
"urgency": "中",
"suggested_action": "見積書を作成し、納期の可否を確認して回答する"
}
このコードのポイント:
- 大量の問い合わせを処理するため、コストの低い Haiku 4.5 を使用しています
- systemプロンプトでJSON形式の出力ルールを厳密に定義しています
json.loads()でレスポンスを辞書型に変換し、後続の処理(メール振り分け、通知など)に活用できます
他のAI APIとの違いが気になる方は、OpenAI API入門やGemini API入門もあわせてご覧ください。
ステップ3: ストリーミングレスポンス(長文マニュアル要約用)
長い文書を要約する場合、ストリーミングを使うとリアルタイムに結果を表示できます。社内マニュアルの要約など、出力が長くなるタスクに適しています。
import anthropic
from dotenv import load_dotenv
load_dotenv()
client = anthropic.Anthropic()
manual_text = """
(ここに社内マニュアルの本文を貼り付けてください。
例: 就業規則、業務手順書、製品マニュアルなど)
"""
with client.messages.stream(
model="claude-sonnet-4-5-20250929",
max_tokens=2048,
system="あなたは社内マニュアルの要約担当です。要点を箇条書きで抽出してください。",
messages=[{"role": "user", "content": manual_text}]
) as stream:
for text in stream.text_stream:
print(text, end="", flush=True)
このコードのポイント:
messages.stream()を使うと、レスポンスが生成されるたびにリアルタイムで出力されます- ユーザーが待ち時間を感じにくくなるため、長文の要約やレポート生成に適しています
max_tokens=2048で十分な長さの要約を生成できます
動作確認・トラブルシューティング
トラブルシューティングとは、コードを実行した際に発生するエラーや問題を特定し、解決する作業のことです。
テスト手順
- ターミナル(コマンドプロンプト)を開きます
- プロジェクトのディレクトリに移動します
python ファイル名.pyで実行します- JSON形式の分類結果が表示されれば成功です
よくあるエラーと解決策
| エラー | 原因 | 解決策 |
|---|---|---|
AuthenticationError | APIキーが未設定または無効 | .env に正しいAPIキーが記載されているか確認。load_dotenv() の呼び出しを確認 |
RateLimitError (429) | リクエスト頻度の超過 | time.sleep(1) でリトライ間隔を設定。Tier昇格を検討 |
BadRequestError (400) | max_tokens超過や不正なパラメータ | モデルのコンテキスト長を確認し、パラメータを見直す |
ModuleNotFoundError | anthropicライブラリ未インストール | pip install anthropic python-dotenv を実行 |
APIConnectionError | ネットワーク接続の問題 | インターネット接続を確認。企業プロキシがある場合は設定を確認 |
json.JSONDecodeError | AIの出力がJSON形式でない | systemプロンプトでJSON出力を再度明示。リトライ処理を追加 |
コスト試算(中小企業向け月額目安)
| 業務 | モデル | 月間件数 | 月額目安 |
|---|---|---|---|
| 問い合わせ分類(短文) | Haiku 4.5 | 500件 | 約100円 |
| 議事録要約(長文) | Sonnet 4.5 | 50件 | 約200円 |
| マニュアル検索Bot | Sonnet 4.5 | 200件 | 約500円 |
※2026年2月時点の概算です。実際の料金はトークン量により変動します。最新料金はAnthropic公式料金ページをご確認ください。
応用・カスタマイズ例
応用・カスタマイズとは、本記事で作成した基本のスクリプトをベースに、より高度な業務自動化へ発展させることです。
Claude独自機能の紹介
Claude APIには、他のAI APIにはない独自機能があります。
- Extended Thinking: 複雑な推論タスクで思考プロセスを拡張し、精度を高める機能です。契約書のリスク分析や複雑な計算を伴う業務に活用できます
- Vision(画像入力): 画像をAPIに直接送信して解析できます。名刺や領収書の画像からテキストを抽出する業務に適しています
- PDF読み取り: PDFファイルを直接読み込んで内容を分析できます。社内マニュアルや契約書の要約に便利です
- Tool Use: 外部APIやデータベースと連携し、AIが必要な情報を取得しながら回答できます。在庫データを参照した顧客対応などに活用できます
中小企業での活用アイデア
本記事のメール分類スクリプトを応用して、さまざまな業務を自動化できます。
- 日報の自動要約: 社員が入力した日報をClaude APIで要約し、経営者向けのダイジェストを自動生成
- 顧客対応テンプレート生成: 問い合わせ分類の結果に応じて、返信テンプレートを自動作成
- GASとの連携: Google Apps Scriptと組み合わせて、Gmailの受信メールを自動分類。詳しくはGASでできること完全ガイドを参照してください
- 複数AI APIの使い分け: タスクに応じてClaude API・OpenAI API・Gemini APIを使い分ける戦略も有効です
AI開発ツールの選び方についてはAI開発ツール比較で詳しくまとめています。
AIを業務に組み込む全体像を知りたい方は、中小企業向けAI導入5ステップをぜひご覧ください。