Harness Academy
Tài liệu gốc 26 7 phútTiếng Việt + English
docs/skills.mdXem bản gốc
Ngôn ngữ bài đọc
Bản dịch tiếng Việt

Bản dịch đầy đủ theo đúng cấu trúc tài liệu; code, liên kết và định danh kỹ thuật được giữ nguyên.

Kỹ năng

Sử dụng Kỹ năng agent để cung cấp cho một agent hướng dẫn chuyên biệt mà không đưa mọi hướng dẫn vào ban đầu nhắc nhở.

điểm Skills tại một hoặc nhiều thư viện kỹ năng. model lần đầu tiên nhìn thấy từng tên và mô tả của kỹ năng. Khi một kỹ năng hữu ích, mô hình có thể gọi AI của Pydantic load_capability công cụ để nhận hướng dẫn của kỹ năng đó.

Nguồn

Mặc dù Pydantic AI Harness có trên các bản phát hành 0.x nhưng API có thể thay đổi giữa các bản phát hành nhỏ; khi đó, cảnh báo ngừng sử dụng và hướng dẫn di chuyển ghi chú phát hành sẽ cho bạn (hoặc người đại diện của bạn) biết chính xác cách nâng cấp. Xem chính sách phiên bản.

Cài đặt

Cài đặt skills bổ sung cho hỗ trợ tiền tuyến YAML:

uv add "pydantic-ai-harness[skills]"

Bắt đầu nhanh

Tạo thư viện kỹ năng:

.agents/skills/
  code-review/
    SKILL.md

Thêm mô tả và hướng dẫn của kỹ năng:

---
name: code-review
description: Review a change for correctness and repository conventions.
---

Inspect the change and report findings by severity.

Sau đó thêm thư viện vào agent của bạn:

from pydantic_ai import Agent
from pydantic_ai_harness import Skills

agent = Agent(
    'anthropic:claude-sonnet-4-6',
    capabilities=[Skills('.agents/skills')],
)

Skills không tìm kiếm .agents, .claude, hoặc thư mục chính của bạn tự động. Vượt qua từng thư viện bạn muốn nó tải.

!!! ghi chú Skills tải hướng dẫn từ SKILL.md. Nó không tải gói tài nguyên hoặc chạy các tập lệnh.

Nó hoạt động như thế nào

Khi nào Skills(...) được xây dựng, nó:

  1. Quét các thư mục con trực tiếp của từng thư viện được cấu hình.
  2. Xác thực lựa chọn SKILL.md tập tin.
  3. Tạo một khả năng AI Pydantic trì hoãn cho mỗi kỹ năng đã chọn.

Mô hình ban đầu chỉ nhìn thấy tên và mô tả kỹ năng. Đang tải một kỹ năng thêm hướng dẫn vào đầu # Skill: <name>, theo sau là phần thân Markdown của nó, để việc chạy qua giống nhau load_capability chảy như những thứ khác khả năng theo yêu cầu.

Khám phá xảy ra một lần khi xây dựng. Các hướng dẫn danh mục và phân tích cú pháp là một ảnh chụp nhanh. Xây dựng một cái mới Skills dụ để quét lại các thư viện.

Chọn kỹ năng nào để bộc lộ

Theo mặc định, tất cả các kỹ năng được phát hiện đều được bao gồm. sử dụng include hoặc exclude để thay đổi danh mục cho một agent cụ thể:

from pydantic_ai_harness import Skills

review_skills = Skills(
    '.agents/skills',
    include=['code-review'],
)

release_skills = Skills(
    '.agents/skills',
    exclude=['code-review'],
)
Cấu hìnhKỹ năng trong danh mục
Không có lựa chọn nàoTất cả các kỹ năng được khám phá
include=['a', 'b']Chỉ a và b
include=[]Không có kỹ năng
exclude=['a', 'b']Tất cả ngoại trừ a và b
exclude=[]Tất cả các kỹ năng được khám phá

include và exclude không thể sử dụng cùng nhau. Quá tải hàm khởi tạo điều này trong mã đã nhập và xác thực runtime bao gồm các thông số kỹ thuật của agent và các thông số chưa được nhập người gọi. Những cái tên không xác định cũng thất bại trong quá trình xây dựng.

Việc lựa chọn xảy ra trước khi frontmatter được phân tích cú pháp. Một kỹ năng không được chọn sẽ không thêm hướng dẫn hoặc lỗi xác thực frontmatter cho điều đó Skills ví dụ.

Các tùy chọn này kiểm soát việc hiển thị danh mục. Chúng không phải là quyền của hệ thống tập tin hoặc ranh giới kiểm soát truy cập.

Skills đọc các đường dẫn được cấu hình thông qua hệ thống tập tin tiến trình. Đường dẫn tương đối giải quyết từ thư mục làm việc của quy trình. Đường dẫn thư mục chọn nơi bắt đầu khám phá; chúng không tạo ra ranh giới ngăn chặn và bình thường áp dụng độ phân giải liên kết tượng trưng của hệ thống tập tin. Điều hành agent một cách thích hợp môi trường bị hạn chế nếu cần phải ngăn chặn hệ thống tập tin.

Một lựa chọn SKILL.md phần thân trở thành hướng dẫn mẫu. Chỉ tải thư viện từ các nguồn bạn tin cậy và xem xét các kỹ năng do repository cung cấp trước khi tiết lộ chúng.

dạng kỹ năng

