AI série rozhovorů 7: Jak standardně definovat dovednost
1. Základní koncept dovednosti
Dovednost je sada spustitelných schopností zapouzdřených v agentovi nebo AI systému. Obvykle obsahuje:
- Spouštěcí podmínky: kdy je volána (např. uživatelský příkaz, systémová událost).
- Vstupní parametry: data nebo kontext, která je třeba přijmout.
- Prováděcí logika: konkrétní kroky zpracování (např. volání API, spuštění kódu, dotazování znalostní báze).
- Výstupní výsledky: odpověď nebo akce vrácená volajícímu.
2. Kroky standardní definice dovednosti
1. Určení názvu a popisu dovednosti
- Název: krátký, jedinečný, sémantický (např.
search_web,send_email). - Popis: jedna věta vysvětlující funkci dovednosti, usnadňující automatické přiřazení agentem.
2. Definice vstupních parametrů (Input Schema)
Použijte JSON Schema nebo podobný formát k určení typu každého parametru, povinnosti, výchozí hodnoty a omezení.
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Vyhledávací klíčové slovo",
"required": true
},
"max_results": {
"type": "integer",
"description": "Maximální počet vrácených výsledků",
"default": 10
}
}
}
3. Napsání prováděcí logiky (Execution Logic)
- Deterministická logika: přímé volání funkce, API nebo databáze.
- Nedeterministická logika: použití LLM k generování odpovědi (je třeba poskytnout šablonu promptu).
- Zpracování chyb: definice časového limitu, opakování, strategie degradace.
4. Definice výstupního formátu (Output Schema)
Stejně použijte JSON Schema k popisu struktury vrácených dat.
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": { "type": "string" },
"url": { "type": "string", "format": "uri" }
}
}
}
}
}
5. Přidání metadat (Metadata)
- Verze: usnadňuje iterativní správu.
- Autor/správce: odpovědnost.
- Závislosti: externí služby nebo knihovny.
- Omezení použití: např. frekvenční limity, požadavky na oprávnění.
3. Příklad: Kompletní definice dovednosti
name: "weather_query"
description: "Zjištění aktuálního počasí podle názvu města"
version: "1.0.0"
author: "AI Tým"
input:
type: object
properties:
city:
type: string
description: "Název města, např. 'Praha'"
required: true
unit:
type: string
enum: ["celsius", "fahrenheit"]
default: "celsius"
execute:
- step: "Volání API počasí"
api: "https://api.weather.com/v1/current"
method: "GET"
params:
city: "{input.city}"
unit: "{input.unit}"
- step: "Formátování výsledku"
format: "Aktuální teplota v {city} je {temperature}°{unit}"
output:
type: object
properties:
temperature:
type: number
condition:
type: string
humidity:
type: number
4. Nejlepší praktiky
- Jednotná odpovědnost: každá dovednost dělá jen jednu věc, vyhněte se nadměrnému propojení.
- Soběstačnost: pokud možno nezávislost na externím globálním stavu, vstup je výstup.
- Testovatelnost: poskytněte mock data nebo sandboxové prostředí pro unit testy.
- Dokumentace: pro každou dovednost napište návod k použití a příklady.
Pomocí výše uvedených metod definovaná dovednost může být dynamicky plánována AI agentem i přímo integrována vývojáři do systému, čímž se dosáhne efektu "napiš jednou, použij všude".
评论
暂无已展示的评论。
发表评论(匿名)