コンテンツにスキップ

Claude CodeのAI推論をシステムに組み込む|API課金ゼロ・サブスク定額で実現する方法

利用規約に関する重要な注意(2026年2月追記)

2026年2月、Anthropicは利用規約を明確化し、Claude Free/Pro/MaxアカウントのOAuthトークンを公式ツール(Claude.ai・Claude Code)以外で使用することを禁止しました。本記事で解説しているauth.jsonのCI/CD環境への配置が、この規約の対象に含まれるかはAnthropicから明確な見解が出ていません。CI/CDでClaude Codeを利用する場合は、Anthropicが公式に提供しているclaude-code-actionANTHROPIC_API_KEYによるAPI課金方式)の利用を推奨します。最新の利用規約はAnthropic公式サイトで確認してください。

この記事のポイント

Claude Codeはサブスクリプション(Pro/Max)にヘッドレス実行が含まれており、APIキーの発行や従量課金なしにシステムへ組み込めます。 この記事は料金の固定値比較ではなく、-pによる実装方法(GitHub Actions・Docker・cron)と、auth.json運用・レートリミット設計を中心に解説します。

ただしレートリミットが存在するため「無制限」ではありません。競合CLIでもヘッドレス実行自体は可能なため、差分は「実運用での成熟度・認証運用のしやすさ・CI/CD適性」にあります。


Claude Codeの見落とされがちな特性——サブスク内ヘッドレス実行

Claude Codeを「対話型のAIコーディング補助」として使っている開発者は多いですが、-pフラグによるヘッドレス実行がサブスクリプションに含まれているという点は十分に知られていません。

これが意味するのは:

Sonnet 4.5クラスの推論能力を、APIキー発行不要・追加課金なしで、スクリプトやCI/CDから呼び出せる

ということです。ChatGPT・Geminiではプログラムからの呼び出しにAPIキーの発行と従量課金が前提となり、Codex CLIもヘッドレス実行は可能ですが認証フローの設計に注意が必要です。Claude Codeがこの点で異なる仕組みを持っていることを、コスト・運用・制約の各面から整理します。


料金は変動しやすい——固定値より「構造差」で比較する

AI APIの単価は改定頻度が高く、固定値の料金表は短期間で陳腐化します。この記事では特定日の価格表を主張せず、意思決定に効くコスト構造を比較します。

見るべきポイントは3つ

  1. 課金単位: API従量課金(トークン比例)か、サブスク定額か
  2. 運用コスト: APIキーの発行・ローテーション・シークレット管理が必要か
  3. 失敗時コスト: リトライや試行錯誤で追加課金されるか

コスト構造の比較

観点API従量課金Claude Codeサブスク
月額コスト利用量に比例(上限は自分で設計)プラン料金で上限が決まる
リトライ時の費用実行するたびに増える追加課金なし(※レートリミット内)
認証運用APIキー管理が必要auth.json中心で運用

価格の最新値は公式ページを参照

具体的な単価は頻繁に更新されるため、必ず公式料金ページで確認してください。


Claude Codeサブスクの仕組み——定額でヘッドレス実行が可能

Claude Codeは、Pro / Max系プランのサブスクリプションに含まれる機能です(上位ティアを含む詳細は申込画面を参照)。

他のAIツールと決定的に違うのは、-p(ヘッドレス)モードによる非対話実行がサブスクに含まれている点です。

# PR差分を入力にして、機械処理しやすいJSONを出力する
git diff origin/main...HEAD > /tmp/pr.diff

claude -p "以下のdiffをレビューし、JSON配列で出力してください。
各要素は {severity, file, issue, recommendation} を持つこと。
severity は critical/high/medium/low のいずれか。

$(cat /tmp/pr.diff)
" > /tmp/review.json

モデル選択のポイント:Sonnet 4.5を推奨

Claude CodeではOpus 4.6(最高性能)とSonnet 4.5(高性能・高効率)が利用可能です。ただし、Opus 4.6はサブスクのレートリミット消費が非常に激しいため、自動化用途ではSonnet 4.5の利用を強く推奨します。Sonnet 4.5でもコーディングタスクにおいては十分すぎる推論能力を持っており、消費量が抑えられるため1日あたりの実行可能回数が大幅に増えます。