Mỗi thư mục con trực tiếp chứa SKILL.md là một kỹ năng:

.agents/skills/
  code-review/
    SKILL.md
  release-notes/
    SKILL.md

Trình tải sử dụng những phần này của SKILL.md:

PhầnYêu cầu
nameKhông bắt buộc. Mặc định là tên thư mục mẹ. Nếu được cung cấp, nó phải khớp với thư mục sau khi chuẩn hóa Unicode.
descriptionBắt buộc và không trống. Giới hạn Kỹ năng của agent là 1.024 ký tự; tải mô tả dài hơn kèm theo cảnh báo. Điều này xuất hiện trong danh mục ban đầu.
Cơ thể đánh dấuKhông bắt buộc. Cái này được tải dưới một cái được tạo # Skill: <name> tiêu đề.

Tên kỹ năng và include hoặc exclude các giá trị được chuẩn hóa bằng Unicode NFKC trước khi khớp. Một tên chuẩn hóa có thể chứa tối đa 64 chữ thường Unicode chữ cái hoặc số cách nhau bằng dấu gạch ngang. Nó không thể bắt đầu hoặc kết thúc bằng một gạch nối.

Chỉ những đứa trẻ ngay lập tức được phát hiện. Ví dụ, code-review/references/SKILL.md không tạo ra một kỹ năng khác. Tập tin thông thường và thư mục con không có SKILL.md bị bỏ qua.

Bạn có thể vượt qua một số thư viện:

from pydantic_ai_harness import Skills

skills = Skills([
    '.agents/skills',
    'company/skills',
])

Tên kỹ năng được chọn phải là duy nhất trên các thư viện đó. Tài liệu tham khảo lặp đi lặp lại vào cùng một thư viện đã được giải quyết sẽ được quét một lần.

Các tập tin được gói không được tải

Các gói Kỹ năng agent có thể chứa các thư mục như references/, assets/, và scripts/. Skills không liệt kê, đọc hoặc thực thi các tệp đó.

Đường dẫn tương đối và phần giữ chỗ như ${CLAUDE_SKILL_DIR} vẫn không thay đổi trong các hướng dẫn được tải. Skills không cung cấp đường dẫn hiển thị cho mô hình giải quyết chúng.

Skills cũng không suy ra quyền truy cập từ mô hình FileSystem hoặc Shell khả năng. Việc thêm một trong hai khả năng không thay đổi tệp nào Skills đọc.

Khả năng tương thích với các thư viện kỹ năng hiện có

di động name, descriptionvà hướng dẫn Markdown được hỗ trợ. name có thể được bỏ qua và lấy từ thư mục.

Các trường hành vi sau đây được chấp nhận về tính tương thích, nhưng chúng hành vi không được thực hiện:

agent, allowed-tools, argument-hint, arguments, context, dependencies,
disable-model-invocation, disallowed-tools, effort, hooks, model, paths, shell,
tools, user-invocable, when_to_use

Nếu một kỹ năng đã chọn sử dụng bất kỳ trường nào trong số này, việc xây dựng sẽ phát ra một trường tổng hợp UserWarning. Các lĩnh vực như license, compatibilityvà metadata là được chấp nhận mà không thay đổi hành vi runtime. Các trường không xác định, không có hành vi khác cũng được chấp nhận.

Sử dụng thông số agent

Skills hoạt động với thông số agent YAML và JSON của Pydantic AI:

model: anthropic:claude-sonnet-4-6
capabilities:
  - Skills:
      directories: .agents/skills
      include:
        - code-review
        - release-notes

Đăng ký Skills khi tải thông số kỹ thuật:

from pydantic_ai import Agent
from pydantic_ai_harness import Skills

agent = Agent.from_file('agent.yaml', custom_capability_types=[Skills])

các skills cài đặt thêm PyYAML. Nó phân tích cú pháp SKILL.md vấn đề phía trước và YAML thông số agent.

Xác định khả năng trong Python

Sử dụng lõi của Pydantic AI Capability khi hướng dẫn hoặc công cụ của bạn được xác định bằng Python thay vì SKILL.md gói:

from pydantic_ai.capabilities import Capability

refunds = Capability(
    id='refunds',
    description='Use for refund policy questions.',
    instructions='Check the refund policy before answering.',
    defer_loading=True,
)

Skills tải các gói Kỹ năng agent di động. Nó không thay thế API cốt lõi cho các khả năng được xác định bằng mã.

Cấu hình

Skills(
    directories: str | Path | Sequence[str | Path],
    *,
    include: Collection[str] | None = None,
    exclude: Collection[str] | None = None,
)
  • directories chấp nhận một đường dẫn thư viện hoặc một chuỗi đường dẫn.
  • include chỉ bộc lộ các kỹ năng được đặt tên.
  • exclude bỏ qua các kỹ năng được đặt tên từ danh mục.

Vượt qua ít nhất một thư mục thư viện, không phải đường dẫn của một kỹ năng riêng lẻ gói. Giao diện người dùng không đúng định dạng, tên không hợp lệ hoặc không khớp, đã chọn trùng lặp tên, lựa chọn không xác định, thư viện bị thiếu và đường dẫn thư viện không có thư mục thất bại trong quá trình thi công.

Mọi kỹ năng được chọn đều bị trì hoãn. Đây là một phần của Skills hành vi và là không thể cấu hình được.

Đọc thêm

Tham chiếu API

::: pydantic_ai_harness.skills.Skills

Mục lục nguồn