OpenAI Kararlar API ve Yanıtlar API Karşılaştırması

Kararlar API'si ve Yanıtlar API'si: her iki yöne de yönlendirilen tek bir bilet, her birinin ne döndürdüğü, matematik ile birlikte yalnızca giriş tabanlı ve çıkış tabanlı faturalandırma ve bir özellik matrisi.

INEZA Felin-Michel

INEZA Felin-Michel

10 October 2026

OpenAI Kararlar API ve Yanıtlar API Karşılaştırması

Kurumsal İçin Apidog

Şirket İçi (On-Premises) Dağıtım

SSO ve RBAC

SOC 2 Uyumlu

Apidog Enterprise'ı Keşfedin

Bir işi sınıflandırmak, yönlendirmek, puanlamak veya geçişini sağlamak ve geri dönüş olarak olasılıklar almak istediğinizde Decisions API'yi kullanın: GPT-6 Luna üzerinde çalışır, metin yerine yazılı yanıtlar döndürür, yalnızca 1 milyon belirteç başına 0,10 ABD doları giriş ücreti alır, çıktı, önbellek okuma veya önbellek yazma ücreti yoktur ve OpenAI, Responses API'den yaklaşık 10 kat daha hızlı olduğunu belirtir. Üretilmiş metin, kendi şemanızda JSON, araç çağrıları, akış veya konuşma durumu gerektiğinde Responses API'yi kullanın. Decisions, 2026-10-06 tarihinde herkese açık beta olarak sunulmuştur.

Bu yazı, tek bir işi (bir destek biletini yönlendirme) her iki uç nokta üzerinden çalıştırır, her birinin ne döndürdüğünü karşılaştırır, maliyeti bir kez hesaplar ve bir taşıma notu ile her ikisini de tek bir Apidog projesinde test etme yöntemiyle sona erer. Uç noktanın anatomisi için Decisions API direği ile başlayın; temel için Responses API kılavuzumuza bakın.

düğme

Özellik Matrisi

Decisions API Responses API (GPT-6 Luna)
Uç Nokta POST /v1/decisions POST /v1/responses
Çıktı predicate, choice, score yanıtları (artı refusal) uç noktadan gelen olasılıklar ve güven ile Oluşturulan metin veya text.format aracılığıyla şemanıza uygun JSON
Kendi JSON şemanız Hayır Evet, strict: true ile json_schema
Araçlar / Fonksiyon çağırma Hayır Evet
Akış Hayır Evet
Konuşma durumu Hayır Evet
İstem önbellekleme Önbellek ücreti yok; OpenAI forumuna göre, henüz önbellekleme yok Evet, önbelleğe alınan giriş 1 milyon başına 0,01 ABD doları
Toplu Belgelenmemiş Evet, standardın %50'si
Görseller Evet, base64 veri URL'leri; referans ayrıca genel HTTP(S) URL'lerini de listeler, istek başına 128 adede kadar Evet, Luna metin ve görselleri alır
Zincirleme (bağımlı) kararlar Ayrı istekler Tek bir oluşturulan yanıt, bağımlı alanlar taşıyabilir
1 milyon başına fiyat, kısa bağlam 0,10 ABD doları giriş; çıktı ücreti yok 0,10 ABD doları giriş, muhakeme belirteçleri dahil 0,50 ABD doları çıktı
ZDR / HIPAA Uygun müşteriler için desteklenir; ABD ve AB'de bölgesel işlem Bu karşılaştırmada ele alınmamıştır; OpenAI'nin veri kontrolleri sayfasına bakın

Her satır, OpenAI'nin Decisions kılavuzundan, API referansından ve fiyatlandırma sayfasından alınmıştır.

Aynı işi iki yolla: bir destek biletini yönlendirin

Bilet "Siparişimi iki kez ücretlendirildim" yazıyor. Departmanlar faturalandırma, teknik, nakliye ve diğer. İşte bugün çoğu ekibin bunu nasıl yaptığına dair Yapılandırılmış Çıktılar ile Responses isteği:

curl https://api.openai.com/v1/responses \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-6-luna",
    "input": "Bu destek biletini bir departmana yönlendirin.\n\nBilet: Siparişimi iki kez ücretlendirildim.",
    "text": {
      "format": {
        "type": "json_schema",
        "name": "ticket_route",
        "strict": true,
        "schema": {
          "type": "object",
          "properties": {
            "department": {
              "type": "string",
              "enum": ["billing", "technical", "shipping", "other"]
            }
          },
          "required": ["department"],
          "additionalProperties": false
        }
      }
    }
  }'

Ve aynı bilet için Decisions isteği:

curl https://api.openai.com/v1/decisions \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-6-luna",
    "input": "Siparişimi iki kez ücretlendirildim.",
    "questions": [
      {
        "type": "choice",
        "name": "department",
        "instructions": "Bu bileti hangi departman ele almalı?",
        "choices": [
          {"value": "billing", "description": "Ücretler, iadeler, faturalar"},
          {"value": "technical", "description": "Hatalar, sorunlar, giriş problemleri"},
          {"value": "shipping", "description": "Teslimat, takip, transit halindeki iadeler"},
          {"value": "other", "description": "Diğer her şey"}
        ]
      }
    ]
  }'

