İçeriğe geç

Model Sıralaması

Codex model seçicisi, opencodex yapılandırmasındaki sağlayıcı bildirimlerinin veya model dizilerinin sırasını korumaz. Nihai sırası, aynı önceliği paylaşan yönlendirilmiş modeller için belirleyici bir alfabetik sırayla birlikte katalog önceliklerinden gelir.

Codex’in models-manager’ı, seçicide görünen katalog girdilerini artan sırada priority’ye göre sıralar. Katalog dizi sırasını atar, bu nedenle oluşturulan bir JSON dizisinde bir girdiyi daha öne taşımak onu seçicide daha öne taşımaz. Uygulama bu kısıtlamayı doğrudan src/codex/catalog/sync.ts içine kaydeder.

Bu nedenle opencodex, dizi konumuna güvenmek yerine daha düşük öncelikler atayarak öne çıkan yerleşimi denetler. Aksi belirtilmedikçe, aşağıdaki sabit öncelikler ve işlenmiş örnek, uygun Codex hesap seçicisi olmayan bir kataloğu açıklar. N uygun seçici ile öne çıkan öncelikler adım olarak N kullanır: yapılandırılmış i derecesindeki yalın bir yerel seçenek, j seçicinin sıfır tabanlı konumu olmak üzere i * N + j önceliklerinde seçici satırlarına genişler; yönlendirilmiş bir seçenek i * N kullanır; ve tam bir seçici nitelikli seçenek seçicisi için i * N + j kullanır. Seçilmeyen yönlendirilmiş satırlar bu seçici gruplarının dışına taşınır. Codex yine de yalnızca seçicide görünen ilk beş satırı tanıtır.

İlgili seçicisiz öncelikler şunlardır:

Aşağıdaki öncelik tabloları ve örnek, seçicinin tamamını sıralama modu kapalıyken geçerlidir.

Katalog girdisi Öncelik Kaynak
subagentModels[i] i (0 - 4) src/codex/catalog/sync.ts içindeki öne çıkan sıra haritası
Diğer yönlendirilen modeller 5 src/codex/catalog/sync.ts içindeki yönlendirilen girdi oluşturma
Varsayılan olarak yerel GPT slug’ları 9 src/codex/catalog/sync.ts içindeki yerel girdi oluşturma
Öne çıkan bir liste varken seçilmeyen yerel modeller En az featured.length + 100 src/codex/catalog/sync.ts içindeki yerel katalog birleştirme

Yönetim API’si src/server/management/agent-settings-routes.ts içinde slice(0, 5) ile subagentModels’ı beş girdiyle sınırlar. Bu, yalnızca ilk beş model geçersiz kılmasını tanıtan Codex spawn_agent yüzeyiyle eşleşir. Bu beş modelin dışındaki modeller ana seçicide görünür kalabilir ve tam kimlikleriyle çağrılabilir.

Tüm sıradan yönlendirilen modellerin önceliği 5’tir, bu nedenle bir eşitlik bozucuya ihtiyaçları vardır. Katalog girdileri oluşturulmadan önce gatherRoutedModels(), yönlendirilen model listesini sağlayıcı adına ve ardından model kimliğine göre alfabetik olarak sıralar (src/codex/catalog/provider-fetch.ts).

Bu, aşağıdaki yapılandırma ayrıntılarının hiçbirinin nihai sırayı değiştirmediği anlamına gelir:

  • providers nesnesindeki anahtarların bildirim sırası;
  • bir sağlayıcının models dizisindeki kimliklerin sırası.

orderForSubagents() daha sonra yapılandırılmış öne çıkan seçimleri subagentModels ile aynı sırada öne taşımak için kararlı bir sıralama kullanır. Öne çıkmayan modeller daha önce belirlenen sağlayıcı/kimlik alfabetik göreli sırasını korur (src/codex/catalog/sync.ts). Girdiler oluşturulduğunda öne çıkan sıra da 0 ile 4 arasındaki önceliklere dönüştürülür, böylece Codex’in öncelik sıralaması bu öndeki diziyi korur.

selectedModels ve disabledModels hangi yönlendirilen modellerin gösterileceğine karar verir; bunlar sıralama denetimleri değildir. filterCatalogVisibleModels() her iki seçimi de Set aramalarına dönüştürür ve dizileri sıra olarak kullanmadan toplanan listeyi filtreler (src/codex/catalog/provider-fetch.ts).

