← 返回列表

AI serija intervjua 7: Kako standardno definirati Skill

1. Osnovni koncept Skill-a

Skill je skup izvršnih jedinica sposobnosti inkapsuliranih u Agent ili AI sistem. Obično uključuje:

  • Okidački uslov: 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 akcija vraćena pozivaocu.

2. Koraci za standardno definiranje Skill-a

1. Odredite naziv i opis Skill-a

  • Naziv: Kratak, jedinstven, semantički (npr. search_web, send_email).
  • Opis: Jedna rečenica koja objašnjava funkciju Skill-a, kako bi Agent mogao automatski da ga prepozna.

2. Definirajte ulazne parametre (Input Schema)

Koristite JSON Schema ili sličan format, jasno navedite tip svakog parametra, obaveznost, podrazumijevanu vrijednost i ograničenja.

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Ključna riječ za pretragu",
      "required": true
    },
    "max_results": {
      "type": "integer",
      "description": "Maksimalan broj rezultata",
      "default": 10
    }
  }
}

3. Napišite logiku izvršenja (Execution Logic)

  • Deterministička logika: Direktno pozivanje funkcije, API-ja ili baze podataka.
  • Nedeterministička logika: Korištenje LLM-a za generiranje odgovora (potrebno je dati prompt template).
  • Obrada grešaka: Definirajte timeout, ponovne pokušaje, strategiju degradacije.

4. Definirajte izlazni format (Output Schema)

Također koristite JSON Schema za opis strukture podataka koji se vraćaju.

{
  "type": "object",
  "properties": {
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "title": { "type": "string" },
          "url": { "type": "string", "format": "uri" }
        }
      }
    }
  }
}

5. Dodatni metapodaci (Metadata)

  • Verzija: Radi lakšeg upravljanja iteracijama.
  • Autor/održavatelj: Odgovornost.
  • Zavisnosti: Potrebne eksterne usluge ili biblioteke.
  • Ograničenja korištenja: Npr. ograničenje učestalosti, zahtjevi za dozvolama.

3. Primjer: Potpuna definicija Skill-a

name: "weather_query"
description: "Provjeri trenutno vrijeme za dati grad"
version: "1.0.0"
author: "AI Tim"

input:
  type: object
  properties:
    city:
      type: string
      description: "Naziv grada, npr. 'Sarajevo'"
      required: true
    unit:
      type: string
      enum: ["celsius", "fahrenheit"]
      default: "celsius"

execute:
  - step: "Pozovi vremenski API"
    api: "https://api.weather.com/v1/current"
    method: "GET"
    params:
      city: "{input.city}"
      unit: "{input.unit}"
  - step: "Formatiraj rezultat"
    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: Svaki Skill radi samo jednu stvar, izbjegavajte prekomjerno povezivanje.
  • Samostalnost: Pokušajte ne zavisiti od vanjskog globalnog stanja, ulaz je izlaz.
  • Testabilnost: Omogućite mock podatke ili sandbox okruženje za jedinične testove.
  • Dokumentacija: Napišite upute za korištenje i primjere za svaki Skill.

Skill definiran na ovaj način može biti dinamički raspoređen od strane AI Agent-a, a također ga programeri mogu direktno integrirati u sistem, postižući efekat ponovne upotrebe "napiši jednom, koristi svugdje".

评论

暂无已展示的评论。

发表评论(匿名)