Các bài trong khoáBài 25/25

25 bài

Domain 8: Tools and MCPs·Task 8.3

Tool có sẵn, tool tự viết, skill hay MCP - chọn cách mở rộng Claude

Phân biệt tool có sẵn, tool tự viết, skill và MCP server theo ai viết schema, code chạy ở đâu, tốn bao nhiêu context, và chọn theo phạm vi, nhu cầu dùng lại.

  • 8 phút đọc
  • Đối chiếu docs 02/11/2026
  • 7 nguồn

Đọc xong bạn nắm được

  • Phân biệt tool có sẵn của Anthropic, tool tự viết, skill và MCP server
  • Quyết định khi nào tool có sẵn là đủ, khi nào đáng viết tool riêng
  • Giải thích cách skill nạp dần để kiến thức chưa dùng không chiếm context
  • Chọn MCP, skill, hay cả hai cho một nhu cầu, và biết cái giá về context của từng cách

Muốn Claude làm thêm một việc, bạn có ít nhất bốn cách: dùng tool Anthropic đã có, tự viết tool, đóng gói thành skill, hay dựng MCP server. Bốn cách này không thay thế nhau. Chọn sai thì hoặc tốn công viết lại thứ đã có, hoặc mỗi đội giữ một bản sao của cùng một năng lực.

Bài này giúp bạn trả lời: mỗi cách mở rộng hợp với việc gì, và chọn thế nào cho một nhu cầu cụ thể?

Ví dụ xuyên suốt: agent của công ty tư vấn du học

Một công ty tư vấn du học dựng agent hỗ trợ tư vấn viên. Agent cần:

  1. Đọc tin tức mới về chính sách visa trên web.
  2. Tra hồ sơ học sinh trong phần mềm quản lý khách hàng (CRM) nội bộ. Đội marketing và đội kế toán cũng muốn agent của họ dùng dữ liệu này.
  3. Làm theo quy trình chuẩn bị hồ sơ visa du học Úc của công ty: danh sách giấy tờ, cách viết thư giới thiệu, một script quy đổi điểm trung bình.
  4. Tính học phí quy đổi sang đồng Việt Nam theo tỉ giá ngày.

Bốn cách mở rộng

Đề thi gọi đây là tuỳ biến agent (agentic customization): cân nhắc giữa tool có sẵn (built-in tools), tool tự viết (custom tools), Skills và MCP.

CáchAi viết schemaCode chạy ở đâuHợp với
Tool có sẵn chạy ở máy chủ (web_search, web_fetch, code_execution)AnthropicMáy chủ AnthropicNăng lực chung: tìm web, chạy code
Tool có sẵn chạy ở phía bạn (Bash, sửa file, memory)Anthropic, Claude đã học sẵnỨng dụng của bạnThao tác máy tính, file
Tool tự viếtBạnỨng dụng của bạnNghiệp vụ riêng, API nội bộ, dữ liệu riêng
SkillBạn (thư mục có SKILL.md, script, tài liệu)Môi trường có hệ thống file và bashKiến thức, quy trình, tài liệu tham khảo
MCP serverBạn hoặc bên cung cấp dịch vụMột server riêng, qua giao thức chuẩnKết nối tới hệ thống ngoài, dùng chung nhiều ứng dụng

Có sẵn trước, tự viết sau

Việc 1 dùng web_search có sẵn, không cần viết gì. Việc 4 gần như được code_execution có sẵn làm hết, chỉ thiếu tỉ giá ngày. Lúc này câu hỏi là phần thiếu đó có bù được bằng cách kết hợp với tool có sẵn không (ví dụ cho web_fetch đọc trang tỉ giá của ngân hàng rồi để code_execution tính), hay đáng viết một tool riêng gọi thẳng API tỉ giá của công ty.

Nếu dựng agent bằng Agent SDK, tool tự viết được khai bằng @tool (Python) hoặc tool() (TypeScript), rồi gói trong một MCP server chạy ngay trong process (create_sdk_mcp_server) và truyền vào tuỳ chọn mcp_servers.

Skill: kiến thức nạp dần khi cần

Việc 3 không phải là kết nối tới hệ thống nào, mà là "cách làm" của công ty. Đó là việc của skill: một thư mục chứa hướng dẫn, metadata và tài nguyên tuỳ chọn (script, mẫu), Claude dùng khi phù hợp. Docs Agent Skills mô tả cơ chế nạp dần (progressive disclosure):

