AI & AUTOMATION

Agent Skills: Tiêu chuẩn mở để chuẩn hóa năng lực AI Agent trong hệ sinh thái đa nền tảng

Tóm tắt nhanh

  • Agent Skills là một định dạng mở (open format) do Anthropic phát triển và hiện được duy trì như một tiêu chuẩn cộng đồng tại github.com/agentskills/agentskills.
  • Một Skill là một thư mục chứa tệp SKILL.md với siêu dữ liệu YAML và hướng dẫn Markdown, cùng các tài nguyên tùy chọn như script, tài liệu tham khảo và tài sản tĩnh.
  • Khác với Tool (hành động tất định) hay MCP (giao thức kết nối), một Skill cung cấp kiến thức thủ tục (procedural knowledge) ở tầng trừu tượng cao hơn, cho phép Agent điều phối nhiều lần gọi công cụ trong một quy trình nhất quán.
  • Cơ chế “progressive disclosure” giúp kiểm soát chi phí token: siêu dữ liệu (~100 token) được tải lúc khởi động, phần thân hướng dẫn chỉ tải khi kích hoạt Skill, tài nguyên bổ sung chỉ tải khi thực sự cần thiết.
  • Khả năng tương tác (interoperability): một Skill được viết một lần có thể triển khai trên hơn 30 sản phẩm Agent khác nhau, bao gồm Claude Code, VS Code Copilot, GitHub Copilot, OpenAI Codex, Cursor và Gemini CLI.

Khi các mô hình ngôn ngữ lớn (LLM) ngày càng được tích hợp vào các quy trình làm việc thực tế, một vấn đề cốt lõi nổi lên: Agent có thể lập luận tốt, nhưng thường thiếu ngữ cảnh cần thiết để hoàn thành công việc một cách đáng tin cậy. Chẳng hạn, một Agent SRE không tự nhiên biết cách tuân theo quy trình phản ứng sự cố của công ty, không nắm được chính sách leo thang (escalation policy), và không biết cách liên lạc kỹ sư trực vào lúc 3 giờ sáng.

Trước đây, các nhóm phát triển thường giải quyết vấn đề này bằng cách nhồi nhét hướng dẫn vào system prompt, xây dựng các tool tùy biến, hoặc sử dụng RAG (Retrieval-Augmented Generation). Những cách tiếp cận này hoạt động nhưng không thể tái sử dụng: kiến thức bị gắn chặt vào một Agent duy nhất, không thể chuyển giao sang sản phẩm khác, không được kiểm soát phiên bản, và không có cấu trúc đủ nhất quán để cộng đồng đóng góp.

Agent Skills giải quyết vấn đề đó bằng một định dạng đơn giản, di động và nhất quán: một thư mục chứa hướng dẫn, script và tài nguyên mà Agent có thể khám phá và tải theo yêu cầu. Phương châm của dự án là “viết một lần, dùng mọi nơi” (write once, use everywhere).

Kiến trúc của AGENT SKILLS

Cấu trúc thư mục của một Skill

Về mặt kỹ thuật, một Skill là một thư mục trên hệ thống tệp (hoặc trên bất kỳ backend lưu trữ nào) có cấu trúc tối thiểu như sau:

skill-name/
    SKILL.md          # Bắt buộc: siêu dữ liệu + hướng dẫn
    scripts/          # Tùy chọn: mã thực thi (Python, Bash, JS)
    references/       # Tùy chọn: tài liệu kỹ thuật bổ sung
    assets/           # Tùy chọn: template, schema, dữ liệu tĩnh

Tên thư mục phải khớp với trường name trong tệp SKILL.md. Quy ước đặt tên yêu cầu chỉ sử dụng chữ thường, số và dấu gạch ngang, không bắt đầu hoặc kết thúc bằng dấu gạch ngang, không chứa hai dấu gạch ngang liền tiếp.

Định dạng tệp SKILL.md

Tệp SKILL.md là thành phần duy nhất bắt buộc trong một Skill. Tệp này gồm hai phần rõ ràng:

Phần frontmatter (YAML): Chứa meta data giúp Agent nhận diện khi nào nên kích hoạt Skill.

---
name: code-review
description: >
  Hướng dẫn quy trình review code theo tiêu chuẩn kỹ thuật của nhóm, bao gồm kiểm tra bảo mật, hiệu năng và khả năng bảo trì. Sử dụng khi được yêu cầu đánh giá pull request hoặc đoạn code bất kỳ.
license: Apache-2.0
compatibility: "Python 3.10+, Node.js 18+. Yêu cầu truy cập mạng."
metadata:
  version: "1.0"
  author: "platform-team"
---

Trường namedescription là bắt buộc. Trường description đặc biệt quan trọng vì Agent dùng chính nội dung này để quyết định có kích hoạt Skill hay không, vì vậy nên đưa vào các từ khóa cụ thể mô tả nhiệm vụ.

