← 返回列表

AI sērijas intervija 7: Kā pareizi definēt Skill

1. Skill pamatjēdziens

Skill ir Agenta vai AI sistēmas ietverta izpildāmu spēju vienība. Tā parasti ietver:

  • Iedarbināšanas nosacījums: kad tā tiek izsaukta (piemēram, lietotāja komanda, sistēmas notikums).
  • Ievades parametri: dati vai konteksts, kas jāsaņem.
  • Izpildes loģika: konkrēti apstrādes soļi (piemēram, API izsaukšana, koda palaišana, zināšanu bāzes vaicāšana).
  • Izvades rezultāts: atbilde vai darbība, kas tiek atgriezta izsaucējam.

2. Skill definēšanas soļi

1. Skaidri norādīt Skill nosaukumu un aprakstu

  • Nosaukums: īss, unikāls, semantisks (piemēram, search_web, send_email).
  • Apraksts: vienā teikumā aprakstīt Skill funkciju, lai Agents varētu automātiski to saskaņot.

2. Definēt ievades parametrus (Input Schema)

Izmantojiet JSON Schema vai līdzīgu formātu, lai norādītu katra parametra tipu, obligātumu, noklusējuma vērtību un ierobežojumus.

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Meklēšanas atslēgvārds",
      "required": true
    },
    "max_results": {
      "type": "integer",
      "description": "Maksimālais rezultātu skaits",
      "default": 10
    }
  }
}

3. Uzrakstīt izpildes loģiku (Execution Logic)

  • Deterministiskā loģika: tieša funkcijas, API vai datubāzes izsaukšana.
  • Nedeterministiskā loģika: izmantot LLM, lai ģenerētu atbildi (jānorāda prompt veidne).
  • Kļūdu apstrāde: definēt taimautu, atkārtošanas un pazemināšanas stratēģijas.

4. Definēt izvades formātu (Output Schema)

Atkal izmantojiet JSON Schema, lai aprakstītu atgriezto datu struktūru.

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

5. Pievienot metadatus (Metadata)

  • Versijas numurs: lai atvieglotu pārvaldību.
  • Autors/uzturētājs: atbildības noteikšanai.
  • Atkarības: nepieciešamie ārējie pakalpojumi vai bibliotēkas.
  • Lietošanas ierobežojumi: piemēram, biežuma ierobežojumi, atļauju prasības.

3. Piemērs: pilnīga Skill definīcija

name: "weather_query"
description: "Pieprasīt pašreizējos laikapstākļus pēc pilsētas nosaukuma"
version: "1.0.0"
author: "AI komanda"

input:
  type: object
  properties:
    city:
      type: string
      description: "Pilsētas nosaukums, piemēram, 'Rīga'"
      required: true
    unit:
      type: string
      enum: ["celsius", "fahrenheit"]
      default: "celsius"

execute:
  - step: "Izsaukt laikapstākļu API"
    api: "https://api.weather.com/v1/current"
    method: "GET"
    params:
      city: "{input.city}"
      unit: "{input.unit}"
  - step: "Formatēt rezultātu"
    format: "Pašreizējā temperatūra {city} ir {temperature}°{unit}"

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

4. Labākā prakse

  • Viena atbildība: katrs Skill veic tikai vienu uzdevumu, izvairoties no pārmērīgas savienošanas.
  • Pašpietiekamība: pēc iespējas nepaļauties uz ārējiem globāliem stāvokļiem; ievade ir izvade.
  • Testējamība: nodrošināt viltotus datus vai smilškastes vidi vienību testēšanai.
  • Dokumentēšana: katram Skill uzrakstīt lietošanas instrukciju un piemērus.

Izmantojot iepriekš minētās metodes, definēto Skill var gan dinamiski izsaukt AI Agents, gan tieši integrēt izstrādātāji sistēmā, panākot "raksti vienreiz, izmanto visur" atkārtotu izmantošanu.

评论

暂无已展示的评论。

发表评论(匿名)