← 返回列表

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".

评论

暂无已展示的评论。

发表评论(匿名)