AI-sarjan haastattelu 7: Kuinka määritellä taito standardoidusti
1. Taidon ydinkäsite
Taito on Agentissa (älykäs toimija) tai AI-järjestelmässä kapseloitu joukko suoritettavia kyky-yksiköitä. Se sisältää yleensä:
- Käynnistysedellytys: Milloin sitä kutsutaan (esim. käyttäjän käsky, järjestelmätapahtuma).
- Syöteparametrit: Vastaanotettava data tai konteksti.
- Suorituslogiikka: Konkreettiset käsittelyvaiheet (esim. API-kutsu, koodin suoritus, tietokannan kysely).
- Tuloste: Paluuviesti tai toiminto kutsujalle.
2. Taidon standardoidun määrittelyn vaiheet
1. Määrittele taidon nimi ja kuvaus
- Nimi: Lyhyt, yksilöllinen, semanttinen (esim.
search_web,send_email). - Kuvaus: Yksi lause, joka selittää taidon toiminnon, jotta Agentti voi automaattisesti sovittaa.
2. Määrittele syöteparametrit (Input Schema)
Käytä JSON Schemaa tai vastaavaa muotoa, määrittele jokaisen parametrin tyyppi, pakollisuus, oletusarvo ja rajoitukset.
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Hakusana",
"required": true
},
"max_results": {
"type": "integer",
"description": "Maksimipalautusten määrä",
"default": 10
}
}
}
3. Kirjoita suorituslogiikka (Execution Logic)
- Deterministinen logiikka: Kutsu suoraan funktiota, APIa tai tietokantaa.
- Epädeterministinen logiikka: Käytä LLM:ää vastauksen tuottamiseen (tarjoa prompt-malli).
- Virheenkäsittely: Määrittele aikakatkaisu, uudelleenyritys, alennusstrategia.
4. Määrittele tulostemuoto (Output Schema)
Käytä myös JSON Schemaa kuvaamaan palautettavan datan rakennetta.
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": { "type": "string" },
"url": { "type": "string", "format": "uri" }
}
}
}
}
}
5. Lisää metatiedot (Metadata)
- Versio: Helpottaa iteratiivista hallintaa.
- Tekijä/ylläpitäjä: Vastuunjako.
- Riippuvuudet: Tarvittavat ulkoiset palvelut tai kirjastot.
- Käyttörajoitukset: Kuten taajuusrajoitukset, käyttöoikeusvaatimukset.
3. Esimerkki: Täydellinen taidon määrittely
name: "weather_query"
description: "Hakee nykyisen sään kaupungin nimen perusteella"
version: "1.0.0"
author: "AI-tiimi"
input:
type: object
properties:
city:
type: string
description: "Kaupungin nimi, esim. 'Helsinki'"
required: true
unit:
type: string
enum: ["celsius", "fahrenheit"]
default: "celsius"
execute:
- step: "Kutsu sää-APIa"
api: "https://api.weather.com/v1/current"
method: "GET"
params:
city: "{input.city}"
unit: "{input.unit}"
- step: "Muotoile tulos"
format: "Nykyinen lämpötila kaupungissa {city} on {temperature}°{unit}"
output:
type: object
properties:
temperature:
type: number
condition:
type: string
humidity:
type: number
4. Parhaat käytännöt
- Yksi vastuu: Jokainen taito tekee vain yhden asian, vältä liiallista kytkentää.
- Itsenäinen: Pyri olemaan riippumaton ulkoisesta globaalista tilasta, syöte tuottaa tulosteen.
- Testattava: Tarjoa mock-dataa tai hiekkalaatikko yksikkötestausta varten.
- Dokumentoitu: Kirjoita jokaiselle taidolle käyttöohjeet ja esimerkit.
Yllä olevilla menetelmillä määritelty taito voidaan dynaamisesti ohjata AI Agentin toimesta tai integroida suoraan järjestelmään kehittäjien toimesta, saavuttaen uudelleenkäytettävyyden "kirjoita kerran, käytä kaikkialla" -periaatteella.
评论
暂无已展示的评论。
发表评论(匿名)