AI serija intervju 7: Kako pravilno definirati vještinu
1. Osnovni koncept vještine
Vještina je skup izvršnih jedinica sposobnosti inkapsuliranih u Agent ili AI sustav. Obično uključuje:
- Okidač: kada se poziva (npr. korisnička naredba, sistemski događaj).
- Ulazni parametri: podaci ili kontekst koje treba primiti.
- Logika izvršenja: specifični koraci obrade (npr. poziv API-ja, pokretanje koda, upit u bazu znanja).
- Izlazni rezultat: odgovor ili radnja vraćena pozivatelju.
2. Koraci za pravilno definiranje vještine
1. Odredite naziv i opis vještine
- Naziv: kratak, jedinstven, semantički (npr.
search_web,send_email). - Opis: jedna rečenica koja objašnjava funkciju vještine, kako bi Agent mogao automatski odabrati.
2. Definirajte ulaznu shemu (Input Schema)
Koristite JSON Schema ili sličan format, jasno odredite tip svakog parametra, obaveznost, zadanu vrijednost i ograničenja.
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "ključna riječ za pretraživanje",
"required": true
},
"max_results": {
"type": "integer",
"description": "maksimalni broj rezultata",
"default": 10
}
}
}
3. Napišite logiku izvršenja (Execution Logic)
- Deterministička logika: izravni poziv funkcije, API-ja ili baze podataka.
- Nedeterministička logika: korištenje LLM-a za generiranje odgovora (potrebno je dati predložak prompta).
- Obrada grešaka: definirajte strategije za timeout, ponovni pokušaj, degradaciju.
4. Definirajte izlazni format (Output Schema)
Također koristite JSON Schema za opis strukture povratnih podataka.
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": { "type": "string" },
"url": { "type": "string", "format": "uri" }
}
}
}
}
}
5. Dodatni metapodaci (Metadata)
- Verzija: olakšava upravljanje iteracijama.
- Autor/održavatelj: odgovornost.
- Ovisnosti: potrebne vanjske usluge ili biblioteke.
- Ograničenja korištenja: npr. ograničenje učestalosti, zahtjevi za dozvolama.
3. Primjer: potpuna definicija vještine
name: "weather_query"
description: "upit trenutnog vremena prema nazivu grada"
version: "1.0.0"
author: "AI tim"
input:
type: object
properties:
city:
type: string
description: "naziv grada, npr. 'Peking'"
required: true
unit:
type: string
enum: ["celsius", "fahrenheit"]
default: "celsius"
execute:
- step: "poziv vremenskog API-ja"
api: "https://api.weather.com/v1/current"
method: "GET"
params:
city: "{input.city}"
unit: "{input.unit}"
- step: "formatiranje rezultata"
format: "Trenutna temperatura u {city} je {temperature}°{unit}"
output:
type: object
properties:
temperature:
type: number
condition:
type: string
humidity:
type: number
4. Najbolje prakse
- Jedinstvena odgovornost: svaka vještina radi samo jednu stvar, izbjegavajte pretjeranu povezanost.
- Samostalnost: što je moguće manje ovisnosti o vanjskom globalnom stanju, ulaz je izlaz.
- Testabilnost: osigurajte mock podatke ili sandbox okruženje za jedinično testiranje.
- Dokumentiranost: napišite upute za korištenje i primjere za svaku vještinu.
Vještina definirana na ovaj način može se dinamički rasporediti od strane AI Agenta, a također je programeri mogu izravno integrirati u sustav, postižući učinak ponovne upotrebe "napiši jednom, koristi svugdje".
评论
暂无已展示的评论。
发表评论(匿名)