Bỏ qua điều hướng
Khái niệm

Agent Skills là gì? Tất cả những gì bạn cần biết

Agent Skills là định dạng đóng gói quy trình và tài nguyên giúp mở rộng khả năng thực thi chuyên sâu cho AI agent thông qua cơ chế nạp ngữ cảnh linh hoạt.

Tuan Tran Van
16 phút đọc
Mục lục (9 phần)
  1. Agent Skills là gì và giải quyết vấn đề gì?
  2. Cấu trúc của một Skill: bên trong file SKILL.md
  3. Skills hoạt động ra sao? Cơ chế tiết lộ tăng dần
  4. Bạn có thể dùng Agent Skills ở đâu?
  5. Skills khác gì prompt, command, subagent, plugin và MCP?
  6. Cách tự tạo một Skill và các nguyên tắc viết tốt
  7. Bảo mật và những giới hạn cần biết
  8. Các câu hỏi thường gặp
  9. Tài liệu tham khảo

Agent Skills là một định dạng khả năng mô-đun (modular capability format) cho phép đóng gói hướng dẫn (instructions), siêu dữ liệu (metadata) và tài nguyên (resources) bổ trợ để mở rộng khả năng thực thi cho AI agent.

Trong kiến trúc hệ thống AI, Agent Skills đóng vai trò bộ nhớ quy trình (procedural memory): chúng cho phép agent lưu và gọi lại những luồng công việc phức tạp, thay vì phụ thuộc vào các câu lệnh nhắc (prompt) rời rạc trong từng phiên. Nhờ đó, mô hình không chỉ dừng ở trả lời bằng văn bản mà còn vận hành được những quy trình có cấu trúc, lặp lại và kiểm soát được.

Về bản chất, mỗi skill là một thư mục chứa tệp SKILL.md cùng mã thực thi hoặc tài liệu tham khảo đi kèm, và chỉ được nạp khi cần dựa trên cơ chế so khớp ngữ nghĩa — thay vì nhồi toàn bộ kiến thức vào ngữ cảnh ngay từ đầu và lãng phí token. Cách này cho phép một agent mang theo hàng trăm khả năng chuyên biệt mà không làm tràn giới hạn ngữ cảnh của mô hình ngôn ngữ lớn (LLM), đồng thời giữ tính nhất quán khi thực thi các quy chuẩn doanh nghiệp hoặc dự án.

Agent Skills là các thư mục mô-đun chứa tệp SKILL.md, mở rộng năng lực thực thi cho AI agent

Agent Skills là gì và giải quyết vấn đề gì?

Các LLM rất giỏi "bộ nhớ ngữ nghĩa" (semantic memory) — kho sự thật và kiến thức chung. Nhưng biết về sự thật không đồng nghĩa với làm được theo quy trình (procedural knowledge). Một agent có thể giải thích cặn kẽ chuẩn báo cáo tài chính IFRS, nhưng lại thường xuyên hỏng khi phải chạy đúng một quy trình 47 bước cụ thể để tạo ra bản báo cáo tuân thủ quy định của doanh nghiệp. Lý do là hướng dẫn thực thi bị loãng dần trong ngữ cảnh hội thoại, hoặc bị mô hình tự ý đổi theo xác suất từ ngữ.

So sánh bộ nhớ ngữ nghĩa (lưu trữ sự thật) với bộ nhớ quy trình (lưu trữ các bước thực thi)

Trước khi có Agent Skills, muốn triển khai một quy trình phức tạp, người dùng thường phải nhét toàn bộ hướng dẫn vào prompt hệ thống (system prompt) hoặc lặp lại chúng ở mọi phiên — vừa lãng phí token vừa thiếu nhất quán về logic. Khi số quy trình tăng lên, prompt hệ thống phình to và quá tải, khiến mô hình bỏ sót những hướng dẫn nằm giữa văn bản (lost-in-the-middle) và làm tràn cửa sổ ngữ cảnh. Agent Skills xử lý việc này bằng cách biến mỗi quy trình thành một tài nguyên trên hệ thống tệp tin (filesystem-based resources), chỉ kích hoạt khi yêu cầu của người dùng khớp với mô tả của kỹ năng.

