Klasik fonksiyon çağırma, her ajan geliştiricisinin ezbere bildiği bir akışa sahiptir: model bir araç çağrısı ister, uygulamanız çağrıyı yürütür, sonucu bağlama eklersiniz ve model bir sonraki çağrıyı ister. Dört araç için dört gidiş-dönüş, kırk araç için kırk gidiş-dönüş gerekir. 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 çıkmak için Responses API'ye programatik araç çağırmayı ekledi.
Fikir doğrudan: Kodunuzun araç çağrılarını tek tek bir döngüde yürütmesi yerine model, birden fazla araç çağrısını 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 için kullandığınız güvenlik sınırı korunur. Değişen şey orkestrasyondur: döngüler, koşullar ve toplama işlemleri artık uygulamanız yerine model tarafından oluşturulur.
Bu değişim API tasarımınızı da etkiler. Ortaya çıkardığınız her araç, modelin tek tek değil, düzinelerce çağrılık patlamalar halinde kullanabileceği bir sözleşmeye dönüşür. Şema hassasiyeti, hata biçimleri ve hız davranışı artık daha önemlidir. Bu makale, programatik araç çağırmanın ne sunduğunu, klasik döngünün neden maliyetli olduğunu ve araç uç noktalarınızı modele devretmeden önce Apidog ile nasıl hazırlayabileceğinizi ele alır.
Özet
- GPT-5.6, 9 Temmuz 2026'da genel kullanıma sunuldu. Responses API, OpenAI geliştirici belgelerine göre programatik araç çağırma özelliğini kazandı.
- Model, her gidiş-dönüşte tek araç çağrısı yapmak yerine araçlarınız üzerinde döngüler, koşullar ve toplama işlemleri içeren JavaScript yazar.
- Oluşturulan kod, ağ erişimi olmayan izole bir V8 ortamında çalışır. Harici sistemlere erişim yalnızca araç tanımlarınız üzerinden gerçekleşir.
- Araç çağrısı sayısıyla gecikme ve token maliyetinin doğrusal olarak büyüdüğü klasik ajan döngülerini azaltmayı hedefler.
- Kesin istek parametreleri ve limitler için uygulamaya geçmeden önce OpenAI API referansını kontrol edin.
- Model araçları düzenlemeden önce her araç uç noktasını test edin ve taklit edin. Bir şema belirsizliği döngü içinde tekrar eden hataya dönüşebilir.
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 - Hızlı ve maliyet-etkin hacim için
gpt-5.6-luna
Çıplak gpt-5.6 takma adı Sol'a yönlendirilir. Üç model de API üzerinden self-service olarak kullanılabilir. Bu, 8 Temmuz'da erişim kısıtlamasının kalkmasıyla sona eren iki haftalık sınırlı önizlemenin ardından gerçekleşti.
Model ailesi lansman gününde öne çıktı; ancak ajan geliştirenler için asıl önemli değişiklik yeni API yüzeyiydi. MarkTechPost'un lansman kapsamına ve OpenAI belgelerine göre Responses API şu dört özelliği kazandı:
- Programatik araç çağırma
- Çoklu ajan beta sürümü
- Dönüşler arasında kalıcı muhakeme
- Orijinal görüntü boyutlarını koruyan görüntü ayrıntı ayarları
Programatik araç çağırma, modelin araç çağrılarını düzenlemek için JavaScript yazmasına dayanır. Bu JavaScript, ağ erişimi olmayan izole bir V8 çalışma zamanında yürütülür. Model artık yalnızca adım adım çağrı isteyen bir istemci değil, orkestrasyon katmanının yazarıdır.
Programatik araç çağırmanın yerine geçtiği döngü
Bugün üretimdeki çoğu ajan, Responses API ile klasik fonksiyon çağırmayı aşağıdaki gibi kullanır:
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ğinde bir fonksiyon çağrısı oluşturur. Uygulamanız çağrıyı yürütür, bir function_call_output öğesi ekler ve API'yi yeniden çağırır:
// Her araç çağrısı için bir gidiş-dönüş.
// Bu döngü gecikme ve maliyet ekler.
while (hasFunctionCalls(response)) {
const outputs = await executeToolCalls(response);
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. Her yinelemede iki maliyet oluşur:
-
Gecikme: OpenAI'ye tam ağ gidiş-dönüşü ve model işleme süresi gerekir. Çağrılar sıralıysa
N + 1çağrısı,Nsonucunu bekler. - Token maliyeti: Araç sonuçları bağlamda birikir. Sonraki yinelemeler önceki sonuçları yeniden işler.
Ajanları zincirlediğinizde maliyet bileşik hale gelir. Her adımda on çağrılık döngü çalıştıran beş adımlı bir ajan, elli faturalandırılmış model çağrısı anlamına gelebilir.
Bu döngüdeki işin büyük kısmı zeka değil, tesisattır.
Programatik modun akışı nasıl değiştirdiği
Programatik araç çağırmada model, uçuş sorusuna farklı yaklaşır. Uçuş numaraları üzerinde döngü kuran, her numara için get_flight_status çağıran, gecikmeli uçuşları filtreleyen, gecikme süresine göre sıralayan ve sonucu toplayan kısa bir JavaScript programı üretir.
V8 ortamı bu programı çalıştırır. Araçlarınız gerçek işi yapmaya devam eder; ancak kontrol akışı artık model tarafından oluşturulur.
Bu yaklaşımı uygulanabilir yapan üç önemli özellik vardır:
- Çalışma zamanı izoledir. OpenAI, oluşturulan JavaScript'i ağ erişimi olmayan bir V8 ortamında çalıştırır. Kod URL getiremez, soket açamaz veya doğrudan veri sızdıramaz.
-
Araçlar tek çıkış noktasıdır. Her harici etki tanımladığınız araç yüzeyinden geçer.
delete_recordaracını tanımlamadıysanız oluşturulan kod kayıt silemez. - Kontrol akışı daha anlamlı hale gelir. Döngüler, koşullar, erken çıkışlar ve sonuçlar arası toplama gibi işlemler, N ayrı gidiş-dönüş yerine tek yanıt döngüsünde gerçekleşebilir.
| 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üş | N, sıralı | Tek yanıt döngüsü |
| Orkestrasyon nerede çalışır | Altyapınız | Ağ erişimi olmayan izole V8 ortamı |
| Araçlar nasıl yürütülür | Kodunuz araçları çağırır | Tanımladığınız araç yüzeyi üzerinden |
| Güvenlik sınırı | Araç tanımları | Araç tanımları, değişmeden |
Neler aynı kalır
Araçları hâlâ adları, açıklamaları ve JSON Şema parametreleriyle tanımlarsınız. Model yalnızca bildirdiğiniz araçlara çağrı oluşturabilir.
Bu yüzden şu sorunun cevabı değişmez:
Bu ajan sistemlerime ne yapabilir?
Cevap, araç yüzeyinizin izin verdiği işlemlerdir; başka hiçbir şey değil.
Şema kalitesi artık daha az değil, daha önemlidir. Klasik döngüde belirsiz bir parametre açıklaması tek bir hatalı çağrı üretebilir ve bunu sonraki gidiş-dönüşten önce düzeltebilirsiniz. Programatik modda aynı belirsizlik bir döngüye yerleşebilir ve her yinelemede tekrarlanabilir.
Yapılandırılmış çıktılar için kullandığınız kurallar burada da geçerlidir:
- Katı türler kullanın.
- Kapalı değer kümeleri için
enumtanımlayın. - Birim, tarih biçimi ve kimlik formatlarını açıklamalarda açıkça belirtin.
- Gerçekten gerekli olan alanları
requiredolarak işaretleyin. - Hata yanıtlarını da şemalı ve öngörülebilir yapın.
Örneğin, belirsiz bir araç tanımı yerine:
{
type: "string",
description: "Tarih"
}
şuna benzer bir açıklama kullanın:
{
type: "string",
format: "date",
description: "ISO 8601 tarih biçimi: YYYY-MM-DD. UTC kullanın."
}
Sınırlar ve açık sorular
Bu yetenek henüz günler önce çıktı. Ajan yığınınızı bunun etrafında yeniden tasarlamadan önce şu noktaları kontrol edin:
- Kesin istek parametreleri, yürütme limitleri ve zaman aşımı davranışı OpenAI API referansı ve model kılavuzunda yer alır. Genel kullanıma sunum sonrası parametre adları değişebileceği için kod yazmadan önce referansı okuyun.
- Hata ayıklama yeni bir yüzeydir. Orkestrasyon deponuzda yaşarken kesme noktası koyabiliyordunuz. Artık kontrol akışının bir kısmı her istek için yeniden oluşturulur. Araç çağrı sırasını ve araç çıktısını kaydetmek temel bir gözlemlenebilirlik ihtiyacıdır.
- Henüz uzun bir üretim geçmişi yoktur. Simon Willison'ın GPT-5.6 hakkındaki ilk gün notları, bağımsız testlerde ortaya çıkan bulgular için iyi bir kaynaktır.
- Sağlıklı dağıtım sırası şudur: salt okunur araçlarla başlayın, oluşturulan orkestrasyonu izleyin, token kullanımını klasik döngünüzle karşılaştırın, ardından yan etkili araçları kademeli olarak açın.
Araçlarınız artık başka bir kodun çağırdığı API
Klasik fonksiyon çağırmada araç genellikle her gidiş-dönüşte bir kez çağrılır; hız ve sıra insan tarafından yazılmış döngüyle belirlenir.
Programatik araç çağırmada ise oluşturulan kod:
- Araçlarınızı patlamalar halinde çağırabilir,
- Yanıtlara göre dallanabilir,
- Sonuçları filtreleyebilir,
- Çıktıları toplayabilir,
- Bazı koşullarda erken çıkış yapabilir.
Her araç artık çalışan, makine tarafından yazılmış bir istemcinin tükettiği API sözleşmesidir. Bu nedenle dört başlık için çıta yükselir.
1. Şema hassasiyeti
Her parametre açıklamasında birimleri, formatları ve geçerli aralıkları belirtin.
Belirsiz:
{
"amount": {
"type": "number",
"description": "Tutar"
}
}
Daha güvenli:
{
"amount": {
"type": "number",
"minimum": 0,
"description": "Tutar. Para birimi en küçük biriminde tamsayı olarak gönderilir; örneğin 1250 = 12,50 TRY."
}
}
Belirsiz tarih biçimi artık tek bir kötü çağrı değil, döngü içinde tekrar eden hata olabilir.
2. Hata biçimleri
Oluşturulan kod hatalara göre dallanır. HTTP 200 döndürüp gövde içinde serbest metin hata mesajı taşıyan bir araç, şemaya göre yazılmış orkestrasyonu yanıltabilir.
Mümkün olduğunda:
- Uygun HTTP durum kodları döndürün.
- Hata gövdelerini yapılandırılmış tutun.
- Makine tarafından okunabilir hata kodları kullanın.
- Yeniden deneme yapılabilir hataları ayırt edin.
Örnek hata gövdesi:
{
"error": {
"code": "FLIGHT_NOT_FOUND",
"message": "Belirtilen IATA uçuş numarası bulunamadı.",
"retryable": false
}
}
3. Idempotency ve oran davranışı
Bir dakika içinde on iki çağrı artık ardışık gelmek zorunda değildir; tek patlama halinde gelebilir. Uç noktanızın bu davranış altında ne yaptığını önceden bilin.
Kontrol listesi:
- Yazma işlemleri için idempotency anahtarı kullanın.
- Oran limiti davranışını belgeleyin.
-
429yanıtlarında yeniden deneme bilgisini tutarlı verin. - Aynı isteğin tekrar gelmesine karşı veri bütünlüğünü koruyun.
4. Gecikme
Sekiz saniye süren bir araç, tur başına bir kez çağrıldığında tolere edilebilir görünebilir. Ancak on iki yinelemeli bir akışta toplam yanıt süresini belirler.
Araçları üretime açmadan önce şu ölçümleri toplayın:
- p50, p95 ve p99 gecikme
- Zaman aşımı oranı
- Oran limiti yanıtları
- Başarı ve hata oranı
- Eşzamanlı çağrı altında davranış
Burada gerçek bir API çalışma tezgâhı değer kazanır. Her araç uç noktasının spesifikasyonunu tanımlayın veya içe aktarın, 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.
Bir adım daha ileri gidin: Üretime dokunmadan tahmin edilebilir sahte verilerle orkestrasyonu çalıştırmak için araç API'sini taklit edin. Apidog'u indirin ve yerleşik sahte sunucusuyla, tanımladığınız uç noktalar için şema biçiminde yanıtlar üretin. Böylece gerçek kayıtlara dokunmadan modele tam araç yüzeyini sunabilir ve nasıl orkestrasyon yaptığını gözlemleyebilirsiniz.
Kısaca diğer genel kullanıma sunulan özellikler
Programatik araç çağırma tek başına gelmedi. Responses API'deki iki ek özellik özellikle önemlidir:
- Çoklu ajan, beta sürümünde: API tarafından yönetilen paralel alt ajan yürütmesi. Erken aşamada olduğu için doğrudan üzerine bahis oynamak yerine izlemeye değer.
-
Kalıcı muhakeme:
reasoning.contextaracılığıyla turlar arasında yeniden kullanılan muhakeme bağlamı. Uzun ajan oturumlarında aynı sonuçların her turda yeniden çıkarılmasını azaltmayı hedefler.
Bu iki özellik programatik araç çağırma ile birleştiğinde, turlar arasında muhakemesini koruyan ve kendi orkestrasyonunu yazan bir ajan görev başına daha az gereksiz iş yapabilir.
Programatik araç çağırma ve ultra mod karşılaştırması
Lansman ultra modu da getirdi. Her iki özellik de istek başına daha fazla iş yaptığı için karıştırılabilir; ancak farklı darboğazları çözerler.
Ultra, varsayılan olarak dört ajanı paralel çalıştıran bir çoklu ajan ayarıdır. Duvar saati süresini azaltmak için kasıtlı olarak daha fazla token harcar. OpenAI'ye göre Terminal-Bench 2.1 skorunu %88.8 seviyesinden %91.9 seviyesine çıkarır. Pro ve Enterprise planlarındaki ChatGPT Work'te, ayrıca Plus'tan itibaren Codex'te bulunur.
Programatik araç çağırma ise bir ajanın araçlarını kod ile düzenlediği API yeteneğidir.
Kısa ayrım:
| Özellik | Çözdüğü problem |
|---|---|
| Ultra mod | Zor problemlerde daha fazla paralel düşünme |
| Programatik araç çağırma | Araç yürütmedeki gidiş-dönüş ve orkestrasyon maliyeti |
Darboğazınız araç çağırma gecikmesiyse programatik araç çağırmayı değerlendirin. Darboğazınız zor problemlerde düşünme süresiyse ultra modu değerlendirin. Daha ayrıntılı karşılaştırma için GPT-5.6 ultra mod yazısına bakın.
SSS
Mevcut araç tanımlarımı yeniden yazmam gerekiyor mu?
Hayır. Araçlar aynı JSON Şema biçimini korur ve klasik fonksiyon çağırma için yazılan tanımlar geçerliliğini sürdürür.
Yapmanız gereken değerli iş tanımları sıkılaştırmaktır:
-
enumekleyin. - Tarih, para birimi ve kimlik formatlarını belirtin.
- Açıklamaları oluşturulan kodun yanlış yorumlayamayacağı kadar net yazın.
- Başarı ve hata yanıtlarını tutarlı 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. Sanal ortam dışındaki sistemleri etkilemesinin tek yolu, beyan ettiğiniz araçlardır.
Bu nedenle araç yüzeyinizi halka açık bir API gibi denetleyin:
- Gereksiz araçları yayınlamayın.
- Salt okunur araçlarla başlayın.
- Yazma işlemlerine dar kapsamlı yetkiler verin.
- Hassas işlemler için doğrulama ve idempotency ekleyin.
Hangi GPT-5.6 modelleri programatik araç çağırmayı destekler?
OpenAI bunu GPT-5.6 ailesi için Responses API yüzeyi olarak belgeler. Üç katman da self-service API hesapları için kullanılabilir:
gpt-5.6-solgpt-5.6-terragpt-5.6-luna
Model seçmeden önce katman düzeyindeki ayrıntılar için API referansını kontrol edin. İlk kurulum ve istek örnekleri için GPT-5.6 API'yi nasıl kullanacağınızı inceleyin.
Bu, kod yorumlayıcısından nasıl farklıdır?
Kod yorumlayıcı, analiz, grafik oluşturma veya dosya dönüştürme gibi işlemler için kodu çıktı üretmek amacıyla çalıştırır.
Programatik araç çağırma ise tek amacı beyan ettiğiniz araçları koordine etmek olan kod üretir. Çıktı, kodun kendisi değil; araçlardan toplanan sonuçtur.
Bu durum sizi nerede bırakıyor?
Gidiş-dönüş döngüsü, her ajanın en az ilgi çekici kısmıydı ve GPT-5.6 bunu isteğe bağlı hale getirdi. Orkestrasyon modele taşınırken temiz, kesin ve iyi davranan araç API'leri oluşturma sorumluluğu daha da önem kazandı.
Sonraki adımı somut tutun:
- Yoğun okuma veya çok sayıda araç çağrısı gerektiren bir iş akışı seçin.
- Araç şemalarını yazın veya sıkılaştırın.
- Her uç noktayı başarı, hata, zaman aşımı ve eşzamanlılık senaryolarıyla test edin.
- Araçları sahte verilerle taklit edin.
- Önce salt okunur işlemleri açın.
- Oluşturulan çağrı sırasını, gecikmeyi ve token kullanımını kaydedin.
- Ardından yan etkili araçları kontrollü biçimde ekleyin.
Model araçlarınıza karşı kod yazmaya başladığında, bu kodun zaten test ettiğiniz bir API yüzeyini kullanmasını istersiniz. Apidog'un API istemcisi ve sahte sunucusuyla sözleşmeniz ani çağrılar ve hatalı girdiler altında sağlam kalana kadar test edin.
Top comments (0)