Klasik fonksiyon çağırma, her ajan geliştiricisinin ezbere bildiği bir şekle sahiptir. Model bir araç çağrısı ister, uygulamanız bunu yürütür, siz sonucu eklersiniz ve model bir sonraki çağrıyı ister. Dört araç, dört gidiş-dönüş. Kırk araç, kırk. Her geçiş ağ gecikmesi ve yeniden faturalandırılan bağlam ekler. OpenAI, GPT-5.6'yı 9 Temmuz 2026'da genel kullanıma sunduğunda, bu koşu bandından çıkmanın bir yolunu gönderdi: Responses API'de programatik araç çağırma.
Fikir doğrudan. Kodunuzun bir döngüde çalıştırması için araç çağrılarını birer birer döndürmek yerine, model birden fazla araç çağrısını kendi kendine düzenleyen JavaScript kodu yazar. Bu kod, ağ erişimi olmayan izole bir V8 çalışma zamanında yürütülür. Araçlarınız, kodun dış dünyayla temas kurmasının tek yolu olmaya devam eder, bu nedenle OpenAI fonksiyon çağırma ile zaten düşündüğünüz güvenlik sınırı tam olarak yerinde kalır. Değişen şey orkestrasyon: döngüler, koşullar ve daha önce uygulamanızda yer alan toplama.
Bu değişim, API'nin sizin tarafınızda da etkili oluyor. Ortaya çıkardığınız her araç, artık modelin her turda tek dikkatli bir çağrı yerine düzinelerce patlama halinde çağırabileceği bir sözleşmedir. Şema hassasiyeti, hata şekilleri ve hız davranışı geçen haftaya göre daha önemli. Bu makale, sunulanları, eski döngünün neden acı verdiğini, nelerin aynı kaldığını ve araç uç noktalarınızı modele devretmeden önce Apidog ile nasıl hazırlayacağınızı ele alıyor.
Özet
- GPT-5.6, 9 Temmuz 2026'da genel kullanıma sunuldu. Genel kullanıma sunulduğunda, Responses API, OpenAI'nin geliştirici belgelerinde doğrulandığı üzere programatik araç çağırma özelliğini kazandı.
- Her gidiş-dönüşte bir araç çağrısı yerine, model araçlarınız üzerinde döngüler, koşullar ve toplama işlemlerini birleştiren JavaScript yazar.
- Oluşturulan kod, ağ erişimi olmayan izole bir V8 sanal ortamında çalışır. Araç tanımlarınız, harici sistemlere giden tek yol olmaya devam eder, bu nedenle güvenlik sınırı değişmez.
- Klasik ajan döngülerinin kanadığı yer olan araç çağrılarının sayısıyla gecikme ve token maliyeti katlanmayı durdurur.
- Özellik henüz günler önce çıktı; kesin istek parametreleri ve limitleri OpenAI'nin API referansında yer alıyor, bu yüzden bir şey inşa etmeden önce okuyun.
- Model onu düzenlemeden önce her araç uç noktasını test edin ve taklit edin; bir şema belirsizliği, bir döngüde tekrarlanan bir hata haline gelir.
9 Temmuz'da sunulanlar
GPT-5.6, üç katmanlı bir aile olarak geldi: en derin muhakeme için gpt-5.6-sol, dengeli işler için gpt-5.6-terra ve hızlı, maliyet-etkin hacim için gpt-5.6-luna. Çıplak takma ad gpt-5.6 Sol'a yönlendirilir. Üçü de API aracılığıyla kendi kendine hizmet verir ve hiçbir plan kısıtlaması yoktur, 8 Temmuz'da erişim kısıtlaması kalktığında sona eren iki haftalık sınırlı önizlemenin ardından.
Model ailesi lansman gününün dikkatini çoğunu çekti, ancak yeni API yüzeyi ajan geliştiricileri için daha büyük bir hikaye. MarkTechPost'un lansman kapsamına ve OpenAI'nin kendi belgelerine göre, Responses API genel kullanıma sunulduğunda dört şey edindi: programatik araç çağırma, çoklu ajan beta sürümü, dönüşler arası kalıcı muhakeme ve orijinal görüntü boyutlarını koruyan görüntü ayrıntı ayarları.
Programatik araç çağırma manşetlerde. OpenAI bunu, modelin araç çağrılarını düzenlemek için JavaScript yazması ve bunun ağ erişimi olmayan izole bir V8 çalışma zamanında yürütülmesi olarak tanımlıyor. Model, adım adım istekte bulunan olmaktan çıkar ve orkestrasyon katmanının yazarı haline gelir.
Programatik araç çağırmanın yerine geçtiği döngü
İşte Responses API'ye karşı klasik fonksiyon çağırma, bugün neredeyse her üretim ajanının kullandığı şekil:
import OpenAI from "openai";
const client = new OpenAI();
const tools = [
{
type: "function",
name: "get_flight_status",
description: "IATA uçuş numarasına göre bir uçuşun canlı durumunu döndürür.",
parameters: {
type: "object",
properties: {
flight_number: {
type: "string",
description: "IATA uçuş numarası, örneğin SQ317"
}
},
required: ["flight_number"]
}
}
];
let response = await client.responses.create({
model: "gpt-5.6",
input: "Bu 12 uçuştan hangileri gecikmeli: SQ317, BA15, UA857...",
tools
});
Model veri olmadan yanıt veremediği için bir fonksiyon çağrısı yapar. Kodunuz aramayı çalıştırır, bir function_call_output öğesi ekler ve API'yi tekrar çağırır:
// Her araç çağrısı için bir gidiş-dönüş. Bu döngü maliyettir.
while (hasFunctionCalls(response)) {
const outputs = await executeToolCalls(response); // sizin kodunuz, sizin altyapınız
response = await client.responses.create({
model: "gpt-5.6",
previous_response_id: response.id,
input: outputs,
tools
});
}
12 uçuş için bu döngü 12 kez çalışabilir ve her yineleme iki kat öder. İlk olarak gecikmede: OpenAI'ye tam bir ağ gidiş-dönüşü artı model süresi, sıralı, çünkü N+1 çağrısı modelin N sonucunu görmesine bağlıdır. İkinci olarak token'larda: araç sonuçları bağlamda birikir, bu nedenle sonraki yinelemeler öncekilerin ürettiği her şeyi yeniden işler. Ajanları birbirine zincirlediğinizde bileşik çirkinleşir: her adımın on çağrılı bir döngüyü kapsadığı beş adımlı bir ajan, elli faturalandırılmış model çağrısı demektir.
Bu döngünün hiçbir parçası zeka değildir. Bu sadece tesisattır ve bu haftaya kadar modelin tesisatı kendi başına yazmasının bir yolu yoktu.
Programatik modun şekli nasıl değiştirdiği
Programatik araç çağırma ile model uçuş sorusunu farklı yanıtlar: on iki uçuş numarası üzerinde döngü yapan, her biri için get_flight_status'u çağıran, gecikmeli durumu filtreleyen, gecikme uzunluğuna göre sıralayan ve toplamı döndüren kısa bir JavaScript programı yazar. Sanal ortam bu programı yürütür. Araçlarınız hala gerçek işi yapar; etrafındaki kontrol akışı artık modele aittir.
Üç özellik bunu endişe verici olmaktan çok uygulanabilir kılar:
- Çalışma zamanı izole edilmiştir. OpenAI, oluşturulan JavaScript'i ağ erişimi olmayan bir V8 sanal ortamında çalıştırır. Kod bir URL getiremez, bir soket açamaz veya kendi başına herhangi bir şeyi sızdıramaz.
- Araçlar tek çıkış noktasıdır. Her harici etki, tanımladığınız araç yüzeyinden geçer. Bir
delete_recordaracı ifşa etmediyseniz, hiçbir oluşturulan kod bir kaydı silemez. - Kontrol akışı daha anlamlı hale gelir. Döngüler, koşullar, erken çıkışlar, sonuçlar arası toplama: N gidiş-dönüş gerektiren desenler artık tek bir yanıt döngüsü içinde gerçekleşir.
| Klasik fonksiyon çağırma | Programatik araç çağırma | |
|---|---|---|
| Kontrol akışını kim yazar | Uygulamanız | Model, JavaScript olarak |
| N araç çağrısı için gidiş-dönüşler | N, sıralı | Tek bir yanıt döngüsü |
| Orkestrasyon nerede çalışır | Altyapınız | İzole V8 sanal ortamı, ağ yok |
| Araçlar nasıl yürütülür | Kodunuz onları çağırır | Yine de beyan ettiğiniz araç yüzeyiniz aracılığıyla |
| Güvenlik sınırı | Araç tanımları | Araç tanımları, değişmeden |
Neler aynı kalır
Yukarıdaki kodda gösterildiği gibi araçları hala adları, açıklamaları ve JSON Şema parametreleriyle tanımlarsınız. Model, yalnızca bildirdiğiniz araçlara çağrıları oluşturabilir, bu da "bu ajan sistemlerime ne yapabilir" sorusunun daha önce olduğu gibi aynı cevaba sahip olduğu anlamına gelir: araç yüzeyinizin izin verdiği her şey ve başka hiçbir şey.
Şema kalitesi artık daha az değil, daha önemli. Klasik döngüde, belirsiz bir parametre açıklaması, bir sonraki gidiş-dönüşten önce yakalayıp düzeltebileceğiniz kötü bir çağrı üretti. Programatik modda, aynı belirsizlik bir döngüye yerleştirilebilir ve tek bir sonuç görmeden önce her yinelemede tekrarlanabilir. Yapılandırılmış çıktılar için edindiğiniz alışkanlıklar doğrudan aktarılır: katı türler, kapalı kümeler için enum'lar, birimleri ve formatları belirten açıklamalar, dürüstçe gerekli olan zorunlu alanlar.
Sınırlar ve açık sorular
Bu yetenek günler önce çıktı. Ajan yığınınızı bunun etrafında yeniden inşa etmeden önce birkaç uyarı:
- Kesin istek parametreleri, yürütme limitleri ve zaman aşımı davranışı OpenAI'nin API referansına ve model kılavuzuna aittir. Herhangi bir genel kullanıma sunum sonrası cilalama sırasında parametre adları değişebilir, bu nedenle özelliği kullanarak kod yazmadan önce referansı okuyun.
- Hata ayıklama yeni bir yüzeydir. Orkestrasyon sizin deponuzda yaşarken bir kesme noktası ayarlayabilirdiniz; şimdi kontrol akışının bir kısmı her istek için yeni oluşturulur. Sanal ortamın yaptığı araç çağrı sırasını kaydetmek, temel bir gözlemlenebilirlik görevi haline gelir.
- Henüz bir üretim geçmişi yok. Simon Willison'ın GPT-5.6 hakkındaki ilk gün notları, bağımsız testlerin ortaya çıkardıklarının iyi bir kaydıdır; resmi belgeler bunları belirtmeden önce keskin kenarların ortaya çıkmasını bekleyin.
- Sağlıklı bir dağıtım sırası: salt okunur araçlarla başlayın, oluşturulan orkestrasyonu izleyin, eski döngünüze karşı token muhasebesini doğrulayın ve ancak o zaman yan etkili araçları ortaya çıkarın.
Araçlarınız artık başkasının kodunun çağırdığı bir API
Klasik fonksiyon çağırma altında, bir araç her gidiş-dönüşte bir kez çağrılır, insan tarafından yazılmış bir döngü hız ve sırayı belirler. Programatik araç çağırma altında, oluşturulan kod araçlarınızı patlamalar halinde çağırır, yanıtlarına göre dallanır ve çıktılarını toplar. Her araç, çalışan makine tarafından yazılmış bir istemci tarafından tüketilen bir API sözleşmesidir ve siz onu asla gözden geçirmeden çalışır.
Bu, dört şey için çıtayı yükseltir:
- Şema hassasiyeti. Her parametre açıklamasında birimleri, formatları ve aralıkları belirtin. Belirsiz bir tarih formatı artık tek bir kötü çağrı değil; bir döngü içinde tekrarlanan bir hatadır.
- Hata şekilleri. Oluşturulan kod, hatalara göre dallanacaktır. Bir string içinde gömülü bir hata mesajı ile 200 dönen bir araç, şemanıza karşı yazılan herhangi bir orkestrasyonu yanıltır. Dürüst durum kodları ve yapılandırılmış hata gövdeleri döndürün.
- Idempotency ve oran davranışı. Bir dakikada gelen on iki çağrı, artık tek bir patlama halinde gelebilir. Model sizin için öğrenmeden önce uç noktanızın bu desen altında ne yaptığını bilin.
- Gecikme. Sekiz saniye süren bir araç, bir zamanlar tur başına tolere edilebilirdi. On iki yinelemeli bir döngü içinde, yanıt sürenizi belirler.
İşte gerçek bir API çalışma tezgahının yerini kazandığı yer. Her araç uç noktasının spesifikasyonunu tanımlayın veya içe aktarın, ona karşı test istekleri gönderin ve yanıt şemasının araç tanımınızın vaat ettikleriyle eşleştiğini doğrulayın. Ardından bir adım daha ileri gidin: üretim ortamına dokunmadan tahmin edilebilir sahte verilere karşı orkestrasyonu çalıştırabilmeniz için araç API'sini taklit edin. Apidog'u indirin ve yerleşik sahte sunucusu, tanımladığınız her uç nokta için şema şeklinde yanıtlar sunacak, böylece tek bir gerçek kayda dokunmadan modele tam bir araç yüzeyi sunabilir ve nasıl orkestre ettiğini izleyebilirsiniz.
Kısaca diğer genel kullanıma sunulan özellikler
Programatik araç çağırma tek başına gönderilmedi. İki bitişik Responses API eklemesi burada önemlidir:
- Çoklu ajan, beta sürümünde: API tarafından yönetilen paralel alt ajan yürütmesi. Erken aşama, üzerine bahis oynamaktansa izlemeye değer.
- Kalıcı muhakeme:
reasoning.contextaracılığıyla turlar arasında yeniden kullanılan muhakeme bağlamı, böylece uzun ajan oturumları her turda aynı sonuçları yeniden çıkarmayı bırakır.
Her ikisi de programatik araç çağırma ile birleşir: turlar arasında muhakemesini koruyan ve kendi orkestrasyonunu yazan bir ajan, görev başına çok daha az gereksiz iş yapar.
Programatik araç çağırma ve ultra mod karşılaştırması
Lansman aynı zamanda ultra modu da getirdi ve her ikisi de istek başına daha fazlasını yaptığı için karışıklığa neden oluyor. Farklı darboğazları çözüyorlar.
Ultra, varsayılan olarak dört ajanı paralel çalıştıran, duvar saatini kısaltmak için kasıtlı olarak daha fazla token harcayan çoklu ajan ayarıdır; OpenAI'ye göre Terminal-Bench 2.1'i %88.8'den %91.9'a çıkarır. Pro ve Enterprise planlarındaki ChatGPT Work'te ve Plus'tan itibaren Codex'te bulunur. Programatik araç çağırma, bir ajanın araçlarını kodda düzenlediği bir API yeteneğidir. Ultra düşünmeyi paralelleştirir; programatik araç çağırma yürütme gidiş-dönüşlerini daraltır. Tam döküm GPT-5.6 ultra mod yazımızda, ancak kısa versiyonu: eğer darboğazınız araç çağırma gecikmesiyse, programatik araç çağırmayı istersiniz; zor sorunlarda düşünme süresi ise, ultra modu istersiniz.
SSS
Mevcut araç tanımlarımı yeniden yazmam gerekiyor mu?
Hayır. Araçlar yukarıdaki kodda gösterilen aynı JSON Şema şeklini korur ve klasik fonksiyon çağırma için yazılan tanımlar geçerliliğini sürdürür. Yapılması gereken değerli iş, onları sıkılaştırmaktır: enum'lar ekleyin, formatları belirtin ve açıklamaları, oluşturulan kodun yanlış okuyamayacağı kadar belirli hale getirin.
Oluşturulan JavaScript internete erişebilir mi?
Hayır. Kod, ağ erişimi olmayan izole bir V8 çalışma zamanında çalışır ve beyan ettiğiniz araçlar, sanal ortam dışında herhangi bir şeyi etkilemesinin tek yoludur. Bu, araç yüzeyinizi tüm risk modeliniz yapar, bu nedenle halka açık bir API'ye vereceğiniz özenle hangi araçları açığa çıkardığınızı denetleyin.
Hangi GPT-5.6 modelleri programatik araç çağırmayı destekler?
OpenAI bunu, GPT-5.6 ailesi için Responses API yüzeyi olarak belgeler ve üç katmanın (gpt-5.6-sol, gpt-5.6-terra, gpt-5.6-luna) tümü herhangi bir API hesabı için kendi kendine hizmet verir. Birine karar vermeden önce katman düzeyindeki ayrıntılar için API referansını kontrol edin. Temel kurulum ve ilk istek incelemesi için, GPT-5.6 API'yi nasıl kullanacağınızı görün.
Bu, kod yorumlayıcısından nasıl farklıdır?
Kod yorumlayıcı, kodu bir çıktı olarak çalıştırır: analiz, grafikler, dosya dönüşümleri. Programatik araç çağırma, tek görevi beyan ettiğiniz araçları koordine etmek olan kod üretir; çıktı, kodun kendisi değil, toplanan araç sonuçlarıdır.
Bu durum sizi nerede bırakıyor
Gidiş-dönüş döngüsü, gönderdiğiniz her ajanın en az ilgi çekici kısmıydı ve GPT-5.6 bunu isteğe bağlı hale getirdi. Orkestrasyon modele taşındı; temiz, hassas, iyi huylu araç API'leri için sorumluluk, eskisinden daha fazla ağırlıkla size geçti.
Bir sonraki adım somut. Yoğun okuma gerektiren bir iş akışı seçin, ihtiyaç duyduğu araç şemalarını yazın veya sıkılaştırın ve her uç noktayı Apidog'un API istemcisi ve sahte sunucusu aracılığıyla, sözleşme ani çağrılar ve kötü girdiler altında sağlam kalana kadar test edin. Model araçlarınıza karşı kod yazmaya başladığında, o kodun zaten test ettiğiniz bir yüzeyden okumasını istersiniz.