実務では、デイリー運用はSonnet 4.5週次の深掘りレポートのみOpus 4.6のように使い分ける設計が現実的です。

# Sonnet 4.5を明示的に指定(推奨)
# 返却フォーマットを固定すると自動化しやすい
claude -p --model sonnet "次の入力を {summary, risks, actions[]} のJSONで返してください。入力: ..."

これは単なるテキスト生成ではありません。

Claude Codeは:

  • リポジトリ全体のコードを読み解く
  • アーキテクチャレベルの推論を行う
  • ファイルを実際に編集する
  • コマンドを実行する
  • gitでコミット・PRを作成する

これらすべてがサブスク料金内で動作します(レートリミットの範囲内)。

コスト構造の違い——予測可能性がポイント

前述の3つの判断軸を、さらに掘り下げます。

実行頻度が高いほど、また試行錯誤が多いほど、定額制の優位性が増します。逆に、月に数回の軽い利用であればAPI従量課金の方が安くなるケースもあります。サブスク定額のメリットは「コスト上限が確定していること」、デメリットは「レートリミットで実行回数に天井があること」です。

この構造差を踏まえたうえで、実際に-pフラグでどう組み込むかを見ていきます。


APIなしでシステムに組み込む方法

従来、LLMの推論をシステムに組み込むにはAPI経由が前提でした。Claude Codeの-pフラグはこの前提を変えます。

-pフラグによるヘッドレス実行

claude -p(非対話モード)を使えば、スクリプト・CI/CD・cron・Dockerからプログラム的に呼び出せます。

# シェルスクリプトからの呼び出し(成果物を保存)
mkdir -p ./artifacts
CHANGED_FILES=$(git diff --name-only origin/main...HEAD)

claude -p "次の変更ファイル群をレビューし、
1) リスク要約(3行以内)
2) 優先度付きTODO(最大5件)
をMarkdownで出力してください。

$CHANGED_FILES
" > ./artifacts/ai-review.md

echo "Saved: ./artifacts/ai-review.md"
# Pythonからの呼び出し
import subprocess
from pathlib import Path

def run_claude_analysis(prompt: str) -> str:
    """Claude Codeの推論をPythonから呼び出す(タイムアウト付き)"""
    result = subprocess.run(
        ["claude", "-p", prompt],
        capture_output=True,
        text=True,
        timeout=300
    )
    return result.stdout

# 使用例: 日次監視レポートを保存
prompt = """
昨日の変更点を前提に、
- 重大リスク(あれば)
- 今日優先で対応すべき項目
- 監視すべきメトリクス
をJSONで返してください。
"""

output = run_claude_analysis(prompt)
Path("./artifacts").mkdir(parents=True, exist_ok=True)
Path("./artifacts/daily-health.json").write_text(output, encoding="utf-8")
// Node.jsからの呼び出し
const { spawnSync } = require('child_process');
const fs = require('fs');

function claudeAnalyze(prompt) {
  const result = spawnSync('claude', ['-p', prompt], {
    encoding: 'utf-8',
    timeout: 300000,
  });

  if (result.status !== 0) {
    throw new Error(result.stderr || 'claude failed');
  }

  return result.stdout;
}

// 使用例: PRコメント用テンプレートを生成して保存
const review = claudeAnalyze('変更点のレビュー結果をGitHubコメント形式で出力して');
fs.mkdirSync('./artifacts', { recursive: true });
fs.writeFileSync('./artifacts/pr-comment.md', review, 'utf-8');

APIキーの発行・ローテーション管理が不要になり、トークン消費量の計算も不要です。

定期バッチに「推論」を上乗せするユースケース

-pの価値は、単発の回答よりもデイリー/ウィークリー運用の自動化で出やすくなります。具体例は次の3つです。

  • Dailyニュース厳選: 候補ニュースを5件に絞り、重要度・背景・実務影響まで要約
  • Weeklyトレンド報告: 1週間分の話題を整理し、継続監視テーマと次アクションを提案
  • 日次市況コメント: 指数の数値だけでなく「なぜ動いたか」を要因分解して提示

