Hedef modunu (veya /goal) Codex'in somut bir sonuca ulaşmasına yardımcı olmak için bir yol olarak kullanıma sunduk. Bir hedef belirlediğinizde Codex, bu hedefe ulaşılana kadar çalışmaya devam edecektir; bu saatler veya günler sürebilir. Bazı kişiler Codex'i tek bir hedef üzerinde 120 saatten fazla çalışmak için kullandı.
Hedef modu inanılmaz derecede güçlüdür ve bundan en iyi şekilde yararlanmak için yapabileceğiniz birkaç şey vardır. /goal kullanırken aklınızda bulundurmanız gereken 7 şey:
1. Net *doğrulanabilir* kriterler
Hedef modunu etkinleştirdiğinizde tanımladığınız komut, başlangıç komutunuz olarak işlev görebilir, ancak daha da önemlisi, hedef için çıkış kriterleriniz olarak işlev görecektir. Codex, bir turdan sonra hedefe ulaşılıp ulaşılmadığını kontrol edecektir. Bu nedenle, hedef komutunuz aşırı uzun olmamalı ve hedefe ne zaman ulaşıldığına dair net bir kritere odaklanmalıdır.
Çoğu durumda iyi bir hedef, modelin hedefin tamamlandığı kabul edilmeden önce ulaşması gereken net bir sayı* içerir. İyi örnekler:
- "Derleme ve dağıtım süresini %30 oranında azaltın."
- "Bu özelliği TypeScript'ten Rust'a taşıyın ve %100 test paritesine ulaşın."
- "En büyük içerikli boyamayı üretimde 2,5 saniyenin altına indirmek için uygulama iskeletini iyileştirin."
\Komutun her zaman bir sayı olması gerekmez ancak genellikle sonraki ipuçlarına yardımcı olur.*
Hedefinizi en iyi nasıl tanımlayacağınızdan emin değilseniz veya proje hakkında önce Codex ile beyin fırtınası yapmak istiyorsanız, bir iş parçacığına hedef moduyla başlamak zorunda değilsiniz.
Codex kendi başına bir hedef belirleyebilir, böylece bir sohbet başlatabilir ve Codex'in çalışmaya başlamasına hazır olduğunuzda Codex'ten sohbetinize göre hedefi belirlemesini isteyebilirsiniz.
Ayrıca, Codex uygulamasındaki düzenleme düğmesine basarak veya CLI'de tekrar /goal kullanarak hedefi istediğiniz zaman düzenleyebilirsiniz.
2. Mümkünse rehberlik sağlayın
"Derleme ve dağıtım süresini %30 azaltın" gibi bir komut göndermek harika olabilir ve hatta bazı yaratıcı çözümler bulabilir. Ancak, sorunun nerede olabileceğine dair bir fikriniz varsa, Codex'i boş bir hedefe yönlendirebilir.
Mümkün olduğunda Codex'e çalışmaya nereden başlayacağına dair bir başlangıç noktası, hedefe ulaşmak için hangi araçları kullanabileceği veya Codex'in yanlış yola sapabileceği diğer ipuçlarını verin.
Örneğin meslektaşım @reach_vb, Codex'in bir model eğitmesini sağlarken Codex'e Chrome tarayıcısını kullanarak Google Colab'e girebileceğini ve kendi veri kümesini oluşturmak gibi kabul edilebilir sınırlamaları olduğunu söyleyerek deneylerinden birinde bunu yaptı.
Benzer şekilde, derleme sürelerini azaltmaya çalışıyorsanız ve zamanın çoğunun nerede harcandığını biliyorsanız, Codex'i komutunuzun bir parçası olarak önce o alana yönlendirmeye çalışın.
Alternatif olarak, Codex'in plan modunda biraz ön araştırma yapmasını ve Codex'in olası seçenekleri belgelemek için kullanabileceği bir dosya olarak bir plan oluşturmasını sağlayabilirsiniz. Ardından hedefinizin bu plana atıfta bulunmasını sağlayın.
3. İlerlemeyi ölçülebilir kılın
Hedefiniz iddialıysa veya Codex'in hedefe yaklaşmasının çeşitli yolları varsa, Codex'e ilerlemeyi ölçmek için araçlar vermeniz önemlidir.
Bazı görevlerde bu, derleme sürelerini iyileştirmek veya test kapsamını artırmak gibi verili bir durum olabilir çünkü Codex genellikle bu araçlara zaten sahiptir veya bunları doğal olarak oluşturur.
Diğer hedefler için, Codex ile hangi araçların yararlı olacağı konusunda beyin fırtınası yapmak veya nasıl ilerleme kaydettiğini bilmenin yollarına işaret etmek faydalı olacaktır. Örneğin, iki ekran görüntüsü arasındaki görsel farkları hesaplamak için araçlara sahip olmak veya ince ayar yapmaya çalıştığınız bir ajan için bir değerlendirme paketi oluşturmak gibi.
Codex'in bir videodaki bazı bileşenleri yeniden oluşturmasını sağladığımda, Codex'in ekran görüntülerini karşılaştırabilmesi ve farklılıkları inceleyebilmesi için kendine bir araç oluşturmasını sağladım. Zaman içinde farklı fark modlarına sahip olacak şekilde aracı geliştirmeyi seçti.

