← 返回列表

AI serija intervjuj 7: Kako standardno definirati spretnost

1. Osrednji koncept spretnosti

Spretnost je sklop izvedljivih enot, zapakiranih v agentu ali AI sistemu. Običajno vključuje:

  • Pogoj sprožitve: kdaj se pokliče (npr. uporabnikov ukaz, sistemski dogodek).
  • Vhodni parametri: podatki ali kontekst, ki jih je treba prejeti.
  • Izvedbena logika: specifični koraki obdelave (npr. klic API-ja, zagon kode, poizvedba v bazi znanja).
  • Izhodni rezultat: odziv ali dejanje, vrnjeno klicatelju.

2. Koraki za standardno definiranje spretnosti

1. Določite ime in opis spretnosti

  • Ime: kratko, edinstveno, semantično (npr. search_web, send_email).
  • Opis: en stavek, ki pojasni funkcijo spretnosti, da jo agent lahko samodejno ujema.

2. Določite vhodne parametre (Input Schema)

Uporabite JSON Schema ali podoben format, da določite tip vsakega parametra, obveznost, privzeto vrednost in omejitve.

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Iskalni niz",
      "required": true
    },
    "max_results": {
      "type": "integer",
      "description": "Največje število rezultatov",
      "default": 10
    }
  }
}

3. Napišite izvedbeno logiko (Execution Logic)

  • Deterministična logika: neposredni klic funkcije, API-ja ali baze podatkov.
  • Nedeterministična logika: uporaba LLM za generiranje odziva (potrebna predloga prompta).
  • Obdelava napak: določite časovno omejitev, ponovne poskuse, strategijo degradacije.

4. Določite izhodni format (Output Schema)

Prav tako uporabite JSON Schema za opis strukture vrnjenih podatkov.

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

5. Dodatni metapodatki (Metadata)

  • Različica: za lažje upravljanje iteracij.
  • Avtor/vzdrževalec: odgovornost.
  • Odvisnosti: potrebne zunanje storitve ali knjižnice.
  • Omejitve uporabe: npr. omejitev frekvence, zahteve po dovoljenjih.

3. Primer: celotna definicija spretnosti

name: "weather_query"
description: "Poišče trenutno vreme glede na ime mesta"
version: "1.0.0"
author: "AI Team"

input:
  type: object
  properties:
    city:
      type: string
      description: "Ime mesta, npr. 'Peking'"
      required: true
    unit:
      type: string
      enum: ["celsius", "fahrenheit"]
      default: "celsius"

execute:
  - step: "Pokliči vremenski API"
    api: "https://api.weather.com/v1/current"
    method: "GET"
    params:
      city: "{input.city}"
      unit: "{input.unit}"
  - step: "Oblikuj rezultat"
    format: "Trenutna temperatura v {city} je {temperature}°{unit}"

output:
  type: object
  properties:
    temperature:
      type: number
    condition:
      type: string
    humidity:
      type: number

4. Najboljše prakse

  • Enotna odgovornost: vsaka spretnost naj opravlja samo eno nalogo, izogibajte se preveliki povezanosti.
  • Samozadostnost: čim manj odvisnosti od zunanjega globalnega stanja; vhod je izhod.
  • Preizkušljivost: zagotovite mock podatke ali peskovnik za enotne teste.
  • Dokumentiranost: za vsako spretnost napišite navodila za uporabo in primere.

S spretnostmi, definiranimi na zgornji način, jih lahko AI agent dinamično razporeja, razvijalci pa jih neposredno integrirajo v sistem, kar omogoča učinek "napiši enkrat, uporabi povsod".

评论

暂无已展示的评论。

发表评论(匿名)