Wawancara Seri AI 7: Cara Mendefinisikan Skill Secara Standar
1. Konsep Inti Skill
Skill adalah unit kemampuan yang dapat dieksekusi yang dienkapsulasi dalam Agent atau sistem AI. Biasanya mencakup:
- Kondisi Pemicu: Kapan dipanggil (misalnya perintah pengguna, peristiwa sistem).
- Parameter Input: Data atau konteks yang perlu diterima.
- Logika Eksekusi: Langkah-langkah pemrosesan spesifik (misalnya memanggil API, menjalankan kode, menanyakan basis pengetahuan).
- Hasil Output: Respons atau tindakan yang dikembalikan ke pemanggil.
2. Langkah-langkah Mendefinisikan Skill Secara Standar
1. Tentukan Nama dan Deskripsi Skill
- Nama: Singkat, unik, semantik (misalnya
search_web,send_email). - Deskripsi: Jelaskan fungsi Skill dalam satu kalimat, memudahkan Agent untuk mencocokkan secara otomatis.
2. Tentukan Skema Input (Input Schema)
Gunakan JSON Schema atau format serupa, tentukan tipe setiap parameter, apakah wajib, nilai default, dan batasan.
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Kata kunci pencarian",
"required": true
},
"max_results": {
"type": "integer",
"description": "Jumlah hasil maksimal yang dikembalikan",
"default": 10
}
}
}
3. Tulis Logika Eksekusi (Execution Logic)
- Logika Deterministik: Langsung memanggil fungsi, API, atau basis data.
- Logika Non-deterministik: Menggunakan LLM untuk menghasilkan respons (perlu menyediakan template prompt).
- Penanganan Kesalahan: Tentukan strategi timeout, percobaan ulang, penurunan.
4. Tentukan Format Output (Output Schema)
Gunakan JSON Schema untuk mendeskripsikan struktur data yang dikembalikan.
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"title": { "type": "string" },
"url": { "type": "string", "format": "uri" }
}
}
}
}
}
5. Metadata Tambahan
- Nomor Versi: Memudahkan manajemen iterasi.
- Penulis/Pemelihara: Tanggung jawab.
- Ketergantungan: Layanan atau pustaka eksternal yang diperlukan.
- Batasan Penggunaan: Misalnya batas frekuensi, persyaratan izin.
3. Contoh: Definisi Skill Lengkap
name: "weather_query"
description: "Mencari cuaca saat ini berdasarkan nama kota"
version: "1.0.0"
author: "Tim AI"
input:
type: object
properties:
city:
type: string
description: "Nama kota, misal 'Jakarta'"
required: true
unit:
type: string
enum: ["celsius", "fahrenheit"]
default: "celsius"
execute:
- step: "Panggil API cuaca"
api: "https://api.weather.com/v1/current"
method: "GET"
params:
city: "{input.city}"
unit: "{input.unit}"
- step: "Format hasil"
format: "Suhu di {city} saat ini adalah {temperature}°{unit}"
output:
type: object
properties:
temperature:
type: number
condition:
type: string
humidity:
type: number
4. Praktik Terbaik
- Tanggung Jawab Tunggal: Setiap Skill hanya melakukan satu hal, hindari kopling berlebihan.
- Mandiri: Usahakan tidak bergantung pada status global eksternal, input adalah output.
- Dapat Diuji: Sediakan data mock atau lingkungan sandbox untuk pengujian unit.
- Dokumentasi: Tulis petunjuk penggunaan dan contoh untuk setiap Skill.
Dengan metode di atas, Skill yang didefinisikan dapat dijadwalkan secara dinamis oleh AI Agent, maupun diintegrasikan langsung oleh pengembang ke dalam sistem, mencapai efek penggunaan ulang "tulis sekali, gunakan di mana saja".
评论
暂无已展示的评论。
发表评论(匿名)