Responses gövdesi soruyu istemin içinde ve izin verilen yanıtları bir şemanın içinde taşır. Decisions gövdesi ise ham bileti input olarak ve soruyu 2 ila 255 benzersiz değere sahip bir choice olarak taşır; bu uç noktada hiçbiri bulunmadığı için temperature, reasoning, stream veya text alanları yoktur.

Her birinin ne döndürdüğü

Responses, oluşturulmuş metin döndürür. Katı bir şema ile bu metin geçerli JSON'dur, bu nedenle ayrıştırma işleminden sonra bir etiket elde edersiniz:

{"department": "billing"}

Bir güven numarası istiyorsanız, şemaya bir alan eklersiniz ve modelden bir tane yazmasını istersiniz; gelen şey, ölçülen bir olasılık değil, olasılığa benzeyen oluşturulmuş metindir.

Decisions, etiketi ve arkasındaki dağılımı döndürür. Aşağıdaki sayılar, tam olarak bu giriş için OpenAI'nin kılavuz örneğidir:

{
  "model": "gpt-6-luna",
  "answers": [
    {
      "type": "choice",
      "name": "department",
      "choice": "billing",
      "probabilities": [
        {"value": "billing", "probability": 0.95},
        {"value": "technical", "probability": 0.02},
        {"value": "shipping", "probability": 0.01},
        {"value": "other", "probability": 0.02}
      ],
      "confidence": 0.93
    }
  ]
}

answers'ı bir usage nesnesi takip eder (maliyet bölümünde gösterilmiştir). Ayrıştırıcı yok, regex yok. confidence alanı eşik değerini belirlediğiniz yerdir ve OpenAI'nin rehberliği, bu eşiği kendi etiketli örneklerinizden belirlemeniz yönündedir, çünkü hiçbir doğruluk veya kalibrasyon rakamı yayınlanmamıştır. Bir ret, {"type": "refusal", "name": "department"} şeklinde gelir; aynı isteğindeki diğer sorular yine de yanıt alır.

Maliyet: aritmetik bir kez

Her iki uç nokta da Luna girişini kısa bağlamda (272 bin girişe kadar belirteç) 1 milyon belirteç başına 0,10 ABD dolarından faturalandırır. Ayrım çıktıdadır. 1.000.000 istekte 500 belirteçlik bir bilet alın:

Dolayısıyla, sadece etiketteki görünen boşluk 50 ABD dolarına karşı 70 ABD dolarıdır. Daha büyük boşluk muhakeme çizgisidir ve dürüstçe ifade etmek gerekirse, Decisions'ın hiç çıktı belirteci faturalandırmamasıdır; OpenAI'nin referans örneğinde her iki sayım da 0'ı gösterir:

"usage": {
  "input_tokens": 42,
  "input_tokens_details": {"cached_tokens": 0, "cache_write_tokens": 0},
  "output_tokens": 0,
  "output_tokens_details": {"reasoning_tokens": 0},
  "total_tokens": 42
}

İki uyarı. Responses'ın Decisions'ın sahip olmadığı kaldıraçları vardır: Luna'da reasoning.effort `none` değerine düşer, istem önbellekleme tekrarlanan girişi 1 milyon başına 0,01 ABD dolarına düşürür ve Batch API standart oranları yarıya indirir. Bunlardan hiçbiri Decisions için belgelenmemiştir. Ve uzun bağlamlı giriş (272 bin belirteç üzeri) her ikisinde de giriş oranını ikiye katlar, bu nedenle uzun bir Decisions isteği 1 milyon giriş başına 0,20 ABD dolarıdır (fiyatlandırma sayfasının çarpanından türetilmiştir); bölgesel işlem %10 ekler.

Hız

OpenAI, Decisions API'nin Responses API'den yaklaşık 10 kat daha hızlı olduğunu belirtiyor. Mutlak bir gecikme süresi yayınlanmadığından, bu iddiayı bir bütçe yerine bir yön olarak kabul edin ve sıcak bir yolu taşımadan önce kendi p50 ve p95 değerlerinizi ölçün. OpenAI forumundaki bir geliştirici, yavaş bir bağlantıda görüntü girişli kararların yaklaşık 0,8 saniyede döndüğünü bildirdi; bu bir kıssadır, bir benchmark değil. Yön makul: Responses belirteçler üretir, muhakeme dahil, ve sonuncuyu beklersiniz.

Karar kuralı

Çıktı aşağıdakilerden biri olduğunda Decisions'ı seçin:

Aşağıdakilerden herhangi biri doğru olduğunda Responses'ı seçin:

Birçok pipeline her ikisini de ister: sınıflandırma ve geçit için Decisions, yanıt yazmak için Responses.

Bir sınıflandırıcıyı Responses'tan Decisions'a taşımak

