AI serijos interviu 7: Kaip tinkamai apibrėžti įgūdį
1. Pagrindinė įgūdžio koncepcija
Įgūdis yra Agento arba AI sistemos vykdomų gebėjimų vienetų rinkinys. Paprastai jį sudaro:
- Suveikimo sąlyga: kada jis iškviečiamas (pvz., vartotojo komanda, sistemos įvykis).
- Įvesties parametrai: duomenys ar kontekstas, kuriuos reikia priimti.
- Vykdymo logika: konkretūs apdorojimo žingsniai (pvz., API iškvietimas, kodo paleidimas, žinių bazės užklausa).
- Išvesties rezultatas: atsakymas ar veiksmas, grąžinamas kvietėjui.
2. Įgūdžio apibrėžimo žingsniai
1. Aiškus įgūdžio pavadinimas ir aprašymas
- Pavadinimas: trumpas, unikalus, semantiškas (pvz.,
search_web,send_email). - Aprašymas: vienu sakiniu paaiškinkite, ką šis įgūdis daro, kad agentas galėtų automatiškai jį atitikti.
2. Įvesties parametrų apibrėžimas (Input Schema)
Naudokite JSON Schema ar panašų formatą, nurodydami kiekvieno parametro tipą, ar jis privalomas, numatytąją reikšmę ir apribojimus.
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Paieškos raktažodis",
"required": true
},
"max_results": {
"type": "integer",
"description": "Maksimalus rezultatų skaičius",
"default": 10
}
}
}
3. Vykdymo logikos rašymas (Execution Logic)
- Deterministinė logika: tiesioginis funkcijos, API ar duomenų bazės iškvietimas.
- Nedeterministinė logika: naudokite LLM atsakymui generuoti (reikia pateikti prompt šabloną).
- Klaidų tvarkymas: apibrėžkite laukimo, bandymų iš naujo ir nuolaidžiavimo strategijas.
4. Išvesties formato apibrėžimas (Output Schema)
Taip pat naudokite JSON Schema, aprašydami grąžinamų duomenų struktūrą.
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": { "type": "string" },
"url": { "type": "string", "format": "uri" }
}
}
}
}
}
5. Papildomi metaduomenys (Metadata)
- Versijos numeris: palengvina iteracinį valdymą.
- Autorius / prižiūrėtojas: atsakomybės priskyrimas.
- Priklausomybės: reikalingos išorinės paslaugos ar bibliotekos.
- Naudojimo apribojimai: pvz., dažnumo ribojimai, leidimų reikalavimai.
3. Pavyzdys: pilnas įgūdžio apibrėžimas
name: "weather_query"
description: "Gauti dabartinius orus pagal miesto pavadinimą"
version: "1.0.0"
author: "AI komanda"
input:
type: object
properties:
city:
type: string
description: "Miesto pavadinimas, pvz., 'Vilnius'"
required: true
unit:
type: string
enum: ["celsius", "fahrenheit"]
default: "celsius"
execute:
- step: "Iškviesti orų API"
api: "https://api.weather.com/v1/current"
method: "GET"
params:
city: "{input.city}"
unit: "{input.unit}"
- step: "Suformatuoti rezultatą"
format: "Dabartinė {city} temperatūra yra {temperature}°{unit}"
output:
type: object
properties:
temperature:
type: number
condition:
type: string
humidity:
type: number
4. Geriausia praktika
- Viena atsakomybė: kiekvienas įgūdis daro tik vieną dalyką, venkite per didelio susiejimo.
- Savarankiškumas: kiek įmanoma nepriklausykite nuo išorinės globalios būsenos; įvestis lemia išvestį.
- Testuojamumas: pateikite mock duomenis ar smėlio dėžės aplinką vienetiniams testams.
- Dokumentavimas: kiekvienam įgūdžiui parašykite naudojimo instrukcijas ir pavyzdžius.
Taip apibrėžtą įgūdį gali dinamiškai naudoti AI agentas, o kūrėjai – tiesiogiai integruoti į sistemą, pasiekiant „parašyk vieną kartą, naudok visur“ pakartotinį panaudojimą.
评论
暂无已展示的评论。
发表评论(匿名)