MứcKhi nào nạpTốn bao nhiêu
Metadata (name, description)Luôn có, từ đầu phiênKhoảng 100 token mỗi skill
Thân SKILL.mdKhi việc khớp mô tả của skillDưới 5 nghìn token
File đi kèm, scriptKhi được nhắc tớiKhông tốn gì tới khi dùng; script chạy qua bash, chỉ kết quả vào context

Vì Claude so yêu cầu với description để quyết định có dùng skill hay không, mô tả phải nói cả skill làm gì lẫn khi nào dùng. Trong Claude Code, đặt skill ở thư mục skill mà Claude Code nhận ra, như .claude/skills/ho-so-visa-uc/SKILL.md trong repo để cả đội dùng chung. Trên Claude API, skill chạy trong container của tool code execution (khai skill_ids trong container).

MCP cho kết nối, skill cho cách làm

Việc 2 là kết nối tới một hệ thống ngoài mà ba đội cùng dùng: đó là chỗ của MCP server. Trang tổng quan tính năng của Claude Code tóm tắt: MCP kết nối Claude với dịch vụ bên ngoài, cung cấp tool và quyền truy cập dữ liệu, server lo phần kết nối và xác thực; skill mở rộng những gì Claude biết, kể cả cách dùng các dịch vụ đó cho hiệu quả. Hai thứ thường đi cùng nhau: MCP nối tới CRM, còn skill ghi lại cấu trúc dữ liệu CRM và các truy vấn hay dùng.

Về chi phí context, theo bảng của Claude Code:

  • CLAUDE.md: nạp toàn bộ, tốn ở mọi yêu cầu.
  • Skill: mô tả có mặt ở mọi yêu cầu, toàn bộ nội dung chỉ khi dùng.
  • MCP server: tên tool lúc đầu, schema đầy đủ khi cần (nhờ tool search).

Bài viết "Code execution with MCP" của Anthropic chỉ ra hai cái giá khi một agent kết nối nhiều MCP server: định nghĩa tool làm đầy context, và kết quả trung gian của tool đi qua context làm tốn thêm token. Một hướng giảm là để agent viết code gọi MCP server như gọi API, đọc định nghĩa tool từ hệ thống file khi cần thay vì nạp hết từ đầu.

Chọn theo phạm vi, nhu cầu dùng lại, bối cảnh tích hợp

Nhu cầu trong ví dụChọnVì sao
Tin tức visa trên webweb_search có sẵnNăng lực chung, đã có
Tỉ giá ngàyTool có sẵn kết hợp, hoặc một tool riêng nhỏChỉ agent này cần
Dữ liệu CRM cho ba độiMCP serverHệ thống ngoài, nhiều ứng dụng dùng, bảo trì một chỗ
Quy trình hồ sơ visa ÚcSkillKiến thức và quy trình, nạp khi cần
  1. Anthropic đã có tool làm được việc này?Dùng tool có sẵn, mở rộng nếu thiếu chút ít
  2. Cần kết nối hệ thống ngoài, nhiều ứng dụng hay nhiều đội cùng dùng?MCP server
  3. Là kiến thức, quy trình, tài liệu tham khảo?Skill, nạp khi cần
  4. Chỉ một ứng dụng cần, gắn với nghiệp vụ riêng?Tool tự viết
  5. Còn lạiKết hợp: MCP để kết nối, skill để dạy cách dùng

Nguồn

  1. Exam Guide CCDV-F v1.0, Domain 8(mở tab mới)
  2. How tool use works (Claude API Docs)(mở tab mới)
  3. Agent Skills overview (Claude API Docs)(mở tab mới)
  4. Extend Claude Code - features overview (Claude Code Docs)(mở tab mới)
  5. Extend Claude with skills (Claude Code Docs)(mở tab mới)
  6. Custom tools in the Agent SDK (Claude Code Docs)(mở tab mới)
  7. Code execution with MCP (Anthropic Engineering)(mở tab mới)

Nắm rồi thì thử sức với đề

Xem khoá luyện thi
Tool có sẵn, tool tự viết, skill hay MCP - chọn cách mở rộng Claude · Anthropic Exam Pro