Tìm kiếm trang web

Cách Viết và Triển Khai Kỹ Năng của Đại Lý


Giới thiệu

Kỹ năng đại lý là các thư mục chứa hướng dẫn, kịch bản và tài nguyên mà Mô hình Ngôn ngữ Lớn (LLM) có thể tải lên khi cần thiết để thực hiện các nhiệm vụ chuyên biệt một cách nhất quán và có thể lặp lại. Chúng được Claude giới thiệu như một khung mở vào năm 2025, và khung này đã ngày càng được các tổ chức và nhà phát triển đại lý khác áp dụng.

Trước đây, khi giao một nhiệm vụ cho LLM, cần phải cung cấp bối cảnh cho quy trình làm việc của LLM một cách thủ công. Với Kỹ năng Agent, bạn có thể tách các tài nguyên và hướng dẫn bổ sung thành các thư mục chỉ có thể truy cập khi LLM xác định là cần thiết.

Ví dụ, nếu bạn muốn LLM của mình tạo các bài thuyết trình PowerPoint, thay vì phải thêm thủ công các hướng dẫn phong cách, hình ảnh đồ họa và mẫu của tổ chức vào prompt mỗi lần, bạn có thể thêm chúng vào một thư mục như một Skill và LLM có thể tự tìm và sử dụng các tài nguyên đó mỗi khi bạn cần tạo bài thuyết trình. Bạn có thể thêm một số lượng lớn các Skills, và LLM có thể tham chiếu chúng như các công cụ.

Trong hướng dẫn này, bạn sẽ tạo một Kỹ năng Tác nhân cho bộ phân tích PDF với các thư mục tùy chọn cho các tài liệu tham khảo và tài sản khác.

Điểm chính

  • Kỹ năng tác nhân là các thư mục chứa một tệp SKILL.md với siêu dữ liệu và hướng dẫn cho phép các LLM tải các khả năng chuyên biệt chỉ khi cần thiết, thay vì yêu cầu mọi ngữ cảnh trong mỗi lệnh nhắc. Claude giới thiệu khung này vào năm 2025, và nó cho phép quy trình làm việc của tác nhân hiệu quả hơn bằng cách tách các tài nguyên thành các mô-đun có thể truy cập độc lập.

  • Để các đại lý sử dụng kỹ năng, họ cần có khả năng khám phá, tải và thực thi chúng. Điều này bao gồm việc phân tích các kỹ năng có sẵn và tìm ra kỹ năng phù hợp nhất cho yêu cầu của người dùng.

  • Kỹ năng của đại lý có khả năng trở thành một tiêu chuẩn quan trọng để thêm khả năng cho các đại lý. Chúng cung cấp nhiều tùy chỉnh và tiềm năng linh hoạt cho các đại lý.

Bước 1 — Tạo Kỹ Năng

Cách triển khai đơn giản nhất của một kỹ năng là một thư mục chứa tệp SKILL.md. Tệp markdown này bao gồm siêu dữ liệu và hướng dẫn cho tác nhân, giải thích cách thực hiện các nhiệm vụ cụ thể. Bạn cũng có thể bao gồm các tài nguyên bổ sung, mẫu, tập lệnh và tài liệu tham khảo trong thư mục.

Folder Structure
your-skill-name/ ├── SKILL.md # Required: instructions + metadata ├── scripts/ # Optional: executable code ├── references/ # Optional: documentation └── assets/ # Optional: templates, resources

Tên thư mục Kỹ năng sẽ là tên của Kỹ năng. Bên trong thư mục sẽ có tệp SKILL.md và bất kỳ tài liệu bổ sung nào bạn muốn bao gồm.

Đầu tiên, tạo một thư mục có tên skills. Thư mục này sẽ chứa tất cả các Kỹ năng mà bạn viết. Bên trong thư mục skills, tạo một thư mục khác có tên pdf-parsing. Thư mục này sẽ chứa tất cả các tệp và tài liệu cho Kỹ năng pdf-parsing của bạn. Bên trong thư mục pdf-parsing, tạo một tệp SKILL.md với nội dung sau.

---
name: pdf-processing
description: Extracts text from PDF files using PyPDF2.
---

# PDF Processing Skill

## When to use this skill
Use this skill when a user needs to extract text from a PDF file.

## How to Use this Skill
This skill provides the `extract_text()` function from the `parse_pdf.py` script. Import it into your agent script:

python
from skills.pdf_parsing.parse_pdf import extract_text

result = extract_text(
    file_path="/path/to/document.pdf",
    pages="all"  # or "1-3" or "1,2,3"
)