Codex'in iki kareyi görsel olarak karşılaştırmak için oluşturduğu bir ekran görüntüsü
Görevinize bağlı olarak, Codex'in görevin tamamlandığını düşünmesine neden olabilecek ancak sizin tamamlanmamış sayacağınız ek kriterleri ölçmek/kontrol etmek isteyip istemediğinizi de göz önünde bulundurmalısınız. Örneğin, tasarım ilhamını kırparak ve "piksel mükemmelliği" için satır içine alarak bir kullanıcı arayüzü uygulamak veya test kapsamını azaltarak %100 geçilebilir test oranına ulaşmak gibi.
4. Gerçekçi bir ortam yaratın
Codex'in hedefe doğru gerçekten ilerleme kaydetmesi için gerçekçi bir ortamda çalışması gerekir. Pratikte bu, dağıtım sürelerini veya gecikme sorunlarını iyileştirmeye çalışıyorsanız, üretimi taklit eden dağıtım ve test ortamlarına erişmesi gerektiği anlamına gelir. Yani aynı yığın, aynı bayraklar, benzer bir veritabanı.
Örnek olarak, developers.openai.com için bazı derleme ve dağıtım süresi iyileştirmelerinde hata ayıklıyorduk. Zaten dağıtım önizlemelerini kullanıyorduk, bu nedenle Codex bunları dağıtmak ve ilgili günlükleri incelemek için kullanabiliyordu, ancak önizleme dağıtımlarımızda tam üretim çalıştırmalarına kıyasla bazı derleme yolları devre dışı bırakılmıştı. Bu nedenle Codex, ortamı incelemek için benzer üretim yapılandırmalarıyla aynı ortamlara manuel dağıtımlar yapmak zorunda kaldı.
Benzer şekilde, Codex'in gerçek uygulamayı test etmek için bilgisayar kullanımını kullanmasını sağlayabilirsiniz. iOS'ta bazı performans iyileştirmeleri üzerinde çalışmak için @dimillian, en doğru ortam için fiziksel bir cihaz bile kullandı.
5. Görsel hedeflere dikkat edin
Codex'e "Bu kullanıcı arayüzünü bu görsele dayanarak %100 piksel mükemmelliğinde uygula" gibi görsel bir hedef vermek cazip gelebilir ancak kuruluma bağlı olarak bazı sorunlara da neden olabilir.
Ona doğru rehberliği ve kısıtlamaları vermezseniz, genel hedefi göz ardı ederek bazı sorunlar üzerinde takılıp kalabilir. Örneğin, referans, Codex'in SVG simgeleri veya görselleri olsun, oluşturması beklenen grafikler içeriyorsa, sorunu uygun şekilde analiz etmek yerine bunları doğru bir şekilde elde etmeye takılıp kalabilir.
Ek olarak, Codex'in görsel karşılaştırmayı doğru bir şekilde yapması için araçlara ihtiyacı olacaktır; bu da daha fazla görsel girdi ve Codex'e fırsatları belirlemesi için kolay bir yol vermeden genel olarak daha yüksek token kullanımı anlamına gelir.
Bunun yerine görseller genellikle hedefe ulaşmak için yararlı bir bağlam olarak hizmet edebilir, ancak Codex'in hedefe ulaşıldığını belirlemesi için özellik kontrol listeleri, uygulanacak özellikler, tasarım sistemine bağlılık vb. gibi başka yollar bulmalısınız.
6. İlerlemeyi takip etmek
Codex arka planda (veya başka bir makinede) saatler veya günler boyunca çalışırsa, Codex'in ne kadar ilerlediğini veya hangi işlerin yapıldığını takip etmek kolaydır. Hedefe bağlı olarak takip etmek için yararlı bulduğum birkaç şey var:
- Codex'ten anlamlı adımlarda commit yapmasını ve bir taslak PR'ye göndermesini isteyin. Bu, özellikle önizleme dağıtımları olan bir web sitesinde çalışıyorsanız kullanışlıdır.
- Codex'in yöneticiler için bir eser güncellemesini sağlayın. Bu, uygulama içi tarayıcıda açık tutabileceğiniz veya Siteler kullanarak ekibinize dağıtabileceğiniz bir HTML dosyası, ilerlemeyi izleyen işlenmiş bir grafiğin görüntüsü veya hatta düz bir işaretleme dosyası olabilir.
- Codex'e güncellemeleri yayınlamasını söyleyin. Ayrıca Codex'ten hedefin bir parçası olarak önemli ilerlemeyi bir Slack kanalına veya ilerlemenin belgelenmesini istediğiniz diğer yerlere geri bildirmesini isteyebilirsiniz.
- Durum güncellemeleri için diğer sohbetleri kullanın. Mevcut durum hakkında hızlı bir kontrol istiyorsanız, yeni bir yan sohbet başlatmak ve orada sorular sormak için /side komutunu çalıştırabilirsiniz. Geçerli iş parçacığını çatalladığı için bu noktaya kadar tüm bağlama sahiptir ancak aynı zamanda kısa ömürlüdür. Codex uygulamasındaki alternatif, normal yeni bir sohbette Codex'ten diğer hedef iş parçacığını okumasını ve sorularınızı yanıtlamasını istemektir. Codex'ten düzenli olarak kontrol etmek için bir otomasyon planlamasını isterseniz bu özellikle güçlü olabilir.
7. Temizlik ve sonuçların sonlandırılması
Harika, hedef sonunda ulaşıldı! Şimdi onu ekibe $yeet yapıp günü kurtarmak mı?
Genellikle, özellikle optimizasyon görevleri için Codex'in yapılan iş üzerinde düşünmesini ve onu incelemesini faydalı buldum. Yerel bir kod incelemesi çalıştırmak için bir /review ile başlayabilirsiniz, ancak Codex'in hedefi çözmek için yaptığı farklı girişimler üzerinde daha derinlemesine düşünmesini ve buna göre temizlik yapmasını sağlamak da faydalı olabilir.
Codex hedefe ulaşana kadar devam edeceğinden, değişikliklerde kalmış olabilecek yeterince iyi çalışmayan veya hiç çalışmayan birkaç şey denemiş olabilir.
Bir sonraki görevinizi hedefleme zamanı
Codex'teki hedef işlevi, karşılaştığınız en anlamlı zorluklardan bazılarını çözmek için inanılmaz derecede güçlü bir araçtır, ancak doğru ortamı ve talimatları sağlamak, hedefinize daha verimli bir şekilde ulaşmanızı sağlayacaktır.
/goal'u ne için kullandınız?
https://x.com/OpenAIDevs/status/2057530209470210453





