Sèrie d'entrevistes AI 7: Com definir una Skill de manera estàndard
1. Concepte central de Skill
Una Skill és una unitat de capacitat executable encapsulada dins d'un Agent o sistema d'IA. Normalment inclou:
- Condició de dispar: Quan es crida (p. ex., instrucció d'usuari, esdeveniment del sistema).
- Paràmetres d'entrada: Dades o context que cal rebre.
- Lògica d'execució: Passos de processament concrets (p. ex., cridar una API, executar codi, consultar una base de coneixement).
- Resultat de sortida: Resposta o acció retornada al qui crida.
2. Passos per definir una Skill de manera estàndard
1. Especificar el nom i la descripció de la Skill
- Nom: Curt, únic, semàntic (p. ex.,
search_web,send_email). - Descripció: Una frase que expliqui la funció de la Skill, per facilitar la coincidència automàtica per part de l'Agent.
2. Definir l'esquema d'entrada (Input Schema)
Utilitzeu JSON Schema o un format similar, especificant el tipus de cada paràmetre, si és obligatori, el valor per defecte i les restriccions.
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Paraula clau de cerca",
"required": true
},
"max_results": {
"type": "integer",
"description": "Nombre màxim de resultats retornats",
"default": 10
}
}
}
3. Escriure la lògica d'execució (Execution Logic)
- Lògica determinista: Cridar directament funcions, API o bases de dades.
- Lògica no determinista: Utilitzar un LLM per generar respostes (cal proporcionar una plantilla de prompt).
- Gestió d'errors: Definir estratègies de temps d'espera, reintents i degradació.
4. Definir el format de sortida (Output Schema)
Utilitzeu també JSON Schema per descriure l'estructura de dades retornada.
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": { "type": "string" },
"url": { "type": "string", "format": "uri" }
}
}
}
}
}
5. Metadades addicionals (Metadata)
- Número de versió: Per facilitar la gestió d'iteracions.
- Autor/mantenidor: Responsabilitat.
- Dependències: Serveis o biblioteques externes necessàries.
- Restriccions d'ús: Per exemple, limitacions de freqüència, requisits de permisos.
3. Exemple: Una definició completa de Skill
name: "weather_query"
description: "Consulta el temps actual segons el nom de la ciutat"
version: "1.0.0"
author: "AI Team"
input:
type: object
properties:
city:
type: string
description: "Nom de la ciutat, com 'Beijing'"
required: true
unit:
type: string
enum: ["celsius", "fahrenheit"]
default: "celsius"
execute:
- step: "Cridar l'API del temps"
api: "https://api.weather.com/v1/current"
method: "GET"
params:
city: "{input.city}"
unit: "{input.unit}"
- step: "Formatar el resultat"
format: "Actualment a {city} la temperatura és {temperature}°{unit}"
output:
type: object
properties:
temperature:
type: number
condition:
type: string
humidity:
type: number
4. Bones pràctiques
- Responsabilitat única: Cada Skill fa una sola cosa, evitant un acoblament excessiu.
- Autocontingut: Evitar dependre d'estat global extern; entrada i sortida.
- Testable: Proporcionar dades simulades o entorns de sandbox per a proves unitàries.
- Documentació: Escriure instruccions d'ús i exemples per a cada Skill.
Mitjançant els mètodes anteriors, una Skill definida pot ser tant programada dinàmicament per un Agent d'IA com integrada directament pels desenvolupadors al sistema, aconseguint un efecte de reutilització "escriure una vegada, utilitzar a tot arreu".
评论
暂无已展示的评论。
发表评论(匿名)