つまり、RSSや価格APIの結果をそのまま流すのではなく、選別・要約・理由づけをLLMで追加できます。

他のLLMツールとの呼び出し方法の比較

同じ「外部からプログラム的にAI推論を呼び出す」ことを各ツールでどう実現するか:

ツール外部呼び出し方法APIキー必要?従量課金?
Claude Codeclaude -p 不要(サブスク認証) なし
Codex CLIcodex exec など 構成次第(ChatGPT認証 or API) 構成次第
ChatGPTOpenAI API経由 必要 あり
Gemini CLIGoogle AI API経由 必要 あり
GitHub Copilotエディタ内のみ—(CI/CDから直接呼べない)

各ツールの外部呼び出し要件

  • ChatGPTをスクリプトから使う場合 → OpenAI APIキーの発行と従量課金が必要
  • Geminiをcronで定期実行する場合 → Google AI Studio経由でAPIキーを発行し、従量課金(無料枠あり、ただし月間制限あり)
  • Codex CLIをGitHub Actionsで使う場合 → codex execで非対話実行は可能。ただしヘッドレス環境の認証設計(device code authや認証ファイル運用)に注意が必要
  • Claude Code → サブスクの認証情報(auth.json)のみで外部呼び出し可能。追加のAPIキー発行不要

実践:システム組み込みの3パターン

パターン1:GitHub Actionsで推論を自動実行

最も手軽で効果が大きいパターンです。

name: AI-Powered Code Review
on:
  pull_request:
    types: [opened, synchronize]

jobs:
  ai-review:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 0

      - name: Install Claude Code
        run: npm install -g @anthropic-ai/claude-code

      - name: Setup Auth
        run: |
          mkdir -p ~/.config/claude-code
          echo "${{ secrets.CLAUDE_AUTH_JSON }}" > ~/.config/claude-code/auth.json

      - name: AI Review
        run: |
          mkdir -p artifacts
          git diff origin/main...HEAD > artifacts/pr.diff

          # 失敗時にパイプライン全体を止めない設計(fail-open)
          claude -p "以下のdiffをレビューし、
          - 総評(3行)
          - 指摘(severity付き)
          - マージ前チェック項目
          をMarkdownで出力してください。

          $(cat artifacts/pr.diff)
          " > artifacts/review.md || echo "Claude review skipped"

      - name: Upload AI review artifact
        uses: actions/upload-artifact@v4
        with:
          name: ai-review
          path: artifacts/review.md

このワークフロー全体がサブスク料金に含まれます。追加のAPI課金は発生しません(レートリミットの範囲内で実行)。

パターン2:Dockerコンテナに推論エンジンを封じ込める

FROM ubuntu:22.04

RUN apt-get update && apt-get install -y curl git nodejs npm
RUN npm install -g @anthropic-ai/claude-code

# 認証情報はボリュームマウント
VOLUME ["/root/.config/claude-code"]

# 作業ディレクトリ
WORKDIR /workspace
VOLUME ["/workspace"]

ENTRYPOINT ["claude", "-p"]
# ビルド
docker build -t claude-engine .

# 実行:プロジェクトのセキュリティ監査
docker run \
  -v ~/.config/claude-code:/root/.config/claude-code \
  -v $(pwd):/workspace \
  claude-engine \
  "このプロジェクト全体を監査し、OWASP Top 10の観点からリスクレポートを生成して"

Dockerコンテナ化することで、任意のインフラからSonnet 4.5レベルの推論を呼び出せます。APIキー管理やトークン課金の計算は不要です。

パターン3:cronで定期実行する「AIインテリジェンス配信」

#!/bin/bash
# /opt/scripts/ai-daily-intel.sh

WORKSPACE="/home/deploy/intel-batch"
LOG_DIR="/var/log/ai-intel"
DATE=$(date +%Y%m%d_%H%M%S)

cd "$WORKSPACE"

# 事前に収集した素材を入力として利用
# NEWS_INPUT: 別のcronジョブ(RSSパーサー/News APIなど)で事前生成されたJSON
# MARKET_INPUT: 市況API(Yahoo Finance API等)で事前収集済みのスナップショットJSON
# ※ 素材収集とLLM推論はジョブを分離する設計(収集 → 推論 → 配信)
NEWS_INPUT="/data/news_candidates_${DATE}.json"
MARKET_INPUT="/data/market_snapshot_${DATE}.json"

