Học xong khoá Claude with Amazon Bedrock, đừng vội hứa với khách AWS
Phần nền tảng dùng được ngay, nhưng tool phía server, MCP connector và batch không chạy y hệt trên Bedrock.
Tóm tắt nhanh
- Anthropic làm khoá này trong một chương trình accreditation để đào tạo nhân viên AWS; muốn học cần thạo Python và biết cơ bản AWS lẫn Bedrock.
- Theo tài liệu của chính Anthropic, gọi Claude qua Bedrock khác với gọi Claude API trực tiếp, và nhiều tính năng agent không có trên tích hợp legacy.
- Học xong khoá, hãy đọc tiếp trang tài liệu Bedrock của Anthropic và hướng dẫn Converse API của AWS rồi mới hứa tính năng với khách.
Anthropic không làm khoá này cho người mới. Trang giới thiệu của Claude with Amazon Bedrock trên Anthropic Academy (anthropic.skilljar.com/claude-in-amazon-bedrock) nói rõ khoá ra đời trong một chương trình accreditation lập riêng cho AWS, và là đợt đào tạo đầu tiên kiểu này dành cho nhân viên AWS.
Tức là khoá được thiết kế trước hết cho người làm ở AWS.
Nhưng có một cái bẫy. Ngay tài liệu của Anthropic cũng thừa nhận gọi Claude qua Bedrock hơi khác gọi Claude API trực tiếp. Đọc khoá này mà không biết khác ở đâu, bạn dễ hứa với khách một tính năng mà môi trường của họ không có.
Ai nên học, và học theo thứ tự nào?
Trang khoá yêu cầu bạn thạo Python và hiểu cơ bản về các dịch vụ AWS cùng Amazon Bedrock. Nếu chưa từng mở console AWS, đừng bắt đầu ở đây. Academy, nay nằm ở academy.claude.com, quảng bá các khoá miễn phí do đội giáo dục của Anthropic làm, nên bạn có thể học phần nền về Claude ở đó trước.
Trang khoá không ghi ngày phát hành; dòng bản quyền 2026 ở chân trang chỉ là năm của trang, không cho biết khoá ra mắt lúc nào.
Vì không rõ khoá được soạn khi nào, nội dung có thể bám theo tài liệu Bedrock legacy, trong khi Anthropic đã có những đường tích hợp mới hơn.
Thứ tự hợp lý: học khoá để nắm cách gọi qua boto3, tool use, agent, MCP và prompt caching.
Sau đó đọc trang “Claude on Amazon Bedrock” của Anthropic và hướng dẫn Messages API trong Bedrock User Guide của AWS để biết phần nào không chạy y hệt.
Tool có trong bài giảng chưa chắc có trong tài khoản khách
Trong khoá, tool use, agent và MCP là kiến thức Claude dùng chung. Trên tích hợp Bedrock legacy (InvokeModel/Converse), tài liệu Anthropic liệt kê nhiều thứ không có: tool phía server như code execution, web search, web fetch; hạ tầng agent như Agent Skills, MCP connector, programmatic tool calling; và các endpoint Message Batches, Models, Admin, Usage and Cost.
Thử hình dung một khách bảo hiểm muốn agent đọc hồ sơ, tra cứu web và chạy code tính toán. Trên Claude API, tra cứu web và chạy code có sẵn dưới dạng tool phía server, dù bạn vẫn phải thiết kế agent và kiểm thử cẩn thận.
Trên Bedrock legacy, bạn phải tự viết tool phía client cho hai phần đó, còn xử lý hàng loạt phải đi theo cơ chế của Bedrock, nên ước lượng công việc có thể lệch hẳn.
Prompt caching cũng vậy. Bedrock có caching, nhưng không có chế độ tự động bằng trường cache_control ở cấp cao nhất. Bạn phải đặt cache breakpoint tường minh.
Model ID và vùng chạy là quyết định kiến trúc
Model mới trên Bedrock thường phải gọi qua inference profile (cross-region inference) chứ không qua model ID gốc. Đây là chi tiết vận hành riêng của AWS, nên hãy kiểm tra nó đầu tiên khi chuyển demo sang tài khoản của khách.
Vùng chạy cũng không chỉ là chuyện kỹ thuật. Khách cần data residency sẽ phải dùng endpoint theo vùng, và tài liệu Anthropic ghi endpoint theo vùng đắt hơn 10 phần trăm so với endpoint global. Nếu khách là ngân hàng bắt buộc dữ liệu ở một vùng, hãy đưa con số này vào đề xuất ngay từ đầu, đừng để đến lúc nhận hoá đơn.
Những bẫy vận hành nằm trong tài liệu AWS
Khoá dạy gọi qua boto3, nhưng AWS khuyên dùng Converse API khi triển khai messages thay vì InvokeModel thô. Bạn sẽ gặp cả hai trong code của khách, nên cần đọc được cả hai.
Bẫy đáng nhớ nhất: client AWS SDK mặc định timeout sau 1 phút, trong khi một lần suy luận dài có thể kéo tới 60 phút. Hệ quả trực tiếp là với cấu hình mặc định, request nào chạy quá 1 phút sẽ không chờ được tới kết quả; AWS khuyên tăng read timeout.
Đoạn code dưới đây minh hoạ cùng một lời gọi trước và sau khi chuyển sang Bedrock. Các ID trong code chỉ để minh hoạ; khi làm thật, bạn lấy giá trị từ tài khoản AWS của khách.
# Trước: gọi thẳng Claude API
import anthropic
client = anthropic.Anthropic()
resp = client.messages.create(
model="<model-id>",
max_tokens=1024,
messages=[{"role": "user", "content": "Tóm tắt hồ sơ này"}],
)
# Sau: gọi qua Bedrock bằng Converse API
import boto3
from botocore.config import Config
bedrock = boto3.client(
"bedrock-runtime",
config=Config(read_timeout=3600), # nâng từ mặc định 1 phút lên 60 phút
)
resp = bedrock.converse(
modelId="<inference-profile-id>", # inference profile, không phải model ID gốc
messages=[{"role": "user", "content": [{"text": "Tóm tắt hồ sơ này"}]}],
inferenceConfig={"maxTokens": 1024},
)
Ba dòng đáng chú ý là Config(read_timeout=...), modelId trỏ tới inference profile và cấu trúc content dạng danh sách của Converse. Hãy đặt cả ba vào template dự án ngay từ ngày đầu.
Anthropic còn chỉ ra hai đường khác: endpoint Messages API mới “Claude in Amazon Bedrock”, và “Claude Platform on AWS” do Anthropic vận hành, tính phí qua AWS Marketplace và thường có tính năng mới ngay trong ngày. Trang tài liệu legacy mang nhãn “Opus 4.6 and earlier”. Trước khi chốt kiến trúc, hỏi khách họ đang dùng đường nào.
Biến khoá học thành lợi thế khi đi xin việc
Trên CV, tên một khoá học ít thuyết phục bằng một việc bạn đã làm thật. Một dòng kiểu “chuyển ứng dụng Claude từ API trực tiếp sang Bedrock qua Converse API, dùng inference profile, cấu hình read timeout cho suy luận dài, thay tool phía server bằng tool phía client” cho thấy bạn đã chạm vào chỗ khó.
Nếu vị trí bạn ứng tuyển phục vụ khách chạy trên AWS, hãy mang đúng ví dụ này vào buổi phỏng vấn và kể lại từng chỗ phải sửa.
Khoá này dạy bạn nói cùng ngôn ngữ với đội AWS của khách. Trang tài liệu về những khác biệt mới là thứ giữ cho bạn không hứa sai trong buổi họp đầu tiên.
Bài này có hữu ích không?
Cảm ơn bạn đã góp ý!