Đây cũng là chỗ Skills khác với RAG (Retrieval-Augmented Generation): RAG cung cấp đoạn văn bản chứa sự thật để agent tra cứu, còn Skills cung cấp thuật toán tư duy và các bước hành động. Trong môi trường tuân thủ nghiêm ngặt (high-compliance), để agent tự suy luận các bước kiểm soát rủi ro là cực kỳ rủi ro; cố định quy trình 47 bước vào một tệp SKILL.md đảm bảo agent luôn làm bước 5 trước bước 6 và dùng đúng công cụ kiểm tra, loại bỏ chuyện mô hình bịa ra các bước (hallucination of steps). Tóm lại, Skills biến một AI agent tổng quát thành chuyên gia có kỷ luật, nơi quy trình làm việc được đối xử như mã nguồn (procedural knowledge as code) — kiểm thử, cập nhật và chia sẻ được trong toàn tổ chức.

Cấu trúc của một Skill: bên trong file SKILL.md

Một kỹ năng không phải một đoạn hướng dẫn đơn lẻ, mà là một thư mục có cấu trúc chuẩn hóa. Trái tim của nó là tệp SKILL.md (viết hoa bắt buộc), nằm trong một thư mục gốc mang tên kỹ năng (kebab-case), bên cạnh các thư mục chức năng tùy chọn: scripts/ cho tệp thực thi Python hoặc Bash, references/ cho tài liệu tra cứu như FORMS.md hay REFERENCE.md, và assets/ cho tệp tĩnh như mẫu văn bản (templates). Cách tách bạch này giữ tệp hướng dẫn cốt lõi luôn gọn, trong khi vẫn lấy được tài nguyên nặng khi cần.

Cấu trúc thư mục một Skill: tệp SKILL.md ở trung tâm cùng các thư mục scripts, references và assets

Tệp SKILL.md bắt buộc mở đầu bằng phần YAML frontmatter để hệ thống nhận diện và lập chỉ mục kỹ năng mà không cần đọc toàn bộ nội dung. Dưới đây là một ví dụ frontmatter nâng cao cho kỹ năng chuyên dụng:

markdown
---
name: create-financial-report
description: Sử dụng khi người dùng yêu cầu tạo hoặc rà soát báo cáo tài chính định kỳ. Kỹ năng này thực thi quy trình 47 bước tuân thủ chuẩn IFRS và kiểm tra lỗi logic dữ liệu.
allowed-tools: "Bash(python:*) Bash(npm:*) WebFetch"
metadata:
  author: Financial-Architect-Team
  version: 2.1.4
  mcp-server: internal-accounting-vault
---
 
# Create Financial Report
 
## Instructions
 
1. Truy xuất dữ liệu từ MCP server `internal-accounting-vault`.
2. Chạy script `scripts/validate_integrity.py` để kiểm tra số dư.
3. Nếu phát hiện sai lệch > 0.01%, dừng quy trình và thông báo lỗi.
 
## Examples
 
User: "Lập báo cáo tài chính tháng 8."
Action: Kích hoạt kỹ năng, thực thi validate_integrity.py, trả về file report.xlsx.

Trường description là thành phần quyết định độ chính xác: agent dựa hoàn toàn vào mô tả này, qua so khớp ngữ nghĩa, để chọn có kích hoạt kỹ năng hay không. Một mô tả qua loa như "giúp viết mã" sẽ khiến kỹ năng bật sai chỗ hoặc không bật khi cần — vì vậy hãy nêu rõ cả mục đích thực thi lẫn điều kiện kích hoạt để mô hình định tuyến (routing) đúng ngay tại lớp metadata. Phần thân sau frontmatter chứa hướng dẫn chi tiết bằng Markdown, nên chia thành các bước hành động (actionable steps) và quy tắc cứng (hard rules); những nội dung dài như biểu mẫu nên đẩy sang references/ để không làm phình tệp chính và giữ agent trong ngưỡng ngữ cảnh tối ưu.

Skills hoạt động ra sao? Cơ chế tiết lộ tăng dần

Cơ chế cốt lõi của Agent Skills là kiến trúc tiết lộ tăng dần (Progressive Disclosure) — cách quản lý ngữ cảnh để tối ưu hiệu suất và chi phí. Một hệ thống có thể chứa hàng trăm kỹ năng; nạp tất cả vào ngay từ đầu sẽ làm tràn ngữ cảnh và khiến mô hình mất tập trung. Vì thế Skills chia luồng dữ liệu thành ba cấp độ, sao cho ở mỗi giai đoạn agent chỉ tiêu thụ lượng token tối thiểu cần để ra quyết định.

