ه ماتریس تصمیم
این جدول ۲۰ ردیفی، چارچوب تصمیم پایانی فصل است. هر ردیف یک سوالی است که معمار قبل از انتخاب surface میپرسد.
| بُعد | Anthropic Native API | AWS Bedrock | GCP Vertex AI |
|---|---|---|---|
| Auth surface | header x-api-key، OAuth برای orgها |
AWS SigV4 / IAM / STS / bearer token | Google ADC / gcloud / service accounts |
| Billing | فاکتور Anthropic (USD)، کارت اعتباری یا invoicing | فاکتور تجمیعی AWS | فاکتور تجمیعی GCP |
| Procurement / contract | قرارداد سازمانی مستقیم Anthropic | AWS EDP موجود / Marketplace EULA | GCP CUDs موجود / Marketplace EULA |
| Data residency | US (با pilot EU) | انتخاب region یا geo-CRIS (US/EU/JP/APAC) | انتخاب region، multi-region (us/eu)، یا global |
| Compliance certs | SOC 2، ISO 27001، HIPAA-eligible | + FedRAMP High، IRAP، PCI، IL5 (از طریق GovCloud)، HITRUST | + FedRAMP High، IL2، ISO 27017/27018، HITRUST |
| پایینترین latency | معمولاً سریعترین (edge مستقیم) | با routing global قابل قیاس | با routing global قابل قیاس |
| First-token latency در streaming | معمولاً ۱۵۰-۳۰۰ ms | معمولاً ۲۰۰-۴۰۰ ms (Converse چند ms اضافه میکند) | معمولاً ۲۰۰-۴۰۰ ms |
| Pricing baseline | قیمت لیست Anthropic | همان لیست (regional +۱۰٪ برای مدلهای جدید) | همان لیست (regional +۱۰٪ برای مدلهای جدید) |
| Provisioned Throughput | n/a (لایههای rate-limit) | بله — فقط regional | بله (GSUs) — فقط regional |
| Batch (۵۰٪ تخفیف) | Message Batches API | Bedrock Batch | Vertex Batch Prediction |
| Prompt caching | بله | بله (Sonnet 3.5 v2+) | بله (Sonnet 3.5+) |
| مدل جدید زودتر | بله (day-zero) | معمولاً ۱-۷ روز بعد از native | معمولاً ۱-۷ روز بعد از native |
| Tool use schema | بومی | بومی یا toolConfig Converse |
بومی |
| RAG داخلی | Files API + خودتان bring کنید | Bedrock Knowledge Bases | Vertex AI Search |
| agent داخلی | Managed Agents | Bedrock Agents | Reasoning Engine |
| Guardrails داخلی | safety در سطح API + bring-your-own | Bedrock Guardrails (PII، denied topics، grounding) | فیلترهای ایمنی Vertex AI + Model Armor |
| Logging | کنسول، OTEL exports | CloudWatch / S3 invocation logs | Cloud Logging / BigQuery RR-logging |
| Org policy / VPC | n/a | VPC endpoints، PrivateLink، SCPs | VPC-SC، Org Policy، Private Service Connect |
| بهترین برای | پیشفرض؛ سریعترین دسترسی به مدل؛ کوچکترین stack | فروشگاههای AWS-anchored؛ workloadهای HIPAA/FedRAMP؛ ناوگان موجود Bedrock | فروشگاههای GCP-anchored؛ RAG چسبیده به BigQuery؛ ناوگان MLOps Vertex |
| بدترین برای | شرکتهایی که نمیتوانند vendor جدید تامین کنند | مشتریانی که مدل day-zero میخواهند | مشتریانی که مدل day-zero میخواهند |
Heuristic سریع:
- اگر تیم روی AWS است و entitlement Bedrock دارد → Bedrock بدون اصطکاک.
- اگر تیم GCP-native است و BigQuery لایه داده است → Vertex AI داده، billing و IAM را در یکجا نگه میدارد.
- اگر هیچ lock-in ابری اعمال نمیشود، یا اگر تازگی مدل اهمیت دارد (میخواهید Opus/Sonnet را روز اول داشته باشید) → native Anthropic API برنده است.
- برای اپلیکیشنهای multi-cloud یا model-portable، abstraction سطح SDK (
anthropic[bedrock]،anthropic[vertex]) به شما اجازه میدهد یک code path نگه دارید و فقط با تعویض client init، backend را عوض کنید.
دیاگرام معماری (متنی)
┌─────────────────────────────┐
│ Application code (Python │
│ / TS / Go / Java / C#) │
└────────────┬────────────────┘
│ Messages API shape
┌─────────────────────┼─────────────────────┐
│ │ │
▼ ▼ ▼
┌────────────────┐ ┌────────────────┐ ┌────────────────┐
│ Anthropic SDK │ │ Anthropic SDK │ │ Anthropic SDK │
│ (native) │ │ [bedrock] │ │ [vertex] │
└───────┬────────┘ └───────┬────────┘ └───────┬────────┘
│ x-api-key │ SigV4/Bearer │ ADC
▼ ▼ ▼
┌────────────────┐ ┌────────────────┐ ┌────────────────┐
│ api.anthropic. │ │ AWS Bedrock │ │ Vertex AI │
│ com /v1/... │ │ bedrock-runtime│ │ aiplatform. │
│ │ │ │ │ googleapis.com │
└───────┬────────┘ └───────┬────────┘ └───────┬────────┘
│ │ │
▼ ▼ ▼
┌────────────────┐ ┌────────────────┐ ┌────────────────┐
│ Anthropic infra│ │ AWS-hosted │ │ Google-hosted │
│ (Anthropic ops)│ │ Anthropic infra│ │ Anthropic infra│
└────────────────┘ └────────────────┘ └────────────────┘
+ KB + Agents + + Search +
Guardrails + Flows Reasoning Engine
کد اپلیکیشن (بالا) در هر سه ستون یکسان است — فقط constructor client و model ID فرق میکند. این بزرگترین نکته آموزشی فصلهای ابری است.
خلاصه فصل
- Bedrock و Vertex، Claude را با همان وزنها سرو میکنند؛ آنچه تغییر میکند احراز هویت، billing، compliance و ابزارهای جانبی است، نه کیفیت مدل.
- روی Bedrock،
anthropic[bedrock]نزدیکترین تجربه به native است؛boto3سطح پایینتر است و فیلدanthropic_version: bedrock-2023-05-31در body اجباری است؛ Converse API گزینه provider-agnostic است. - IAM روی Bedrock باید هم
foundation-model/...و همinference-profile/...را در Resource بپوشاند، در غیر این صورت CRIS با AccessDeniedException میخورد. - روی Vertex،
modelدر URL است نه body؛anthropic_versionباید رشتهvertex-2023-10-16باشد؛ نقشroles/aiplatform.userحداقل لازم است. - چهار درس عمیقتر (reranking، contextual retrieval، batch tool use، automated debugging) برای مشتریان ابری حیاتیاند، چون با Knowledge Bases / Vertex Search و Agents / Reasoning Engine جفت میشوند. روش contextual retrieval Anthropic، نرخ شکست retrieval را تا ۶۷٪ کاهش میدهد.
- ماتریس تصمیم: native برای day-zero و کوچکترین stack، Bedrock برای AWS-shopها و FedRAMP/HIPAA، Vertex برای GCP-shopها و RAG چسبیده به BigQuery.
تمرینهای پیشنهادی
- smoke test سهتایی. یک تابع Python بنویسید که با همان سه پیام (system prompt + user message)، یکبار
anthropic.Anthropic، یکبارAnthropicBedrockو یکبارAnthropicVertexرا صدا بزند. خروجی هر سه را با هم مقایسه کنید (token usage، first-token latency، wall time). انتظار: متنها معنایی یکسان، latency و usage در محدوده ±۲۰٪. - least-privilege IAM. policy IAM بخش ۶.ب.۳ را به یک نقش خالی اضافه کنید، آن را روی یک کاربر تست بایند کنید، و سعی کنید با CRIS (
global.anthropic.claude-opus-4-6-v1) فراخوانی کنید. سپس خطinference-profile/...را پاک کنید و مشاهده کنید AccessDeniedException میگیرید. این تجربه را به اسناد runbook تیم اضافه کنید. - Vertex custom role. YAML بخش ۶.ج.۳ را با
gcloud iam roles createبسازید، آن را به یک service account ببندید، و یک smoke test روی Cloud Run با همان service account اجرا کنید. - Converse multi-model. کدی بنویسید که با همان
messagesوsystemبهترتیبanthropic.claude-sonnet-4-5-20250929-v1:0،meta.llama3-70b-instruct-v1:0وcohere.command-r-plus-v1:0را روی Converse صدا بزند. ببینید کدام پارامترها بدون تغییر کار میکنند و کدام نیاز بهadditionalModelRequestFieldsدارند. - Contextual retrieval mini-experiment. یک سند ۱۰۰۰۰ token بردارید، با chunkهای ۵۰۰ token تکهتکه کنید، یکبار با baseline RAG و یکبار با pipeline contextual retrieval (embedding + BM25 + rerank) همان ۱۰ سوال را اجرا کنید. Pass@5 را اندازه بگیرید.
- batch_tool harness. ابزار
batch_toolبخش ۶.د.۳ را پیاده کنید با سه toolی که هر کدام یک API ساده میزند (مثلاً وضعیت آبوهوا، نرخ ارز، خلاصه ویکیپدیا). از Claude بخواهید همهشان را در یک turn فراخوانی کند. زمان end-to-end را با حالت سریالی مقایسه کنید.
منابع تکمیلی
- Anthropic — Claude on Amazon Bedrock
- Anthropic — Claude on Vertex AI
- Anthropic Engineering — Contextual Retrieval
- Anthropic Engineering — Advanced tool use
- Anthropic Cookbook — Contextual Embeddings Guide
- Anthropic claude-cookbooks repo
- AWS — Bedrock User Guide / Converse examples
- AWS — Bedrock IAM examples
- AWS — Cross-Region Inference
- AWS — Bedrock Pricing
- AWS Security Blog — Simplified Amazon Bedrock model access
- GCP — Use Claude on Vertex AI
- GCP Blog — Global endpoint for Claude on Vertex GA
- GCP Blog — Multi-region endpoints for Claude
- GoogleCloudPlatform/vertex-ai-samples — Anthropic Claude intro notebook