Phần thân (Markdown): Chứa hướng dẫn thủ tục dành cho Agent, không có ràng buộc định dạng cứng. Theo khuyến nghị, phần thân nên bao gồm hướng dẫn từng bước, ví dụ đầu vào/đầu ra và các trường hợp ngoại lệ thường gặp. Độ dài lý tưởng dưới 500 dòng; nội dung chi tiết hơn nên được đặt trong thư mục references/ và tham chiếu bằng đường dẫn tương đối.

Cơ chế progressive disclosure

Đây là thiết kế cốt lõi giúp Agent Skills tối ưu hóa việc sử dụng cửa sổ ngữ cảnh (context window). Quá trình hoạt động theo ba giai đoạn:

  1. Khám phá (Discovery): Lúc khởi động, Agent chỉ tải trường namedescription của mọi Skill hiện có, tiêu tốn khoảng 100 token mỗi Skill.
  2. Kích hoạt (Activation): Khi nhiệm vụ của người dùng khớp với mô tả của một Skill, Agent đọc toàn bộ nội dung SKILL.md vào ngữ cảnh.
  3. Thực thi (Execution): Agent tuân theo hướng dẫn trong Skill, tải các tệp trong scripts/ hoặc references/ chỉ khi thực sự cần thiết trong quá trình giải quyết nhiệm vụ.

So sánh: Skill, Tool và MCP

Để hiểu đúng vị trí của Agent Skills trong kiến trúc AI Agent hiện đại, cần phân biệt ba khái niệm thường bị nhầm lẫn:

Một Tool (công cụ) là hành động tất định: gọi với đầu vào xác định, nhận đầu ra có cấu trúc. Tool là cơ chế thực thi. Ngược lại, một Skill là tập hướng dẫn mà LLM diễn giải để biết cần làm gì, theo trình tự nào, và kiểm tra điều gì. Skill mô tả cách thực hiện, không trực tiếp thực hiện.

Model Context Protocol (MCP) hoạt động như tầng kết nối: nó định nghĩa cách Agent giao tiếp với các hệ thống bên ngoài qua JSON-RPC 2.0 để truy cập tài nguyên và công cụ. Nếu MCP là “nhà bếp chuyên nghiệp với đầy đủ thiết bị và nguyên liệu”, thì Agent Skills là “công thức nấu ăn” — chỉ dẫn chính xác cách biến những nguyên liệu đó thành một sản phẩm hoàn chỉnh. Trong thực tế, ba cơ chế này hoạt động bổ trợ lẫn nhau: system prompt cho hành vi nền, Agent Skills cho kiến thức thủ tục, MCP cho kết nối hệ thống ngoài, và function calling cho thực thi hành động cuối.

Hướng dẫn cài đặt và thiết lập môi trường

Xác thực Skill bằng reference library

Repository chính thức tại github.com/agentskills/agentskills cung cấp thư viện tham chiếu skills-ref để xác thực cấu trúc Skill trước khi triển khai:

# Sao chép repository
git clone https://github.com/agentskills/agentskills.git
cd agentskills

# Cài đặt công cụ xác thực
pip install -e ./skills-ref

# Xác thực một Skill
skills-ref validate ./my-skill

Lệnh này kiểm tra toàn bộ frontmatter của SKILL.md và đảm bảo tuân thủ các quy tắc đặt tên. Bước xác thực nên được tích hợp vào CI/CD pipeline để đảm bảo chất lượng khi đóng góp Skill vào kho cộng đồng.

Cài đặt Agent Skills SDK

Để tích hợp Agent Skills vào Agent tùy biến, Agent Skills SDK (Python) cung cấp một bộ gói nhỏ, có thể kết hợp linh hoạt:

# Gói cốt lõi: đăng ký, xác thực, danh mục Skill
pip install agentskills-core

# Provider cho hệ thống tệp cục bộ
pip install agentskills-fs

# Tích hợp với LangChain
pip install agentskills-langchain

# Hoặc tích hợp với Microsoft Agent Framework
pip install agentskills-agentframework

# Tùy chọn: khởi tạo MCP server từ Skill registry
pip install agentskills-mcp-server

SDK được thiết kế theo nguyên tắc tách biệt provider (nguồn dữ liệu) khỏi integration (tích hợp framework), cho phép thay đổi backend lưu trữ (từ filesystem sang S3, Azure Blob Storage, hay cơ sở dữ liệu tùy chỉnh) mà không ảnh hưởng đến logic của Agent.

Hướng dẫn sử dụng: Tạo và triển khai một Skill

Ví dụ: Tạo Skill code-review

Khởi tạo cấu trúc thư mục:

code-review/
    SKILL.md
    scripts/
        lint_check.py
    references/
        style-guide.md
    assets/
        pr-template.md

Nội dung tệp SKILL.md:

---
name: code-review
description: >
  Thực hiện đánh giá code theo quy trình nội bộ của nhóm, kiểm tra bảo mật, khả năng bảo trì và tuân thủ style guide. Kích hoạt khi người dùng yêu cầu review pull request hoặc đoạn code cụ thể.