Sonuç olarak selectedModels veya disabledModels’ı yeniden sıralamanın seçici konumu üzerinde hiçbir etkisi yoktur. Yalnızca bir modelin dahil edilip edilmediğini değiştirebilir.

Uygun hesap seçicisi olmadığında ve boş olmayan bir öne çıkanlar listesi olduğunda ortaya çıkan sıra şöyledir:

  1. 0 ile 4 arasındaki önceliklerle tam olarak yapılandırılmış subagentModels sırasındaki modeller.
  2. 5 önceliğinde sağlayıcıya ve ardından model kimliğine göre alfabetik olarak sıralanmış kalan tüm yönlendirilen modeller.
  3. Katalog birleştirme sırasında öne çıkan bloğun altına itilen seçilmemiş yerel modeller.

subagentModels olmadan yönlendirilen modeller 5 önceliğinde kalır, yerel GPT girdileri normal önceliklerini kullanır (opencodex tarafından oluşturulan girdiler için normalde 9) ve yönlendirilen grup sağlayıcı/kimlik olarak alfabetik kalır.

subagentModels’ın bu beş kimliği tam olarak bu sırada içerdiğini varsayalım:

subagentModels = [
"gpt-5.5",
"opencode-go/glm-5.2",
"anthropic/claude-opus-4-6",
"gpt-5.6-sol",
"gpt-5.6-terra",
]

Seçici aşağıdaki gibi başlar:

Seçici konumu Model Öncelik Neden orada görünüyor?
1 gpt-5.5 0 İlk subagentModels seçimi
2 opencode-go/glm-5.2 1 Sağlayıcısı anthropic’ten sonra sıralansa bile ikinci seçim
3 anthropic/claude-opus-4-6 2 Üçüncü seçim
4 gpt-5.6-sol 3 Dördüncü seçim
5 gpt-5.6-terra 4 Beşinci seçim
6 anthropic/claude-fable-5 5 Sağlayıcı/kimlik alfabetik sırasına göre kalan ilk yönlendirilen kimlik
7 ve sonrası Kalan yönlendirilen modeller 5 Alfabetik olarak sağlayıcı, ardından alfabetik olarak model kimliği
Yönlendirilen modellerden sonra Kalan yerel modeller featured.length + 100 veya üzeri Seçilmemiş yereller öne çıkan bloğun altına taşınır

İlk beş girdi spawn_agent’a tanıtılan geçersiz kılmalardır; geri kalanı normal seçici sırasında devam eder. Hesap seçicileriyle beş girdi sınırı, yalın yerel seçimler seçici nitelikli gruplara genişletildikten sonra geçerlidir.

Öndeki model sırasını özelleştirmenin desteklenen yolu subagentModels’ı yeniden sıralamaktır. Kontrol panelinin Alt Ajanlar sayfası yalın yerel ve yönlendirilen kimlikleri yeniden sıralayabilir. Tam <seçici>/<yerel-openai-modeli> seçimleri için ocx agent subagents set kullanın veya opencodex yapılandırmasını düzenleyin; kontrol paneli bu seçimleri önceden kaydedilen kimlikleri, kullanılamasalar bile korur. En fazla beş yapılandırılmış kimlik kullanın. Hesap seçicileriyle tek bir yalın yerel seçenek birden çok seçici nitelikli katalog satırına genişleyebilir, bu nedenle yapılandırılmış seçimler ve tanıtılan satırlar birebir olmak zorunda değildir.

modelPickerOrder yalnızca seçicideki görüntüleme sırasını belirler. Liste yalnızca yönlendirilmiş <provider>/<model> kimlikleri içeriyorsa, listelenen ve öne çıkarılmamış satırlar ayrı bir görüntüleme aralığında (1000 + i) liste sırasıyla yer alır. Listelenmeyen yönlendirilmiş satırlar normal önceliklerini korur ve bu aralıktan önce kalır. subagentModels içindeki satırlar öne çıkan önceliklerini, yerel satırlar da normal konumlarını korur. Göreli sırasını belirlemek istediğiniz tüm yönlendirilmiş satırları listeleyin.

Seçicinin tamamını sıralamak için gpt-5.6-sol gibi / içermeyen en az bir yalın katalog kimliği ekleyin. Boş veya yalnızca boşluk içeren girdiler bu modu etkinleştirmez.

{
"modelPickerOrder": ["gpt-5.6-sol", "opencode-go/glm-5.3"]
}