Ba cấp độ tiết lộ tăng dần: metadata, instructions và resources được nạp lần lượt theo nhu cầu

Cấp độ 1 (Metadata) diễn ra khi agent khởi động: hệ thống chỉ tải tên và mô tả (frontmatter) của mọi kỹ năng vào prompt hệ thống. Mỗi kỹ năng chỉ chiếm khoảng 50–100 token, tạo thành một mục lục khả năng cực gọn — agent biết kỹ năng tồn tại và dùng để làm gì, nhưng chưa nắm các bước chi tiết. Nhờ vậy, hệ thống mở rộng được lên hàng ngàn kỹ năng mà không gây áp lực lên token window của LLM.

Cấp độ 2 (Instructions) kích hoạt qua suy luận của mô hình. Khi yêu cầu của người dùng khớp với một kỹ năng, toàn bộ tệp SKILL.md mới được nạp vào ngữ cảnh; lúc này agent mới "học" được quy trình chi tiết, quy tắc và ví dụ. Việc chỉ tải đúng lúc cần (just-in-time loading) giúp agent giữ tập trung vào tác vụ đang làm, không bị nhiễu bởi hướng dẫn của những kỹ năng không liên quan.

Cấp độ 3 (Resources) là tầng sâu nhất — tài liệu trong references/ hoặc mã trong scripts/. Những tài nguyên này không bao giờ nạp tự động; agent chỉ đọc tệp hoặc chạy mã khi quy trình yêu cầu (ví dụ tra mã lỗi trong REFERENCE.md ở bước 10). Cách này giữ tệp hướng dẫn chính dưới ngưỡng 5.000 token, tối ưu tốc độ suy luận và giảm đáng kể chi phí inference cho hệ thống agentic quy mô lớn.

Bạn có thể dùng Agent Skills ở đâu?

Agent Skills được hỗ trợ trên bốn bề mặt chính. Trên Claude.ai (web và desktop), bạn dùng các kỹ năng tích hợp sẵn cho tác vụ văn phòng, hoặc tải lên thư mục kỹ năng đã nén (zip) nếu dùng gói Pro, Team hay Enterprise — đây là nơi Skills tự động hóa việc tạo tài liệu PDF, Excel hay PowerPoint qua các quy trình Anthropic hoặc quản trị viên đã đóng gói sẵn.

Các bề mặt dùng Agent Skills: Claude.ai, Claude Code, Claude API/SDK và tiêu chuẩn mở đa nền tảng

Với kỹ sư phần mềm, Claude Code là môi trường mạnh nhất, qua dòng lệnh (CLI). Khi nhiều kỹ năng trùng tên, Claude Code dùng thứ tự ưu tiên nghiêm ngặt để xử lý xung đột: Enterprise > Personal > Project. Kỹ năng cấp dự án nằm trong .claude/skills/ ở gốc kho lưu trữ và được quản lý phiên bản qua Git; kỹ năng cá nhân nằm ở ~/.claude/skills/ và dùng được trên toàn hệ thống. Claude Code còn tự động khám phá (auto-discovery) kỹ năng nằm sâu trong các cấu trúc monorepo. Ở tầng lập trình, Claude API và Agent SDK cho phép quản lý kỹ năng qua endpoint /v1/skills (các thao tác CRUD trong Claude Console); muốn chạy kỹ năng có mã nguồn, cần bật tiêu đề beta code-execution-2025-08-25.

Quan trọng nhất là tính di động, nhờ tiêu chuẩn mở Agent Skills (agentskills.io). Định dạng SKILL.md đã được những công cụ hàng đầu như Cursor, GitHub Copilot, Gemini CLI, Windsurf và OpenAI Codex chấp nhận, nên quy trình bạn dày công đóng gói không bị khóa vào một hệ sinh thái (vendor lock-in). Bạn viết một kỹ năng phân tích mã nguồn đúng một lần, rồi chạy y hệt trên cả Claude Code trong terminal lẫn Cursor trong IDE.

Skills khác gì prompt, command, subagent, plugin và MCP?

