Ana içeriğe atla
OpenAI

4 Şubat 2026

Mühendislik

Codex donanımının kilidini açmak: App Server'ı nasıl oluşturduk

Celia Chen, Teknik Personel Üyesi

Yükleniyor...

OpenAI'ın otonom ajanı Codex, birçok farklı platformda mevcuttur: web uygulaması(yeni bir pencerede açılır), CLI(yeni bir pencerede açılır), IDE uzantısı(yeni bir pencerede açılır) ve yeni Codex macOS uygulaması. Perde arkasında, hepsi aynı Codex altyapısı tarafından çalıştırılır; tüm Codex deneyimlerinin temelini oluşturan otonom ajan döngüsü ve mantık. Aralarındaki kritik bağ nedir? Codex App Server(yeni bir pencerede açılır), kullanıcı dostu, çift yönlü bir JSON-RPC1 API'sidir.

Bu yazıda Codex Uygulama Sunucusu'nu tanıtacağız ve Codex'in yeteneklerini ürününüze entegre etmenin en iyi yolları hakkında şimdiye kadar edindiğimiz bilgileri paylaşacağız, böylece kullanıcılarınızın iş akışlarını güçlendirmelerine yardımcı olabilirsiniz. App Server'ın mimarisini ve protokolünü ve bunun farklı Codex yüzeyleriyle nasıl entegre olduğunu ele alacağız; ayrıca ister Codex’i bir kod gözden geçiriciye, ister bir SRE otonom ajanına, ister bir kodlama asistanına dönüştürmek isteyin; Codex’ten nasıl yararlanabileceğinize dair ipuçları da paylaşacağız.

App Server'ın Kökeni

Mimariye dalmadan önce, App Server'ın geçmişini bilmekte fayda var. Başlangıçta, App Server, Codex donanımını ürünler arasında yeniden kullanmanın pratik bir yoluydu ve bu, zamanla standart protokolümüz haline geldi.

Codex CLI, bir TUI (terminal kullanıcı arayüzü) olarak başladı, yani Codex'e terminalden erişilir. VS Code uzantısını (Codex ajanlarıyla etkileşim kurmak için IDE dostu bir yöntem) oluştururken, aynı ajanı yeniden uygulamaya gerek kalmadan IDE kullanıcı arayüzünden çalıştırmak için aynı donanımı kullanmanın bir yolunu bulmamız gerekiyordu. Bu, çalışma alanını keşfetmek, ajanın akıl yürütme sürecini aktarmak ve farklılıkları ortaya çıkarmak gibi istek/yanıtın ötesinde zengin etkileşim modellerini desteklemek anlamına geliyordu. Öncelikle Codex'i bir MCP sunucusu(yeni bir pencerede açılır) olarak kullanıma sunmayı denedik, ancak VS Code için anlamlı olacak şekilde MCP semantiğini korumak zor oldu. Bunun yerine, TUI döngüsünü yansıtan bir JSON-RPC protokolü tanıttık; bu, App Server'ın resmî olmayan ilk sürümü(yeni bir pencerede açılır) oldu. O dönemde, diğer müşterilerin App Server'a bağımlı olmasını beklemiyorduk; bu yüzden kararlı bir API olarak tasarlanmamıştı.

Codex'in benimsenmesi önümüzdeki birkaç ay içinde yaygınlaştıkça, iç ekipler ve dış ortaklar, kullanıcılarının yazılım geliştirme iş akışlarını hızlandırmak için aynı donanımı kendi ürünlerine entegre etme olanağına sahip olmak istediler. Örneğin, JetBrains ve Xcode IDE düzeyinde bir ajan deneyimi isterken, Codex masaüstü uygulaması birçok Codex ajanını paralel olarak koordine etmek zorundaydı. Bu talepler, hem ürünlerimizin hem de iş ortağı entegrasyonlarımızın zaman içinde güvenle dayanabileceği bir platform yüzeyi tasarlamamızı sağladı. Entegrasyonu kolay ve geriye dönük uyumlu olması gerekiyordu, yani mevcut istemcileri bozmadan protokolü geliştirebilmemiz gerekiyordu.