Katı bir enum şemasıyla biletleri zaten yönlendiriyorsanız, geçiş küçüktür:

  1. Aynı input'ı, ham bilete geri döndürülmüş haliyle koruyun; soru istemden ayrılır.
  2. Soruyu bir choice olarak questions içine, enum değerlerinizi choices[].value ve her biri için tek satırlık bir description ile yerleştirin. Değerler dizeler veya boole değerleri olabilir ve true ile "true" farklıdır.
  3. Ayrıştırıcıyı silin. answers[0].choice ve answers[0].confidence değerlerini okuyun; yanıtlar sorduğunuz sırayla gelir ve ayarladığınız name'i yansıtır. Ardından etiketli bir örnekten bir eşik belirleyin.
  4. Giriş yolunu kontrol edin. Decisions yalnızca kullanıcı mesajlarını kabul eder: sistem veya yardımcı rolleri yok, fonksiyon çağrıları yok, dosyalar yok, file_id yok. Sistem istemi kurallarını instructions veya seçim açıklamalarına katlayın. Görüntüler base64 veri URL'leri olarak girer; referans ayrıca genel HTTP(S) URL'lerini de listeler, bu yüzden önce barındırılan görüntüleri test edin.
  5. Zincirleri ayırın. "Sınıflandır, sonra faturalandırma ise iade uygunluğunu belirle" iki istek haline gelir.

Her ikisini de tek bir Apidog projesinde test edin

Karar vermenin en temiz yolu, her iki isteği aynı etiketli biletlere karşı çalıştırmak ve karşılaştırmaktır. Apidog'da, anahtarı bir kez bir ortam değişkeni olarak saklayın ve kaydedilmiş her iki isteğin Authorization: Bearer başlığında {{OPENAI_API_KEY}} referansını kullanın, böylece hiçbir gerçek anahtar kaydedilmiş bir gövdeye düşmez.

Her iki isteğe de aynı onayı verin: departman billing'e eşit. Decisions isteğinde bu, $.answers[0].choice üzerinde bir JSONPath onayıdır, yanında $.answers[0].confidence 0.8'den büyük ve $.usage.output_tokens 0'a eşittir. Responses isteğinde etiket, oluşturulmuş metnin içinde bulunur, bu nedenle kısa bir istek sonrası betik bunu onayın kontrol ettiği bir değişkene ayrıştırır. Ardından iki yanıt üzerindeki usage değerini karşılaştırın: Decisions sıfır çıktı ve muhakeme belirteci bildirirken, Responses bildirmez.

Çifti, bir bilet metni ve beklenen departman CSV'si üzerinde veri odaklı bir test senaryosuna dönüştürün ve çalıştırma, her uç noktanın güven çizginizin üzerinde kaç bileti doğru şekilde yönlendirdiğini gösterir. Yönlendiricinin önce oluşturulabilmesi için answers dizisini, koşullu alay yanıtlarında olduğu gibi taklit edin ve senaryoyu Apidog CLI ile CI'da çalıştırın, böylece bir ifade veya model takma adı değişikliği, biletleri yanlış yönlendirmek yerine bir testi başarısız kılar. Daha fazla onay kalıbı için LLM uygulamalarını test etme bölümüne bakın.

Sıkça Sorulan Sorular

Responses API, Decisions gibi olasılıklar döndürebilir mi? Ölçülen değerler olarak hayır. Bir JSON şemasındaki confidence alanı, size modelin yazdığı bir sayı, yani oluşturulmuş metin verir. Decisions, sağladığınız seçenekler üzerinden olasılıkları doğrudan uç noktadan döndürür.

Decisions'ta GPT-6 Luna dışında bir model kullanabilir miyim? Hayır. Kılavuz, şu anda mevcut olan tek modelin gpt-6-luna olduğunu belirtmektedir. GPT-6 Luna genel bakışımıza bakın.

Decisions, TypeSafe'in Jev'inden ne farklıdır? Her ikisi de yazılı yanıtları olasılıklarla döndürür ve sadece girişi faturalandırır; fiyat, girişler ve yanıt şekilleri açısından farklılık gösterirler. Decisions API vs Jev bölümüne bakın.

Decisions API ücretsiz mi? Hayır. 1 milyon girdi belirteci başına 0,10 ABD doları faturalandırır, belgelenmiş ücretsiz Decisions katmanı yoktur. Luna'nın kendisine ücretsiz yollar için GPT-6 Luna'yı ücretsiz kullanma kılavuzuna bakın.

Sonraki adım

Bugün Responses üzerinden çalıştırdığınız bir sınıflandırıcıyı alın, onu bir choice sorusu olarak yeniden oluşturun ve aynı onayla 50 etiketli bilet üzerinde Apidog'da her ikisini de çalıştırın. Güven eşiği geçerli olursa ve kullanım sıfır çıktı belirteci gösterirse, cevabınızı almış olursunuz. Apidog'u indirin, ardından ilk çağrı ve tam test sürecini öğrenmek için Decisions API'yi nasıl kullanacağınıza bakın.

API Tasarım-Öncelikli Yaklaşımı Apidog'da Uygulayın

API'leri oluşturmanın ve kullanmanın daha kolay yolunu keşfedin