deniz.in

Piyasalar

Hava durumu

Hava durumu yükleniyor

· kaynak dev.to (home feed)

Codex CLI agent'ları hiç tamamen okumadıkları dosyaları değerlendirirken sessizce 10.000 token'lık kesme yaşandı

Bir dev.to yazısı, Codex CLI'nin tool çıktılarını sessizce 10.000 token'da kestiğini belgeliyor; agent'lar yarım okunan dosyaları değerlendirdi. Açıklamaların çözemediği sorunu, kesin call header'ları belirtmek çözdü.

Codex CLI agent'ları hiç tamamen okumadıkları dosyaları değerlendirirken sessizce 10.000 token'lık kesme yaşandı

Koordineli bir LLM agent ekibi çalıştıran bir geliştirici, Codex CLI'deki bir güvenilirlik arızasını belgeledi: tool çıktıları sessizce kesiliyor ve agent'lar hiç bitirmedikleri dosyalardan kararlar vermeye devam ediyorlardı. dev.to'da yayımlanan bir yazıya göre kurulum, kod modunda tool call'ları çalıştıran Codex CLI 0.165.0 üzerinde çalışan bazılarıyla, markdown dosyaları üzerinden koordinasyon sağlayan birkaç agent rolü kullanıyor.

24 Ekim'de yazar oturumları inceledi ve o gün tek bir hedefe yönelik çalışan 33 Codex oturumundan 31'inde en az bir kesik tool çıktısı buldu — toplamda 129 kesme. Kaybedilen içerik arasında bir reviewer'ın bulguları ve bir agent'ın tam da yürüttüğü iş planı vardı. Agent'lar geriye kalanla yollarına devam ettiler.

Kesme kendini nasıl gizler

Fazla büyük bir çıktı call'ı başarısız kılmaz. dev.to'da anlatıldığı gibi, çıktı orijinal token sayısını belirten bir uyarı satırıyla başlıyor, metnin açılış ve kapanış bölümlerini koruyor ve ortayı sessizce atıyor, boşluğu …4107 tokens truncated… gibi bir üç nokta işaretiyle gösteriyor. Model başlangıcı ve sonu almaya devam ettiği için bir dosya ilk bakışta tam görünebiliyor — asıl ayrıntının genellikle bulunduğu orta kısım hariç.

Tutmayan ilk düzeltme

Codex, tool çıktısını sınırlayan tool_output_token_limit adlı bir config değeri sunuyor. Yazarın en büyük belgesi yaklaşık 39.000 token'a ulaşırken bu değer varsayılanı olan 10.000 token'da duruyordu. Değeri 40.000'e yükseltmek kesmelerin çoğunu giderdi; yalnızca process dump'ları ve test JSON'ları kesik kaldı.

Modelin kendisinin ayarladığı ikinci, call başına bir bütçe olan max_output_tokens daha var. Her dosyayı okumadan önce ölçmek yerine yazar, iki bütçeyi de agent'ın talimatlarında açıkladı ve değerleri modelin takdirine bıraktı.

Altı gün sonra çıktılar hâlâ kesiliyordu — önceki haftaki yüzde 13'ten yalnızca hafifçe düşerek yüzde 11'i. Bir oturumu yeniden oynatmak, model 18.000 veya 26.000 istemiş olsa bile her kesmenin yaklaşık 10.000 token'da durduğunu gösterdi.

Üçüncü, gizli bir sınır

Nedeni üçüncü bir tavan oldu. Kod modunda modelin komutları, kendi çıktı bütçesi taşıyan bir JavaScript exec hücresinde çalışıyor; bu bütçe // @exec: {"max_output_tokens": 40000} satırıyla belirleniyor. Bu pragma olmadan bütçe, hücre içindeki komutlar ne isterse istesin varsayılan olarak 10.000'de kalıyor. Beş günlük kayıttaki 9.538 call arasında model pragmayı yalnızca 137 kez yazdı. dev.to yazısı, bunun Temmuz'dan beri açık olan bilinen bir sorun olduğunu, openai/codex#33402, not ediyor.

Talimatları yeniden yazmak işe yaramadı. Yazar kılavuzu iki kez revize etti, ikinci kez iki bütçeden küçük olanının bağlayıcı olduğunu açıkça belirtti. Dört yeniden oynatmada 24 call'dan 19'u kesildi ve model pragmayı sıfır kez yazdı.

Açıklamak yerine reçete yazmak

İşe yarayan şey seçeneği ortadan kaldırmak oldu. Talimat artık tek bir sabit değeri zorunlu kılıyor: her exec call'ı pragmanın 40.000'e ayarlandığı satırla başlıyor ve her exec_command max_output_tokens: 40000 taşıyor. Ayrıca agent'a yalnızca fiilen alınan metinden karar vermesini ve bir kararın bağlı olduğu herhangi bir kesik bölümü yeniden okumasını söylüyor.

Üç yeniden oynatmada 16 call'ın tümü iki bütçeyi de taşıdı. Üçü hâlâ kesikti — her biri birlikte 40.000 token'ı aşan sekiz veya daha fazla dosyalık gruplardı — ve her durumda model geri dönüp eksik kısmı aralıklar halinde okudu.

Yazı bir denetim yöntemiyle kapanıyor: oturum kayıtları ~/.codex/sessions/ altında yaşıyor, eskileri .jsonl.zst olarak sıkıştırılmış durumda ve bunlarda kesme işaretini aramak, okumaların ne sıklıkta kısa kesildiğini sayıyor.

Neden önemli

Agent iş akışları, bir tool sonucunun tool'un fiilen döndürdüğünü yansıttığı varsayımına dayanır. Buradaki arıza sessiz, sık ve yapısaldaydı: kesme her dosyanın başını ve sonunu koruyordu, bu da eksikliği gözden kaçırmayı kolaylaştırıyordu ve çıktıyı fiilen sınırlayan limit, ana yapılandırmanın kontrol etmediği biriydi. Yazı, agent yöneten herkes için daha geniş bir ders de taşıyor — bir kısıtı düz yazıyla açıklamak, kararı ortadan kaldırıp kesin call formatını dikte etmekten tutarlı biçimde daha az etkiliydi. Döngüler halinde Codex CLI çalıştıran ekipler, kendi maruziyetlerini oturum kayıtlarındaki kesme işaretlerini sayarak dakikalar içinde ölçebilir.

  • #codex-cli
  • #openai
  • #ai-agents
  • #truncation
  • #reliability

İlgili yazılar