Claude Code SDK + AnyCap: コード以上のものが必要なとき

Claude Code SDK はコード中心の自動化に強力です。Web 検索、メディア生成、公開、より広いエージェントワークフローに AnyCap の agent CLI を追加すべき場面を学びましょう。

by AnyCap

Claude Code SDK + AnyCap のヒーロー画像

最終更新日: 2026年6月4日

Claude Code SDK は、まだ作業の大半がコードに関するものなら非常に優れています。たとえば CI のチェック、コードレビュー、構造化出力、MCP 対応の自動化などです。しかし、ワークフローに検索、メディア、公開、その他の非コード機能が必要になった瞬間、Claude Code SDK だけでは足りなくなります。

そこで AnyCap の出番です。AnyCap はエージェント CLI であり、コーディングエージェントをコード実行の外側まで拡張します。これにより、同じワークフローをコードの推論から、調査、アセット生成、成果物の配信へとつなげられます。

要点

  • コード中心の自動化には Claude Code SDK を使う
  • ワークフローに検索、メディア、公開、配信が必要なら AnyCap を追加する
  • Claude Code SDK はコーディング用ランタイムとして扱う
  • AnyCap はコードの外側にある機能レイヤーとして扱う

Claude Code SDK とは?

Claude Code SDK は、次のことを可能にするプログラマティックなインターフェースです。

  • スクリプトやパイプラインから Claude Code を非対話的に実行する
  • どのファイル、ディレクトリ、ツールをコンテキストに入れるか制御する
  • 下流処理のために構造化出力を解析する
  • 自動化ワークフローで Claude Code を他のツールと連結する
  • Claude Code の推論の上に独自 UI を構築する

Node.js パッケージとして利用できます。

npm install @anthropic-ai/claude-code

または CLI から非対話モードで呼び出します。

claude -p "ここにプロンプトを入力" --output-format json

SDK の基本概念

非対話モード

最も基本的な SDK の使い方です。プロンプトを与えて Claude Code を実行し、出力を受け取れば完了です。

# CLI 非対話モード
claude -p "src/auth.ts をセキュリティ脆弱性の観点でレビューして" \
  --output-format json \
  --max-turns 5
// SDK
const { query } = require('@anthropic-ai/claude-code');

const result = await query({
  prompt: "src/auth.ts をセキュリティ脆弱性の観点でレビューして",
  options: {
    maxTurns: 5,
    outputFormat: 'json'
  }
});

ツール設定

SDK 呼び出しで Claude Code に許可するツールを制御できます。

const result = await query({
  prompt: "src/utils.ts のテストスイートを生成して",
  options: {
    allowedTools: ['Read', 'Write', 'Bash'],
    // 不要なツールは無効化する:
    // disallowedTools: ['WebSearch', 'mcp__custom_tool']
  }
});

カスタム system prompt

特定の振る舞いをさせたい場合は、Claude Code のデフォルト system prompt を上書きできます。

const result = await query({
  prompt: "このモジュールをリファクタリングして",
  options: {
    systemPrompt: `あなたは関数型プログラミングパターンを専門とする TypeScript のエキスパートです。
    常にイミュータブルなデータ構造を優先してください。エラー処理には Result 型を使ってください。
    any や unknown 型は決して使わないでください。`,
  }
});

実践的な SDK パターン

1. CI での自動コードレビュー

// .github/workflows/code-review.js
const { query } = require('@anthropic-ai/claude-code');
const { execSync } = require('child_process');

const diff = execSync('git diff main...HEAD').toString();

const review = await query({
  prompt: `この PR の diff を次の観点でレビューしてください: セキュリティ問題、パフォーマンス問題、テスト不足。
  出力は JSON で、キーは security[], performance[], testing[] にしてください。
  
  Diff:
  ${diff}`,
  options: {
    outputFormat: 'json',
    allowedTools: ['Read'],  // CI では読み取り専用
    maxTurns: 3
  }
});

