Mendefinisikan Skema Alat (JSON Schema)
Tulis definisi JSON Schema untuk parameter alat, lengkap dengan tipe, deskripsi, enum, dan bidang wajib.
Mendefinisikan Skema Alat (JSON Schema) adalah pelajaran AI Agents gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar AI Agents, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus AI Agents mencakup 4 pelajaran total.
Skema Alat adalah JSON Schema
OpenAI, Anthropic, dan sebagian besar penyedia lainnya menggunakan JSON Schema untuk parameter alat.
Jika Anda pernah menggunakan OpenAPI / Swagger, Anda sudah memahami 90% konsep ini.
Tiga Bidang yang Wajib Ada
Setiap definisi alat memiliki:
name— pengenal unik (snake_case)description— fungsi alat dan kapan menggunakannyaparameters— JSON Schema untuk masukan
Skema Minimal
Sebuah objek dengan satu bidang string yang wajib diisi:
schema = {
'name': 'search_orders',
'description': 'Find orders by customer email',
'parameters': {
'type': 'object',
'properties': {
'email': {
'type': 'string',
'description': 'Customer email address'
}
},
'required': ['email']
}
}
import json
print(json.dumps(schema, indent=2))
Tipe JSON Schema
string— teksinteger,number— angkaboolean— benar/salaharray— daftar (juga memerlukanitems)object— kamus (juga memerlukanproperties)
Enum untuk Himpunan Tertutup
Gunakan enum jika terdapat tepat N nilai yang diizinkan:
unit_param = {
'unit': {
'type': 'string',
'enum': ['C', 'F'],
'description': 'Temperature unit'
}
}
# The model will only ever output C or F
print(unit_param)
print("Allowed values:", unit_param['unit']['enum'])
Parameter Larik
Untuk masukan berupa daftar, tetapkan items:
tags_param = {
'tags': {
'type': 'array',
'items': {'type': 'string'},
'description': 'List of tags to filter by'
}
}
print(tags_param)
Objek Bertingkat
Anda dapat membuat objek bertingkat, tetapi jagalah agar skema tetap dangkal, maksimal 2–3 tingkat, demi keandalan model:
filter_param = {
'filter': {
'type': 'object',
'properties': {
'min_price': {'type': 'number'},
'in_stock': {'type': 'boolean'}
}
}
}
print(filter_param)
Bidang Deskripsi Sangat Penting
Model memilih alat dan mengisi argumen berdasarkan description. Perlakukan deskripsi seperti dokumentasi API:
# Bad
bad = {'description': 'gets data'}
# Good
good = {'description': 'Fetch the most recent 50 orders for the given customer email. Returns order_id, status, total. Use this when the user asks about their order history or order status.'}
print("Bad description:", bad['description'])
print("Good description:", good['description'])
Larik required
Tandai bidang yang wajib diisi secara eksplisit. Model akan selalu mengisinya; bidang opsional hanya diisi jika relevan:
tool_params = {
'parameters': {
'properties': {
'city': {'type': 'string'},
'unit': {'type': 'string', 'enum': ['C', 'F']}
},
'required': ['city']
}
}
print(tool_params)
print("Required fields:", tool_params['parameters']['required'])
Pydantic -> JSON Schema
Anda dapat membuat skema dari model Pydantic secara otomatis:
from pydantic import BaseModel, Field
class SearchArgs(BaseModel):
email: str = Field(description='Customer email')
limit: int = Field(50, description='Max orders to return')
schema = SearchArgs.model_json_schema()Mode Ketat (OpenAI Structured Outputs)
Menambahkan strict: true dan additionalProperties: false menjamin keluaran model benar-benar sesuai dengan skema:
tools = [{
'type': 'function',
'function': {
'name': 'get_weather',
'strict': True,
'parameters': {
'type': 'object',
'properties': {'city': {'type': 'string'}},
'required': ['city'],
'additionalProperties': False
}
}
}]
import json
print(json.dumps(tools, indent=2))
Pentingnya Deskripsi
Mengapa description alat sangat penting?
Rangkuman
Skema mengarahkan model. Deskripsi yang baik, enum untuk himpunan tertutup, larik required, dan mode ketat adalah pengungkit keandalan Anda.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Mendefinisikan Skema Alat (JSON Schema)” gratis?
Ya — teks lengkap “Mendefinisikan Skema Alat (JSON Schema)” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus AI Agents, upgrade ke CoddyKit PRO. Kursus AI Agents mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Mendefinisikan Skema Alat (JSON Schema)”?
Tulis definisi JSON Schema untuk parameter alat, lengkap dengan tipe, deskripsi, enum, dan bidang wajib. Kamu berlatih AI Agents dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai AI Agents?
Tidak diperlukan pengalaman sebelumnya. AI Agents di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.
Berapa lama pelajaran “Mendefinisikan Skema Alat (JSON Schema)” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran AI Agents ini?
Ya. Setiap pelajaran AI Agents menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Cara Kerja Pemanggilan Fungsi
- Mendefinisikan Skema Alat (JSON Schema)
- Memilih Alat Saat Waktu Berjalan
- Mengembalikan Hasil ke Model