Listelenen satırlar önce dizi sırasıyla, listelenmeyenler ise ardından doğal öncelik sırasıyla gelir. Eşleştirme tam katalog kimliğini kullanır: gpt-5.6-sol ile openai/gpt-5.6-sol farklı satırlardır. Aynı yönlendirilmiş kimliğin ham ve kodlanmış yazımları da kabul edilir; tam eşleşme, eşdeğer eşleşmeden önceliklidir. Boş ve yalnızca boşluk içeren girdiler yok sayılır. Hesaba özel satırlar için seçiciyi içeren tam kimliği yazın.

Geçiş uyarısı: mevcut listelerdeki yerel kimlikler

Bölüm başlığı “Geçiş uyarısı: mevcut listelerdeki yerel kimlikler”

Önceden modelPickerOrder içindeki yalın yerel kimlikler yok sayılıyordu. Mevcut bir listede böyle bir kimlik bulunması artık öne çıkan satırlar dahil tüm seçicinin sıralanmasını etkinleştirir. Eski, yalnızca yönlendirilmiş satırlara uygulanan davranışı korumak için yalın kimlikleri kaldırın. Tanımlanmamış, boş, yalnızca boşluk girdileri içeren veya yalnızca yönlendirilmiş kimliklerden oluşan listeler önceki davranışlarını korur.

modelPickerOrder, OpenCodex’in alt ajan rehberliği için doğal önceliğe göre en fazla beş tercih edilen adayı seçen hesaplamasını korur. Taşınan her satırın doğal önceliği, yerel priority değerinden ayrı saklanır; yalnızca seçici sırasını değiştirmek bu hesaplamanın sonucunu değiştirmemelidir. Tam model adıyla geçersiz kılma uygunluğunu da kısıtlamaz: tanıtılan liste bir izin listesi değildir. Mevcut kimlik doğrulama, model, effort ve arka uç kısıtlamaları geçerliliğini korur.

Yerel Codex, spawn_agent içinde tanıtılacak beş modeli yerel priority sırasındaki uygun ve seçicide görünür modellerden seçer. Bu, V1 ve model geçersiz kılmalarının sunulduğu V2 için geçerlidir. Dolayısıyla OpenCodex’in tercih edilen adayları değişmese bile, tanıtılan beş model seçici sırasıyla birlikte değişebilir. V1’e OpenCodex tercih listesi enjekte edilmez. V2, istemci katalog durumu izin verdiğinde ek olarak doğal önceliğe dayalı OpenCodex rehberliği alabilir; bu rehberlik yerel aracın tanıttığı listeyi yeniden sıralamaz.

disabledModels ve her sağlayıcının selectedModels alanı görünürlüğü denetler. Ayrı bir modelOrder, providerOrder veya öncelik haritası ayarı yoktur.

Models sayfasında Varsayılan, Model adına göre A–Z, Sağlayıcıya göre veya Kullanım anlık görüntüsünü seçip sırayı uygulayın. Kullanılabilir yönlendirilmiş kimlikler ve modelPickerOrderMode (alphabetical, provider, most-used) kaydedilir. Saklanan tüm kullanım yalnızca uygulamada bir kez okunur; yeniden yükleme veya model değişiklikleri yeniden hesaplamaz. Özel ve tam yerel sıra açıkça değiştirilene kadar korunur. Varsayılan, kullanılabilir model yokken bile iki alanı temizler.

GET/PUT /api/subagent-models, devre dışı veya eksik kayıtlı seçimleri chosen ve available içinde korur; pickerAvailable uygun yönlendirilmiş kimliklerdir. Models yalnızca pickerOrder ve pickerOrderMode gönderir, models göndermez. Yalnız kadroyu kaydetmek sırayı değiştirmez. Geçersiz giriş veya kayıt hatası önceki durumu korur.

Öne çıkan ve yerel öncelik aralıkları korunur. Sıra Codex kataloğu ve Claude keşfinin yönlendirilmiş gruplarına uygulanır; Claude yerel öneki, açık Desktop profilleri ve alias sahipliği korunur. OpenCodex rehberlik sıraları ve fallback ayarları değişmez; yerel Codex aracının sunduğu ilk beş seçenek ve önerilen varsayılan değişebilir. Kayıt istemcileri yeniden başlatmaz; katalog yenilemesi bekleyebilir ve eski kataloğu gösteren istemcinin yeniden açılması gerekebilir.