Phân biệt rạch ròi các khái niệm này giúp bạn thiết kế hệ thống mô-đun hơn. So với prompt thông thường, Skills bền và dễ quản lý hơn hẳn: prompt chỉ là hướng dẫn nhất thời trong một phiên, còn Skills là tài nguyên cấp hệ thống tệp tin, tái sử dụng lâu dài. Dùng prompt cho quy trình lặp lại cũng giống viết thẳng mã vào hàm main thay vì xây thư viện dùng lại được.

Phân biệt MCP, Skills, Command, Subagent và Plugin theo vai trò trong hệ sinh thái agent

Khác biệt với MCP (Model Context Protocol) là điểm mấu chốt: MCP lo hạ tầng kết nối và quyền truy cập công cụ (tool access) — agent chạm tới được những gì; Skills lo phán đoán và quy trình (judgment) — agent nên làm gì khi đã có công cụ. MCP là tay chân (gọi API, đọc database), Skills là quy trình vận hành tiêu chuẩn (SOP) dẫn dắt các hành động đó. Với subagentcommand: subagent là thực thể riêng được gọi tên rõ ràng (ví dụ @agent-name) để xử lý một luồng tách biệt — nhưng một Skill cũng có thể chạy dưới dạng subagent qua thuộc tính context: fork trong frontmatter; còn command là lối tắt thủ công (slash command) do người dùng tự bật, trong khi Skills tự kích hoạt theo ngữ nghĩa yêu cầu.

Cuối cùng, Skills khác RAG và fine-tuning ở loại kiến thức: RAG tra cứu sự thật tĩnh nhưng không giỏi dạy agent một chuỗi hành động; fine-tuning nung kiến thức vào trọng số mô hình nhưng tốn kém, khó cập nhật và cứng nhắc. Skills đứng giữa — kiểm soát quy trình chặt như fine-tuning nhưng linh hoạt, dễ cập nhật và quản lý phiên bản như mã nguồn. Khi cần đóng gói cả một bộ năng lực để phân phối, bạn gom các kỹ năng vào một plugin.

Cách tự tạo một Skill và các nguyên tắc viết tốt

Hãy bắt đầu từ việc để ý các mẫu lặp lại (patterns): khi bạn cứ phải nhắc đi nhắc lại cùng một hướng dẫn cho AI, hoặc sửa đi sửa lại cùng một loại lỗi logic, đó là dấu hiệu nên đóng gói một Skill. Cách nhanh nhất là dùng luôn agent skill-creator có sẵn — nó phỏng vấn bạn về quy trình rồi tự sinh cấu trúc thư mục và tệp SKILL.md. Một kỹ sư giỏi sẽ làm cho tác vụ chạy thành công ngay trong hội thoại trước, rồi mới trích xuất logic đó thành kỹ năng.

Quy trình tạo Skill: nhận diện mẫu lặp lại, dùng skill-creator, viết mô tả WHEN/WHEN NOT và vòng lặp đánh giá

Nguyên tắc quan trọng nhất là mô tả điều kiện kích hoạt theo cấu trúc WHEN + WHEN NOT. Vạch rõ ranh giới giúp agent không bật nhầm kỹ năng, nhờ đó tiết kiệm token và tránh sai sót. Ví dụ: "Sử dụng khi người dùng yêu cầu tối ưu hiệu suất truy vấn SQL. KHÔNG dùng cho việc thiết kế sơ đồ thực thể ER hay câu hỏi quản trị database chung." Song song đó, hãy bám nguyên lý Progressive Disclosure: giữ SKILL.md dưới 5.000 token và dồn tài liệu chuyên sâu, danh sách mã lỗi hay đặc tả API vào references/, trong tệp chính chỉ cần chỉ đường cho agent đến đó khi cần.

Giai đoạn cuối là kiểm thử qua ba chế độ Eval, Improve và Benchmark. Eval chạy thử từng prompt để xem kỹ năng có bật đúng và thực thi chính xác không; Improve dùng so sánh A/B để tinh chỉnh hướng dẫn theo phản hồi; Benchmark — quan trọng nhất với môi trường sản xuất — chạy mỗi cấu hình ít nhất 3 lần để đo độ biến thiên (variance). Kiểm soát được độ biến thiên nghĩa là quy trình 47 bước của bạn luôn chạy đồng nhất, bất kể tính ngẫu nhiên của mô hình.