# 1) ニュース厳選(5件)
claude -p "
以下のニュース候補から、今日注目すべき5件を選びJSONで返してください。
選定基準は『新規性・影響度・話題性』。

{
  \"selected\": [{
    \"title\": string,
    \"url\": string,
    \"why_now\": string,
    \"one_line_summary\": string
  }],
  \"watch_next\": string[]
}

入力:
$(cat ${NEWS_INPUT})
" > "/tmp/news_digest_${DATE}.json" 2> "${LOG_DIR}/news_${DATE}.log"

# 2) 市況コメント(理由づけ付き)
claude -p "
以下の市況データを分析し、JSONで返してください:
{
  \"market_summary\": string,
  \"drivers\": string[],
  \"tomorrow_watchpoints\": string[]
}

入力:
$(cat ${MARKET_INPUT})
" > "/tmp/market_brief_${DATE}.json" 2> "${LOG_DIR}/market_${DATE}.log"

# Slack通知(失敗時はフォールバック)
NEWS_RESULT=$(cat "/tmp/news_digest_${DATE}.json" 2>/dev/null || echo '{"selected":[],"watch_next":["generation_failed"]}')
MARKET_RESULT=$(cat "/tmp/market_brief_${DATE}.json" 2>/dev/null || echo '{"market_summary":"generation_failed"}')

curl -X POST "$SLACK_WEBHOOK" \
  -H 'Content-Type: application/json' \
  -d "{\"text\": \"📰 Daily AI Digest\n${NEWS_RESULT}\n\n📈 Market Brief\n${MARKET_RESULT}\"}"
# 毎日朝7時に実行
0 7 * * * /opt/scripts/ai-daily-intel.sh

# 毎週月曜朝8時に深掘り版を実行
0 8 * * 1 /opt/scripts/ai-weekly-intel.sh

定時実行で、候補データ収集(RSS/API)に対してLLM推論を上乗せし、厳選・要約・背景説明まで自動化するパターンです。サブスク料金内で運用できます。

3パターンともサブスク内で完結しますが、実運用ではレートリミットを意識した設計が不可欠です。


レートリミットの実態——「使い放題」ではない点を正直に書く

Claude Codeサブスクは定額ですが、レートリミット(使用量制限)が存在します。「無制限」ではない点を明確にしておきます。

レートリミットの仕組み

プランレートリミット概要自動化での目安
Pro($20/月)時間あたりのメッセージ・トークン上限ありSonnet 4.5で1日10〜20回程度の中規模タスク
Max($100/月)Proの約5倍の上限1日50回以上のヘビーな自動化にも対応

Opus 4.6はレートリミット消費が大きい

Opus 4.6はSonnet 4.5と比べて1回あたりのレートリミット消費が数倍になります。自動化用途ではSonnet 4.5を使い、Opus 4.6は本当に高度な推論が必要な場面に限定するのが現実的です。

Anthropicはレートリミットの具体的な数値を公式に公開していないため(利用状況により動的に変動)、以下は筆者環境での観測値です。

筆者環境での実測データ(Proプラン・Sonnet 4.5)

項目観測値
日次SEO分析(1回/日)問題なく実行
PR時の自動レビュー(2〜3回/日)問題なく実行
週次記事ドラフト生成(1回/週)問題なく実行
レートリミット到達頻度月に1〜2回(集中的に使用した日)
リミット到達後の待機時間約30分〜1時間でリセット

この数値は筆者個人の観測であり保証値ではありません

レートリミットはAnthropicが随時調整する可能性があります。実際の上限は利用パターンや時間帯によって変動します。導入前に自身の利用パターンで検証することを推奨します。

レートリミットの重要な特性

  1. 時間単位でリセットされる → cronやGitHub Actionsで実行時間を分散することで、1日の総実行回数を最大化できる
  2. レートリミットに達しても追加課金は発生しない → 最悪のケースでも「待機するだけ」でコストは固定
  3. API従量課金と異なり、月額コストの上限が確定している

