メインコンテンツへスキップ
自分のアプリにClaudeを埋め込む(API)
レッスン 6 / 10|17分で読めます

自分のアプリにClaudeを埋め込む(API)

Claudeを「自分が使う道具」じゃなく、「自分が作ったアプリの中で動くAI」にする。顧客向けチャットボットとか、そういうのが作れる。

このレッスンで終わる頃には

  • Claudeを自分のアプリの中で動かす方法が分かる
  • 顧客向けFAQチャット、見積書の自動下書きみたいなものが作れるようになる
  • APIキーの正しい扱い方と、systemパラメータでのガード方法が分かる

このレッスンで作るもの


Claudeを「みんなに使わせる」立場へ

ここまで、Claudeは自分が使う道具だった。

でも、例えば自社のサイトに「よくある質問チャット」を置きたくなったとする。お客様にClaude Codeを開いてもらうわけにはいかない。

自分のWebアプリの中にClaudeを埋め込む必要がある。

それを実現するのがAPI(エーピーアイ)。正式名称は気にしなくていい。

お客様が自社サイトのチャットに質問→自分のアプリ→Claude API→回答が返る流れの図
自分のアプリの中でClaudeが動く。お客様は「自社のサイト」と話してる感覚

作れるものの例

APIを使うと、こういうのが作れる:

Claudeの頭脳を借りて、自分のアプリに組み込む。現場の経験と掛け合わせると、強いツールが作れます。


準備: APIキーをもらう

Anthropicの公式サイトで、APIキーという通行証をもらう。

Claude Console(旧Anthropic Console)のログイン画面
Claude Console のログイン画面。Googleアカウントかメールでログインしてキー発行へ進む
SourceARTICLE
Claude Console(APIキー発行)

旧Anthropic Console。APIキー発行・利用状況の確認・上限設定はすべてここから。

Webconsole.anthropic.com
console.anthropic.com

注意

このキー、絶対に漏らさない

  • コードに直接書かない(GitHubに上げたら誰でも見える)
  • Slackで共有しない
  • READMEに書かない

漏れると他人があなたのアカウントでAPI使って、請求だけあなたに来る事態に。

キーをPCに保存する

「環境変数」という場所に入れるのが作法。ターミナルでこう打つ:

Terminal
$

echo 'export ANTHROPIC_API_KEY="さっきコピーしたやつ"' ~/.zshrc

$source ~/.zshrc

以後、コードからは ANTHROPIC_API_KEY という名前で呼び出せる。直接書かなくてよくなる。

APIキーは環境変数から読む。値そのものは表示せず、設定済みかどうかと長さだけを確認する
ターミナルで ANTHROPIC_API_KEY の存在確認を行い、キー値は表示していない画面
キー値は画面にもログにも出さない。コードは os.environ から読むだけにしておく

10行でAIと対話するコード

Claudeに頼む:

Claude Code
$

ask_claude.py というPythonスクリプトを作って。anthropic SDK を使って、claude-sonnet-4-6 に「新人が経費精算で知っておくべきことを3つ」を聞くだけのシンプルなやつ。

中身はこんな感じ:

import anthropic
import os

client = anthropic.Anthropic(
    api_key=os.environ["ANTHROPIC_API_KEY"]
)

message = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "新人が経費精算で知っておくべきことを3つ教えて"}
    ]
)

print(message.content[0].text)

実行:

Terminal
$pip install anthropic
$python ask_claude.py
  1. 領収書の原本は必ず保管する。精算が済んだあとも一定期間は捨てない。
  1. 交通費は最短経路が基本。遠回りした分は理由の説明が要ることが多い。
  1. 締め切りを過ぎると翌月扱いになる会社が多いので、提出は早めに。

数秒で回答が出る。10行で、自分のコードからClaudeに質問できる状態に。

何してるか、ざっくり

  • client = anthropic.Anthropic(...) → 受付に着いた状態
  • client.messages.create(...) → Claudeにメッセージ送信
  • print(...) → 返事を表示

コード自体はClaudeに書かせて、自分は「何させるか」を考える。これが使い方です。

Claude API SDK 公式ドキュメント Client SDKs ページ
Client SDKs 一覧。Python・TypeScript・Java・Go・Ruby・C#・PHP まで網羅
SourceARTICLE
Claude API SDK 公式ドキュメント

Python・TypeScript・Java など各言語のSDKリファレンス。インストールから最初のコールまで一気通貫。

Webdocs.anthropic.com
docs.anthropic.com/en/api/client-sdks
SourceARTICLE
Messages API リファレンス

messages.create() の全パラメータ。max_tokens, temperature, stop_sequences など。

Webdocs.anthropic.com
docs.anthropic.com/en/api/messages

もう一つの経路: CIやスクリプトから直接呼ぶ

APIキーとSDKだけが、Claudeをスクリプトに組み込む方法ではありません。Claude Code自体を、ターミナルから1回きりの実行として呼び出す方法もあります。対話画面は開かず、指示を渡してすぐに結果だけを受け取る、ヘッドレスモードと呼ばれる使い方です。