Sonraki adımda, farklı istemcilerin aynı donanımı kullanabilmesi için mimariyi ve protokolü nasıl tasarladığımızı inceleyeceğiz.

Codex donanımının içinde

Öncelikle, Codex donanımının içeriğine ve Codex App Server'ın bunu istemcilere nasıl sunduğuna yakından bakalım. Son Codex blog yazımızda, kullanıcı, model ve araçlar arasındaki etkileşimi düzenleyen temel otonom ajan döngüsünü ayrıntılı olarak ele aldık. Bu, Codex donanımının temel mantığıdır, ancak tam otonom ajan deneyiminde daha fazlası var:

1. İş parçacığının yaşam döngüsü ve kalıcılığı. İş parçacığı, bir kullanıcı ile bir temsilci arasındaki Codex konuşmasıdır. Codex, iş parçacıklarını oluşturur, devam ettirir, çatallandırır ve arşivler; ayrıca olay geçmişini kalıcı hale getirir, böylece müşteriler yeniden bağlanıp tutarlı bir zaman çizelgesi oluşturabilir.

2. Yapılandırma ve kimlik doğrulama. Codex, yapılandırmayı yükler, varsayılanları yönetir ve kimlik bilgisi durumu da dahil olmak üzere "Sign in with ChatGPT" gibi kimlik doğrulama akışlarını çalıştırır.

3. Araçların çalıştırılması ve uzantılar. Codex, shell/dosya araçlarını bir sandbox ortamında çalıştırır ve MCP sunucuları ile beceriler gibi entegrasyonları bağlayarak bunların tutarlı bir politika modeli altında otonom ajan döngüsüne katılmalarını sağlar.

Burada bahsettiğimiz tüm otonom ajan mantığı, çekirdek otonom ajan döngüsü de dahil olmak üzere, Codex CLI kod tabanının "Codex core(yeni bir pencerede açılır)" adlı bir bölümünde yer alır. Codex çekirdeği, tüm ajan kodlarının bulunduğu bir kütüphane ve ajan döngüsünü çalıştırmak ve bir Codex iş parçacığının (konuşma) kalıcılığını yönetmek için çalıştırılabilen bir çalışma zamanıdır.

Kullanışlı olması için Codex donanımının istemciler tarafından erişilebilir olması gerekir. İşte App Server bu noktada devreye giriyor.

"App server process flow" başlıklı diyagram. Bir istemci, JSON-RPC mesajlarını bir stdio okuyucusuna gönderir ve bu okuyucu istekleri bir Codex mesaj işleyicisine iletir. İşlemci, arama iş parçacıkları, iş parçacığı tanıtıcıları, gönderilen istekler ve olaylar/güncellemeler aracılığıyla iş parçacığı yöneticisi ve çekirdek iş parçacığı ile etkileşime girer, ardından yanıtları istemciye geri gönderir.

App Server, istemci ile sunucu arasındaki JSON-RPC protokolünü ve Codex çekirdek iş parçacıklarını barındıran uzun ömürlü bir süreci içerir. Yukarıdaki diyagramdan da görebileceğimiz gibi, bir App Server süreci dört ana bileşenden oluşur: stdio okuyucu, Codex mesaj işleyici, iş parçacığı yöneticisi ve çekirdek iş parçacıkları. İş parçacığı yöneticisi, her iş parçacığı için bir çekirdek oturumu başlatır ve ardından Codex mesaj işleyicisi, istemci isteklerini göndermek ve güncellemeleri almak üzere her çekirdek oturumuyla doğrudan iletişim kurar.

Tek bir istemci isteği birçok olay güncellemesine yol açabilir ve bu ayrıntılı olaylar, App Server üzerinde zengin bir kullanıcı arayüzü oluşturmamıza olanak tanır. Ayrıca, stdio okuyucu ve Codex mesaj işleyici, istemci ile Codex çekirdek iş parçacıkları arasında bir çeviri katmanı olarak hizmet eder. İstemci JSON-RPC isteklerini Codex çekirdek işlemlerine dönüştürür, Codex çekirdeğinin dahili olay akışını dinler ve ardından bu düşük seviyeli olayları küçük bir dizi kararlı, kullanıcı arayüzüne hazır JSON-RPC bildirimine dönüştürür.