Claude Codeの推論が「普通のAI API」と構造的に違う理由

コストに加えて、Claude Codeの推論は一般的なAI APIとは構造が異なります

一般的なAI API

入力: プロンプト(テキスト)
↓
処理: テキスト生成
↓
出力: テキスト(それだけ)

Claude Code

入力: プロンプト + リポジトリ全体のコンテキスト
↓
処理: 
  1. ファイルシステムを探索(grep, find, read)
  2. コードの依存関係を追跡
  3. テストを実行して結果を確認
  4. 推論に基づいてコードを修正
  5. 修正結果をテストで検証
  6. 問題があればさらに修正を繰り返す
↓
出力: 実際に動作するコード変更・コミット・PR

Claude Codeは単なるテキスト生成ではなく、ファイルシステム操作・コマンド実行・テスト検証を含む自律型エージェントです。APIで同等の機能を実現するにはLangChainやAutoGen等のフレームワークを組む必要がありますが、Claude Codeはこれが-pフラグ一つで利用できます。

推論エンジンにはOpus 4.6とSonnet 4.5が搭載されています。自動化用途では、レートリミット消費を抑えられるSonnet 4.5が実用的です。


他のAIツールとの違い——「API不要運用のしやすさ」はどこにあるか

「CLIベースのAIツール」はClaude Codeだけではありません。現在は競合CLIでもヘッドレス実行が可能ですが、認証方式・運用設計・CI/CDへの載せやすさに差があります。

全ツール横断比較

項目Claude CodeCodex CLIChatGPT (API)Gemini CLI
料金モデルサブスク定額サブスク認証 / API従量の併用API従量課金API従量課金
APIキー不要構成次第必要必要
推論エンジンOpus 4.6 / Sonnet 4.5GPT-5 / CodexGPT-5Gemini 2.5 Pro
ヘッドレス実行-pフラグで公式サポートcodex execで対応APIのみAPIのみ
CI/CD適性auth.jsonマウントで運用しやすい認証フロー設計が重要APIキー管理が必要APIキー管理が必要
コスト上限月額固定(上限確定)構成次第上限なし上限なし
試行錯誤コストゼロ構成次第やり直すたびに課金やり直すたびに課金

差分は「できる/できない」より「運用の摩擦」

他のLLMツールが外部呼び出しでAPIキーを必要とする理由は、ビジネスモデルの設計思想が根本的に違うからです。

  • OpenAI(ChatGPT / Codex CLI): Codex CLIはヘッドレス実行が可能。API課金とサブスク認証の使い分けができる一方、CI/CDでは認証方式の設計が運用品質を左右する。
  • Google(Gemini): Gemini Advancedサブスクはブラウザ/アプリ内利用のみ。スクリプトやCI/CDから呼び出すにはGoogle AI Studio経由でAPIキーを発行し、従量課金。
  • Anthropic(Claude Code): サブスクリプションにCLIの外部呼び出しが含まれるauth.jsonによる認証だけで、APIキー不要・追加課金なしで始めやすい。

競合比較は最新ドキュメントで確認

認証方式・料金モデル・CI/CDサポート状況は各社とも更新頻度が高い領域です。比較表は「執筆時点の運用観点」を示すもので、導入前に必ず各公式ドキュメントで最新仕様を確認してください。

Gemini CLIについて

Gemini CLIは無料枠(Google AI Studio経由)がありますが、月間リクエスト数に制限があります。本格的な自動化ではAPI従量課金に移行します。


セキュリティと運用上の注意点

Claude CodeをCI/CDやDocker環境で運用する際には、以下のリスクを理解した上で対策を講じる必要があります。

auth.jsonのセキュリティベストプラクティス

auth.json長期有効な認証トークンを含むクレデンシャルです。漏洩すると第三者があなたのサブスクリプションを使用できてしまいます。

環境推奨非推奨
ローカル開発~/.config/claude-code/auth.jsonにファイル権限600で保管
GitHub ActionsSelf-hosted runnerでローカルファイルシステムに配置GITHUB_SECRETSに生のJSONを直接保存
Dockerボリュームマウントで実行時のみ提供Dockerイメージ内にauth.jsonを埋め込む
共有サーバー専用ユーザーにファイル権限で制限複数ユーザーがアクセス可能な場所に配置
# auth.jsonのファイル権限を制限(必ず実施)
chmod 600 ~/.config/claude-code/auth.json

