0Pricing
AI Agents · Pelajaran

Pemformatan Keluaran (JSON, XML, Markdown)

Paksa model mengembalikan struktur yang dapat diuraikan menggunakan mode JSON, tag XML, atau Markdown ketat agar keluaran dapat dibaca mesin.

Pemformatan Keluaran (JSON, XML, Markdown) adalah pelajaran AI Agents gratis di CoddyKit. Ini adalah pelajaran 3 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.

Mengapa Format Penting

Agen menyalurkan keluaran model ke dalam kode. Prosa bebas membuat pengurai rusak. Keluaran terstruktur (JSON, XML, dan sebagainya) wajib digunakan untuk setiap agen produksi.

Mode JSON

OpenAI dan sebagian besar penyedia menawarkan mode JSON yang menjamin keluaran dapat diuraikan:

response = client.chat.completions.create(
    model='gpt-4o-mini',
    messages=messages,
    response_format={'type': 'json_object'},
)
import json
data = json.loads(response.choices[0].message.content)

Keluaran Terstruktur (Skema Ketat)

OpenAI Structured Outputs menerima Skema JSON dan menjamin bahwa keluaran sesuai dengannya:

schema = {
    'name': 'extract_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=messages,
    response_format={'type': 'json_schema', 'json_schema': schema}
)

Label XML (Gaya Anthropic)

Anthropic merekomendasikan label XML sebagai format yang paling andal untuk Claude:

system = '''
Return your answer wrapped in XML tags:

<reasoning>Your step-by-step thinking</reasoning>
<answer>The final answer</answer>
'''

# Parse with a simple regex or BeautifulSoup
import re
ans = re.search(r'<answer>(.*?)</answer>', text, re.S).group(1)

Markdown untuk Manusia

Gunakan Markdown ketika keluaran ditujukan langsung kepada manusia (antarmuka percakapan, dokumentasi).

Hindari Markdown ketika keluaran disalurkan ke kode — Markdown sulit diuraikan secara andal.

Pilih Format yang Tepat untuk Setiap Penerima

  • JSON — masuk ke kode Anda
  • XML — masuk ke kode Anda, terutama untuk Claude
  • Markdown — ditujukan ke antarmuka manusia
  • Teks biasa — ditujukan ke LLM lain

Tunjukkan, Jangan Hanya Memberi Tahu

Selalu sertakan contoh harfiah dari keluaran yang diinginkan dalam perintah Anda:

system = '''
Return a JSON object like:
{
  "action": "reply",
  "content": "Hi there!",
  "confidence": 0.95
}
'''
print(system.strip())

Paksa Token Pertama

Untuk Anthropic, isi awal giliran asisten dengan { atau [ untuk memaksa keluaran JSON:

messages = [
    {'role': 'user', 'content': 'Return JSON with name and age.'},
    {'role': 'assistant', 'content': '{'}
]
# Output will start at '{ "name": ...' guaranteed.
for m in messages:
    print(f"{m['role']}: {m['content']}")
print('Output will start at \'{ "name": ...\' guaranteed.')

Tangani Sisa Teks di Akhir

Bahkan dengan mode JSON, terkadang model menambahkan awalan "Baik! Berikut JSON-nya:". Pengurai yang tangguh akan:

  1. Mencari { atau [ pertama
  2. Menghitung tanda kurung untuk menemukan penutup yang sesuai
  3. Menguraikan hanya potongan tersebut

Perintah Perbaikan

Jika penguraian gagal, kirimkan kembali keluaran yang rusak kepada model dan minta perbaikannya:

repair_prompt = f'''
The previous output failed to parse with error: {error}.
Return ONLY a valid JSON object matching the schema. No prose.

Previous output:
{bad_output}
'''

Pydantic untuk Validasi

Validasi kamus yang telah diuraikan dengan model Pydantic — periksa tipe bidang dan timbulkan galat jika ada yang hilang.

from pydantic import BaseModel

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

person = Person.model_validate_json(response_text)
print(person.name, person.age)

Format Terbaik untuk Kode

Anda menyalurkan keluaran ke Python. Format mana yang paling andal?

Ringkasan

Tiga aturan:

  1. Pilih format yang sesuai dengan penerimanya
  2. Tunjukkan contoh, jangan hanya mendeskripsikannya
  3. Validasi setiap respons dan siapkan jalur perbaikan

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Pemformatan Keluaran (JSON, XML, Markdown)” gratis?

Ya — teks lengkap “Pemformatan Keluaran (JSON, XML, Markdown)” 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 “Pemformatan Keluaran (JSON, XML, Markdown)”?

Paksa model mengembalikan struktur yang dapat diuraikan menggunakan mode JSON, tag XML, atau Markdown ketat agar keluaran dapat dibaca 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 3 dari 4.

Berapa lama pelajaran “Pemformatan Keluaran (JSON, XML, Markdown)” 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. Zero-shot, Few-shot, dan Chain-of-Thought
  2. Peran Sistem vs Pengguna vs Asisten
  3. Pemformatan Keluaran (JSON, XML, Markdown)
  4. Menghindari Injeksi Prompt dalam Masukan
← Kembali ke AI Agents