İstemci ile App Server arasındaki JSON-RPC protokolü tamamen çift yönlüdür. Tipik bir iş parçacığı, bir istemci isteği ve birçok sunucu bildirimi içerir. Ayrıca, sunucu, otonom ajan bir girdiye ihtiyaç duyduğunda, örneğin bir onay, istekleri başlatabilir ve ardından istemci yanıt verene kadar işlemi duraklatabilir.

Konuşma ilkeleri

Ardından, App Server protokolünün yapı taşları olan konuşma öğelerini inceleyeceğiz. Bir ajan döngüsü için API tasarlamak zordur çünkü kullanıcı/otonom ajan etkileşimi basit bir istek/yanıt ilişkisi değildir. Bir kullanıcı isteği, istemcinin sadakatle temsil etmesi gereken yapılandırılmış bir eylem dizisine dönüşebilir: kullanıcının girdisi, otonom ajanın kademeli ilerlemesi, yol boyunca üretilen belgeler (örneğin, farklar). Bu etkileşim akışını kullanıcı arayüzleri genelinde kolayca entegre edilebilir ve dayanıklı hale getirmek için, net sınırları ve yaşam döngüleri olan üç temel ilkeye karar verdik:

1. Öğe: Codex'te bir öğe, girdi/çıktının en temel birimidir. Öğeler türlerine göre sınıflandırılır (ör. kullanıcı mesajı, otonom ajan mesajı, araç çalıştırma, onay isteği, fark) ve her birinin belirgin bir yaşam döngüsü vardır:

  • item/started öğe başladığında
  • isteğe bağlı item/*/delta olayları içerik akışları olarak (akış öğe türleri için)
  • Öğe terminal yüküyle tamamlandığında item/completed

Bu yaşam döngüsü, istemcilerin started aşamasında hemen render etmeye başlamasına, delta aşamasında artımlı güncellemeleri akış halinde almasına ve completed aşamasında sonlandırmasına olanak tanır.

2. Tur: Bir tur, kullanıcı girdisiyle başlatılan bir otonom ajan çalışma birimidir. İstemci bir girdi (örneğin, "run tests and summarize failures") gönderdiğinde süreç başlar ve otonom ajan bu girdi için çıktıları üretmeyi tamamladığında sona erer. Bir tur, süreç boyunca üretilen ara adımları ve çıktıları temsil eden bir dizi öğe içerir.

3. İş Parçacığı: İş parçacığı, bir kullanıcı ile bir otonom ajan arasında devam eden bir Codex oturumunun kalıcı kapsayıcısıdır. Birden fazla tur içerir. İş parçacıkları oluşturulabilir, devam ettirilebilir, çatallanabilir ve arşivlenebilir. İş parçacığı geçmişi kalıcı olarak saklanır, böylece istemciler yeniden bağlanıp tutarlı bir zaman çizelgesi görüntüleyebilir.

Şimdi, bir müşteri ile bir otonom ajan arasındaki basitleştirilmiş bir konuşmaya bakacağız; burada konuşma, temel unsurlarla temsil edilir:

"Client-server protocol message flow: Initialization handshake." başlıklı bir diyagram. Bir istemci, clientInfo bilgileriyle sunucuya bir başlatma isteği gönderir. Sunucu, "my_client/1.0" userAgent dizesini içeren bir sonuç olayıyla yanıt verir.

Konuşmanın başında, istemci ve sunucu initialize el sıkışmasını kurmalıdır. İstemci, diğer herhangi bir yöntemden önce tek bir initialize isteği göndermelidir ve sunucu bunu bir yanıtla onaylar. Bu, sunucuya yeteneklerini tanıtma fırsatı verir ve her iki tarafın da gerçek çalışma başlamadan önce protokol sürümleri, özellik bayrakları ve varsayılanlar üzerinde anlaşmasına olanak tanır. OpenAI'ın VS Code uzantısından bir örnek yük:

JSON

1
{
2
"method": "initialize",
3
"id": 0,
4
"params": {
5
"clientInfo": {
6
"name": "codex_vscode",
7
"title": "Codex VS Code Extension",
8
"version": "0.1.0"
9
}
10
}
11
}

Sunucu şu yanıtı verir:

JSON

1
{
2
"id": 0,
3
"result": {
4
"userAgent": "codex_vscode/0.94.0-alpha.7 (Mac OS 26.2.0; arm64) vscode/2.4.22 (codex_vscode; 0.1.0)"
5
}
6
}
"Client-server protocol message flow: Thread & turn lifecycle." başlıklı diyagram. İstemci, sunucuya thread/start ve turn/start isteklerini gönderir. Sunucu, thread/started, turn/started, item/started ve item/completed olaylarını yayarak, kullanıcı mesajının "run tests and summarize failures." olduğu bir turu gösterir.

Bir istemci yeni bir istek yaptığında, önce bir iş parçacığı ve ardından bir tur oluşturur. Sunucu, ilerleme bildirimlerini geri gönderecektir (thread/started ve turn/started). Ayrıca, burada kullanıcı mesajı gibi öğe olarak kaydettiği girdileri de geri gönderir.

"Client-server protocol message flow: Tool execution with optional approval." başlıklı diyagram. Araç çağrısı sırasında, sunucu item/started, ardından item/commandExecution/requestApproval mesajını bir neden ("run tests") ile birlikte gönderir. Müşteri bir onay olayı (allow/deny) döndürür. Sunucu daha sonra komutun yürütülmesini ("pnpm test") gösteren item/completed mesajını gönderir.

Araç çağrıları, öğeler olarak istemciye geri gönderilir. Ayrıca sunucu, bir sunucu isteği göndererek bir eylemi çalıştırabilmek için önce istemci onayı isteyebilir. Onay süreci, istemci "allow" veya "deny" ile yanıt verinceye kadar turu durdurur. VS Code uzantısında onay akışı şu şekilde görünmektedir:

Koyu temalı bir arayüzde, "Do you want to allow me to run pnpm test for this workspace?" şeklinde bir komut görüntülenmektedir. Seçenekler şunlar: 1) Yes, 2) Yes and don’t ask again for commands starting with pnpm test ve 3) No, en altta bir Gönder düğmesi var.
"İstemci-sunucu protokol mesaj akışı: Akış otonom ajan mesaj akışı." başlıklı diyagram. Sunucu, yardımcı mesajını parçalar halinde yayınlar: item/started, two agentMessage/delta events ("ran 3 tests.", "all passed"), ardından item/completed. Tur, turn/completed ile tamamlanır.

Son olarak, sunucu bir otonom ajan mesajı gönderir ve ardından turn/completed ile turu tamamlar. Otonom ajan mesaj delta olayları, mesaj item/completed ile tamamlanana kadar mesajın parçalarını geri iletir.

Diyagramdaki mesajlar okunabilirlik amacıyla sadeleştirilmiştir. Tam bir tur için JSON'ı görmek istiyorsanız Codex CLI deposundaki test istemcisini çalıştırabilirsiniz.

Bash

1
codex debug app-server send-message-v2 "run tests and summarize failures"

İstemcilerle entegrasyon sağlama

Şimdi, farklı istemci yüzeylerinin App Server aracılığıyla Codex'i nasıl yerleştirdiğine bakalım. Üç deseni ele alacağız: yerel uygulamalar ve IDE'ler, Codex web çalışma zamanı ve TUI.

"Codex clients integrated with Codex harness via app server" başlıklı diyagram. Birinci taraf istemciler (Codex Desktop App, TUI/CLI, Web Runtime) ve üçüncü taraf entegrasyonlar (JetBrains IDE'leri, VS Code, Xcode), JSON-RPC çağrıları aracılığıyla Codex donanımı ile iletişim kurar.

Üçünün tamamında taşıma, stdio (JSONL) üzerinden JSON-RPC ile yapılır. JSON-RPC, tercih ettiğiniz dilde istemci bağlamaları oluşturmayı basit hale getirir. Codex yüzeyleri ve iş ortağı entegrasyonları, Go, Python, TypeScript, Swift ve Kotlin gibi dillerde App Server istemcileri uygulamıştır. TypeScript için, şunu çalıştırarak tanımları doğrudan Rust protokolünden oluşturabilirsiniz:

Bash

1
codex app-server generate-ts

Diğer diller için bir JSON Şeması paketi oluşturabilir ve bunu tercih ettiğiniz kod oluşturucuya beslemek için çalıştırabilirsiniz:

Bash

1
codex app-server generate-json-schema
Yerel Uygulamalar ve IDE'ler
Codex uzantısı çalışırken VS Code'un ekran görüntüsü. Bir Rust test dosyası açık ve altında Codex paneli yalnızca fmt ve cargo test -p codex-app-server komutlarının çalıştırıldığını açıklıyor; biçimlendirme ve testlerin sürdüğünü bildirirken nihai bir geçme/kalma sonucunu bekliyor.

Yerel istemciler genellikle platforma özgü bir App Server ikili dosyasını paketler veya getirir, uzun süreli bir alt süreç olarak başlatır ve JSON-RPC için çift yönlü bir stdio kanalını açık tutar. Örneğin, VS Code uzantımızda ve Masaüstü Uygulamamızda, gönderilen yapay nesne platforma özgü Codex ikili dosyasını içerir ve test edilmiş bir sürüme sabitlenmiştir, böylece istemci her zaman doğruladığımız tam bitleri çalıştırır.

Her entegrasyon, müşteri güncellemelerini sık sık sunamaz. Xcode gibi bazı iş ortakları, istemciyi kararlı tutarak ve gerektiğinde daha yeni bir App Server ikili dosyasına yönlendirmesine izin vererek sürüm döngülerini ayırır. Bu sayede sunucu tarafındaki iyileştirmeleri (örneğin, Codex çekirdeğinde daha iyi otomatik sıkıştırma veya yeni desteklenen yapılandırma anahtarları) benimseyebilir ve bir istemci sürümünü beklemeden hata düzeltmelerini kullanıma sunabilirler. Uygulama Sunucusu'nun JSON-RPC yüzeyi geriye dönük uyumlu olacak şekilde tasarlanmıştır, bu sayede eski istemciler yeni sunucularla güvenle iletişim kurabilir.

Codex Web
"Update login success message" başlıklı bir güncellemeyi gösteren Codex web arayüzünün ekran görüntüsü. Sol panel değişiklikleri, testleri ve değiştirilen dosyaları özetlerken, sağ panel login.rs dosyası için güncellenmiş oturum açma başarı mesajı ifadesiyle bir kod farkını gösterir.

Codex Web, Codex donanımını kullanır, ancak bunu bir konteyner ortamında çalıştırır. Bir çalışan, kontrol edilen çalışma alanı ile bir konteyner hazırlar, içinde Uygulama Sunucusu ikili dosyasını başlatır ve stdio2 kanalı üzerinden uzun süreli bir JSON-RPC bağlantısını sürdürür. Web uygulaması (kullanıcının tarayıcı sekmesinde çalışan), HTTP ve SSE üzerinden Codex arka ucuyla iletişim kurar ve çalışan tarafından üretilen görev olaylarını SSE ile akış halinde iletir. Bu, tarayıcı tarafındaki kullanıcı arayüzünü hafif tutar ve masaüstü ile web genelinde tutarlı bir çalışma zamanı sağlar.

Web oturumları geçici olduğundan (sekmeler kapanır, ağlar kesilir), web uygulaması uzun süreli görevler için güvenilir bir kaynak olamaz. Durum ve ilerlemenin sunucuda tutulması, sekme kaybolsa bile çalışmanın devam etmesini sağlar. Akış protokolü ve kaydedilmiş iş parçacığı oturumları, yeni bir oturumun yeniden bağlanmasını, kaldığı yerden devam etmesini ve istemcide durumu yeniden oluşturmadan arayı kapatmasını kolaylaştırır.

Metin tabanlı kullanıcı arayüzü/Codex CLI
Codex CLI çalıştıran bir terminalin ekran görüntüsü. OpenAI Codex banner'ı, gpt-5.2-codex medium modeli, "bana uygulama sunucusunu açıkla" kullanıcı komutu ve "Çalışıyor" durumu gösterilmektedir. Aşağıda, "write tests for @filename" önerisi ve kısayol seçenekleri görünüyor.

Tarihsel olarak, TUI, ajan döngüsüyle aynı işlemde çalışan ve uygulama sunucusu protokolü yerine doğrudan Rust çekirdek türleriyle iletişim kuran "yerel" bir istemciydi. Bu, erken yinelemeyi hızlı hâle getirdi, ancak TUI'yi de özel bir durum yüzeyi hâline getirdi.

Artık App Server mevcut olduğuna göre, diğer tüm istemciler gibi davranması için onu kullanacak şekilde TUI'yi yeniden düzenlemeyi(yeni bir pencerede açılır) planlıyoruz: bir App Server alt süreci başlatmak, stdio üzerinden JSON-RPC ile iletişim kurmak ve aynı akış olaylarını ve onayları işlemek. Bu, TUI'nin uzak bir makinede çalışan bir Codex sunucusuna bağlanabileceği iş akışlarını etkinleştirir, ajanı hesaplama işlemine yakın tutar ve dizüstü bilgisayar uyku moduna geçse veya bağlantısı kesilse bile çalışmaya devam ederken, aynı zamanda yerel olarak canlı güncellemeler ve kontroller sağlar.

Doğru protokolü seçmek

Codex App Server, gelecekte sürdüreceğimiz birinci sınıf entegrasyon yöntemi olacak, ancak daha sınırlı işlevselliğe sahip başka yöntemler de mevcut. Varsayılan olarak, müşterilerimizin Codex ile entegrasyon için Codex App Server'ı kullanmasını öneririz, ancak farklı entegrasyon yöntemlerini inceleyip bunların artılarını ve eksilerini anlamakta fayda var. Aşağıda Codex'i çalıştırmanın en yaygın yolları ve her birinin ne zaman uygun olabileceği belirtilmiştir.

JSON-RPC protokolleri

Bir MCP sunucusu olarak Codex

codex mcp-server(yeni bir pencerede açılır) çalıştırın ve stdio sunucularını destekleyen herhangi bir MCP istemcisine bağlanın (örneğin, OpenAI Agents SDK(yeni bir pencerede açılır)). Zaten MCP tabanlı bir iş akışınız varsa ve Codex'i çağrılabilir bir araç olarak kullanmak istiyorsanız, bu sizin için uygun bir seçenektir. Dezavantajı ise, yalnızca MCP'nin sunduğu bilgileri alabilmenizdir, bu nedenle daha zengin oturum semantiğine dayanan Codex'e özgü etkileşimler (ör. diff güncellemeleri) MCP uç noktaları üzerinden net bir şekilde eşlenemeyebilir.

Çapraz sağlayıcı otonom ajan protokolleri

Bazı ekosistemler, birden fazla model sağlayıcı ve çalışma zamanını hedefleyebilen taşınabilir bir arayüz sunar. Birden fazla ajanı koordine eden tek bir soyutlama istiyorsanız bu, iyi bir seçim olabilir. Bunun karşılığında, bu protokoller genellikle ortak yetenek alt kümesinde birleşir ve bu da, özellikle sağlayıcıya özgü araç ve oturum semantiği önemli olduğunda, daha zengin etkileşimlerin temsil edilmesini zorlaştırabilir. Bu alan hızla gelişiyor ve gerçek dünyadaki ajan iş akışlarını temsil etmek için en iyi temel öğeleri belirledikçe daha yaygın standartların ortaya çıkmasını bekliyoruz (beceriler(yeni bir pencerede açılır) bunun iyi bir örneğidir).

Codex App Server

Tam Codex donanımını kararlı ve kullanıcı arayüzü dostu bir olay akışı olarak sunmak istediğinizde App Server'ı seçin. Böylece otonom ajan döngüsünün tam işlevselliğine ve ChatGPT ile oturum açma, model keşfi, yapılandırma yönetimi gibi diğer destekleyici özelliklere sahip olursunuz. Ana maliyet, kendi dilinizde istemci tarafı JSON-RPC bağlamasını oluşturmanız gerektiği için entegrasyon çalışmasıdır. Ancak pratikte, JSON şemasını ve dokümantasyonu sağladığınızda Codex, ağır işlerin büyük kısmını üstlenebilir. Birlikte çalıştığımız birçok ekip, Codex'i kullanarak kısa sürede çalışan bir entegrasyon gerçekleştirebildi.

Codex'i Gömmenin diğer yolları

Tek seferlik görevler ve CI çalıştırmaları için hafif ve betiklenebilir bir CLI modu. Tek bir komutun etkileşimli olmayan bir şekilde tamamlanmasını, günlükler için yapılandırılmış çıktıyı aktarmasını ve açık bir başarı veya başarısızlık sinyaliyle sonlanmasını istediğiniz otomasyon ve ardışık düzenler için çok uygundur.

Kendi uygulamanız içinden yerel Codex ajanlarını programlı olarak kontrol etmek için bir TypeScript kütüphanesi. Sunucu tarafı araçlar ve iş akışları için ayrı bir JSON-RPC istemcisi oluşturmadan yerel bir kütüphane arayüzü istediğinizde en iyi seçenektir. App Server'dan daha önce piyasaya sürüldüğü için, şu anda daha az dil ve daha küçük bir yüzey alanı desteklemektedir. Geliştiricilerin ilgisi varsa, App Server protokolünü saran ek SDK'lar ekleyebiliriz, böylece ekipler JSON-RPC bağlamaları yazmadan daha fazla donanım yüzeyini kapsayabilirler.

Bunu ileriye taşımak

Bu gönderide, ajanlarla etkileşim kurmak için yeni bir standart tasarlama yaklaşımımızı ve Codex donanımını kararlı ve kullanıcı dostu bir protokole dönüştürme yöntemimizi paylaştık. AppServer'ın Codex çekirdeğini nasıl sunduğunu, istemcilerin tam otonom ajan döngüsünü yönetmesine nasıl olanak tanıdığını ve TUI, yerel IDE entegrasyonları ve web çalışma zamanı gibi çeşitli yüzeylere nasıl güç verdiğini ele aldık.

Bu, Codex'i kendi iş akışlarınıza entegre etmek için fikirler uyandırdıysa, App Server'ı denemeye değer. Tüm kaynak kod, Codex CLI açık kaynak repo(yeni bir pencerede açılır)'sunda bulunur. Geri bildirimlerinizi ve özellik taleplerinizi paylaşmaktan çekinmeyin. Sizden haber almayı ve ajanları herkes için daha erişilebilir hale getirmeyi sürdürmeyi dört gözle bekliyoruz.

Yazar

Celia Chen

Teşekkürler

Bu yazıya katkıda bulunan Michael Bolin, Owen Lin, Eric Traut ve Rasmus Rygaard'a ve App Server üzerinde çalışan tüm Codex ekibine özel teşekkürlerimizi sunarız.

Dipnotlar

  1. 1

    "JSON‑RPC lite" varyantını kullanıyoruz: bu varyant, istek/yanıt/bildirim şeklini koruyor, ancak ‘jsonrpc’: “2.0” başlığını atlıyor ve katı JSON‑RPC 2.0 yerine stdio üzerinden JSONL olarak çerçeveleniyor.

  2. 2

     "stdio", konteyner içindeki uygulama sunucusunun stdin/stdout'unu belirtir. Barındırılan kurulumlarda, bu akışlar genellikle kalıcı bir ağ bağlantısı (ör. WebSocket benzeri) üzerinden konteyner çalışma zamanına tünellenir, böylece gerçek bir yerel boru olmasa bile stdio gibi davranır.