claude -p "指示"のように実行すると、CIパイプラインの1ステップに組み込んだり、定期実行に使ったりできます。ここで覚えておくと得をするフラグが2つあります。

1つ目は --bare です。

VoicesDOCUMENTATION

Add --bare to reduce startup time by skipping auto-discovery of hooks, skills, plugins, MCP servers, auto memory, and CLAUDE.md.

筆者訳

hooks・skills・plugins・MCPサーバー・auto memory・CLAUDE.mdの自動探索を飛ばして起動時間を短縮するには、--bare を追加する。

Claude Code公式ドキュメントHeadless modecode.claude.com/docscode.claude.com/docs/en/headless.md

CIやスクリプトでは、どの端末で実行しても同じ結果になることが大事です。誰かの ~/.claude に置かれたhookや、プロジェクトの .mcp.json に書かれたMCPサーバーが、実行のたびに結果を変えてしまっては困ります。--bare は、それらの自動探索そのものを飛ばすことで、この問題を避けます。

Terminal
$

claude -p --bare "この社内マニュアルのtypoを直して"

hooks・skills・plugins・MCPサーバー・auto memory・CLAUDE.mdの探索をすべて飛ばして起動。どの端末で実行しても同じ挙動になる。

2つ目は --json-schema です。

ヘッドレスモードの出力は、そのままでは自由形式の文章です。後続の処理に渡すなら、決まった形で返ってきてほしいことがほとんどです。--output-format json --json-schema '{...}'を組み合わせると、指定したJSON Schemaに沿った出力を structured_output フィールドに強制できると説明されています。スキーマの形式が壊れている場合は、黙って無視されるのではなく、明確なエラーで止まる仕様です。

Terminal
$

claude -p --output-format json --json-schema "この報告書を1文で要約して"

APIとヘッドレスモード、どちらを選ぶかは目的次第です。自分のアプリの中でユーザーとやりとりさせたいならAPI、社内の自動化フローに1ステップとして組み込みたいならヘッドレスモード、と考えると迷いません。


応用: 顧客向けFAQチャット

自社のサイトで「よくある質問」を答えるチャットを置きたい、でもChatGPTみたいに何でも答えるのは困る。

自分が監修した情報の範囲だけ回答させたい。

APIの systemパラメータ がそれを実現する:

message = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=1024,
    system="""あなたは自社サービスのFAQアシスタントです。

以下のルールを必ず守ってください:
- 承認済みFAQ以外の質問には「申し訳ありませんが、その質問には
  お答えできません。直接サポート窓口にお問い合わせください」と返す
- 契約内容や料金プランに関する個別の判断はしない
- 承認済みFAQ:
  - 利用開始の手順
  - 解約時の注意点
  - 障害発生時の対応状況
""",
    messages=[
        {"role": "user", "content": "サービスが急に使えなくなりました。どうしたらいいですか?"}
    ]
)

systemに書いたルールの範囲内だけで回答する。範囲外は「お答えできません」でガードされる。

自分が監修した情報だけに基づくAIチャット、これで作れます。

視点

現場の経験 × Claudeの言語能力

APIを手に入れると、他の人のためのツールを作れるようになる。

顧客向け、同僚向け、部署向け。あなたの現場の経験と組み合わさると、まだ世に無いツールが生まれます。


料金: いくらかかる?

従量課金。使った分だけ。ざっくり:

APIコンソールで「月100ドルで止まる」みたいな上限設定もできる。これを入れておくと安心。

Anthropic Pricing ページのスクリーンショット
Claude のプラン比較ページ。個人プラン (Free / Pro / Max) は API とは別建て、API は従量課金
SourceARTICLE
Anthropic Pricing

モデル別の入出力単価。Sonnet 4.6 / Haiku 4.5 / Opus 4.7 を比較しながら設計に使う。

Webanthropic.com
anthropic.com/pricing

ここから先

Claude Codeは自分の生産性を上げる道具だった。

APIを持つと、自分が作ったアプリの中でClaudeが動く。他の人に使ってもらえるツールが作れる立場になる。

これ、あなたのキャリア後半に向けて、一人で誰かを助ける範囲を広げる強力な武器になります。


まとめ

  • API = Claudeを自分のアプリから呼び出す仕組み
  • APIキーを取って、環境変数に保存(コードに直書き禁止)
  • Pythonで10行書けば、Claudeとのやりとりが始まる
  • systemパラメータ で「このルールの範囲内だけで答えて」ができる
  • CIやスクリプトに組み込むだけなら、ヘッドレスモード(claude -p --bare)という選択肢もある
  • 料金は従量課金、上限設定しておけば安心

次は Learning Mode。自分の学習を加速させる使い方。入門編の知識を深めるパート。


明日のアクション

  1. console.anthropic.com でアカウント作成 → APIキー取得
  2. 環境変数に保存
  3. レッスン内のPythonスクリプトを実行して、Claudeから返事が返ってくることを確認
  4. 自分の専門領域で1つ質問を投げてみる(「自分の業務の〇〇について、新人向けに5つポイントを」みたいな)
  5. APIコンソールで月額上限を設定(最初は$20くらいで十分)

「自分のコードからAI呼び出した」感覚、1回味わうと見方が変わります。