Bảo mật và những giới hạn cần biết

Vì kỹ năng có thể chứa mã thực thi (scripts) với quyền truy cập hệ thống tệp tin và biến môi trường, triển khai Agent Skills kéo theo rủi ro an toàn thật sự. Một kỹ năng từ bên thứ ba có thể giấu mã độc (malware) hoặc đầu độc công cụ (tool poisoning) để đánh cắp khóa API hay dữ liệu nhạy cảm. Vì vậy, rà soát (audit) các script trong scripts/ là việc bắt buộc trước khi triển khai, và tổ chức nên lập kho kỹ năng nội bộ đã phê duyệt thay vì cài thẳng từ marketplace công cộng chưa kiểm duyệt.

Một giới hạn đáng lưu ý: Agent Skills hiện chưa đủ điều kiện cho chính sách không lưu giữ dữ liệu (Zero Data Retention — ZDR), nghĩa là dữ liệu đi qua kỹ năng sẽ được giữ lại theo chính sách tiêu chuẩn của nền tảng. Với các doanh nghiệp xử lý dữ liệu cực kỳ nhạy cảm như tài chính hay y tế, đây là điểm phải cân nhắc kỹ: nên đánh giá dữ liệu nào được đưa qua Skills và dữ liệu nào phải giữ kín trong môi trường on-premise.

Cuối cùng là vài giới hạn logic. Thứ tự ưu tiên Enterprise > Personal > Project nghĩa là kỹ năng doanh nghiệp luôn thắng khi trùng tên — tốt cho tính thống nhất, nhưng dễ gây khó nếu kỹ năng cá nhân không đặt tên rõ ràng; bật quá nhiều kỹ năng tự động cũng có thể gây xung đột khi các mô tả chồng lấn phạm vi. Ngoài ra, kỹ năng cần mạng hoặc chạy mã phải được cấu hình đúng trong môi trường run-time (như các beta header của API); thiếu quyền, agent sẽ không chạy được các bước trong scripts/. Hãy lường trước phần xử lý lỗi (error handling) cho trường hợp thiếu quyền hoặc lỗi kết nối MCP để agent kịp phục hồi và báo đúng tình huống.

Các câu hỏi thường gặp

Agent Skills có hỗ trợ quản lý phiên bản không? Có. Vì Agent Skills dựa trên hệ thống tệp tin, bạn có thể dùng Git để quản lý phiên bản cho cả thư mục kỹ năng. Nên dùng Semantic Versioning (SemVer) trong trường metadata của YAML frontmatter để theo dõi các thay đổi về logic thực thi.

Tôi nên làm gì nếu agent không kích hoạt đúng kỹ năng tôi muốn? Hãy soi lại trường description trong SKILL.md và dùng cấu trúc WHEN + WHEN NOT để khoanh rõ phạm vi. Bạn cũng có thể hỏi thẳng agent: "Tại sao bạn không dùng kỹ năng X cho yêu cầu này?" để biết nó đang so khớp ngữ nghĩa theo logic nào.

Kích thước tối đa cho một tệp SKILL.md là bao nhiêu? Giới hạn khuyến nghị là dưới 5.000 token (khoảng 500 dòng văn bản). Vượt ngưỡng này, mô hình sẽ bị loãng sự tập trung. Hãy đẩy nội dung chi tiết vào thư mục references/ và để agent nạp khi cần.

Skills có thể gọi lẫn nhau được không? Có. Claude có thể nạp đồng thời nhiều kỹ năng khi yêu cầu của người dùng khớp với nhiều mô tả. Bạn có thể thiết kế các kỹ năng điều phối (orchestration) để dẫn dắt việc dùng những kỹ năng thực thi chuyên sâu khác.

Làm sao để cài kỹ năng từ bên thứ ba an toàn nhất? Luôn soi nội dung thư mục scripts/ để phát hiện các lệnh Bash hoặc Python đáng ngờ. Ưu tiên kỹ năng từ kho chính thức của Anthropic hoặc các đối tác đã được xác thực trên những marketplace uy tín như skills.sh.

Tài liệu tham khảo

Đọc tiếp

Chia sẻ bài viết

X / TwitterFacebookLinkedIn