GitHub Actionsでsecretsを使う場合のリスク

本記事のサンプルではGitHub Secrets経由でauth.jsonを配置していますが、これは簡易的な方法でありプロダクション推奨ではありません。本番環境では:

  1. Self-hosted runnerを使用し、ローカルファイルシステムにauth.jsonを配置
  2. またはHashiCorp Vault等のシークレット管理ツールを経由して実行時に取得
  3. トークンの定期ローテーションを実施

利用規約の確認

Claude Codeのヘッドレス実行はAnthropic公式ドキュメント-pフラグとして文書化されており、CI/CDやスクリプトからの利用は想定されたユースケースです。ただし:

  • サブスクリプションの認証情報を複数人で共有することは利用規約に抵触する可能性があります
  • 大規模な商用利用ではAnthropicのAcceptable Use Policyを確認してください
  • 不明な場合はAnthropicサポートに事前確認することを推奨します

障害時・認証切れのリスク

Claude Codeのサブスク認証に依存するということは、Anthropic側の障害時にCI/CDパイプラインが止まるリスクがあります。

対策:

  • CI/CDではClaude Codeの実行結果をブロッキングではなく非ブロッキングで扱い、失敗時はスキップする設計にする
  • auth.jsonのトークンが失効した場合の再認証フローを準備しておく
  • ミッションクリティカルなパイプラインにはClaude Codeを単一障害点にしない

これはAPI利用でも同様のリスクがありますが、サブスク認証はトークンの有効期限が不透明な分、より慎重な設計が必要です。


今すぐ始める3ステップ

Claude Codeの推論をシステムに組み込むのに、特別な準備は不要です。

Step 1:サブスクに加入

https://claude.ai/upgrade
→ Pro / Max系プランを選択
→ 最新の価格・無料トライアル有無は申込画面で確認

Step 2:認証を完了

# インストール(最新の手順は公式ドキュメントを参照)
# https://docs.anthropic.com/en/docs/claude-code/overview
npm install -g @anthropic-ai/claude-code

# ログイン(1回だけ)
claude login

# 認証ファイルが生成される
ls ~/.config/claude-code/auth.json

Step 3:システムに組み込む

# 最もシンプルな組み込み
claude -p "あなたのタスクをここに書く"

# 出力をパイプで他のツールに渡す
claude -p "SEO分析レポートをJSON形式で出力" | jq '.recommendations'

# スクリプトから呼び出す
#!/bin/bash
RESULT=$(claude -p "このコードのバグを修正して")
echo "$RESULT" | mail -s "AI修正レポート" dev-team@example.com

APIキー不要でサブスク内。レートリミットの範囲内であれば、追加課金なしにシステムに組み込めます。


まとめ

Claude Codeのサブスク×ヘッドレス実行の特性を整理します。

サブスクにヘッドレス実行が含まれる——Claude Codeは-pを前提に、APIキー不要で始めやすい

コストは「固定値」より「構造差」で比較する——APIはトークン比例、Claude Codeは定額+レートリミット

-pフラグでシステム組み込みが可能——GitHub Actions・Docker・cron・Python・Node.jsから呼び出し可能

レートリミットは存在する——「無制限」ではない。自動化にはSonnet 4.5を推奨し、実行時間を分散させる設計が必要

セキュリティとToSの確認が必須——auth.jsonはクレデンシャル。本番環境ではSelf-hosted runnerやシークレット管理ツールの利用を推奨

導入判断では「価格表の瞬間値」より「運用での摩擦」を見てください。 その観点で、Claude CodeはCI/CDに組み込みやすい有力な選択肢です。最終判断は、最新の公式料金と自分の実行頻度を当てはめて検証するのが確実です。

なお、この領域は各社のプラン改定が続いており、今後「サブスク内ヘッドレス実行」が他社CLIでも標準化する可能性があります。そのとき比較軸は「ヘッドレスできるか」ではなく、「エージェント機能の深さ」や「マルチツール連携の柔軟性」に移っていくでしょう。