### Parameters
- `file_path` (str): Path to the PDF file
- `pages` (str): Pages to extract - "all", "1-3" (range), or "1,2,3" (specific pages)

### Returns
JSON object with:
- `success` (bool): Whether extraction succeeded
- `file_path` (str): Path to the processed file
- `total_pages` (int): Total pages in PDF
- `extracted_pages` (int): Number of pages extracted
- `pages` (list): Array of {page: number, text: string} objects

Alternatively, you can call the script directly from the command line:
command
python skills/pdf-parsing/parse_pdf.py extract_text --file_path /path/to/file.pdf --pages all

name và description là bắt buộc ở đầu tệp markdown trong phần frontmatter để agent có thể phân tích các mô tả. Frontmatter là phần ở đầu tệp markdown chứa các siêu dữ liệu. Agent sẽ sử dụng các trường này từ mỗi Kỹ năng để xác định Kỹ năng nào phù hợp nhất cho một yêu cầu. Bạn có thể bao gồm các trường tùy chọn trong frontmatter như license, compatibility, metadata và allowed-tools. Đối với các luồng công việc agent tùy chỉnh, bạn có thể thêm bất kỳ trường nào bạn muốn. Agent sẽ bao gồm phần frontmatter từ mỗi kỹ năng cùng với yêu cầu của người dùng để xác định Kỹ năng nào phù hợp.

Đối với phần còn lại của nội dung markdown, không có yêu cầu cụ thể nào cho các hướng dẫn. Hãy cố gắng tuân theo các thực hành tốt nhất về lời nhắc và giữ cho các hướng dẫn rõ ràng để LLM có thể thực hiện theo. Phần còn lại của nội dung sẽ được truy vấn sau khi tác nhân đã xác định kỹ năng nào sẽ sử dụng.

Sau đó, bạn có thể sử dụng script phân tích PDF miễn phí này hoặc tạo một tệp parse_pdf.py với hàm extract_text() có chức năng phân tích PDF. Hãy đảm bảo rằng bạn cài đặt mọi phụ thuộc mỗi khi thêm một Kỹ năng. Đối với script được liên kết, bạn sẽ cần PyPDF2.

pip3 install PyPDF2

Điều này sẽ cài đặt gói Python PyPDF2.

Bước 2 — Tích hợp Kỹ năng

Để một tác vụ có thể được sử dụng bởi một đại lý, đại lý đó cần thực hiện một số bước nhất định. Nó cần phải phát hiện các tác vụ trong tất cả các thư mục có tệp SKILL.md, tải metadata (tên và mô tả) của từng tệp markdown khi khởi động, đối chiếu yêu cầu của người dùng với các tác vụ liên quan, kích hoạt các tác vụ bằng cách tải đầy đủ hướng dẫn từ tệp markdown, và thực hiện tác vụ bằng cách tải các tệp được tham chiếu, theo dõi các hướng dẫn, và chạy mã khi cần thiết.

Một số đại lý, như Claude Code và Codex, tự động tích hợp Kỹ năng vào quy trình làm việc của họ, và ngày càng có nhiều nhà cung cấp đại lý đang tích hợp các bước này vào quy trình làm việc của các đại lý.

Nếu bạn muốn tích hợp kỹ năng của mình vào tác nhân tuỳ chỉnh riêng, có hai cách chính để làm điều đó. Bạn có thể sử dụng mẫu dựa trên hệ thống tệp hoặc mẫu dựa trên công cụ. Với mẫu dựa trên hệ thống tệp, quy trình làm việc của LLM hoạt động trong môi trường máy tính và xuất các lệnh shell như cat /path/to/my-skill/skill.md để thực thi. Ngoài ra, phương pháp dựa trên công cụ sẽ biến các Kỹ năng thành các công cụ mà LLM có thể gọi.

Xây dựng một tác nhân có khả năng sử dụng kỹ năng từ đầu nằm ngoài phạm vi của hướng dẫn này, nhưng bạn có thể sử dụng tập lệnh tác nhân này. Tập lệnh sử dụng Llama 3.3 70B thông qua công cụ Serverless Inference của Nền tảng AI Gradient Linux-Console.net. Bạn sẽ cần có khóa truy cập mô hình để sử dụng Serverless Inference trên Nền tảng AI Gradient Linux-Console.net. Thêm khóa truy cập mô hình của bạn vào hàm main() trong tập lệnh.

Khi bạn đã có tập lệnh trong cùng thư mục với thư mục skills của mình, hãy chạy tập lệnh đó.

python3 agent_example.py

Trong hộp văn bản mà nó mở cho bạn, hãy nhập: Vui lòng phân tích văn bản từ PDF tại /path/to/your/document.pdf. Bạn sẽ thấy một kết quả với văn bản đã được phân tích từ PDF.

