‹ Tất cả Domain 1 Làm quiz

Domain 1 · 17% đề thi · Solution Architecture Design

Thiết kế kiến trúc giải pháp

Domain này hỏi về các quyết định trước khi viết code: chọn kiểu kiến trúc nào, chia việc ra sao, đặt hàng rào ở đâu. Đáp án đúng thường là phương án rẻ nhất mà vẫn đáp ứng yêu cầu.

Khi nào Claude phù hợp

Câu hỏi đầu tiên là Claude có nên làm giải pháp chính hay không. Claude mạnh ở việc cần hiểu ngôn ngữ và suy luận, yếu ở việc cần phản hồi cực nhanh hoặc kết quả tất định.

Bẫy đề thi

Với dạng Yes/No về use case, hãy xem độ trễ yêu cầu và loại công việc trước. Có yêu cầu vài chục mili giây hoặc có vai trò thay hạ tầng thì thường là No.

Kiểm tra đủ 4 thành phần

Mọi kiến trúc đều cần đủ 4 phần. Hãy kiểm tra trước khi bàn đến chi tiết khác.

Bẫy đề thi

Feedback loop là phần hay bị quên nhất. Nếu đề kể hệ thống vẫn chạy nhưng không ai biết độ chính xác hiện tại, đáp án là thiếu feedback loop.

3 trụ giá trị để phân xử

Khi nhiều phương án đều chạy được, hãy xem đề bài nhấn mạnh trụ nào rồi chọn theo trụ đó.

Dễ hiểu

p95 = 2 giây nghĩa là 95% yêu cầu xong trong vòng 2 giây. Đề dùng p95/p99 vì số trung bình che mất những yêu cầu rất chậm.

3 kiểu kiến trúc

Quy tắc chính: nếu một lần gọi model đã đủ thì không cần Workflow hay Agentic. Mỗi mức phức tạp thêm đều phải có lý do.

Bẫy đề thi

Thấy “quy trình cố định”, “kiểm toán”, “tuân thủ” thì nghĩ đến Workflow. Chỉ chuyển sang nhiều agent khi thật sự cần chạy song song hoặc cần ranh giới bảo mật riêng.

Managed Agents hay tự vận hành

Managed Agents là bộ khung agent dựng sẵn, chạy trên hạ tầng được quản lý. Bạn không phải tự xây vòng lặp agent, sandbox và lớp chạy tool.

Bẫy đề thi

Ràng buộc cứng được xét trước lợi ích. Nếu bộ phận bảo mật yêu cầu dữ liệu không ra khỏi ranh giới đã duyệt, hãy kiểm tra cách nền tảng xử lý dữ liệu trước khi bàn đến chi phí hay độ khớp kiến trúc.

Đã đối chiếu tài liệu chính thức

Tại thời điểm kiểm tra (11/2026), Managed Agents đang ở giai đoạn beta và lưu lịch sử phiên phía server cho đến khi bạn xóa. Tính năng này chưa đủ điều kiện ZDR hay HIPAA BAA, kể cả khi dùng self-hosted sandbox. Self-hosted sandbox cho phép chạy phiên trên hạ tầng của bạn, phục vụ nhu cầu tuân thủ hoặc nơi lưu dữ liệu. Xem docs

Chia việc và điều phối

Hai cách chia agent

Hai cách phối hợp

Mô hình hub-and-spoke

Coordinator đứng giữa, giao việc cho các subagent và gộp kết quả. Cần nhớ:

Giữ tool nào trong agent

Nên giữ tool bắt buộc cho nhiệm vụ đã định và tool dùng thường xuyên giúp giảm chuyển giao. Nên bỏ tool chỉ thỉnh thoảng dùng cho việc không liên quan và tool để dành cho tương lai.

Bằng chứng để tách agent thay vì thêm một lớp router: có tool không được gọi trong thời gian dài, mô tả tool chồng chéo, và các tool phục vụ nhiều miền công việc khác nhau. Router thêm một lần gọi model cho mỗi request mà không xử lý gốc vấn đề.

Đã đối chiếu tài liệu chính thức

Docs cho biết khả năng chọn đúng tool giảm khi vượt quá 30 đến 50 tool. Tool search nạp tool theo nhu cầu bằng defer_loading, nên dùng từ khoảng 10 tool trở lên, và giữ 3 đến 5 tool dùng nhiều nhất luôn sẵn sàng. Xem docs

Viết chỉ dẫn cho agent

Hãy nêu mục tiêu và tiêu chí hoàn thành. Checklist cứng từng bước khiến agent kém thích ứng khi gặp tình huống lạ. Prompt quá lớn cũng làm agent giảm tập trung và chọn sai tool.

Đã đối chiếu tài liệu chính thức

  • Task tool đã đổi tên thành Agent từ Claude Code v2.1.63. Tên cũ vẫn dùng được, tài liệu ôn thi vẫn ghi Task. Trong phiên Claude Code thường, subagent mặc định chạy nền. Subagent thông thường bắt đầu với context riêng, ngoại lệ là fork: fork kế thừa toàn bộ hội thoại. Xem docs
  • allowedTools trong Agent SDK chỉ tự động duyệt các tool được liệt kê, các tool khác vẫn tồn tại. Muốn giới hạn thật thì dùng tools trong định nghĩa subagent, disallowedTools, hoặc ghép allowedTools với permissionMode: "dontAsk". Xem docs
  • Nguồn ôn tập gọi chung là “giới hạn bằng allowedTools”. Khi gặp cách nói này trong câu hỏi, ý chính là least privilege.

Tách pipeline theo lớp

Khi phân rã một quy trình, mỗi việc thuộc về một lớp. Việc nào code làm chắc chắn được thì để code làm, chỉ dùng model ở chỗ cần hiểu ngôn ngữ.

Đặt hàng rào bằng code

Prompt là lời dặn: model thường làm theo, nhưng không chắc chắn. Code là hàng rào: luôn chạy và không phụ thuộc vào model. Việc gì bắt buộc phải đúng thì đặt trong code.

Bẫy đề thi

Đừng dừng vòng lặp bằng cách đọc chữ trong câu trả lời, chẳng hạn tìm từ “hoàn thành”. Đừng chỉ đếm số vòng. Dùng stop_reason, và thêm giới hạn để phòng trường hợp chạy mãi.

Thiết kế cho quy mô lớn

Khi một review hỏi kiến trúc có chịu được hàng nghìn người dùng đồng thời không, hãy kiểm tra các điểm sau:

Ghi lại và phục hồi

Ví dụ: xử lý hồ sơ bảo hiểm ban đêm

Yêu cầu: chạy theo lô ban đêm, các bước cố định và cần kiểm toán. Áp lực chính là chi phí mỗi hồ sơ, không cần phản hồi nhanh.

  1. Kiểu kiến trúc: Workflow, vì các bước cố định và cần audit.
  2. Chi phí: Batch API, prompt caching cho chỉ dẫn lặp lại, model tier thấp.
  3. Chia việc: chưa cần chia theo năng lực. Nếu tách bước trích xuất thành subagent thì truyền dữ liệu rõ ràng và giới hạn tool.
  4. Hàng rào: PostToolUse để chuẩn hóa dữ liệu, chặn bằng code quanh thao tác thanh toán và từ chối hồ sơ, stop_reason kèm giới hạn số vòng.
  5. Tài liệu: ADR nêu chi phí là tiêu chí phân xử, vì sao chọn Workflow, và khi nào cần xem lại.

Nhớ nhanh

Quiz Domain 1

3 bài · 30 câu