AI Agents · Pelajaran

Mode JSON dan Keluaran Panggilan Alat

Gunakan response_format={'type':'json_object'} atau satu panggilan alat untuk memaksa keluaran yang dapat diuraikan mesin.

Pelajaran 1 dari 414 langkah

Mode JSON dan Keluaran Panggilan Alat adalah pelajaran AI Agents gratis di CoddyKit. Ini adalah pelajaran 1 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.

Kebutuhan akan Struktur

Teks bebas dari LLM sulit digunakan oleh kode. Agen produksi memerlukan keluaran yang dapat diuraikan: JSON, XML, argumen fungsi—jangan pernah menggunakan "jawabannya adalah..."

Mode JSON (OpenAI)

Beri tahu model, "selalu kembalikan JSON":

from openai import OpenAI
client = OpenAI()

response = client.chat.completions.create(
    model='gpt-4o-mini',
    messages=[
        {'role': 'system', 'content': 'Return a JSON object with name and age.'},
        {'role': 'user', 'content': 'Alice, 30 years old.'}
    ],
    response_format={'type': 'json_object'}
)
import json
data = json.loads(response.choices[0].message.content)

Catatan tentang Mode JSON

Mode JSON hanya menjamin JSON yang valid—bukan SHAPE Anda. Model dapat mengembalikan {} atau {"foo": "bar"}. Selalu validasi bentuknya juga.

Output Terstruktur (Ketat)

OpenAI Structured Outputs menjamin bahwa respons sesuai dengan JSON Schema:

schema = {
    'name': 'person',
    'schema': {
        'type': 'object',
        'properties': {
            'name': {'type': 'string'},
            'age': {'type': 'integer'}
        },
        'required': ['name', 'age'],
        'additionalProperties': False
    },
    'strict': True
}

response = client.chat.completions.create(
    model='gpt-4o-2024-08-06',
    messages=...,
    response_format={'type': 'json_schema', 'json_schema': schema}
)

Cara Kerja Mode Ketat

Mode ketat membatasi dekoder sehingga model benar-benar tidak dapat menghasilkan token yang tidak valid. Keluaran 100% sesuai dengan skema.

Panggilan Alat sebagai Keluaran Terstruktur

Anda dapat memaksa panggilan alat tertentu sebagai cara untuk mengekstrak data terstruktur:

tools = [{'type': 'function', 'function': {
    'name': 'submit_person',
    'parameters': {
        'type': 'object',
        'properties': {'name': {'type': 'string'}, 'age': {'type': 'integer'}},
        'required': ['name', 'age']
    }
}}]

response = client.chat.completions.create(
    model='gpt-4o-mini',
    messages=...,
    tools=tools,
    tool_choice={'type': 'function', 'function': {'name': 'submit_person'}}
)
args = json.loads(response.choices[0].message.tool_calls[0].function.arguments)

Penggunaan Alat Anthropic sebagai Keluaran

Anthropic memiliki pola yang sama dengan tool_choice="tool":

tool_choice = {'type': 'tool', 'name': 'submit_person'}
print(tool_choice)

JSON melalui Pengisian Awal (Anthropic)

Untuk Claude tanpa alat, isi terlebih dahulu giliran assistant dengan {

messages = [
    {'role': 'user', 'content': 'Give me JSON for Alice, 30.'},
    {'role': 'assistant', 'content': '{'}
]
# Output starts with { and likely produces valid JSON.
for m in messages:
    print(f"{m['role']}: {m['content']}")
print("Output starts with { and likely produces valid JSON.")

Pydantic + Mode Ketat

OpenAI Python SDK menyediakan pintasan Pydantic:

from pydantic import BaseModel

class Person(BaseModel):
    name: str
    age: int

response = client.beta.chat.completions.parse(
    model='gpt-4o-2024-08-06',
    messages=...,
    response_format=Person
)
person = response.choices[0].message.parsed
# Pydantic instance, type-safe

Kesalahan Umum

  • Mode JSON tanpa mode ketat — model dapat mengembalikan bentuk yang salah
  • Lupa menambahkan additionalProperties: false dalam mode ketat
  • Kolom wajib tidak tercantum dalam larik "required"
  • Mode ketat hanya tersedia pada gpt-4o-2024-08-06 dan versi setelahnya

Biaya Keluaran Terstruktur

Mode ketat memiliki sedikit beban tambahan karena dekode yang dibatasi tata bahasa — tidak berarti dibandingkan manfaat kualitasnya. Selalu aktifkan saat bentuk data penting.

Gabungkan dengan Validasi

Bahkan keluaran ketat tetap harus divalidasi oleh Pydantic setelahnya. Pertahanan berlapis — menangkap kasus tepi seperti bilangan bulat di luar rentang.

Jaminan Mode Ketat

Apa yang dijamin oleh OpenAI Structured Outputs (mode ketat)?

Ringkasan

Gunakan mode JSON untuk struktur yang longgar, Strict Outputs untuk bentuk yang terjamin, dan panggilan alat untuk efek yang sama. Selalu lakukan validasi setelahnya.

Gratis untuk memulai

Belajar AI Agents dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
60
Pelajaran
239

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Mode JSON dan Keluaran Panggilan Alat” gratis?

Ya — teks lengkap “Mode JSON dan Keluaran Panggilan Alat” 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 “Mode JSON dan Keluaran Panggilan Alat”?

Gunakan response_format={'type':'json_object'} atau satu panggilan alat untuk memaksa keluaran yang dapat diuraikan mesin. 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 1 dari 4.

Berapa lama pelajaran “Mode JSON dan Keluaran Panggilan Alat” 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

  1. Mode JSON dan Keluaran Panggilan Alat
  2. Validasi Skema Pydantic
  3. Perulangan Perbaikan untuk Keluaran yang Tidak Sesuai Format
  4. Instructor / Outlines untuk Struktur Terjamin
← Kembali ke AI Agents