============================================================
SIMPLE TOOL-BASED SKILLS EXAMPLE
============================================================

✅ Found 1 skills:
   - pdf-processing: Extracts text from PDF files using PyPDF2.

============================================================
CHAT (type 'quit' to exit)
============================================================

You: Please extract the text from: /Desktop/document.pdf

[Turn 1]
💭 LLM: {"function_call": {"name": "activate_skill", "arguments": {"skill_name": "pdf-processing"}}}
..........
The cost of an RV is 30,000

Tác nhân đã tìm thấy Kỹ năng thành công, trích xuất dữ liệu meta, thực hiện Kỹ năng và trả về văn bản từ tệp PDF.

Bước 3 — Thêm Chức Năng và Kỹ Năng

Thêm bất kỳ script hoặc thư mục nào khác mà bạn muốn LLM có quyền truy cập. Sau đó, thêm hướng dẫn và mô tả chức năng cho từng thư mục và script vào tệp SKILL.md. Ví dụ, bạn có thể thêm các script có khả năng tạo hoặc chỉnh sửa PDF. Hãy đảm bảo bạn thêm các tệp bổ sung này vào thư mục của kỹ năng cụ thể mà bạn muốn chúng được liên kết.

Bạn có thể thêm bao nhiêu Kỹ năng tùy thích, nhưng mỗi thư mục Kỹ năng phải có một tệp SKILL.md trong thư mục thì mới được tác nhân nhận diện. Hơn nữa, việc một tác nhân khớp ý định của người dùng với siêu dữ liệu của nhiều Kỹ năng có thể gặp khó khăn, vì vậy khi số lượng Kỹ năng tăng lên, có thể cần phải thêm chức năng tìm kiếm bổ sung hoặc sử dụng vector embeddings để khớp yêu cầu của người dùng với Kỹ năng đúng.

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

Kỹ năng có thể giao tiếp với nhau hoặc gọi các kỹ năng khác không, và làm thế nào để bạn thực hiện việc xâu chuỗi kỹ năng?

Đúng, các Kỹ năng có thể gọi các Kỹ năng khác. Đại lý nên có khả năng nhận biết khi cần nhiều Kỹ năng và kết nối chúng với nhau. Cũng có thể tham chiếu các Kỹ năng khác trong hướng dẫn kỹ năng.

Làm thế nào để tôi xử lý xác thực và khóa API trong Skills khi chúng cần truy cập các dịch vụ bên ngoài?

Không bao giờ mã hóa cứng thông tin đăng nhập trong các tập tin kỹ năng. Hãy sử dụng biến môi trường hoặc một trình quản lý bí mật an toàn.

Việc tải nhiều Kỹ năng khi khởi động có ảnh hưởng hiệu suất như thế nào, và có các chiến lược tải chậm nào khả dụng không?

Việc tải metadata cho hàng trăm Kỹ năng có thể chậm. Hãy cân nhắc lưu trữ tạm thời các Kỹ năng đã tải và sử dụng chỉ mục để tìm kiếm nhanh hơn trên nhiều Kỹ năng. Bạn có thể tách các bước khám phá và kích hoạt để chỉ tải metadata cho đến khi cần sử dụng đầy đủ kỹ năng.

Làm thế nào để tôi kiểm tra và gỡ lỗi Kỹ năng?

Hãy chắc chắn kiểm tra từng Kỹ năng riêng lẻ trước khi tích hợp chúng, và thêm ghi nhật ký chi tiết vào các Kỹ năng của bạn để xem Kỹ năng nào đang được chọn và lý do tại sao.

Kết luận

Kỹ năng của tác nhân là một cách tuyệt vời để chuẩn hóa chức năng của tác nhân LLM. Chúng cho phép người dùng thêm vào và cải thiện các khả năng của tác nhân một cách có cấu trúc. Cách bạn triển khai chúng phụ thuộc vào quy trình làm việc cụ thể của tác nhân của bạn, nhưng số lượng dịch vụ tác nhân có thể sử dụng Kỹ năng ngay lập tức đang tăng lên, với Claude Code, Codex và VSCode chỉ là một vài trong số các nhà cung cấp tác nhân đã áp dụng tiêu chuẩn này.

Tiếp theo, thêm nhiều Kỹ năng hơn và điều chỉnh chúng với các chức năng bổ sung phù hợp cho dự án của bạn. Sau đó, cải thiện khả năng khớp kỹ năng của quy trình làm việc đại lý của bạn thông qua nhúng vector hoặc các chức năng tìm kiếm khác.

Cảm ơn bạn đã học cùng cộng đồng Linux-Console.net.