Sade anlatım
Bir insan “fatura Acme'den geldi, 4.250 lira, kasım sonunda ödenecek” cümlesini okuyabilir. Bir program buna güvenemez: bir dahaki sefere cümle başka türlü kurulabilir. Yapılandırılmış çıktı modele bir form doldurtur: satıcı, tutar, para birimi, vade; her biri yerinde ve doğru tipte. Form her seferinde aynıdır.
Neden önemli
Modelin yalnızca bir sohbet ortağı değil, bir sistemin bileşeni olabilmesini sağlayan şey budur. İster veritabanına yazsın, ister bir API çağırsın, ister bir panoyu beslesin, her entegrasyon bir makinenin ayrıştırabildiği çıktıya dayanır. O olmadan ekipler, düzyazının içinden değer ayıklayan kırılgan kodlar yazar ve zamanlarını modelin farklı ifade ettiği durumlara harcar.
Örnek
Bir borç hesapları ekibi ayda 3.000 tedarikçi faturası işliyor. Modele her PDF ve dokuz alanlı bir şema veriliyor. Çıktı doğrudan ERP sisteminin içe aktarma kuyruğuna gidiyor. Zorunlu bir alanı boş dönen faturalar bir çalışana yönlendiriliyor; geri kalanlar için yeniden yazım gerekmiyor.
Bununla en çok karıştırılan kavram
Structured Output ve JSON mode arasındaki fark
JSON mode yalnızca çıktının JSON olarak ayrıştırılabileceğini taahhüt eder; model yine de bir alanı atlayabilir ya da uydurabilir. Structured outputs ise şemanın kendisini uygulatır: zorunlu alanlar, tipler ve izin verilen değerler. Başka bir sistemi besleyen her şey için kullanılacak özellik şema zorlamasıdır.
Teknik katman
Üç katılık düzeyi vardır: istemde biçim istemek (genellikle çalışır, garanti yoktur); JSON mode; ve constrained decoding. Sonuncusunda sağlayıcı her adımda, verilen JSON Schema'yı bozacak her token'ı maskeler; sonuç her zaman şemaya uyar. Araç kullanımı, fonksiyon argümanları için aynı mekanizmaya dayanır. Pratik noktalar: geçerli yapı doğru değer anlamına gelmez, içeriği doğrulayın; şemaların sağlayıcıya özgü sınırları vardır; alanlara açıklayıcı adlar ve açıklamalar verin, çünkü model onları okur; model değer uydurmak zorunda kalmasın diye null ya da “bilinmiyor” seçeneğine izin verin; akıl yürütme istiyorsanız yanıttan önceye yerleştirilmiş bir alanda isteyin.