console.log(JSON.parse(review.result));

2. 自動ドキュメント生成

const fs = require('fs');
const { query } = require('@anthropic-ai/claude-code');

async function generateDocs(srcPath) {
  const result = await query({
    prompt: `${srcPath} 内のエクスポート済み関数すべてに対して、包括的な JSDoc ドキュメントを生成してください。
    パラメータ説明、戻り値の型、使用例を追加してください。
    ドキュメントを追加した更新済みファイルを書き戻してください。`,
    options: {
      allowedTools: ['Read', 'Write'],
      cwd: process.cwd()
    }
  });
  return result;
}

3. 外部機能を使うマルチエージェントワークフロー

ここで AnyCap が役立ちます。Claude Code はコード推論を担当し、AnyCap はコーディング実行環境の外にあるタスクを担当します。

const { query } = require('@anthropic-ai/claude-code');
const { execSync } = require('child_process');

async function buildAndPublishDocs(repoPath) {
  // ステップ 1: Claude Code がドキュメントを生成
  const docsResult = await query({
    prompt: "セットアップ手順、API リファレンス、サンプルを含む、このプロジェクトの包括的な README を生成して",
    options: {
      cwd: repoPath,
      allowedTools: ['Read', 'Write', 'Bash']
    }
  });

  // ステップ 2: AnyCap がヒーロー図を生成
  execSync(`anycap image generate \
    --prompt "開発者向けツールの技術アーキテクチャ図、クリーンでミニマルなスタイル" \
    --model nano-banana-2 \
    -o ${repoPath}/docs/architecture.png`);

  // ステップ 3: AnyCap が Web ページとして公開
  const pageResult = execSync(`anycap page deploy ${repoPath}/docs/`).toString();
  
  return { docs: docsResult, page: JSON.parse(pageResult) };
}

SDK の認証

SDK は Claude Code と同じ認証を使います。API キーを設定してください。

export ANTHROPIC_API_KEY=your_key_here

チーム環境では、環境ごとの設定を使うこともできます。

const { query } = require('@anthropic-ai/claude-code');

// SDK は ANTHROPIC_API_KEY を自動で取得します
// あるいは明示的に設定:
process.env.ANTHROPIC_API_KEY = await getSecretFromVault('anthropic-api-key');

出力形式

SDK は 3 つの出力形式をサポートします。

形式 用途
text デフォルトの、人間が読みやすい出力
json プログラム処理用。結果、コスト、セッション情報を含む
stream-json UI やダッシュボード向けのリアルタイム出力
// JSON 出力にはメタデータが含まれる
{
  "result": "この関数には SQL インジェクションの脆弱性がある可能性があります...",
  "is_error": false,
  "session_id": "sess_xxxx",
  "cost_usd": 0.0043,
  "num_turns": 2
}

SDK ワークフローにおけるレート制限とコスト管理

SDK ベースの自動化は、対話利用よりもトークン消費が速くなることがあります。組み込みのガードレールは次のとおりです。

const result = await query({
  prompt: "...",
  options: {
    maxTurns: 5,        // 推論の反復回数を制限
    timeoutMs: 30000,   // 長時間タスクのタイムアウト
  }
});

// 本番では必ずコストを確認する
if (result.cost_usd > 0.10) {
  logger.warn(`高コストのセッション: $${result.cost_usd}`);
}

画像生成、動画作成、Web 検索のような機能重視のタスクは、Claude Code にコンテキスト内で処理させるのではなく AnyCap にオフロードしてください。これにより SDK コストを予測しやすく保ち、推論以外のタスクで Claude のレート制限に達するのを避けられます。


はじめに

# SDK をインストール
npm install @anthropic-ai/claude-code

# 機能拡張用に AnyCap をインストール
curl -fsSL https://anycap.ai/install.sh | sh

# AnyCap スキルを Claude Code に追加
npx -y skills add anycap-ai/anycap -y

Claude Code 向け AnyCapClaude Code にツールを追加するガイド