Series phỏng vấn AI 7: Cách định nghĩa một Skill đúng chuẩn
I. Khái niệm cốt lõi của Skill
Skill là một đơn vị khả năng thực thi được đóng gói trong Agent (Tác tử) hoặc Hệ thống AI. Nó thường bao gồm:
- Điều kiện kích hoạt: Khi nào được gọi (ví dụ: lệnh người dùng, sự kiện hệ thống).
- Tham số đầu vào: Dữ liệu hoặc ngữ cảnh cần nhận.
- Logic thực thi: Các bước xử lý cụ thể (ví dụ: gọi API, chạy mã, truy vấn cơ sở tri thức).
- Kết quả đầu ra: Phản hồi hoặc hành động trả về cho người gọi.
II. Các bước định nghĩa Skill chuẩn mực
1. Xác định rõ tên và mô tả của Skill
- Tên: Ngắn gọn, duy nhất, có ngữ nghĩa (ví dụ:
search_web,send_email). - Mô tả: Giải thích chức năng của Skill trong một câu, để Agent có thể tự động khớp.
2. Định nghĩa tham số đầu vào (Input Schema)
Sử dụng JSON Schema hoặc định dạng tương tự, xác định rõ kiểu của từng tham số, có bắt buộc không, giá trị mặc định và ràng buộc.
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "搜索关键词",
"required": true
},
"max_results": {
"type": "integer",
"description": "最大返回结果数",
"default": 10
}
}
}
3. Viết logic thực thi (Execution Logic)
- Logic xác định: Gọi trực tiếp hàm, API hoặc cơ sở dữ liệu.
- Logic không xác định: Sử dụng LLM để tạo phản hồi (cần cung cấp mẫu prompt).
- Xử lý lỗi: Định nghĩa chiến lược timeout, retry, degrade.
4. Định nghĩa định dạng đầu ra (Output Schema)
Cũng sử dụng JSON Schema để mô tả cấu trúc dữ liệu trả về.
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": { "type": "string" },
"url": { "type": "string", "format": "uri" }
}
}
}
}
}
5. Đính kèm siêu dữ liệu (Metadata)
- Số phiên bản: Dễ dàng quản lý phiên bản.
- Tác giả/Người bảo trì: Xác định trách nhiệm.
- Phụ thuộc: Dịch vụ hoặc thư viện bên ngoài cần thiết.
- Giới hạn sử dụng: Ví dụ giới hạn tần suất, yêu cầu quyền.
III. Ví dụ: Một định nghĩa Skill hoàn chỉnh
name: "weather_query"
description: "根据城市名称查询当前天气"
version: "1.0.0"
author: "AI Team"
input:
type: object
properties:
city:
type: string
description: "城市名称,如 '北京'"
required: true
unit:
type: string
enum: ["celsius", "fahrenheit"]
default: "celsius"
execute:
- step: "调用天气 API"
api: "https://api.weather.com/v1/current"
method: "GET"
params:
city: "{input.city}"
unit: "{input.unit}"
- step: "格式化结果"
format: "当前 {city} 的温度为 {temperature}°{unit}"
output:
type: object
properties:
temperature:
type: number
condition:
type: string
humidity:
type: number
IV. Thực tiễn tốt nhất
- Trách nhiệm đơn lẻ: Mỗi Skill chỉ làm một việc, tránh ghép nối quá nhiều.
- Tự chứa: Cố gắng không phụ thuộc vào trạng thái toàn cục bên ngoài, đầu vào là đầu ra.
- Có thể kiểm thử: Cung cấp dữ liệu giả hoặc môi trường sandbox để kiểm thử đơn vị.
- Tài liệu hóa: Viết hướng dẫn sử dụng và ví dụ cho mỗi Skill.
Skill được định nghĩa theo các phương pháp trên có thể được AI Agent điều phối động, cũng như được nhà phát triển tích hợp trực tiếp vào hệ thống, đạt hiệu quả tái sử dụng 'viết một lần, dùng mọi nơi'.
评论
暂无已展示的评论。
发表评论(匿名)