Agent Skills by ALSEL
Anthropic ClaudeLLM・AI開発⭐ リポ 2,159品質スコア 100/100

anth-reference-architecture

Claude APIの参照アーキテクチャを一般的なユースケースに実装します。Claude搭載アプリケーションの設計時、直接API呼び出しかキュー方式かの選択、またはマルチモデルアーキテクチャの計画に活用してください。「anthropic architecture」「claude system design」「anthropic reference architecture」「design claude integration」といったフレーズで起動します。

description の原文を見る

Implement Claude API reference architectures for common use cases. Use when designing a Claude-powered application, choosing between direct API vs queue-based, or planning a multi-model architecture. Trigger with phrases like "anthropic architecture", "claude system design", "anthropic reference architecture", "design claude integration".

SKILL.md 本文

Anthropic リファレンスアーキテクチャ

概要

Claude API統合のための3つの検証済みアーキテクチャパターン:同期APIゲートウェイ、非同期キューベース処理、マルチモデルルーティング。

アーキテクチャ1: 同期APIゲートウェイ(シンプル)

User → API Gateway → Claude Service → Messages API
                                     ↓
                                   Response → User
# 最適な用途: チャットボット、インタラクティブツール、低ボリューム(<100 RPM)
from fastapi import FastAPI
import anthropic

app = FastAPI()
client = anthropic.Anthropic(max_retries=3, timeout=60.0)

@app.post("/chat")
async def chat(prompt: str):
    msg = client.messages.create(
        model="claude-sonnet-4-20250514",
        max_tokens=1024,
        messages=[{"role": "user", "content": prompt}]
    )
    return {"text": msg.content[0].text, "tokens": msg.usage.output_tokens}

アーキテクチャ2: 非同期キューベース(スケーラブル)

User → API → Queue (Redis/SQS) → Worker Pool → Messages API
  ↑                                                ↓
  └──────────── Status/Result ←── Result Store ←───┘
# 最適な用途: バッチ処理、高ボリューム、バックグラウンドタスク
from redis import Redis
from rq import Queue
import anthropic

redis = Redis()
task_queue = Queue("claude-tasks", connection=redis)
result_store = Redis(db=1)

def process_task(task_id: str, prompt: str, model: str):
    client = anthropic.Anthropic()
    msg = client.messages.create(
        model=model,
        max_tokens=1024,
        messages=[{"role": "user", "content": prompt}]
    )
    result_store.setex(f"result:{task_id}", 3600, msg.content[0].text)

# エンキュー
import uuid
task_id = str(uuid.uuid4())
task_queue.enqueue(process_task, task_id, prompt, "claude-sonnet-4-20250514")

アーキテクチャ3: マルチモデルルーター

User → Router → Haiku    (分類/抽出)
              → Sonnet   (一般/コード)
              → Opus     (研究/複雑)
              → Batches  (一括/オフライン)
class ModelRouter:
    def __init__(self):
        self.client = anthropic.Anthropic()
        self.classifier = anthropic.Anthropic()  # 同じクライアントでも可

    def route_and_execute(self, prompt: str, context: dict) -> str:
        # ステップ1: Haikuで分類(低コスト、高速)
        classification = self.classifier.messages.create(
            model="claude-haiku-4-20250514",
            max_tokens=32,
            messages=[{
                "role": "user",
                "content": f"Classify this request as: simple|moderate|complex|bulk\n\n{prompt[:200]}"
            }]
        )
        complexity = classification.content[0].text.strip().lower()

        # ステップ2: 適切なモデルにルーティング
        model_map = {
            "simple": "claude-haiku-4-20250514",
            "moderate": "claude-sonnet-4-20250514",
            "complex": "claude-opus-4-20250514",
        }
        model = model_map.get(complexity, "claude-sonnet-4-20250514")

        # ステップ3: 選択したモデルで実行
        msg = self.client.messages.create(
            model=model,
            max_tokens=4096,
            messages=[{"role": "user", "content": prompt}]
        )
        return msg.content[0].text

プロジェクトレイアウト

my-claude-app/
├── src/
│   ├── main.py              # FastAPIアプリ
│   ├── claude/
│   │   ├── client.py         # シングルトン + 設定
│   │   ├── router.py         # モデルルーティングロジック
│   │   ├── tools.py          # ツール定義
│   │   └── prompts/          # システムプロンプト(ファイル形式)
│   ├── workers/
│   │   └── claude_worker.py  # キューコンシューマー
│   └── middleware/
│       ├── rate_limiter.py   # アプリレベルのレート制限
│       └── cost_tracker.py   # 支出監視
├── tests/
│   ├── unit/                 # モック済みテスト
│   └── integration/          # ライブAPIテスト
└── config/
    ├── .env.development
    ├── .env.staging
    └── .env.production

エラーハンドリング

アーキテクチャ障害モード対策
同期ゲートウェイ429/5xxがユーザーをブロックサーキットブレーカー + フォールバック応答
キューベースワーカークラッシュデッドレターキュー + リトライポリシー
マルチモデルルーターの誤分類Sonnetをデフォルト(最安全な中間値)

リソース

次のステップ

マルチ環境セットアップについては、anth-multi-env-setupを参照してください。

ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
jeremylongshore
リポジトリ
jeremylongshore/claude-code-plugins-plus-skills
ライセンス
MIT
最終更新
2026/5/12

Source: https://github.com/jeremylongshore/claude-code-plugins-plus-skills / ライセンス: MIT

本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: jeremylongshore · jeremylongshore/claude-code-plugins-plus-skills · ライセンス: MIT