license: Apache-2.0
metadata:
  version: "1.0"
---

# Quy trình đánh giá code

## Các bước thực hiện

1. Đọc toàn bộ đoạn code hoặc diff được cung cấp.
2. Chạy script kiểm tra lint: `scripts/lint_check.py`.
3. Đối chiếu với style guide trong `references/style-guide.md`.
4. Kiểm tra các vấn đề bảo mật phổ biến (SQL injection, XSS, hardcoded
   secrets).
5. Đưa ra nhận xét theo mẫu trong `assets/pr-template.md`.

## Ví dụ đầu ra

**Mức độ:** Cần sửa
**Vấn đề:** Biến `api_key` được hardcode tại dòng 42.
**Đề xuất:** Chuyển sang biến môi trường hoặc secrets manager.

Đăng ký Skill và tích hợp với Agent

Sau khi Skill được tạo, đăng ký vào Agent thông qua SDK:

import asyncio
from pathlib import Path
from agentskills_core import SkillRegistry
from agentskills_fs import LocalFileSystemSkillProvider
from agentskills_langchain import get_tools, get_tools_usage_instructions

async def build_agent():
    # Đăng ký Skill từ thư mục cục bộ
    provider = LocalFileSystemSkillProvider(Path("./my-skills"))
    registry = SkillRegistry()
    await registry.register("code-review", provider)

    # Tạo catalog và công cụ cho Agent
    tools = get_tools(registry)
    skills_catalog = await registry.get_skills_catalog(format="xml")
    tool_instructions = get_tools_usage_instructions()

    system_prompt = (
        "Bạn là trợ lý kỹ thuật của nhóm phát triển. "
        "Sử dụng các Skill có sẵn để thực hiện đánh giá code, "
        "xử lý sự cố và hỗ trợ quy trình CI/CD.\n\n"
        f"{skills_catalog}\n\n{tool_instructions}"
    )

    # Tích hợp vào LangChain agent
    agent = create_agent(llm, tools, system_prompt=system_prompt)
    return agent

Khi người dùng gửi yêu cầu “Hãy review đoạn code này cho tôi”, Agent tự động khớp với Skill code-review thông qua mô tả, gọi get_skill_body để đọc hướng dẫn, sau đó tải references/style-guide.md chỉ khi cần đối chiếu chi tiết.

Lợi ích chiến lược khi áp dụng Agent Skills

Khả năng tương tác (interoperability) thực sự. Một Skill được soạn thảo tuân theo đặc tả có thể triển khai ngay trên hơn 30 sản phẩm Agent đã hỗ trợ tiêu chuẩn này, bao gồm Claude Code, GitHub Copilot, OpenAI Codex, Cursor và Gemini CLI. Không cần viết lại logic cho từng nền tảng.

Quản lý kiến thức tổ chức theo hướng kỹ thuật. Skills là các gói có thể kiểm soát phiên bản (version-controlled), nghĩa là quy trình vận hành nội bộ, chính sách leo thang, hay pipeline phân tích dữ liệu đặc thù của doanh nghiệp có thể được quản lý như source code: có lịch sử thay đổi, có review, có rollback.

Tối ưu hóa cửa sổ ngữ cảnh. Nhờ cơ chế progressive disclosure, một bộ Skills phong phú không làm căng phồng system prompt. Agent chỉ tiêu tốn ngữ cảnh khi nhiệm vụ thực sự đòi hỏi kiến thức từ Skill đó.

Hệ sinh thái mở rộng liên tục. Là tiêu chuẩn nguồn mở được cấp phép Apache 2.0, Agent Skills thu hút đóng góp từ cộng đồng. Các kho Skill cộng đồng như github.com/anthropics/skills và registry trung tâm tại skills.sh cung cấp hàng chục Skill sẵn dùng cho nhiều lĩnh vực từ phân tích tài chính đến quy trình pháp lý.


Agent Skills đặt ra một câu hỏi thực tế và trả lời nó bằng một đặc tả thanh lịch: làm thế nào để kiến thức thủ tục, vốn thường bị phân tán trong system prompt hoặc triển khai tool tùy biến, có thể trở thành những đơn vị di động, có thể tái sử dụng và kiểm soát phiên bản?

Câu trả lời là một thư mục, một tệp SKILL.md, và một tiêu chuẩn mở được thiết kế để hoạt động trên toàn bộ hệ sinh thái AI Agent đang phát triển nhanh chóng. Đối với các nhà phát triển muốn xây dựng Agent đáng tin cậy ở quy mô tổ chức, Agent Skills không chỉ là một công cụ tiện ích, mà là bước đi đầu tiên về phía một kiến trúc AI Agent có thể bảo trì và mở rộng lâu dài.

Duy Nghiện
Hãy làm khán giả, đừng làm nhân vật chính :)

You may also like

Nhận thông báo qua email
Nhận thông báo cho
guest

0 Bình luận
Mới nhất
Cũ nhất Nhiều like nhất
Phản hồi nội tuyến
Xem tất cả bình luận