7 primitives, 7 nhiệm vụ
Hãy coi mỗi primitive đảm nhận một nhiệm vụ duy nhất. Thay vì đi quá sâu vào bất kỳ thành phần nào, lúc này hãy giữ một góc nhìn tổng thể về cả 7 primitives. Kỹ năng cốt lõi của một Architect là phối hợp các thành phần này để xây dựng nên một solution.
Act: Tools
Nhiệm vụ: Cho phép model thực hiện một hành động hoặc lấy kết quả từ code của bạn; đây là một hàm (function) mà model có thể gọi.
Connect: MCP
Nhiệm vụ: Một giao thức (protocol) giúp công khai một tập hợp tools để nhiều Claude clients có thể tiếp cận cùng các entry points.
Isolate / parallelize: Subagents
Nhiệm vụ: Giao một nhiệm vụ phụ có phạm vi xác định (scoped sub-task) cho một context riêng biệt để công việc chạy độc lập (isolation) hoặc song song (in parallel).
Guarantee: Hooks
Nhiệm vụ: Đoạn mã định tính (deterministic code) kích hoạt dựa trên các sự kiện được định nghĩa trước nhằm thực thi một quy tắc mà model không thể bỏ qua.
Package a procedure: Skills
Nhiệm vụ: Một đơn vị tái sử dụng và quản lý phiên bản (versioned, reusable unit) — gồm các chỉ dẫn đi kèm scripts tùy chọn — đóng gói một quy trình có thể lặp lại.
Coordinate peers: Agent Teams
Nhiệm vụ: Nhiều agents hoạt động như các đối tác phối hợp ngang hàng, mỗi agent đảm nhiệm một phần của mục tiêu lớn hơn.
Compose at runtime: Dynamic Workflows
Nhiệm vụ: Lắp ghép các bước của một workflow tại thời điểm thực thi (runtime) thay vì cố định chúng từ trước.
Agent Teams (các agent ngang hàng phối hợp) và Dynamic Workflows (kết hợp tại runtime) mở rộng từ các thuật ngữ cũ hơn như single agents và fixed workflows. Bạn sẽ thấy chúng được nhắc đến trong các thảo luận chuyên môn hiện nay, mặc dù nhiều hệ thống hiện tại đã ra đời trước đó.
Vì sao cần kiểm kê chúng ngay bây giờ?
Các patterns được giảng dạy ở phần sau của module này — augmented call, workflow, agent — không phải là các khái niệm trừu tượng. Mỗi pattern là một sự lắp ghép cụ thể từ 7 primitives nói trên:
Một workflow là các bước được kết nối trong code của bạn, thường sử dụng tools.
Một agent là việc model tự lựa chọn chuỗi tool calls của chính nó.
Một multi-agent system là một bộ điều phối (orchestrator) ủy quyền cho các subagents.
Khi học đến các bài đó, bạn sẽ lắp ghép các primitives mà bạn đã biết tên, chứ không phải lần đầu tiên tiếp xúc với chúng.
Kịch bản thực tế: Thất bại do thiếu bộ thuật ngữ chung
Trong một buổi architecture review, ai đó nói: "Chúng ta sẽ dùng một agent." 5 người trong phòng nghe thành 5 điều hoàn toàn khác nhau:
Một người nghĩ về một model đơn lẻ sử dụng tool.
Một người nghĩ về một multi-step workflow.
Một người nghĩ về một nhóm subagents.
Một người nghĩ về Claude Code.
Một người nghĩ về một chatbot.
Cuộc thảo luận thiết kế bị đình trệ 20 phút trước khi mọi người nhận ra họ đang mô tả các kiến trúc khác nhau bằng cùng một từ. Bằng cách thiết lập sự hiểu biết chung về thuật ngữ primitives, team có thể vận hành một cách rõ ràng và hiệu quả.
Chi phí · Độ phức tạp · Rủi ro
Chi phí (Cost): Lựa chọn một primitive cồng kềnh hơn mức công việc yêu cầu sẽ phải trả giá bằng độ trễ (latency), số lượng tokens, và phạm vi vận hành (operational surface area) trên từng request. Ví dụ: Sử dụng một team of agents trong khi chỉ cần một tool call đơn lẻ là đủ.
Độ phức tạp (Complexity): Mỗi primitive thêm vào thiết kế là một thành phần cần build, theo dõi (observe), và quản trị (govern). Nguyên tắc ở đây là sử dụng số lượng primitives tối thiểu cần thiết để đáp ứng yêu cầu.
Rủi ro (Risk): Nếu không có bộ thuật ngữ dùng chung, các team không thể giao tiếp hiệu quả vì họ không thống nhất được các thành phần cấu thành là gì.
Nội dung bài viết thuộc lộ trình chuẩn bị chứng chỉ Claude Certified Architect, được tổng hợp và biên dịch từ tài liệu đào tạo chính thức của Anthropic PBC. Bản quyền nội dung gốc thuộc về Anthropic PBC. Bản dịch tiếng Việt và chú giải thực hành bởi HungPH Blog.
