“Uygulamayı iyileştir” gibi bir görev, günlerce çalışılsa bile tamamlanmış sayılacağı noktayı söylemez. Uzun işlerde belirsizliği azaltmak için önce ortaya çıkacak davranışı tarif etmek gerekir. Codex'in uzun süreli çalışma yaklaşımında da açık sonuç ve tamamlanma ölçütü önemlidir. Buradaki örnek, binlerce kaydın bulunduğu bir arşive arama ekleme işini yönetilebilir teslimlere dönüştürür.

İstenen sonucu davranış olarak yazın

“Arama sistemi kur” yerine kullanıcının ne yapabileceğini anlatın: Başlığa göre sorgu girecek, sonuç sayısını görecek ve ikinci sayfaya geçtiğinde sorgusu korunacak. Bu ifade tasarım kararlarını tamamen çözmez; ancak geliştirmenin sonunda neyin gösterileceğini belirler. Kullanılan teknoloji ve mevcut sınırlar da aynı notta yer alsın.

Arşivde gizli kayıtlar varsa yetki filtresinin korunması ayrı bir kabul koşuludur. Türkçe karakterlerin nasıl ele alınacağı, boş sorguda ne gösterileceği ve en uzun sorgunun ne olacağı da belirsiz bırakılmamalıdır. Bu küçük kararlar ertelendiğinde uygulama sırasında tekrar tekrar yön değiştirmek gerekir.

Planı bağımlılıklara göre bölün

İlk teslim veri akışını ve mevcut sorguyu anlamak olabilir. İkinci teslim sonuç servisinin uygulanması, üçüncüsü arayüzün bağlanması, sonuncusu da gerçek kullanıcı akışının doğrulanmasıdır. Her teslim kendi başına okunabilir bir çıktı üretmelidir. “Yüzde kırk tamamlandı” yerine “yetki filtresi korunarak ilk sonuçlar dönüyor” ifadesi daha açıklayıcıdır.

Şu örnek başlangıç metni kullanılabilir:

Arşive başlık araması eklemek için önce kısa bir plan çıkar. Mevcut yetki davranışını koru. Hedef; sorgu, sayfalama ve sonuçsuz durumun birlikte çalışması. Her aşamada değişecek dosyaları, bağımlılıkları ve tamamlandığını gösterecek kanıtı belirt. Belirsiz ürün kararlarını uygulama varsayımı olarak gizleme; ayrı listele.

Plan incelendikten sonra uygulama sırasında aynı kabul koşulları referans olarak tutulabilir. İş küçükse uzun bir plan dosyası üretmek yerine birkaç net madde yeterlidir.

Ara teslimlerde karar kaydı tutun

Uzun işlerde önemli bilgi, yalnızca neyin yapıldığı değildir; neden öyle yapıldığıdır. Arama sonuçları tarih yerine ilgililik sırasına alınmışsa bu kararın gerekçesi kısa biçimde kaydedilsin. Sonraki aşamada farklı sıralama isteyen bir arayüz değişikliği geldiğinde kararın kullanıcı etkisi görülebilir.

Durum kaydı, bütün sohbetin kopyası olmamalıdır. Tamamlanan bölüm, açık kalan soru, sıradaki kontrol ve mevcut engel yeterlidir. Yeni bir talep geldiğinde bunun mevcut hedefi değiştirdiğini mi yoksa sonraki işe ait olduğunu mu belirleyin. Böylece kapsam sessizce genişlemez ve ilk hedef unutulmaz.

Bitişi dosya sayısıyla değerlendirmeyin

On dosya değişmiş olması aramanın tamamlandığını göstermez. Kabul ölçütlerini tek tek uygulayın: Yetkisiz kayıt gizli mi, sayfalama sorguyu koruyor mu, sonuç bulunamadığında anlaşılır mesaj var mı? Yapılamayan kontrol varsa sonuç raporunda açık bırakılsın. Hazırlanan kod ile doğrulanan davranış birbirinden ayrılabilsin.

Son teslimde açıklama, ilk hedefle aynı dilde yazılmalıdır. Hangi kullanıcı davranışı eklendi, nasıl kontrol edildi ve hangi açık karar kaldı? Bu düzen hem geliştiricinin ilerlemeyi izlemesini hem de işi devralan kişinin kaldığı noktayı anlamasını kolaylaştırır.

Ara aşamada bir başarısızlık ortaya çıktığında tamamlanan bölümü yeniden başlatmak zorunda değilsiniz. Son güvenilir noktayı, başarısız olan denemeyi ve değişen varsayımı ayrı kaydedin. Örneğin arama sorgusu doğru sonuç veriyor fakat sayfalama bağlantısı sorguyu kaybediyorsa yalnızca bu sınırı ele alın. Böyle bir kayıt, uzun görevin aynı araştırmayı tekrar etmesini azaltır.

Resmî kaynak: OpenAI — Long-running work.