· kaynak Vercel blog
Vercel'in json-render'ı, Chat SDK ajanlarından üretken arayüz kartlarını Slack ve Teams'e akıtıyor
Vercel'in Chat SDK ajanları artık üretken arayüz akıtabiliyor: model bir JSON tanımı üretiyor ve json-render bunu doğrulayıp Slack Block Kit ve Teams Adaptive Cards gibi yerel kartlar olarak render ediyor.

Ajanlar artık yalnızca metin değil, arayüz de akıtabiliyor
Vercel'in Chat SDK'sı, json-render adlı yeni bir paket aracılığıyla ajanlardan üretken arayüz akıtabiliyor. Vercel bloguna göre ajan, görüntülemek istediğini açıklayan bir JSON tanımı yayıyor ve json-render bu tanımı bir Chat SDK kartına dönüştürüyor. Platform adaptörleri de kartı hedef platformun beklediği biçimde teslim ediyor — Slack'te Block Kit, Microsoft Teams'te Adaptive Cards.
Yerleşik katalog tablolar, grafikler, düğmeler ve diğer yaygın öğeleri içeriyor; böylece tek bir tanım her platforma hizmet edebiliyor ve her mesaj biçimi için özel bir renderer gerektirmiyor.
Bir kart nasıl oluşturuluyor ve akıtılıyor
Uygulama tarafında geliştiriciler, @json-render/core'daki defineCatalog ile bileşenleri tipli bir katalogda kaydediyor. catalog.prompt() çağrısı, kural kurallarını ajanın sistem prompt'una enjekte ederek modelin hangi bileşenleri kullanabileceğini bilmesini sağlıyor. Vercel'in örneği bunu AI SDK'daki streamText ile oluşturulmuş bir ajana bağlıyor: bot bir konu başlığında anıldığında, modelin metin akışı @json-render/chat'teki streamCard ile yönlendiriliyor ve düz metin yanıtının yerine konu başlığında canlı bir kart görünüyor.
Akıtma artımlı. Vercel'e göre streamCard, kök öğe içeriğe sahip olduğu anda kartı yayınlıyor ve diğer öğeler geldikçe mesajı güncellemeye devam ediyor. Güncellemeler varsayılan olarak en fazla 500 milisaniyede bir düzenleme yapılacak şekilde kısıtlanıyor; bu da Chat SDK'nın mevcut akış ritmiyle uyumlu. Model bitirdiğinde ise konu başlığı nihai, doğrulanmış bir kartta sonlanıyor.
Tanımlar doğrulanıyor ve platform sınırları açık
Yapılandırılmış çıktıyı bir model ürettiği için json-render buna kuşkuyla yaklaşıyor. toCard fonksiyonu her öğenin props'larını bileşen şemasına göre denetliyor ve uygun olmayan bir şey varsa CardSpecError yükseltiyor. Her hata kendi insan tarafından okunabilir açıklamasını taşıyor; böylece sorun listesi modele geri beslenebiliyor ve belirsiz bir başarısızlık yerine düzeltilmiş bir tanım istenebiliyor.
Platform üst sınırları da ele alınıyor. Sohbet platformları tek bir mesajın ne kadar içerik taşıyabileceğini kısıtlıyor ve Chat SDK adaptörleri, bir tanım bu sınırları aştığında daha basit bir sunuma geçiyor — Vercel örneğin Slack adaptörünün ikinci tabloyu kod bloğu olarak render ettiğini belirtiyor. Katı davranışı tercih eden ekipler sınırları geçebiliyor ve aşırı büyük tanımların sessizce düşürülmesi yerine tamamen reddedilmesini sağlayabiliyor. Vercel ayrıca geliştiricileri bu akışı denemek için dokümantasyona ve bir playground'a yönlendiriyor.
Neden önemli
Bugün çoğu ajan hâlâ düz metinle iletişim kuruyor. Bir ajan, kullanıcının zaten açık tuttuğu bir sohbetin içinde tablolar, grafikler ve etkileşimli düğmeler üretebildiği anda çıktısı başka bir yere kopyalanacak bir şey olmaktan çıkıp doğrudan kullanılabilir hale geliyor — bir sonuç tablosu, bir grafik, bir onayla-veya-iptal-et prompt'u birinci sınıf yanıtlara dönüşüyor.
Zor olan kısım bunu platformlar arası yapmak. Block Kit ve Adaptive Cards farklı kısıtlamalara sahip farklı biçimler ve platform başına render kodu, ajan dağıtımlarını yavaşlatan tipik yapıştırıcı işlerden. Her adaptörün yerel olarak render ettiği tek bir JSON tanımı bu yükün çoğunu ortadan kaldırıyor; buradaki dikkat çekici yetenek de tam olarak bu: tek bir ajan çıktısı, birçok yerel yüzey.
Tasarım, LLM çıktısının gerçeklerini de kabul ediyor. Kısıtlanmış düzenlemeler akıtılan kartların sohbete doğal gelmesini sağlıyor, okunabilir hatalı şema doğrulaması geliştiricilere bozuk tanımlar için bir onarım döngüsü veriyor ve platform sınırlarının açıkça ele alınması, düşük kaliteli çıktının sürpriz değil bir politika tercihi olduğu anlamına geliyor. Üretim sohbet ajanları inşa eden ekipler için bu kombinasyon, üretken arayüzü bir demodan güvenilir bir şeye dönüştüren şeydir.
- #vercel
- #generative-ui
- #ai-agents
- #json-render
- #developer-tools